From b7a4b00a0724ab49ed9372218542fbeeb36d8f4f Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Tue, 17 Aug 2021 00:42:39 +0300 Subject: [PATCH 01/59] Remove capture of window pointer in Player.cpp --- src/openrct2-ui/windows/Player.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/openrct2-ui/windows/Player.cpp b/src/openrct2-ui/windows/Player.cpp index 640d1a73f4..10c70f0c85 100644 --- a/src/openrct2-ui/windows/Player.cpp +++ b/src/openrct2-ui/windows/Player.cpp @@ -23,6 +23,7 @@ #include #include #include +#include // clang-format off enum WINDOW_PLAYER_PAGE { @@ -265,8 +266,9 @@ void window_player_overview_mouse_down(rct_window* w, rct_widgetindex widgetInde void window_player_overview_dropdown(rct_window* w, rct_widgetindex widgetIndex, int32_t dropdownIndex) { - int32_t player = network_get_player_index(static_cast(w->number)); - if (player == -1) + const auto playerId = static_cast(w->number); + const auto playerIdx = network_get_player_index(playerId); + if (playerIdx == -1) { return; } @@ -274,12 +276,13 @@ void window_player_overview_dropdown(rct_window* w, rct_widgetindex widgetIndex, { return; } - int32_t group = network_get_group_id(dropdownIndex); - auto playerSetGroupAction = PlayerSetGroupAction(w->number, group); + const auto groupId = network_get_group_id(dropdownIndex); + const auto windowHandle = std::make_pair(w->classification, w->number); + auto playerSetGroupAction = PlayerSetGroupAction(playerId, groupId); playerSetGroupAction.SetCallback([=](const GameAction* ga, const GameActions::Result* result) { if (result->Error == GameActions::Status::Ok) { - w->Invalidate(); + window_invalidate_by_number(windowHandle.first, windowHandle.second); } }); GameActions::Execute(&playerSetGroupAction); From f4602f49c72caf33f079ad034f62e180b401de35 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Tue, 17 Aug 2021 00:43:03 +0300 Subject: [PATCH 02/59] Remove capture of window pointer in RideConstruction.cpp --- src/openrct2-ui/windows/RideConstruction.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/openrct2-ui/windows/RideConstruction.cpp b/src/openrct2-ui/windows/RideConstruction.cpp index b5e470b26a..52aef8142c 100644 --- a/src/openrct2-ui/windows/RideConstruction.cpp +++ b/src/openrct2-ui/windows/RideConstruction.cpp @@ -1933,6 +1933,7 @@ static void window_ride_construction_mouseup_demolish(rct_window* w) _currentTrackPieceType, 0, { _currentTrackBegin.x, _currentTrackBegin.y, _currentTrackBegin.z, _currentTrackPieceDirection }); + const auto rideId = w->number; trackRemoveAction.SetCallback([=](const GameAction* ga, const GameActions::Result* result) { if (result->Error != GameActions::Status::Ok) { @@ -1940,7 +1941,7 @@ static void window_ride_construction_mouseup_demolish(rct_window* w) } else { - auto ride = get_ride(w->number); + auto ride = get_ride(rideId); if (ride != nullptr) { _stationConstructed = ride->num_stations != 0; From a371d1ff117e078a7e3a2e85417003a5cc3d9769 Mon Sep 17 00:00:00 2001 From: Margen67 Date: Thu, 19 Aug 2021 00:04:49 -1000 Subject: [PATCH 03/59] Disallow opening problematic windows in multiplayer --- src/openrct2-ui/windows/TopToolbar.cpp | 1 + src/openrct2/interface/InteractiveConsole.cpp | 31 ++++++++++++++++--- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/openrct2-ui/windows/TopToolbar.cpp b/src/openrct2-ui/windows/TopToolbar.cpp index 1f4f1f08b1..a14e62993e 100644 --- a/src/openrct2-ui/windows/TopToolbar.cpp +++ b/src/openrct2-ui/windows/TopToolbar.cpp @@ -3455,6 +3455,7 @@ static void top_toolbar_init_cheats_menu(rct_window* w, rct_widget* widget) { Dropdown::SetDisabled(DDIDX_OBJECT_SELECTION, true); Dropdown::SetDisabled(DDIDX_INVENTIONS_LIST, true); + Dropdown::SetDisabled(DDIDX_OBJECTIVE_OPTIONS, true); } if (gScreenFlags & SCREEN_FLAGS_EDITOR) diff --git a/src/openrct2/interface/InteractiveConsole.cpp b/src/openrct2/interface/InteractiveConsole.cpp index 59d7231374..3ad3c5fb25 100644 --- a/src/openrct2/interface/InteractiveConsole.cpp +++ b/src/openrct2/interface/InteractiveConsole.cpp @@ -1172,13 +1172,27 @@ static int32_t cc_open(InteractiveConsole& console, const arguments_t& argv) bool invalidTitle = false; if (argv[0] == "object_selection" && invalidArguments(&invalidTitle, !title)) { - // Only this window should be open for safety reasons - window_close_all(); - context_open_window(WC_EDITOR_OBJECT_SELECTION); + if (network_get_mode() != NETWORK_MODE_NONE) + { + console.WriteLineError("Cannot open this window in multiplayer mode."); + } + else + { + // Only this window should be open for safety reasons + window_close_all(); + context_open_window(WC_EDITOR_OBJECT_SELECTION); + } } else if (argv[0] == "inventions_list" && invalidArguments(&invalidTitle, !title)) { - context_open_window(WC_EDITOR_INVENTION_LIST); + if (network_get_mode() != NETWORK_MODE_NONE) + { + console.WriteLineError("Cannot open this window in multiplayer mode."); + } + else + { + context_open_window(WC_EDITOR_INVENTION_LIST); + } } else if (argv[0] == "scenario_options" && invalidArguments(&invalidTitle, !title)) { @@ -1186,7 +1200,14 @@ static int32_t cc_open(InteractiveConsole& console, const arguments_t& argv) } else if (argv[0] == "objective_options" && invalidArguments(&invalidTitle, !title)) { - context_open_window(WC_EDITOR_OBJECTIVE_OPTIONS); + if (network_get_mode() != NETWORK_MODE_NONE) + { + console.WriteLineError("Cannot open this window in multiplayer mode."); + } + else + { + context_open_window(WC_EDITOR_OBJECTIVE_OPTIONS); + } } else if (argv[0] == "options") { From c6a78295544e7793a64ff87f3a7589f95d2ce7f1 Mon Sep 17 00:00:00 2001 From: Michael Steenbeek Date: Fri, 20 Aug 2021 13:05:54 +0200 Subject: [PATCH 04/59] Fix #15245: Excitement factors are all listed as 0% --- src/openrct2-ui/windows/Ride.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index 352c565272..a1440b29db 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -2946,7 +2946,7 @@ static void window_ride_vehicle_paint(rct_window* w, rct_drawpixelinfo* dpi) screenCoords.y += LIST_ROW_HEIGHT; ft = Formatter(); - ft.Add(rideEntry->intensity_multiplier); + ft.Add(rideEntry->excitement_multiplier); DrawTextBasic(dpi, screenCoords, STR_EXCITEMENT_FACTOR, ft); } From 6c233ac802bdbdd602af01f6d9eece8b225decb9 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Fri, 20 Aug 2021 20:59:32 +0300 Subject: [PATCH 05/59] Remove first overload of PaintAddImageAsParent --- src/openrct2/paint/Paint.cpp | 8 --- src/openrct2/paint/Paint.h | 3 -- src/openrct2/paint/Supports.cpp | 49 ++++++++++--------- .../paint/tile_element/Paint.Path.cpp | 2 +- .../paint/tile_element/Paint.Surface.cpp | 4 +- src/openrct2/ride/TrackPaint.cpp | 14 +++--- .../ride/coaster/JuniorRollerCoaster.cpp | 16 +++--- src/openrct2/ride/coaster/WildMouse.cpp | 13 +++-- src/openrct2/ride/coaster/WoodenWildMouse.cpp | 4 +- src/openrct2/ride/gentle/Dodgems.cpp | 2 +- src/openrct2/ride/thrill/MagicCarpet.cpp | 2 +- .../ride/thrill/SwingingInverterShip.cpp | 6 +-- src/openrct2/ride/thrill/SwingingShip.cpp | 24 ++++----- src/openrct2/ride/transport/Monorail.cpp | 12 ++--- src/openrct2/ride/water/LogFlume.cpp | 4 +- src/openrct2/ride/water/SplashBoats.cpp | 4 +- 16 files changed, 74 insertions(+), 93 deletions(-) diff --git a/src/openrct2/paint/Paint.cpp b/src/openrct2/paint/Paint.cpp index f4d9913b37..fdd116504f 100644 --- a/src/openrct2/paint/Paint.cpp +++ b/src/openrct2/paint/Paint.cpp @@ -727,14 +727,6 @@ paint_struct* PaintAddImageAsParent( return PaintAddImageAsParent(session, image_id, offset, boundBoxSize, offset); } -paint_struct* PaintAddImageAsParent( - paint_session* session, uint32_t image_id, int32_t x_offset, int32_t y_offset, int32_t bound_box_length_x, - int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset) -{ - return PaintAddImageAsParent( - session, image_id, { x_offset, y_offset, z_offset }, { bound_box_length_x, bound_box_length_y, bound_box_length_z }); -} - /** * rct2: 0x00686806, 0x006869B2, 0x00686B6F, 0x00686D31, 0x0098197C * diff --git a/src/openrct2/paint/Paint.h b/src/openrct2/paint/Paint.h index 9fbd29d124..6f1c2554eb 100644 --- a/src/openrct2/paint/Paint.h +++ b/src/openrct2/paint/Paint.h @@ -267,9 +267,6 @@ extern bool gPaintBoundingBoxes; extern bool gPaintBlockedTiles; extern bool gPaintWidePathsAsGhost; -paint_struct* PaintAddImageAsParent( - paint_session* session, uint32_t image_id, int32_t x_offset, int32_t y_offset, int32_t bound_box_length_x, - int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset); paint_struct* PaintAddImageAsParent( paint_session* session, uint32_t image_id, const CoordsXYZ& offset, const CoordsXYZ& boundBoxSize); paint_struct* PaintAddImageAsParent( diff --git a/src/openrct2/paint/Supports.cpp b/src/openrct2/paint/Supports.cpp index d42d93c05e..8f40666645 100644 --- a/src/openrct2/paint/Supports.cpp +++ b/src/openrct2/paint/Supports.cpp @@ -757,8 +757,8 @@ bool wooden_b_supports_paint_setup( if (baseHeight & 0x10 || heightSteps == 1 || baseHeight + 16 == session->WaterHeight) { PaintAddImageAsParent( - session, WoodenSupportImageIds[supportType].half | imageColourFlags, 0, 0, 32, 32, - ((heightSteps == 1) ? 7 : 12), baseHeight); + session, WoodenSupportImageIds[supportType].half | imageColourFlags, { 0, 0, baseHeight }, + { 32, 32, ((heightSteps == 1) ? 7 : 12) }); heightSteps -= 1; baseHeight += 16; _9E32B1 = true; @@ -766,8 +766,8 @@ bool wooden_b_supports_paint_setup( else { PaintAddImageAsParent( - session, WoodenSupportImageIds[supportType].full | imageColourFlags, 0, 0, 32, 32, - ((heightSteps == 2) ? 23 : 28), baseHeight); + session, WoodenSupportImageIds[supportType].full | imageColourFlags, { 0, 0, baseHeight }, + { 32, 32, ((heightSteps == 2) ? 23 : 28) }); heightSteps -= 2; baseHeight += 32; _9E32B1 = true; @@ -1082,8 +1082,9 @@ bool metal_b_supports_paint_setup( PaintAddImageAsParent( session, _metalSupportTypeToCrossbeamImages[supportType][ebp] | imageColourFlags, - SupportBoundBoxes[originalSegment].x + loc_97B052[ebp].x, SupportBoundBoxes[originalSegment].y + loc_97B052[ebp].y, - _97B062[ebp].x, _97B062[ebp].y, 1, baseHeight); + { SupportBoundBoxes[originalSegment].x + loc_97B052[ebp].x, + SupportBoundBoxes[originalSegment].y + loc_97B052[ebp].y, baseHeight }, + { _97B062[ebp].x, _97B062[ebp].y, 1 }); } int32_t si = baseHeight; @@ -1099,8 +1100,8 @@ bool metal_b_supports_paint_setup( uint32_t imageId = _97B15C[supportType].base_id + imageOffset; PaintAddImageAsParent( - session, imageId | imageColourFlags, SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, 0, 0, 5, - supportSegments[segment].height); + session, imageId | imageColourFlags, + { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, supportSegments[segment].height }, { 0, 0, 5 }); baseHeight = supportSegments[segment].height + 6; } @@ -1115,8 +1116,8 @@ bool metal_b_supports_paint_setup( if (heightDiff > 0) { PaintAddImageAsParent( - session, (_97B15C[supportType].beam_id + (heightDiff - 1)) | imageColourFlags, SupportBoundBoxes[segment].x, - SupportBoundBoxes[segment].y, 0, 0, heightDiff - 1, baseHeight); + session, (_97B15C[supportType].beam_id + (heightDiff - 1)) | imageColourFlags, + { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }, { 0, 0, heightDiff - 1 }); } baseHeight += heightDiff; @@ -1151,8 +1152,8 @@ bool metal_b_supports_paint_setup( } PaintAddImageAsParent( - session, imageId | imageColourFlags, SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, 0, 0, - beamLength - 1, baseHeight); + session, imageId | imageColourFlags, { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }, + { 0, 0, beamLength - 1 }); baseHeight += beamLength; i++; @@ -1237,7 +1238,8 @@ bool path_a_supports_paint_setup( if (session->Support.slope & 0x20) { // save dx2 - PaintAddImageAsParent(session, (railingEntry->bridge_image + 48) | imageColourFlags, 0, 0, 32, 32, 0, baseHeight - 2); + PaintAddImageAsParent( + session, (railingEntry->bridge_image + 48) | imageColourFlags, { 0, 0, baseHeight - 2 }, { 32, 32, 0 }); hasSupports = true; } else if (session->Support.slope & 0x10) @@ -1287,7 +1289,8 @@ bool path_a_supports_paint_setup( { uint32_t imageId = (supportType * 24) + railingEntry->bridge_image + 23; - PaintAddImageAsParent(session, imageId | imageColourFlags, 0, 0, 32, 32, ((heightSteps == 1) ? 7 : 12), baseHeight); + PaintAddImageAsParent( + session, imageId | imageColourFlags, { 0, 0, baseHeight }, { 32, 32, ((heightSteps == 1) ? 7 : 12) }); heightSteps -= 1; baseHeight += 16; hasSupports = true; @@ -1297,7 +1300,7 @@ bool path_a_supports_paint_setup( uint32_t imageId = (supportType * 24) + railingEntry->bridge_image + 22; PaintAddImageAsParent( - session, imageId | imageColourFlags, 0, 0, 32, 32, ((heightSteps == 2) ? 23 : 28), baseHeight); + session, imageId | imageColourFlags, { 0, 0, baseHeight }, { 32, 32, ((heightSteps == 2) ? 23 : 28) }); heightSteps -= 2; baseHeight += 32; hasSupports = true; @@ -1385,8 +1388,8 @@ bool path_b_supports_paint_setup( baseHeight = supportSegments[segment].height; PaintAddImageAsParent( - session, (railingEntry->bridge_image + 37 + imageOffset) | imageColourFlags, SupportBoundBoxes[segment].x, - SupportBoundBoxes[segment].y, 0, 0, 5, baseHeight); + session, (railingEntry->bridge_image + 37 + imageOffset) | imageColourFlags, + { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }, { 0, 0, 5 }); baseHeight += 6; } @@ -1404,8 +1407,8 @@ bool path_b_supports_paint_setup( if (heightDiff > 0) { PaintAddImageAsParent( - session, (railingEntry->bridge_image + 20 + (heightDiff - 1)) | imageColourFlags, SupportBoundBoxes[segment].x, - SupportBoundBoxes[segment].y, 0, 0, heightDiff - 1, baseHeight); + session, (railingEntry->bridge_image + 20 + (heightDiff - 1)) | imageColourFlags, + { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }, { 0, 0, heightDiff - 1 }); } baseHeight += heightDiff; @@ -1437,8 +1440,8 @@ bool path_b_supports_paint_setup( } PaintAddImageAsParent( - session, (railingEntry->bridge_image + 20 + (z - 1)) | imageColourFlags, SupportBoundBoxes[segment].x, - SupportBoundBoxes[segment].y, 0, 0, (z - 1), baseHeight); + session, (railingEntry->bridge_image + 20 + (z - 1)) | imageColourFlags, + { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }, { 0, 0, (z - 1) }); baseHeight += z; } @@ -1455,8 +1458,8 @@ bool path_b_supports_paint_setup( } PaintAddImageAsParent( - session, imageId | imageColourFlags, SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, 0, 0, (z - 1), - baseHeight); + session, imageId | imageColourFlags, { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }, + { 0, 0, (z - 1) }); baseHeight += z; } diff --git a/src/openrct2/paint/tile_element/Paint.Path.cpp b/src/openrct2/paint/tile_element/Paint.Path.cpp index 1ce3286ba4..7a4c00666a 100644 --- a/src/openrct2/paint/tile_element/Paint.Path.cpp +++ b/src/openrct2/paint/tile_element/Paint.Path.cpp @@ -928,7 +928,7 @@ void PaintPath(paint_session* session, uint16_t height, const PathElement& tileE } PaintAddImageAsParent( - session, imageId | patrolColour << 19 | IMAGE_TYPE_REMAP, 16, 16, 1, 1, 0, patrolAreaBaseZ + 2); + session, imageId | patrolColour << 19 | IMAGE_TYPE_REMAP, { 16, 16, patrolAreaBaseZ + 2 }, { 1, 1, 0 }); } } diff --git a/src/openrct2/paint/tile_element/Paint.Surface.cpp b/src/openrct2/paint/tile_element/Paint.Surface.cpp index ee89107d53..fb6f601787 100644 --- a/src/openrct2/paint/tile_element/Paint.Surface.cpp +++ b/src/openrct2/paint/tile_element/Paint.Surface.cpp @@ -1037,7 +1037,7 @@ void PaintSurface(paint_session* session, uint8_t direction, uint16_t height, co image_id += get_height_marker_offset(); image_id -= gMapBaseZ; - PaintAddImageAsParent(session, image_id, 16, 16, 1, 1, 0, height); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 1, 1, 0 }); } bool has_surface = false; @@ -1137,7 +1137,7 @@ void PaintSurface(paint_session* session, uint8_t direction, uint16_t height, co { if ((spawn.x & 0xFFE0) == pos.x && (spawn.y & 0xFFE0) == pos.y) { - PaintAddImageAsParent(session, SPR_TERRAIN_SELECTION_SQUARE_SIMPLE, 0, 0, 32, 32, 16, spawn.z); + PaintAddImageAsParent(session, SPR_TERRAIN_SELECTION_SQUARE_SIMPLE, { 0, 0, spawn.z }, { 32, 32, 16 }); const int32_t offset = (direction_reverse(spawn.direction) + rotation) & 3; const uint32_t image_id = (PEEP_SPAWN_ARROW_0 + offset) | 0x20380000; diff --git a/src/openrct2/ride/TrackPaint.cpp b/src/openrct2/ride/TrackPaint.cpp index bde96b1845..77389bf673 100644 --- a/src/openrct2/ride/TrackPaint.cpp +++ b/src/openrct2/ride/TrackPaint.cpp @@ -1501,10 +1501,9 @@ void track_paint_util_right_quarter_turn_5_tiles_paint_3( } const sprite_bb* spriteBB = &sprites[direction][sprite]; - uint32_t imageId = spriteBB->sprite_id | colourFlags; - PaintAddImageAsParent( - session, imageId, static_cast(spriteBB->offset.x), static_cast(spriteBB->offset.y), spriteBB->bb_size.x, - spriteBB->bb_size.y, static_cast(spriteBB->bb_size.z), height + spriteBB->offset.z); + const uint32_t imageId = spriteBB->sprite_id | colourFlags; + const auto& offset = spriteBB->offset; + PaintAddImageAsParent(session, imageId, { offset.x, offset.y, height + offset.z }, spriteBB->bb_size); } void track_paint_util_right_quarter_turn_5_tiles_tunnel( @@ -1772,10 +1771,9 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_4( } const sprite_bb* spriteBB = &sprites[direction][sprite]; - uint32_t imageId = spriteBB->sprite_id | colourFlags; - PaintAddImageAsParent( - session, imageId, static_cast(spriteBB->offset.x), static_cast(spriteBB->offset.y), spriteBB->bb_size.x, - spriteBB->bb_size.y, static_cast(spriteBB->bb_size.z), height + spriteBB->offset.z); + const uint32_t imageId = spriteBB->sprite_id | colourFlags; + const auto& offset = spriteBB->offset; + PaintAddImageAsParent(session, imageId, { offset.x, offset.y, height + offset.z }, spriteBB->bb_size); } void track_paint_util_right_quarter_turn_3_tiles_tunnel( diff --git a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp index 9f86c51f2d..3b21211da5 100644 --- a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp @@ -2732,13 +2732,11 @@ static void junior_rc_s_bend_left_paint_setup( CoordsXY bounds = boundsList[trackSequence]; if (direction == 0 || direction == 2) { - PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, 1, height); + PaintAddImageAsParent(session, imageId, { offset.x, offset.y, height }, { bounds.x, bounds.y, 1 }); } else { - PaintAddImageAsParent( - session, imageId, static_cast(offset.y), static_cast(offset.x), bounds.y, bounds.x, 1, height); + PaintAddImageAsParent(session, imageId, { offset.y, offset.x, height }, { bounds.y, bounds.x, 1 }); } if (direction == 0 || direction == 2) @@ -2838,13 +2836,11 @@ static void junior_rc_s_bend_right_paint_setup( CoordsXY bounds = boundsList[trackSequence]; if (direction == 0 || direction == 2) { - PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, 1, height); + PaintAddImageAsParent(session, imageId, { offset.x, offset.y, height }, { bounds.x, bounds.y, 1 }); } else { - PaintAddImageAsParent( - session, imageId, static_cast(offset.y), static_cast(offset.x), bounds.y, bounds.x, 1, height); + PaintAddImageAsParent(session, imageId, { offset.y, offset.x, height }, { bounds.y, bounds.x, 1 }); } if (direction == 0 || direction == 2) @@ -5643,14 +5639,14 @@ static void junior_rc_booster_paint_setup( if (direction & 1) { PaintAddImageAsParent( - session, SPR_JUNIOR_RC_BOOSTER_NE_SW | session->TrackColours[SCHEME_TRACK], 0, 0, 20, 32, 1, height); + session, SPR_JUNIOR_RC_BOOSTER_NE_SW | session->TrackColours[SCHEME_TRACK], { 0, 0, height }, { 20, 32, 1 }); paint_util_push_tunnel_right(session, height, TUNNEL_0); } else { PaintAddImageAsParent( - session, SPR_JUNIOR_RC_BOOSTER_NW_SE | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height); + session, SPR_JUNIOR_RC_BOOSTER_NW_SE | session->TrackColours[SCHEME_TRACK], { 0, 0, height }, { 32, 20, 1 }); paint_util_push_tunnel_left(session, height, TUNNEL_0); } diff --git a/src/openrct2/ride/coaster/WildMouse.cpp b/src/openrct2/ride/coaster/WildMouse.cpp index 2549271f94..5f92eb6482 100644 --- a/src/openrct2/ride/coaster/WildMouse.cpp +++ b/src/openrct2/ride/coaster/WildMouse.cpp @@ -591,10 +591,10 @@ static void wild_mouse_track_right_quarter_turn_3_25_deg_down( { int32_t part = trackSequence == 0 ? 0 : 1; const sprite_bb* sbb = &imageIds[direction][part]; + const auto& offset = sbb->offset; PaintAddImageAsParent( - session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], static_cast(sbb->offset.x), - static_cast(sbb->offset.y), sbb->bb_size.x, sbb->bb_size.y, static_cast(sbb->bb_size.z), - height + static_cast(sbb->offset.z)); + session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], { offset.x, offset.y, height + offset.z }, + sbb->bb_size); } track_paint_util_right_quarter_turn_3_tiles_25_deg_down_tunnel( @@ -660,9 +660,8 @@ static void wild_mouse_track_right_quarter_turn_3_25_deg_up( int32_t part = trackSequence == 0 ? 0 : 1; const sprite_bb* sbb = &imageIds[direction][part]; PaintAddImageAsParent( - session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], static_cast(sbb->offset.x), - static_cast(sbb->offset.y), sbb->bb_size.x, sbb->bb_size.y, static_cast(sbb->bb_size.z), - height + static_cast(sbb->offset.z)); + session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], + { sbb->offset.x, sbb->offset.y, height + sbb->offset.z }, sbb->bb_size); } track_paint_util_right_quarter_turn_3_tiles_25_deg_up_tunnel(session, height, direction, trackSequence, TUNNEL_1, TUNNEL_2); @@ -736,7 +735,7 @@ static void wild_mouse_track_left_quarter_turn_1( PaintAddImageAsParent(session, imageId, 0, 0, 26, 24, 2, height, 6, 2, height); break; case 1: - PaintAddImageAsParent(session, imageId, 0, 0, 26, 26, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 26, 26, 2 }); break; case 2: PaintAddImageAsParent(session, imageId, 0, 0, 24, 26, 2, height, 2, 6, height); diff --git a/src/openrct2/ride/coaster/WoodenWildMouse.cpp b/src/openrct2/ride/coaster/WoodenWildMouse.cpp index dc54c46659..9887a15241 100644 --- a/src/openrct2/ride/coaster/WoodenWildMouse.cpp +++ b/src/openrct2/ride/coaster/WoodenWildMouse.cpp @@ -573,13 +573,13 @@ static void wooden_wild_mouse_track_left_quarter_turn_1( PaintAddImageAsParent(session, imageId, 6, 0, 26, 24, 1, height, 6, 2, height); break; case 1: - PaintAddImageAsParent(session, imageId, 0, 0, 26, 26, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 26, 26, 1 }); break; case 2: PaintAddImageAsParent(session, imageId, 0, 6, 24, 26, 1, height, 2, 6, height); break; case 3: - PaintAddImageAsParent(session, imageId, 6, 6, 24, 24, 1, height); + PaintAddImageAsParent(session, imageId, { 6, 6, height }, { 24, 24, 1 }); break; } wooden_a_supports_paint_setup(session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); diff --git a/src/openrct2/ride/gentle/Dodgems.cpp b/src/openrct2/ride/gentle/Dodgems.cpp index 1860010dbe..024dd0c15f 100644 --- a/src/openrct2/ride/gentle/Dodgems.cpp +++ b/src/openrct2/ride/gentle/Dodgems.cpp @@ -31,7 +31,7 @@ static constexpr const uint32_t dodgems_fence_sprites[] = { SPR_DODGEMS_FENCE_TO static void paint_dodgems_roof(paint_session* session, int32_t height, int32_t offset) { uint32_t image_id = (SPR_DODGEMS_ROOF_FRAME + offset) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 0, 0, 32, 32, 2, height); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 32, 32, 2 }); image_id = (SPR_DODGEMS_ROOF_GLASS + offset) | (EnumValue(FilterPaletteID::PaletteDarken3) << 19) | IMAGE_TYPE_TRANSPARENT; PaintAttachToPreviousPS(session, image_id, 0, 0); diff --git a/src/openrct2/ride/thrill/MagicCarpet.cpp b/src/openrct2/ride/thrill/MagicCarpet.cpp index 3e717b963d..2504d31723 100644 --- a/src/openrct2/ride/thrill/MagicCarpet.cpp +++ b/src/openrct2/ride/thrill/MagicCarpet.cpp @@ -241,7 +241,7 @@ static void paint_magic_carpet( } uint32_t imageId = SPR_STATION_BASE_D | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); break; } diff --git a/src/openrct2/ride/thrill/SwingingInverterShip.cpp b/src/openrct2/ride/thrill/SwingingInverterShip.cpp index 7e543f57b0..e8ef655a0d 100644 --- a/src/openrct2/ride/thrill/SwingingInverterShip.cpp +++ b/src/openrct2/ride/thrill/SwingingInverterShip.cpp @@ -143,17 +143,17 @@ static void paint_swinging_inverter_ship( } imageId = SPR_STATION_BASE_D | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); switch (direction) { case 0: imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 24, 32, 8, 1, height + 9); + PaintAddImageAsParent(session, imageId, { 0, 24, height + 9 }, { 32, 8, 1 }); break; case 1: imageId = SPR_STATION_PLATFORM_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 24, 0, 8, 32, 1, height + 9); + PaintAddImageAsParent(session, imageId, { 24, 0, height + 9 }, { 8, 32, 1 }); break; case 2: imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_TRACK]; diff --git a/src/openrct2/ride/thrill/SwingingShip.cpp b/src/openrct2/ride/thrill/SwingingShip.cpp index 94d0a48909..ebc1cb3a7c 100644 --- a/src/openrct2/ride/thrill/SwingingShip.cpp +++ b/src/openrct2/ride/thrill/SwingingShip.cpp @@ -194,7 +194,7 @@ static void paint_swinging_ship( metal_a_supports_paint_setup(session, METAL_SUPPORTS_TUBES, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); imageId = SPR_STATION_BASE_A_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); } else { @@ -202,7 +202,7 @@ static void paint_swinging_ship( metal_a_supports_paint_setup(session, METAL_SUPPORTS_TUBES, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); imageId = SPR_STATION_BASE_A_SW_NE | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -226,7 +226,7 @@ static void paint_swinging_ship( imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_NW_SE : SPR_STATION_PLATFORM_NW_SE) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 24, 0, 8, 32, 1, height + 9); + PaintAddImageAsParent(session, imageId, { 24, 0, height + 9 }, { 8, 32, 1 }); hasFence = track_paint_util_has_fence(EDGE_SW, session->MapPosition, trackElement, ride, session->CurrentRotation); if (relativeTrackSequence == 3) @@ -234,21 +234,21 @@ static void paint_swinging_ship( if (hasFence) { imageId = SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 31, 0, 1, 32, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 31, 0, height + 11 }, { 1, 32, 7 }); } else { imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 23, 31, 8, 1, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 23, 31, height + 11 }, { 8, 1, 7 }); } imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 31, 8, 1, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 0, 31, height + 11 }, { 8, 1, 7 }); } else if (hasFence) { imageId = SPR_STATION_FENCE_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 31, 0, 1, 32, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 31, 0, height + 11 }, { 1, 32, 7 }); } } } @@ -271,7 +271,7 @@ static void paint_swinging_ship( imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_SW_NE : SPR_STATION_PLATFORM_SW_NE) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 24, 32, 8, 1, height + 9); + PaintAddImageAsParent(session, imageId, { 0, 24, height + 9 }, { 32, 8, 1 }); hasFence = track_paint_util_has_fence(EDGE_SE, session->MapPosition, trackElement, ride, session->CurrentRotation); if (relativeTrackSequence == 3) @@ -279,21 +279,21 @@ static void paint_swinging_ship( if (hasFence) { imageId = SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 31, 32, 1, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 0, 31, height + 11 }, { 32, 1, 7 }); } else { imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 31, 23, 1, 8, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 31, 23, height + 11 }, { 1, 8, 7 }); } imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 31, 0, 1, 8, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 31, 0, height + 11 }, { 1, 8, 7 }); } else if (hasFence) { imageId = SPR_STATION_FENCE_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 31, 32, 1, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 0, 31, height + 11 }, { 32, 1, 7 }); } } } diff --git a/src/openrct2/ride/transport/Monorail.cpp b/src/openrct2/ride/transport/Monorail.cpp index 27c1e858b3..ab49c14d16 100644 --- a/src/openrct2/ride/transport/Monorail.cpp +++ b/src/openrct2/ride/transport/Monorail.cpp @@ -765,13 +765,11 @@ static void paint_monorail_track_s_bend_left( CoordsXY bounds = boundsList[trackSequence]; if (direction == 0 || direction == 2) { - PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, 3, height); + PaintAddImageAsParent(session, imageId, { offset.x, offset.y, height }, { bounds.x, bounds.y, 3 }); } else { - PaintAddImageAsParent( - session, imageId, static_cast(offset.y), static_cast(offset.x), bounds.y, bounds.x, 3, height); + PaintAddImageAsParent(session, imageId, { offset.y, offset.x, height }, { bounds.y, bounds.x, 3 }); } if (direction == 0 || direction == 2) @@ -871,13 +869,11 @@ static void paint_monorail_track_s_bend_right( CoordsXY bounds = boundsList[trackSequence]; if (direction == 0 || direction == 2) { - PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, 3, height); + PaintAddImageAsParent(session, imageId, { offset.x, offset.y, height }, { bounds.x, bounds.y, 3 }); } else { - PaintAddImageAsParent( - session, imageId, static_cast(offset.y), static_cast(offset.x), bounds.y, bounds.x, 3, height); + PaintAddImageAsParent(session, imageId, { offset.y, offset.x, height }, { bounds.y, bounds.x, 3 }); } if (direction == 0 || direction == 2) diff --git a/src/openrct2/ride/water/LogFlume.cpp b/src/openrct2/ride/water/LogFlume.cpp index 0d73303c22..94130ba46f 100644 --- a/src/openrct2/ride/water/LogFlume.cpp +++ b/src/openrct2/ride/water/LogFlume.cpp @@ -196,7 +196,7 @@ static void paint_log_flume_track_station( { imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; } - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); if (direction & 1) { @@ -755,7 +755,7 @@ static void paint_log_flume_track_on_ride_photo( const TrackElement& trackElement) { uint32_t imageId = SPR_STATION_BASE_D | IMAGE_TYPE_REMAP; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); if (direction & 1) { diff --git a/src/openrct2/ride/water/SplashBoats.cpp b/src/openrct2/ride/water/SplashBoats.cpp index e85581cb5d..fae611eba4 100644 --- a/src/openrct2/ride/water/SplashBoats.cpp +++ b/src/openrct2/ride/water/SplashBoats.cpp @@ -793,7 +793,7 @@ static void paint_splash_boats_station( PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height + 3); imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); } else { @@ -802,7 +802,7 @@ static void paint_splash_boats_station( PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height + 3); imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); } wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); From 7feea62ab344b63ea94aa407705946c7fc418ce5 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Fri, 20 Aug 2021 21:45:25 +0300 Subject: [PATCH 06/59] Remove overload of PaintAddImageAsParent with bbox offset --- src/openrct2/paint/Paint.cpp | 10 -- src/openrct2/paint/Paint.h | 4 - src/openrct2/paint/PaintHelpers.cpp | 8 +- src/openrct2/paint/Supports.cpp | 29 ++-- src/openrct2/paint/sprite/Paint.Litter.cpp | 2 +- src/openrct2/paint/sprite/Paint.Peep.cpp | 2 +- .../paint/tile_element/Paint.Banner.cpp | 6 +- .../paint/tile_element/Paint.Entrance.cpp | 13 +- .../paint/tile_element/Paint.LargeScenery.cpp | 3 +- .../paint/tile_element/Paint.Path.cpp | 36 ++--- .../paint/tile_element/Paint.SmallScenery.cpp | 8 +- .../paint/tile_element/Paint.Wall.cpp | 20 +-- src/openrct2/ride/TrackPaint.cpp | 56 +++---- src/openrct2/ride/VehiclePaint.cpp | 5 +- .../ride/coaster/JuniorRollerCoaster.cpp | 143 ++++++++++-------- .../ride/coaster/ReverseFreefallCoaster.cpp | 12 +- src/openrct2/ride/coaster/VirginiaReel.cpp | 27 ++-- src/openrct2/ride/coaster/WildMouse.cpp | 6 +- .../ride/coaster/WoodenRollerCoaster.cpp | 5 +- src/openrct2/ride/coaster/WoodenWildMouse.cpp | 4 +- src/openrct2/ride/gentle/Circus.cpp | 3 +- src/openrct2/ride/gentle/CrookedHouse.cpp | 4 +- src/openrct2/ride/gentle/Dodgems.cpp | 2 +- src/openrct2/ride/gentle/FerrisWheel.cpp | 8 +- src/openrct2/ride/gentle/HauntedHouse.cpp | 4 +- src/openrct2/ride/gentle/MiniGolf.cpp | 41 ++--- src/openrct2/ride/gentle/MiniHelicopters.cpp | 32 ++-- src/openrct2/ride/gentle/MonorailCycles.cpp | 12 +- src/openrct2/ride/gentle/ObservationTower.cpp | 14 +- src/openrct2/ride/gentle/SpaceRings.cpp | 6 +- src/openrct2/ride/gentle/SpiralSlide.cpp | 18 +-- src/openrct2/ride/shops/Facility.cpp | 11 +- src/openrct2/ride/shops/Shop.cpp | 4 +- src/openrct2/ride/thrill/3dCinema.cpp | 3 +- src/openrct2/ride/thrill/Enterprise.cpp | 2 +- src/openrct2/ride/thrill/LaunchedFreefall.cpp | 14 +- src/openrct2/ride/thrill/MagicCarpet.cpp | 4 +- src/openrct2/ride/thrill/MotionSimulator.cpp | 24 ++- src/openrct2/ride/thrill/RotoDrop.cpp | 14 +- .../ride/thrill/SwingingInverterShip.cpp | 8 +- src/openrct2/ride/thrill/SwingingShip.cpp | 4 +- src/openrct2/ride/thrill/Twist.cpp | 7 +- src/openrct2/ride/transport/Lift.cpp | 6 +- .../ride/transport/MiniatureRailway.cpp | 76 +++++----- src/openrct2/ride/transport/Monorail.cpp | 22 +-- src/openrct2/ride/water/RiverRapids.cpp | 3 +- src/openrct2/ride/water/SplashBoats.cpp | 12 +- src/openrct2/ride/water/SubmarineRide.cpp | 13 +- 48 files changed, 404 insertions(+), 366 deletions(-) diff --git a/src/openrct2/paint/Paint.cpp b/src/openrct2/paint/Paint.cpp index fdd116504f..63508d5eba 100644 --- a/src/openrct2/paint/Paint.cpp +++ b/src/openrct2/paint/Paint.cpp @@ -761,16 +761,6 @@ paint_struct* PaintAddImageAsParent( return ps; } -paint_struct* PaintAddImageAsParent( - paint_session* session, uint32_t image_id, int32_t x_offset, int32_t y_offset, int32_t bound_box_length_x, - int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset, int32_t bound_box_offset_x, - int32_t bound_box_offset_y, int32_t bound_box_offset_z) -{ - return PaintAddImageAsParent( - session, image_id, { x_offset, y_offset, z_offset }, { bound_box_length_x, bound_box_length_y, bound_box_length_z }, - { bound_box_offset_x, bound_box_offset_y, bound_box_offset_z }); -} - /** * * rct2: 0x00686EF0, 0x00687056, 0x006871C8, 0x0068733C, 0x0098198C diff --git a/src/openrct2/paint/Paint.h b/src/openrct2/paint/Paint.h index 6f1c2554eb..83db6e3c7b 100644 --- a/src/openrct2/paint/Paint.h +++ b/src/openrct2/paint/Paint.h @@ -269,10 +269,6 @@ extern bool gPaintWidePathsAsGhost; paint_struct* PaintAddImageAsParent( paint_session* session, uint32_t image_id, const CoordsXYZ& offset, const CoordsXYZ& boundBoxSize); -paint_struct* PaintAddImageAsParent( - paint_session* session, uint32_t image_id, int32_t x_offset, int32_t y_offset, int32_t bound_box_length_x, - int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset, int32_t bound_box_offset_x, - int32_t bound_box_offset_y, int32_t bound_box_offset_z); paint_struct* PaintAddImageAsParent( paint_session* session, uint32_t image_id, const CoordsXYZ& offset, const CoordsXYZ& boundBoxSize, const CoordsXYZ& boundBoxOffset); diff --git a/src/openrct2/paint/PaintHelpers.cpp b/src/openrct2/paint/PaintHelpers.cpp index bc934fc77e..994c306c57 100644 --- a/src/openrct2/paint/PaintHelpers.cpp +++ b/src/openrct2/paint/PaintHelpers.cpp @@ -37,14 +37,14 @@ paint_struct* PaintAddImageAsParentRotated( if (direction & 1) { return PaintAddImageAsParent( - session, 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); + session, image_id, { y_offset, x_offset, z_offset }, { bound_box_length_y, bound_box_length_x, bound_box_length_z }, + { bound_box_offset_y, bound_box_offset_x, bound_box_offset_z }); } else { return PaintAddImageAsParent( - session, 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); + session, image_id, { x_offset, y_offset, z_offset }, { bound_box_length_x, bound_box_length_y, bound_box_length_z }, + { bound_box_offset_x, bound_box_offset_y, bound_box_offset_z }); } } diff --git a/src/openrct2/paint/Supports.cpp b/src/openrct2/paint/Supports.cpp index 8f40666645..38336abb3e 100644 --- a/src/openrct2/paint/Supports.cpp +++ b/src/openrct2/paint/Supports.cpp @@ -607,8 +607,8 @@ bool wooden_a_supports_paint_setup( if (byte_97B23C[special].var_6 == 0 || session->WoodenSupportsPrependTo == nullptr) { PaintAddImageAsParent( - session, imageId, 0, 0, bBox.length.x, bBox.length.y, bBox.length.z, z, bBox.offset.x, bBox.offset.y, - bBox.offset.z + z); + session, imageId, { 0, 0, z }, { bBox.length.x, bBox.length.y, bBox.length.z }, + { bBox.offset.x, bBox.offset.y, bBox.offset.z + z }); hasSupports = true; } else @@ -701,7 +701,8 @@ bool wooden_b_supports_paint_setup( session, imageId | imageColourFlags, { 0, 0, baseHeight }, { 32, 32, 11 }, { 0, 0, baseHeight + 2 }); baseHeight += 16; - PaintAddImageAsParent(session, (imageId + 4) | imageColourFlags, 0, 0, 32, 32, 3, baseHeight, 0, 0, baseHeight + 2); + PaintAddImageAsParent( + session, (imageId + 4) | imageColourFlags, { 0, 0, baseHeight }, { 32, 32, 3 }, { 0, 0, baseHeight + 2 }); baseHeight += 16; _9E32B1 = true; @@ -792,8 +793,9 @@ bool wooden_b_supports_paint_setup( if (supportsDesc.var_6 == 0 || session->WoodenSupportsPrependTo == nullptr) { PaintAddImageAsParent( - session, imageId | imageColourFlags, 0, 0, boundBox.length.x, boundBox.length.y, boundBox.length.z, - baseHeight, boundBox.offset.x, boundBox.offset.y, boundBox.offset.z + baseHeight); + session, imageId | imageColourFlags, { 0, 0, baseHeight }, + { boundBox.length.x, boundBox.length.y, boundBox.length.z }, + { boundBox.offset.x, boundBox.offset.y, boundBox.offset.z + baseHeight }); _9E32B1 = true; } else @@ -1182,8 +1184,9 @@ bool metal_b_supports_paint_setup( uint32_t imageId = _97B15C[supportType].beam_id + (beamLength - 1); PaintAddImageAsParent( - session, imageId | imageColourFlags, SupportBoundBoxes[originalSegment].x, SupportBoundBoxes[originalSegment].y, - 0, 0, 0, baseHeight, SupportBoundBoxes[originalSegment].x, SupportBoundBoxes[originalSegment].y, height); + session, imageId | imageColourFlags, + { SupportBoundBoxes[originalSegment].x, SupportBoundBoxes[originalSegment].y, baseHeight }, { 0, 0, 0 }, + { SupportBoundBoxes[originalSegment].x, SupportBoundBoxes[originalSegment].y, height }); baseHeight += beamLength; } } @@ -1259,7 +1262,8 @@ bool path_a_supports_paint_setup( session, imageId | imageColourFlags, { 0, 0, baseHeight }, { 32, 32, 11 }, { 0, 0, baseHeight + 2 }); baseHeight += 16; - PaintAddImageAsParent(session, (imageId + 4) | imageColourFlags, 0, 0, 32, 32, 11, baseHeight, 0, 0, baseHeight + 2); + PaintAddImageAsParent( + session, (imageId + 4) | imageColourFlags, { 0, 0, baseHeight }, { 32, 32, 11 }, { 0, 0, baseHeight + 2 }); baseHeight += 16; hasSupports = true; @@ -1319,8 +1323,9 @@ bool path_a_supports_paint_setup( if (supportsDesc.var_6 == 0 || session->WoodenSupportsPrependTo == nullptr) { PaintAddImageAsParent( - session, imageId | imageColourFlags, 0, 0, boundBox.length.y, boundBox.length.x, boundBox.length.z, baseHeight, - boundBox.offset.x, boundBox.offset.y, baseHeight + boundBox.offset.z); + session, imageId | imageColourFlags, { 0, 0, baseHeight }, + { boundBox.length.y, boundBox.length.x, boundBox.length.z }, + { boundBox.offset.x, boundBox.offset.y, baseHeight + boundBox.offset.z }); hasSupports = true; } else @@ -1488,8 +1493,8 @@ bool path_b_supports_paint_setup( uint32_t imageId = railingEntry->bridge_image + 20 + (z - 1); PaintAddImageAsParent( - session, imageId | imageColourFlags, SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, 0, 0, 0, - baseHeight, SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight); + session, imageId | imageColourFlags, { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }, + { 0, 0, 0 }, { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }); baseHeight += z; } diff --git a/src/openrct2/paint/sprite/Paint.Litter.cpp b/src/openrct2/paint/sprite/Paint.Litter.cpp index e0fc132747..b06495eebc 100644 --- a/src/openrct2/paint/sprite/Paint.Litter.cpp +++ b/src/openrct2/paint/sprite/Paint.Litter.cpp @@ -83,5 +83,5 @@ template<> void PaintEntity(paint_session* session, const Litter* litter, int32_ // In the following call to PaintAddImageAsParent, we add 4 (instead of 2) to the // bound_box_offset_z to make sure litter is drawn on top of railways - PaintAddImageAsParent(session, image_id, 0, 0, 4, 4, -1, litter->z, -4, -4, litter->z + 4); + PaintAddImageAsParent(session, image_id, { 0, 0, litter->z }, { 4, 4, -1 }, { -4, -4, litter->z + 4 }); } diff --git a/src/openrct2/paint/sprite/Paint.Peep.cpp b/src/openrct2/paint/sprite/Paint.Peep.cpp index 804e6f5026..7083f70fd2 100644 --- a/src/openrct2/paint/sprite/Paint.Peep.cpp +++ b/src/openrct2/paint/sprite/Paint.Peep.cpp @@ -80,7 +80,7 @@ template<> void PaintEntity(paint_session* session, const Peep* peep, int32_t im + imageOffset * 4; uint32_t imageId = baseImageId | peep->TshirtColour << 19 | peep->TrousersColour << 24 | IMAGE_TYPE_REMAP | IMAGE_TYPE_REMAP_2_PLUS; - PaintAddImageAsParent(session, imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 5); + PaintAddImageAsParent(session, imageId, { 0, 0, peep->z }, { 1, 1, 11 }, { 0, 0, peep->z + 5 }); auto* guest = peep->As(); if (guest != nullptr) { diff --git a/src/openrct2/paint/tile_element/Paint.Banner.cpp b/src/openrct2/paint/tile_element/Paint.Banner.cpp index a3b6946732..44cd06cdd7 100644 --- a/src/openrct2/paint/tile_element/Paint.Banner.cpp +++ b/src/openrct2/paint/tile_element/Paint.Banner.cpp @@ -78,12 +78,14 @@ void PaintBanner(paint_session* session, uint8_t direction, int32_t height, cons image_id |= (banner->colour << 19) | IMAGE_TYPE_REMAP; } - PaintAddImageAsParent(session, image_id, 0, 0, 1, 1, 0x15, height, boundBoxOffset.x, boundBoxOffset.y, boundBoxOffset.z); + PaintAddImageAsParent( + session, image_id, { 0, 0, height }, { 1, 1, 0x15 }, { boundBoxOffset.x, boundBoxOffset.y, boundBoxOffset.z }); boundBoxOffset.x = BannerBoundBoxes[direction][1].x; boundBoxOffset.y = BannerBoundBoxes[direction][1].y; image_id++; - PaintAddImageAsParent(session, image_id, 0, 0, 1, 1, 0x15, height, boundBoxOffset.x, boundBoxOffset.y, boundBoxOffset.z); + PaintAddImageAsParent( + session, image_id, { 0, 0, height }, { 1, 1, 0x15 }, { boundBoxOffset.x, boundBoxOffset.y, boundBoxOffset.z }); // Opposite direction direction = direction_reverse(direction); diff --git a/src/openrct2/paint/tile_element/Paint.Entrance.cpp b/src/openrct2/paint/tile_element/Paint.Entrance.cpp index 7db9c608ae..42b672386b 100644 --- a/src/openrct2/paint/tile_element/Paint.Entrance.cpp +++ b/src/openrct2/paint/tile_element/Paint.Entrance.cpp @@ -129,7 +129,7 @@ static void ride_entrance_exit_paint( int16_t lengthY = (direction & 1) ? 28 : 2; int16_t lengthX = (direction & 1) ? 2 : 28; - PaintAddImageAsParent(session, image_id, 0, 0, lengthX, lengthY, ah, height, 2, 2, height); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { lengthX, lengthY, ah }, { 2, 2, height }); if (transparant_image_id) { @@ -148,7 +148,8 @@ static void ride_entrance_exit_paint( image_id += 4; PaintAddImageAsParent( - session, image_id, 0, 0, lengthX, lengthY, ah, height, (direction & 1) ? 28 : 2, (direction & 1) ? 2 : 28, height); + session, image_id, { 0, 0, height }, { lengthX, lengthY, ah }, + { (direction & 1) ? 28 : 2, (direction & 1) ? 2 : 28, height }); if (transparant_image_id) { @@ -260,7 +261,7 @@ static void park_entrance_paint(paint_session* session, uint8_t direction, int32 if (path_entry != nullptr) { image_id = (path_entry->image + 5 * (1 + (direction & 1))) | ghost_id; - PaintAddImageAsParent(session, image_id, 0, 0, 32, 0x1C, 0, height, 0, 2, height); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 32, 0x1C, 0 }, { 0, 2, height }); } entrance = static_cast(object_entry_get_chunk(ObjectType::ParkEntrance, 0)); @@ -269,7 +270,7 @@ static void park_entrance_paint(paint_session* session, uint8_t direction, int32 return; } image_id = (entrance->image_id + direction * 3) | ghost_id; - PaintAddImageAsParent(session, image_id, 0, 0, 0x1C, 0x1C, 0x2F, height, 2, 2, height + 32); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 0x1C, 0x1C, 0x2F }, { 2, 2, height + 32 }); if ((direction + 1) & (1 << 1)) break; @@ -322,7 +323,7 @@ static void park_entrance_paint(paint_session* session, uint8_t direction, int32 return; } image_id = (entrance->image_id + part_index + direction * 3) | ghost_id; - PaintAddImageAsParent(session, image_id, 0, 0, 0x1A, di, 0x4F, height, 3, 3, height); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 0x1A, di, 0x4F }, { 3, 3, height }); break; } @@ -353,7 +354,7 @@ void PaintEntrance(paint_session* session, uint8_t direction, int32_t height, co uint32_t image_id = 0x20101689 + get_height_marker_offset() + (z / 16); image_id -= gMapBaseZ; - PaintAddImageAsParent(session, image_id, 16, 16, 1, 1, 0, height, 31, 31, z + 64); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 1, 1, 0 }, { 31, 31, z + 64 }); } } diff --git a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp index 53f97ed098..88e21ec6b8 100644 --- a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp +++ b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp @@ -290,7 +290,8 @@ void PaintLargeScenery(paint_session* session, uint8_t direction, uint16_t heigh boxlength.y = s98E3C4[esi].length.y; boxlength.z = boxlengthZ; PaintAddImageAsParent( - session, image_id, 0, 0, boxlength.x, boxlength.y, boxlengthZ, height, boxoffset.x, boxoffset.y, boxoffset.z); + session, image_id, { 0, 0, height }, { boxlength.x, boxlength.y, boxlengthZ }, + { boxoffset.x, boxoffset.y, boxoffset.z }); if (sceneryEntry->scrolling_mode == SCROLLING_MODE_NONE || direction == 1 || direction == 2) { large_scenery_paint_supports(session, direction, height, tileElement, dword_F4387C, tile); diff --git a/src/openrct2/paint/tile_element/Paint.Path.cpp b/src/openrct2/paint/tile_element/Paint.Path.cpp index 7a4c00666a..7138dd62b5 100644 --- a/src/openrct2/paint/tile_element/Paint.Path.cpp +++ b/src/openrct2/paint/tile_element/Paint.Path.cpp @@ -370,8 +370,8 @@ static void sub_6A4101( case 3: PaintAddImageAsParent(session, 17 + base_image_id, { 0, 4, height }, { 28, 1, 7 }, { 0, 4, height + 2 }); PaintAddImageAsParent( - session, 18 + base_image_id, 28, 0, 1, 28, 7, height, 28, 4, - height + 2); // bound_box_offset_y seems to be a bug + session, 18 + base_image_id, { 28, 0, height }, { 1, 28, 7 }, + { 28, 4, height + 2 }); // bound_box_offset_y seems to be a bug PaintAddImageAsParent(session, 25 + base_image_id, { 0, 0, height }, { 4, 4, 7 }, { 0, 28, height + 2 }); break; case 4: @@ -403,8 +403,8 @@ static void sub_6A4101( case 12: PaintAddImageAsParent(session, 16 + base_image_id, { 4, 0, height }, { 1, 28, 7 }, { 4, 0, height + 2 }); PaintAddImageAsParent( - session, 19 + base_image_id, 0, 28, 28, 1, 7, height, 4, 28, - height + 2); // bound_box_offset_x seems to be a bug + session, 19 + base_image_id, { 0, 28, height }, { 28, 1, 7 }, + { 4, 28, height + 2 }); // bound_box_offset_x seems to be a bug PaintAddImageAsParent(session, 27 + base_image_id, { 0, 0, height }, { 4, 4, 7 }, { 28, 0, height + 2 }); break; default: @@ -435,14 +435,14 @@ static void sub_6A4101( // Draw pole in the back PaintAddImageAsParent( - session, imageId, 0, 0, 1, 1, 21, height, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z); + session, imageId, { 0, 0, height }, { 1, 1, 21 }, { boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z }); // Draw pole in the front and banner boundBoxOffsets.x = BannerBoundBoxes[direction][1].x; boundBoxOffsets.y = BannerBoundBoxes[direction][1].y; imageId++; PaintAddImageAsParent( - session, imageId, 0, 0, 1, 1, 21, height, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z); + session, imageId, { 0, 0, height }, { 1, 1, 21 }, { boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z }); direction--; // If text shown @@ -559,8 +559,8 @@ static void sub_6A4101( case 3: PaintAddImageAsParent(session, 3 + base_image_id, { 0, 4, height }, { 28, 1, 7 }, { 0, 4, height + 2 }); PaintAddImageAsParent( - session, 4 + base_image_id, 28, 0, 1, 28, 7, height, 28, 4, - height + 2); // bound_box_offset_y seems to be a bug + session, 4 + base_image_id, { 28, 0, height }, { 1, 28, 7 }, + { 28, 4, height + 2 }); // bound_box_offset_y seems to be a bug if (!(drawnCorners & FOOTPATH_CORNER_0)) { PaintAddImageAsParent(session, 11 + base_image_id, { 0, 0, height }, { 4, 4, 7 }, { 0, 28, height + 2 }); @@ -585,8 +585,8 @@ static void sub_6A4101( case 12: PaintAddImageAsParent(session, 2 + base_image_id, { 4, 0, height }, { 1, 28, 7 }, { 4, 0, height + 2 }); PaintAddImageAsParent( - session, 5 + base_image_id, 0, 28, 28, 1, 7, height, 4, 28, - height + 2); // bound_box_offset_x seems to be a bug + session, 5 + base_image_id, { 0, 28, height }, { 28, 1, 7 }, + { 4, 28, height + 2 }); // bound_box_offset_x seems to be a bug if (!(drawnCorners & FOOTPATH_CORNER_2)) { PaintAddImageAsParent(session, 13 + base_image_id, { 0, 0, height }, { 4, 4, 7 }, { 28, 0, height + 2 }); @@ -1047,8 +1047,8 @@ void path_paint_box_support( if (!hasSupports || !session->DidPassSurface) { PaintAddImageAsParent( - session, imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, - height + boundingBoxZOffset); + session, imageId | imageFlags, { 0, 0, height }, { boundBoxSize.x, boundBoxSize.y, 0 }, + { boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset }); } else { @@ -1064,8 +1064,8 @@ void path_paint_box_support( } PaintAddImageAsParent( - session, image_id | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, - height + boundingBoxZOffset); + session, image_id | imageFlags, { 0, 0, height }, { boundBoxSize.x, boundBoxSize.y, 0 }, + { boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset }); // TODO: Revert this when path import works correctly. if (!pathElement.IsQueue() && !pathElement.ShouldDrawPathOverSupports()) @@ -1194,8 +1194,8 @@ void path_paint_pole_support( if (!hasSupports || !session->DidPassSurface) { PaintAddImageAsParent( - session, imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, - height + boundingBoxZOffset); + session, imageId | imageFlags, { 0, 0, height }, { boundBoxSize.x, boundBoxSize.y, 0 }, + { boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset }); } else { @@ -1213,8 +1213,8 @@ void path_paint_pole_support( } PaintAddImageAsParent( - session, bridgeImage | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, - boundBoxOffset.y, height + boundingBoxZOffset); + session, bridgeImage | imageFlags, { 0, 0, height }, { boundBoxSize.x, boundBoxSize.y, 0 }, + { boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset }); // TODO: Revert this when path import works correctly. if (pathElement.IsQueue() || pathElement.ShouldDrawPathOverSupports()) diff --git a/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp b/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp index 7deaac180d..3de63b9e8d 100644 --- a/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp +++ b/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp @@ -159,8 +159,8 @@ void PaintSmallScenery(paint_session* session, uint8_t direction, int32_t height if (!(scenery_small_entry_has_flag(sceneryEntry, SMALL_SCENERY_FLAG_VISIBLE_WHEN_ZOOMED))) { PaintAddImageAsParent( - session, baseImageid, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, - boxoffset.y, boxoffset.z); + session, baseImageid, { x_offset, y_offset, height }, { boxlength.x, boxlength.y, boxlength.z - 1 }, + { boxoffset.x, boxoffset.y, boxoffset.z }); } if (scenery_small_entry_has_flag(sceneryEntry, SMALL_SCENERY_FLAG_HAS_GLASS)) @@ -326,8 +326,8 @@ void PaintSmallScenery(paint_session* session, uint8_t direction, int32_t height if (scenery_small_entry_has_flag(sceneryEntry, SMALL_SCENERY_FLAG_VISIBLE_WHEN_ZOOMED)) { PaintAddImageAsParent( - session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, - boxoffset.y, boxoffset.z); + session, image_id, { x_offset, y_offset, height }, { boxlength.x, boxlength.y, boxlength.z - 1 }, + { boxoffset.x, boxoffset.y, boxoffset.z }); } else { diff --git a/src/openrct2/paint/tile_element/Paint.Wall.cpp b/src/openrct2/paint/tile_element/Paint.Wall.cpp index 49ab6dcc09..4bced75a05 100644 --- a/src/openrct2/paint/tile_element/Paint.Wall.cpp +++ b/src/openrct2/paint/tile_element/Paint.Wall.cpp @@ -60,16 +60,16 @@ static void PaintWallDoor( paint_struct* ps; ps = PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsR1.x, boundsR1.y, - static_cast(boundsR1.z), offset.z, boundsR1_.x, boundsR1_.y, boundsR1_.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), offset.z }, + { boundsR1.x, boundsR1.y, static_cast(boundsR1.z) }, { boundsR1_.x, boundsR1_.y, boundsR1_.z }); if (ps != nullptr) { ps->tertiary_colour = tertiaryColour; } ps = PaintAddImageAsParent( - session, imageId + 1, static_cast(offset.x), static_cast(offset.y), boundsR2.x, boundsR2.y, - static_cast(boundsR2.z), offset.z, boundsR2_.x, boundsR2_.y, boundsR2_.z); + session, imageId + 1, { static_cast(offset.x), static_cast(offset.y), offset.z }, + { boundsR2.x, boundsR2.y, static_cast(boundsR2.z) }, { boundsR2_.x, boundsR2_.y, boundsR2_.z }); if (ps != nullptr) { ps->tertiary_colour = tertiaryColour; @@ -80,8 +80,8 @@ static void PaintWallDoor( paint_struct* ps; ps = PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsL1.x, boundsL1.y, - static_cast(boundsL1.z), offset.z, boundsL1_.x, boundsL1_.y, boundsL1_.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), offset.z }, + { boundsL1.x, boundsL1.y, static_cast(boundsL1.z) }, { boundsL1_.x, boundsL1_.y, boundsL1_.z }); if (ps != nullptr) { ps->tertiary_colour = tertiaryColour; @@ -118,8 +118,8 @@ static void PaintWallWall( } PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, - static_cast(bounds.z), offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), offset.z }, + { bounds.x, bounds.y, static_cast(bounds.z) }, { boundsOffset.x, boundsOffset.y, boundsOffset.z }); if (dword_141F710 == 0) { imageId = baseImageId + dword_141F718; @@ -141,8 +141,8 @@ static void PaintWallWall( } paint_struct* paint = PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, - static_cast(bounds.z), offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), offset.z }, + { bounds.x, bounds.y, static_cast(bounds.z) }, { boundsOffset.x, boundsOffset.y, boundsOffset.z }); if (paint != nullptr) { paint->tertiary_colour = tertiaryColour; diff --git a/src/openrct2/ride/TrackPaint.cpp b/src/openrct2/ride/TrackPaint.cpp index 77389bf673..52b33096c5 100644 --- a/src/openrct2/ride/TrackPaint.cpp +++ b/src/openrct2/ride/TrackPaint.cpp @@ -830,8 +830,8 @@ bool track_paint_util_draw_station_covers_2( { imageId = (baseImageId & ~IMAGE_TYPE_TRANSPARENT) + imageOffset; PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, - static_cast(bounds.z), offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), offset.z }, + { bounds.x, bounds.y, static_cast(bounds.z) }, { boundsOffset.x, boundsOffset.y, boundsOffset.z }); uint32_t edi = session->TrackColours[SCHEME_TRACK] & (0b11111 << 19); @@ -845,8 +845,8 @@ bool track_paint_util_draw_station_covers_2( imageId = (baseImageId + imageOffset) | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, - static_cast(bounds.z), offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), offset.z }, + { bounds.x, bounds.y, static_cast(bounds.z) }, { boundsOffset.x, boundsOffset.y, boundsOffset.z }); return true; } @@ -1036,8 +1036,8 @@ void track_paint_util_right_helix_up_small_quarter_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index][0]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness[0], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, + { boundsLength.x, boundsLength.y, thickness[0] }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } if (sprites[direction][index][1] != 0) { @@ -1047,8 +1047,8 @@ void track_paint_util_right_helix_up_small_quarter_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index][1]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness[1], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, + { boundsLength.x, boundsLength.y, thickness[1] }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } } @@ -1134,8 +1134,8 @@ void track_paint_util_right_helix_up_large_quarter_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index][0]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness[0], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, + { boundsLength.x, boundsLength.y, thickness[0] }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } if (sprites[direction][index][1] != 0) { @@ -1145,8 +1145,8 @@ void track_paint_util_right_helix_up_large_quarter_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index][1]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness[1], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, + { boundsLength.x, boundsLength.y, thickness[1] }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } } @@ -1305,8 +1305,9 @@ void track_paint_util_eighth_to_diag_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness[direction][index], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, + { boundsLength.x, boundsLength.y, thickness[direction][index] }, + { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } constexpr CoordsXY defaultDiagTileOffsets[4] = { @@ -1346,8 +1347,8 @@ void track_paint_util_diag_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, + { boundsLength.x, boundsLength.y, thickness }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } const uint8_t mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[] = { @@ -1468,8 +1469,8 @@ void track_paint_util_right_quarter_turn_5_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, + { boundsLength.x, boundsLength.y, thickness }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } void track_paint_util_right_quarter_turn_5_tiles_paint_2( @@ -1485,9 +1486,10 @@ void track_paint_util_right_quarter_turn_5_tiles_paint_2( const sprite_bb* spriteBB = &sprites[direction][sprite]; uint32_t imageId = spriteBB->sprite_id | colourFlags; PaintAddImageAsParent( - session, imageId, static_cast(spriteBB->offset.x), static_cast(spriteBB->offset.y), spriteBB->bb_size.x, - spriteBB->bb_size.y, static_cast(spriteBB->bb_size.z), height + spriteBB->offset.z, spriteBB->bb_offset.x, - spriteBB->bb_offset.y, height + spriteBB->bb_offset.z); + session, imageId, + { static_cast(spriteBB->offset.x), static_cast(spriteBB->offset.y), height + spriteBB->offset.z }, + { spriteBB->bb_size.x, spriteBB->bb_size.y, static_cast(spriteBB->bb_size.z) }, + { spriteBB->bb_offset.x, spriteBB->bb_offset.y, height + spriteBB->bb_offset.z }); } void track_paint_util_right_quarter_turn_5_tiles_paint_3( @@ -1643,8 +1645,8 @@ void track_paint_util_right_quarter_turn_3_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, + { boundsLength.x, boundsLength.y, thickness }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } void track_paint_util_right_quarter_turn_3_tiles_paint_2( @@ -1754,10 +1756,10 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_3( } const sprite_bb* spriteBB = &sprites[direction][sprite]; PaintAddImageAsParent( - session, spriteBB->sprite_id | colourFlags, static_cast(spriteBB->offset.x), - static_cast(spriteBB->offset.y), spriteBB->bb_size.x, spriteBB->bb_size.y, - static_cast(spriteBB->bb_size.z), spriteBB->offset.z + height, spriteBB->bb_offset.x, spriteBB->bb_offset.y, - height + spriteBB->bb_offset.z); + session, spriteBB->sprite_id | colourFlags, + { static_cast(spriteBB->offset.x), static_cast(spriteBB->offset.y), spriteBB->offset.z + height }, + { spriteBB->bb_size.x, spriteBB->bb_size.y, static_cast(spriteBB->bb_size.z) }, + { spriteBB->bb_offset.x, spriteBB->bb_offset.y, height + spriteBB->bb_offset.z }); } void track_paint_util_right_quarter_turn_3_tiles_paint_4( diff --git a/src/openrct2/ride/VehiclePaint.cpp b/src/openrct2/ride/VehiclePaint.cpp index cd9ddfa79f..64f8c128a6 100644 --- a/src/openrct2/ride/VehiclePaint.cpp +++ b/src/openrct2/ride/VehiclePaint.cpp @@ -918,7 +918,8 @@ static void vehicle_sprite_paint( image_id |= CONSTRUCTION_MARKER; } paint_struct* ps = PaintAddImageAsParent( - session, image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y, bb.offset_z + z); + session, image_id, { 0, 0, z }, { bb.length_x, bb.length_y, bb.length_z }, + { bb.offset_x, bb.offset_y, bb.offset_z + z }); if (ps != nullptr) { ps->tertiary_colour = vehicle->colours_extended; @@ -3144,7 +3145,7 @@ template<> void PaintEntity(paint_session* session, const Vehicle* vehicle, int3 if (vehicle->IsCrashedVehicle) { uint32_t ebx = 22965 + vehicle->animation_frame; - PaintAddImageAsParent(session, ebx, 0, 0, 1, 1, 0, z, 0, 0, z + 2); + PaintAddImageAsParent(session, ebx, { 0, 0, z }, { 1, 1, 0 }, { 0, 0, z + 2 }); return; } diff --git a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp index 3b21211da5..7203e411fc 100644 --- a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp @@ -2467,9 +2467,10 @@ static void junior_rc_left_bank_paint_setup( image_id = junior_rc_track_pieces_left_bank[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, image_id, 0, 0, junior_rc_left_bank_bound_lengths[direction].x, junior_rc_left_bank_bound_lengths[direction].y, - static_cast(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); + session, image_id, { 0, 0, height }, + { junior_rc_left_bank_bound_lengths[direction].x, junior_rc_left_bank_bound_lengths[direction].y, + static_cast(junior_rc_left_bank_bound_lengths[direction].z) }, + { junior_rc_left_bank_bound_offsets[direction].x, junior_rc_left_bank_bound_offsets[direction].y, height }); if (direction & 1) { @@ -3085,8 +3086,8 @@ void junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_up( } if (imageId != 0) PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, 1, - height, boundsOffset.x, boundsOffset.y, height); + session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, + { boundsLength.x, boundsLength.y, 1 }, { boundsOffset.x, boundsOffset.y, height }); if (direction == 0 && trackSequence == 0) { @@ -3164,8 +3165,8 @@ void junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_down( } if (imageId != 0) PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, 1, - height, boundsOffset.x, boundsOffset.y, height); + session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, + { boundsLength.x, boundsLength.y, 1 }, { boundsOffset.x, boundsOffset.y, height }); if (direction == 0 && trackSequence == 0) { @@ -4958,10 +4959,12 @@ void junior_rc_paint_track_60_deg_up( image_id |= junior_rc_track_pieces_60_deg_up[EnumValue(chainType)][direction]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(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); + session, image_id, + { static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), + static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), height }, + { 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] }, + { junior_rc_60_deg_up_bound_offsets[direction].x, junior_rc_60_deg_up_bound_offsets[direction].y, height }); switch (direction) { @@ -5034,13 +5037,14 @@ void junior_rc_paint_track_25_deg_up_to_60_deg_up( image_id |= junior_rc_track_pieces_25_deg_up_to_60_deg_up[EnumValue(chainType)][direction][0]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(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); + session, image_id, + { static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), + static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), height }, + { 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] }, + { 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 }); if (junior_rc_track_pieces_25_deg_up_to_60_deg_up[EnumValue(chainType)][direction][1] != 0) { @@ -5049,13 +5053,14 @@ void junior_rc_paint_track_25_deg_up_to_60_deg_up( image_id |= junior_rc_track_pieces_25_deg_up_to_60_deg_up[EnumValue(chainType)][direction][1]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(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); + session, image_id, + { static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), + static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), height }, + { 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] }, + { 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 }); } switch (direction) @@ -5113,13 +5118,14 @@ void junior_rc_paint_track_60_deg_up_to_25_deg_up( image_id |= junior_rc_track_pieces_60_deg_up_to_25_deg_up[EnumValue(chainType)][direction][0]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(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); + session, image_id, + { static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), + static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), height }, + { 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] }, + { 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 }); if (junior_rc_track_pieces_60_deg_up_to_25_deg_up[EnumValue(chainType)][direction][1] != 0) { @@ -5128,13 +5134,14 @@ void junior_rc_paint_track_60_deg_up_to_25_deg_up( image_id |= junior_rc_track_pieces_60_deg_up_to_25_deg_up[EnumValue(chainType)][direction][1]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(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); + session, image_id, + { static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), + static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), height }, + { 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] }, + { 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 }); } switch (direction) @@ -5254,7 +5261,7 @@ void junior_rc_paint_track_diag_60_deg_up_to_25_deg_up( session, junior_rc_track_pieces_diag_60_deg_up_to_25_deg_up[EnumValue(chainType)][direction] | session->TrackColours[SCHEME_TRACK], - -16, -16, 16, 16, 1, height, 0, 0, height); + { -16, -16, height }, { 16, 16, 1 }, { 0, 0, height }); } else { @@ -5286,7 +5293,7 @@ void junior_rc_paint_track_diag_25_deg_down_to_60_deg_down( session, junior_rc_track_pieces_diag_25_deg_down_to_60_deg_down[EnumValue(chainType)][direction] | session->TrackColours[SCHEME_TRACK], - -16, -16, 16, 16, 1, height, 0, 0, height); + { -16, -16, height }, { 16, 16, 1 }, { 0, 0, height }); } else { @@ -5430,12 +5437,13 @@ static void junior_rc_flat_to_60_deg_up_paint_setup( image_id |= junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][0]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].x), - static_cast(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); + session, image_id, + { static_cast(junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].x), + static_cast(junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].y), height + 24 }, + { 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] }, + { 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 }); if (junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][1] != 0) { @@ -5444,12 +5452,14 @@ static void junior_rc_flat_to_60_deg_up_paint_setup( image_id |= junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][1]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].x), - static_cast(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); + session, image_id, + { static_cast(junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].x), + static_cast(junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].y), height }, + { 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] }, + { 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 }); } switch (direction) @@ -5499,12 +5509,13 @@ static void junior_rc_60_deg_up_to_flat_paint_setup( image_id |= junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][0]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].x), - static_cast(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); + session, image_id, + { static_cast(junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].x), + static_cast(junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].y), height + 24 }, + { 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] }, + { 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 }); if (junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][1] != 0) { @@ -5513,12 +5524,14 @@ static void junior_rc_60_deg_up_to_flat_paint_setup( image_id |= junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][1]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].x), - static_cast(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); + session, image_id, + { static_cast(junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].x), + static_cast(junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].y), height }, + { 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] }, + { 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 }); } switch (direction) diff --git a/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp b/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp index 91595189b6..8487a3aba5 100644 --- a/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp +++ b/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp @@ -202,13 +202,13 @@ static void paint_reverse_freefall_rc_flat( if (direction & 1) { uint32_t imageId = SPR_REVERSE_FREEFALL_RC_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 1 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); } else { uint32_t imageId = SPR_REVERSE_FREEFALL_RC_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 1 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); } @@ -227,7 +227,7 @@ static void paint_reverse_freefall_rc_station( { // height -= 2 (height - 2) imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 32, 28, 1 }, { 0, 2, height }); // height += 2 (height) imageId = reverse_freefall_rc_track_pieces_station[direction] | session->TrackColours[SCHEME_TRACK]; @@ -241,7 +241,7 @@ static void paint_reverse_freefall_rc_station( { // height -= 2 (height - 2) imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 28, 32, 1 }, { 2, 0, height }); // height += 2 (height) imageId = reverse_freefall_rc_track_pieces_station[direction] | session->TrackColours[SCHEME_TRACK]; @@ -323,7 +323,7 @@ static void paint_reverse_freefall_rc_slope( { floorImageId = SPR_FLOOR_PLANKS | session->TrackColours[SCHEME_SUPPORTS]; } - PaintAddImageAsParent(session, floorImageId, 0, 0, 26, 26, 126, height, 3, 3, height); + PaintAddImageAsParent(session, floorImageId, { 0, 0, height }, { 26, 26, 126 }, { 3, 3, height }); PaintAddImageAsChildRotated( session, direction, supportsImageId, 0, 0, isDirection03 ? 26 : 18, 26, 126, height, isDirection03 ? 3 : 11, 3, height); @@ -365,7 +365,7 @@ static void paint_reverse_freefall_rc_vertical( case 0: supportsImageId = reverse_freefall_rc_track_pieces_vertical_supports[direction] | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, supportsImageId, 0, 0, 26, 26, 79, height, 3, 3, height); + PaintAddImageAsParent(session, supportsImageId, { 0, 0, height }, { 26, 26, 79 }, { 3, 3, height }); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 80, 0x20); break; diff --git a/src/openrct2/ride/coaster/VirginiaReel.cpp b/src/openrct2/ride/coaster/VirginiaReel.cpp index a503b317d6..ab308cd268 100644 --- a/src/openrct2/ride/coaster/VirginiaReel.cpp +++ b/src/openrct2/ride/coaster/VirginiaReel.cpp @@ -182,7 +182,8 @@ void vehicle_visual_virginia_reel( image_id = (image_id & 0x7FFFF) | CONSTRUCTION_MARKER; } PaintAddImageAsParent( - session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z); + session, image_id, { 0, 0, z }, { bb->length_x, bb->length_y, bb->length_z }, + { bb->offset_x, bb->offset_y, bb->offset_z + z }); if (session->DPI.zoom_level < 2 && vehicle->num_peeps > 0 && !vehicle->IsGhost()) { @@ -221,12 +222,12 @@ static void paint_virginia_reel_track_flat( uint32_t imageId = sprites[direction] | session->TrackColours[SCHEME_TRACK]; if (direction & 1) { - PaintAddImageAsParent(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 27, 32, 2 }, { 2, 0, height }); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); } else { - PaintAddImageAsParent(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 27, 2 }, { 0, 2, height }); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); } @@ -252,11 +253,11 @@ static void paint_virginia_reel_track_25_deg_up( if (direction & 1) { - ps = PaintAddImageAsParent(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height); + ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 27, 32, 2 }, { 2, 0, height }); } else { - ps = PaintAddImageAsParent(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 27, 2 }, { 0, 2, height }); } if (direction == 1 || direction == 2) @@ -304,27 +305,27 @@ static void paint_virginia_reel_track_flat_to_25_deg_up( switch (direction) { case 0: - PaintAddImageAsParent(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 27, 2 }, { 0, 2, height }); wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); break; case 1: - ps = PaintAddImageAsParent(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height); + ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 27, 32, 2 }, { 2, 0, height }); session->WoodenSupportsPrependTo = ps; wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_8); break; case 2: - ps = PaintAddImageAsParent(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 27, 2 }, { 0, 2, height }); session->WoodenSupportsPrependTo = ps; wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_8); break; case 3: - PaintAddImageAsParent(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 27, 32, 2 }, { 2, 0, height }); wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); @@ -351,11 +352,11 @@ static void paint_virginia_reel_track_25_deg_up_to_flat( if (direction & 1) { - ps = PaintAddImageAsParent(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height); + ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 27, 32, 2 }, { 2, 0, height }); } else { - ps = PaintAddImageAsParent(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 27, 2 }, { 0, 2, height }); } if (direction == 1 || direction == 2) @@ -421,7 +422,7 @@ static void paint_virginia_reel_station( if (direction == 0 || direction == 2) { imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 32, 28, 2 }, { 0, 2, height }); imageId = SPR_VIRGINIA_REEL_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 32, 20, 2, height, 0, 0, height); @@ -431,7 +432,7 @@ static void paint_virginia_reel_station( else if (direction == 1 || direction == 3) { imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 28, 32, 2 }, { 2, 0, height }); imageId = SPR_VIRGINIA_REEL_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 20, 32, 2, height, 0, 0, height); diff --git a/src/openrct2/ride/coaster/WildMouse.cpp b/src/openrct2/ride/coaster/WildMouse.cpp index 5f92eb6482..f93c77ea05 100644 --- a/src/openrct2/ride/coaster/WildMouse.cpp +++ b/src/openrct2/ride/coaster/WildMouse.cpp @@ -732,16 +732,16 @@ static void wild_mouse_track_left_quarter_turn_1( switch (direction) { case 0: - PaintAddImageAsParent(session, imageId, 0, 0, 26, 24, 2, height, 6, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 26, 24, 2 }, { 6, 2, height }); break; case 1: PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 26, 26, 2 }); break; case 2: - PaintAddImageAsParent(session, imageId, 0, 0, 24, 26, 2, height, 2, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 24, 26, 2 }, { 2, 6, height }); break; case 3: - PaintAddImageAsParent(session, imageId, 0, 0, 24, 24, 2, height, 6, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 24, 24, 2 }, { 6, 6, height }); break; } metal_a_supports_paint_setup(session, METAL_SUPPORTS_TUBES, 4, -1, height, session->TrackColours[SCHEME_SUPPORTS]); diff --git a/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp b/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp index e86761c50f..b3f6b94017 100644 --- a/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp @@ -428,8 +428,9 @@ static void wooden_rc_track_paint_bb(paint_session* session, const sprite_bb_2* uint32_t railsImageId = bb->sprite_id_b | wooden_rc_get_rails_colour(session); PaintAddImageAsParent( - session, imageId, static_cast(bb->offset.x), static_cast(bb->offset.y), bb->bb_size.x, bb->bb_size.y, - static_cast(bb->bb_size.z), height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z); + session, imageId, { static_cast(bb->offset.x), static_cast(bb->offset.y), height + bb->offset.z }, + { bb->bb_size.x, bb->bb_size.y, static_cast(bb->bb_size.z) }, + { bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z }); PaintAddImageAsChild( session, railsImageId, static_cast(bb->offset.x), static_cast(bb->offset.y), bb->bb_size.x, bb->bb_size.y, static_cast(bb->bb_size.z), height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, diff --git a/src/openrct2/ride/coaster/WoodenWildMouse.cpp b/src/openrct2/ride/coaster/WoodenWildMouse.cpp index 9887a15241..282fb7bace 100644 --- a/src/openrct2/ride/coaster/WoodenWildMouse.cpp +++ b/src/openrct2/ride/coaster/WoodenWildMouse.cpp @@ -570,13 +570,13 @@ static void wooden_wild_mouse_track_left_quarter_turn_1( switch (direction) { case 0: - PaintAddImageAsParent(session, imageId, 6, 0, 26, 24, 1, height, 6, 2, height); + PaintAddImageAsParent(session, imageId, { 6, 0, height }, { 26, 24, 1 }, { 6, 2, height }); break; case 1: PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 26, 26, 1 }); break; case 2: - PaintAddImageAsParent(session, imageId, 0, 6, 24, 26, 1, height, 2, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 6, height }, { 24, 26, 1 }, { 2, 6, height }); break; case 3: PaintAddImageAsParent(session, imageId, { 6, 6, height }, { 24, 24, 1 }); diff --git a/src/openrct2/ride/gentle/Circus.cpp b/src/openrct2/ride/gentle/Circus.cpp index f0896c57c1..00ae90a9ed 100644 --- a/src/openrct2/ride/gentle/Circus.cpp +++ b/src/openrct2/ride/gentle/Circus.cpp @@ -43,7 +43,8 @@ static void paint_circus_tent( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim); } - PaintAddImageAsParent(session, imageId | imageColourFlags, al, cl, 24, 24, 47, height + 3, al + 16, cl + 16, height + 3); + PaintAddImageAsParent( + session, imageId | imageColourFlags, { al, cl, height + 3 }, { 24, 24, 47 }, { al + 16, cl + 16, height + 3 }); session->CurrentlyDrawnItem = savedTileElement; session->InteractionType = ViewportInteractionItem::Ride; diff --git a/src/openrct2/ride/gentle/CrookedHouse.cpp b/src/openrct2/ride/gentle/CrookedHouse.cpp index e8a8ff47e9..32286cb425 100644 --- a/src/openrct2/ride/gentle/CrookedHouse.cpp +++ b/src/openrct2/ride/gentle/CrookedHouse.cpp @@ -58,8 +58,8 @@ static void paint_crooked_house_structure( rct_crooked_house_bound_box boundBox = crooked_house_data[segment]; PaintAddImageAsParent( - session, image_id, x_offset, y_offset, boundBox.length_x, boundBox.length_y, 127, height + 3, boundBox.offset_x, - boundBox.offset_y, height + 3); + session, image_id, { x_offset, y_offset, height + 3 }, { boundBox.length_x, boundBox.length_y, 127 }, + { boundBox.offset_x, boundBox.offset_y, height + 3 }); } static void paint_crooked_house( diff --git a/src/openrct2/ride/gentle/Dodgems.cpp b/src/openrct2/ride/gentle/Dodgems.cpp index 024dd0c15f..98c4069b18 100644 --- a/src/openrct2/ride/gentle/Dodgems.cpp +++ b/src/openrct2/ride/gentle/Dodgems.cpp @@ -48,7 +48,7 @@ static void paint_dodgems( wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); uint32_t imageId = SPR_DODGEMS_FLOOR | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 30, 30, 1, height, 1, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 30, 30, 1 }, { 1, 1, height }); if (ride != nullptr) { diff --git a/src/openrct2/ride/gentle/FerrisWheel.cpp b/src/openrct2/ride/gentle/FerrisWheel.cpp index a52c950285..9e2b3b5005 100644 --- a/src/openrct2/ride/gentle/FerrisWheel.cpp +++ b/src/openrct2/ride/gentle/FerrisWheel.cpp @@ -93,8 +93,8 @@ static void paint_ferris_wheel_structure( imageId = (22150 + (direction & 1) * 2) | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, imageId, { xOffset, yOffset, height }, { boundBox.length_x, boundBox.length_y, 127 }, + { boundBox.offset_x, boundBox.offset_y, height }); imageId = (baseImageId + direction * 8 + imageOffset) | imageColourFlags; PaintAddImageAsChild( @@ -175,12 +175,12 @@ static void paint_ferris_wheel( { // Bound box is slightly different from track_paint_util_paint_fences imageId = SPR_FENCE_ROPE_SE | colourFlags; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 28, 1, 7 }, { 0, 29, height + 3 }); } if (edges & EDGE_SW && track_paint_util_has_fence(EDGE_SW, session->MapPosition, trackElement, ride, rotation)) { imageId = SPR_FENCE_ROPE_SW | colourFlags; - PaintAddImageAsParent(session, imageId, 0, 0, 1, 32, 7, height, 30, 0, height + 2); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 7 }, { 30, 0, height + 2 }); } } diff --git a/src/openrct2/ride/gentle/HauntedHouse.cpp b/src/openrct2/ride/gentle/HauntedHouse.cpp index 5a6d221340..0a6c80e1c3 100644 --- a/src/openrct2/ride/gentle/HauntedHouse.cpp +++ b/src/openrct2/ride/gentle/HauntedHouse.cpp @@ -58,8 +58,8 @@ static void paint_haunted_house_structure( uint32_t imageId = (baseImageId + direction) | session->TrackColours[SCHEME_MISC]; haunted_house_bound_box boundBox = haunted_house_data[part]; PaintAddImageAsParent( - session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, imageId, { xOffset, yOffset, height }, { boundBox.length_x, boundBox.length_y, 127 }, + { boundBox.offset_x, boundBox.offset_y, height }); rct_drawpixelinfo* dpi = &session->DPI; if (dpi->zoom_level <= 0 && frameNum != 0) diff --git a/src/openrct2/ride/gentle/MiniGolf.cpp b/src/openrct2/ride/gentle/MiniGolf.cpp index c11a967c34..88cadb74d8 100644 --- a/src/openrct2/ride/gentle/MiniGolf.cpp +++ b/src/openrct2/ride/gentle/MiniGolf.cpp @@ -451,13 +451,13 @@ static paint_struct* mini_golf_paint_util_7c( if (direction & 1) { return PaintAddImageAsParent( - session, 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); + session, image_id, { y_offset, x_offset, z_offset }, { bound_box_length_y, bound_box_length_x, bound_box_length_z }, + { bound_box_offset_y, bound_box_offset_x, bound_box_offset_z }); } return PaintAddImageAsParent( - session, 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); + session, image_id, { x_offset, y_offset, z_offset }, { bound_box_length_x, bound_box_length_y, bound_box_length_z }, + { bound_box_offset_x, bound_box_offset_y, bound_box_offset_z }); } static bool mini_golf_paint_util_should_draw_fence(paint_session* session, const TrackElement& trackElement) @@ -691,7 +691,7 @@ static void paint_mini_golf_station( if (hasFence) { imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_NW_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, -10, 0, 1, 32, 7, height, 0, 0, height + 2); + PaintAddImageAsParent(session, imageId, { -10, 0, height }, { 1, 32, 7 }, { 0, 0, height + 2 }); } bool hasSWFence = track_paint_util_has_fence( @@ -714,7 +714,7 @@ static void paint_mini_golf_station( if (hasFence) { imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_SW_NE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, -10, 32, 1, 7, height, 0, 0, height + 2); + PaintAddImageAsParent(session, imageId, { 0, -10, height }, { 32, 1, 7 }, { 0, 0, height + 2 }); } bool hasSEFence = track_paint_util_has_fence( @@ -859,13 +859,13 @@ static void paint_mini_golf_hole_ab( imageId = sprites[direction][trackSequence][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 0 }, { boundBoxOffset.x, boundBoxOffset.y, height + 24 }); if (drewSupports) { imageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_SUPPORTS]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); imageId = sprites[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild( @@ -875,7 +875,7 @@ static void paint_mini_golf_hole_ab( { imageId = sprites[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); } } @@ -943,7 +943,8 @@ static void paint_mini_golf_hole_c( break; default: PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 0 }, + { boundBoxOffset.x, boundBoxOffset.y, height + 24 }); break; } @@ -951,7 +952,7 @@ static void paint_mini_golf_hole_c( { imageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_SUPPORTS]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); imageId = mini_golf_track_sprites_hole_c[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild( @@ -961,7 +962,7 @@ static void paint_mini_golf_hole_c( { imageId = mini_golf_track_sprites_hole_c[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); } } @@ -1026,7 +1027,8 @@ static void paint_mini_golf_hole_d( break; default: PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 0 }, + { boundBoxOffset.x, boundBoxOffset.y, height + 24 }); break; } @@ -1044,7 +1046,7 @@ static void paint_mini_golf_hole_d( { imageId = ((supportType & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_SUPPORTS]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); imageId = mini_golf_track_sprites_hole_d[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild( @@ -1054,7 +1056,7 @@ static void paint_mini_golf_hole_d( { imageId = mini_golf_track_sprites_hole_d[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); } } @@ -1119,7 +1121,8 @@ static void paint_mini_golf_hole_e( break; default: PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 0 }, + { boundBoxOffset.x, boundBoxOffset.y, height + 24 }); break; } @@ -1137,7 +1140,7 @@ static void paint_mini_golf_hole_e( { imageId = ((supportType & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_SUPPORTS]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); imageId = mini_golf_track_sprites_hole_e[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild( @@ -1147,7 +1150,7 @@ static void paint_mini_golf_hole_e( { imageId = mini_golf_track_sprites_hole_e[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); } } @@ -1239,7 +1242,7 @@ void vehicle_visual_mini_golf_player( uint32_t image_id = rideEntry->vehicles[0].base_image_id + 1 + ebx; uint32_t peep_palette = peep->TshirtColour << 19 | peep->TrousersColour << 24 | 0x0A0000000; - PaintAddImageAsParent(session, image_id | peep_palette, 0, 0, 1, 1, 11, z, 0, 0, z + 5); + PaintAddImageAsParent(session, image_id | peep_palette, { 0, 0, z }, { 1, 1, 11 }, { 0, 0, z + 5 }); } /** diff --git a/src/openrct2/ride/gentle/MiniHelicopters.cpp b/src/openrct2/ride/gentle/MiniHelicopters.cpp index 6012898d68..f98551127d 100644 --- a/src/openrct2/ride/gentle/MiniHelicopters.cpp +++ b/src/openrct2/ride/gentle/MiniHelicopters.cpp @@ -26,7 +26,7 @@ static void paint_mini_helicopters_track_station( if (direction == 0 || direction == 2) { imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 32, 28, 1 }, { 0, 2, height }); imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 32, 20, 1, height, 0, 0, height); @@ -38,7 +38,7 @@ static void paint_mini_helicopters_track_station( else if (direction == 1 || direction == 3) { imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 28, 32, 1 }, { 2, 0, height }); imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 20, 32, 1, height, 0, 0, height); @@ -64,13 +64,13 @@ static void paint_mini_helicopters_track_flat( if (direction & 1) { imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 3 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height, TUNNEL_0); } else { imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 3 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height, TUNNEL_0); } @@ -97,22 +97,22 @@ static void paint_mini_helicopters_track_flat_to_25_deg_up( { case 0: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 3 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height, TUNNEL_0); break; case 1: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 3 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height, TUNNEL_2); break; case 2: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NE_SW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 3 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height, TUNNEL_2); break; case 3: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SE_NW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 3 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height, TUNNEL_0); break; } @@ -138,22 +138,22 @@ static void paint_mini_helicopters_track_25_deg_up( { case 0: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 3 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height - 8, TUNNEL_1); break; case 1: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 3 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height + 8, TUNNEL_2); break; case 2: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NE_SW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 3 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height + 8, TUNNEL_2); break; case 3: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SE_NW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 3 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height - 8, TUNNEL_1); break; } @@ -179,22 +179,22 @@ static void paint_mini_helicopters_track_25_deg_up_to_flat( { case 0: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 3 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height - 8, TUNNEL_0); break; case 1: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 3 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height + 8, TUNNEL_12); break; case 2: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 3 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height + 8, TUNNEL_12); break; case 3: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 3 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height - 8, TUNNEL_0); break; } diff --git a/src/openrct2/ride/gentle/MonorailCycles.cpp b/src/openrct2/ride/gentle/MonorailCycles.cpp index 6682ad9d8a..5183ec0f20 100644 --- a/src/openrct2/ride/gentle/MonorailCycles.cpp +++ b/src/openrct2/ride/gentle/MonorailCycles.cpp @@ -153,13 +153,13 @@ static paint_struct* paint_monorail_cycles_util_7c( if (flip) { return PaintAddImageAsParent( - session, 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); + session, image_id, { y_offset, x_offset, z_offset }, { bound_box_length_y, bound_box_length_x, bound_box_length_z }, + { bound_box_offset_y, bound_box_offset_x, bound_box_offset_z }); } return PaintAddImageAsParent( - session, 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); + session, image_id, { x_offset, y_offset, z_offset }, { bound_box_length_x, bound_box_length_y, bound_box_length_z }, + { bound_box_offset_x, bound_box_offset_y, bound_box_offset_z }); } /** rct2: 0x0088AD48 */ @@ -199,7 +199,7 @@ static void paint_monorail_cycles_station( if (direction == 0 || direction == 2) { imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 32, 28, 1 }, { 0, 2, height }); imageId = SPR_MONORAIL_CYCLES_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 32, 20, 1, height, 0, 0, height); @@ -211,7 +211,7 @@ static void paint_monorail_cycles_station( else if (direction == 1 || direction == 3) { imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 28, 32, 1 }, { 2, 0, height }); imageId = SPR_MONORAIL_CYCLES_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 20, 32, 1, height, 0, 0, height); diff --git a/src/openrct2/ride/gentle/ObservationTower.cpp b/src/openrct2/ride/gentle/ObservationTower.cpp index 1c1a74da4a..e530d90549 100644 --- a/src/openrct2/ride/gentle/ObservationTower.cpp +++ b/src/openrct2/ride/gentle/ObservationTower.cpp @@ -65,7 +65,7 @@ void vehicle_visual_observation_tower( { image_id = (image_id & 0x7FFFF) | CONSTRUCTION_MARKER; } - paint_struct* ps = PaintAddImageAsParent(session, image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1); + paint_struct* ps = PaintAddImageAsParent(session, image_id, { 0, 0, z }, { 2, 2, 41 }, { -11, -11, z + 1 }); if (ps != nullptr) { ps->tertiary_colour = vehicle->colours_extended; @@ -73,7 +73,7 @@ void vehicle_visual_observation_tower( image_id++; - ps = PaintAddImageAsParent(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1); + ps = PaintAddImageAsParent(session, image_id, { 0, 0, z }, { 16, 16, 41 }, { -5, -5, z + 1 }); if (ps != nullptr) { ps->tertiary_colour = vehicle->colours_extended; @@ -95,7 +95,7 @@ static void paint_observation_tower_base( wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); uint32_t imageId = SPR_FLOOR_METAL_B | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }, { 0, 0, height }); if (ride != nullptr) { @@ -107,13 +107,13 @@ static void paint_observation_tower_base( if (trackSequence == 0) { imageId = SPR_OBSERVATION_TOWER_SEGMENT_BASE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 27 }, { 8, 8, height + 3 }); imageId = SPR_OBSERVATION_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height + 32, 8, 8, height + 32); + PaintAddImageAsParent(session, imageId, { 0, 0, height + 32 }, { 2, 2, 30 }, { 8, 8, height + 32 }); imageId = SPR_OBSERVATION_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height + 64, 8, 8, height + 64); + PaintAddImageAsParent(session, imageId, { 0, 0, height + 64 }, { 2, 2, 30 }, { 8, 8, height + 64 }); paint_util_set_vertical_tunnel(session, height + 96); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -170,7 +170,7 @@ static void paint_observation_tower_section( } uint32_t imageId = SPR_OBSERVATION_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 30 }, { 8, 8, height }); const TileElement* nextTileElement = reinterpret_cast(&trackElement) + 1; if (trackElement.IsLastForTile() || trackElement.GetClearanceZ() != nextTileElement->GetBaseZ()) diff --git a/src/openrct2/ride/gentle/SpaceRings.cpp b/src/openrct2/ride/gentle/SpaceRings.cpp index 5c1b6fc94c..e2dc0c6849 100644 --- a/src/openrct2/ride/gentle/SpaceRings.cpp +++ b/src/openrct2/ride/gentle/SpaceRings.cpp @@ -67,7 +67,7 @@ static void paint_space_rings_structure( } uint32_t imageId = (baseImageId + frameNum) | imageColourFlags; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 20, 23, height, -10, -10, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 20, 23 }, { -10, -10, height }); if (vehicle != nullptr && vehicle->num_peeps > 0) { @@ -111,12 +111,12 @@ static void paint_space_rings( if (track_paint_util_has_fence(EDGE_SW, position, trackElement, ride, session->CurrentRotation)) { imageId = SPR_SPACE_RINGS_FENCE_SW | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 1, 28, 7, height, 29, 0, height + 2); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 28, 7 }, { 29, 0, height + 2 }); } if (track_paint_util_has_fence(EDGE_SE, position, trackElement, ride, session->CurrentRotation)) { imageId = SPR_SPACE_RINGS_FENCE_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 2); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 28, 1, 7 }, { 0, 29, height + 2 }); } break; default: diff --git a/src/openrct2/ride/gentle/SpiralSlide.cpp b/src/openrct2/ride/gentle/SpiralSlide.cpp index 7ee8c220be..46ac648aa4 100644 --- a/src/openrct2/ride/gentle/SpiralSlide.cpp +++ b/src/openrct2/ride/gentle/SpiralSlide.cpp @@ -60,7 +60,7 @@ static void spiral_slide_paint_tile_right( if (direction == 3) image_id = SPIRAL_SLIDE_RIGHT_R3 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 16, 16, 108, height, 16, 0, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 16, 16, 108 }, { 16, 0, height + 3 }); } static void spiral_slide_paint_tile_left( @@ -78,7 +78,7 @@ static void spiral_slide_paint_tile_left( if (direction == 3) image_id = SPIRAL_SLIDE_LEFT_R3 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 16, 16, 108, height, 0, 16, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 16, 16, 108 }, { 0, 16, height + 3 }); } static void spiral_slide_paint_tile_front( @@ -93,33 +93,33 @@ static void spiral_slide_paint_tile_front( if (direction == 1) { image_id = SPIRAL_SLIDE_INSIDE_R1 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 2, 16, 108, height, -12, 0, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 2, 16, 108 }, { -12, 0, height + 3 }); } else if (direction == 2) { image_id = SPIRAL_SLIDE_INSIDE_R2 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 16, 2, 108, height, 0, -12, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 16, 2, 108 }, { 0, -12, height + 3 }); } if (direction == 0) { image_id = SPIRAL_SLIDE_CENTRE_R0 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 16, 8, 108, height, 0, 8, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 16, 8, 108 }, { 0, 8, height + 3 }); } else if (direction == 1) { image_id = SPIRAL_SLIDE_CENTRE_R1 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 2, 16, 108, height, 14, 0, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 2, 16, 108 }, { 14, 0, height + 3 }); } else if (direction == 2) { image_id = SPIRAL_SLIDE_CENTRE_R2 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 16, 2, 108, height, 0, 14, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 16, 2, 108 }, { 0, 14, height + 3 }); } else if (direction == 3) { image_id = SPIRAL_SLIDE_CENTRE_R3 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 8, 16, 108, height, 8, 0, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 8, 16, 108 }, { 8, 0, height + 3 }); } rct_drawpixelinfo* dpi = &session->DPI; @@ -202,7 +202,7 @@ static void paint_spiral_slide( // Base uint32_t imageId = ((direction & 1) ? SPIRAL_SLIDE_BASE_B : SPIRAL_SLIDE_BASE_A) | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }, { 0, 0, height }); if (ride != nullptr) { diff --git a/src/openrct2/ride/shops/Facility.cpp b/src/openrct2/ride/shops/Facility.cpp index 5c69526cb0..d8028570f4 100644 --- a/src/openrct2/ride/shops/Facility.cpp +++ b/src/openrct2/ride/shops/Facility.cpp @@ -51,8 +51,8 @@ static void facility_paint_setup( uint32_t foundationImageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_3]; PaintAddImageAsParent( - session, foundationImageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, - height); + session, foundationImageId, { 0, 0, height }, { lengthX, lengthY, 29 }, + { direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height }); // Door image or base PaintAddImageAsChild( @@ -62,19 +62,20 @@ static void facility_paint_setup( { // Door image or base PaintAddImageAsParent( - session, imageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height); + session, imageId, { 0, 0, height }, { lengthX, lengthY, 29 }, + { direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height }); } // Base image if door was drawn if (direction == 1) { imageId += 2; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 28, 29, height, 28, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 28, 29 }, { 28, 2, height }); } else if (direction == 2) { imageId += 4; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 2, 29, height, 2, 28, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 28, 2, 29 }, { 2, 28, height }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); diff --git a/src/openrct2/ride/shops/Shop.cpp b/src/openrct2/ride/shops/Shop.cpp index 806e457420..f4311ceb62 100644 --- a/src/openrct2/ride/shops/Shop.cpp +++ b/src/openrct2/ride/shops/Shop.cpp @@ -52,13 +52,13 @@ static void shop_paint_setup( { uint32_t foundationImageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_3]; - PaintAddImageAsParent(session, foundationImageId, 0, 0, 28, 28, 45, height, 2, 2, height); + PaintAddImageAsParent(session, foundationImageId, { 0, 0, height }, { 28, 28, 45 }, { 2, 2, height }); PaintAddImageAsChild(session, imageId, 0, 0, 28, 28, 45, height, 2, 2, height); } else { - PaintAddImageAsParent(session, imageId, 0, 0, 28, 28, 45, height, 2, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 28, 28, 45 }, { 2, 2, height }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); diff --git a/src/openrct2/ride/thrill/3dCinema.cpp b/src/openrct2/ride/thrill/3dCinema.cpp index 75782a45e9..0546bd9603 100644 --- a/src/openrct2/ride/thrill/3dCinema.cpp +++ b/src/openrct2/ride/thrill/3dCinema.cpp @@ -42,7 +42,8 @@ static void paint_3d_cinema_structure( } uint32_t imageId = (rideEntry->vehicles[0].base_image_id + direction) | imageColourFlags; - PaintAddImageAsParent(session, imageId, xOffset, yOffset, 24, 24, 47, height + 3, xOffset + 16, yOffset + 16, height + 3); + PaintAddImageAsParent( + session, imageId, { xOffset, yOffset, height + 3 }, { 24, 24, 47 }, { xOffset + 16, yOffset + 16, height + 3 }); session->CurrentlyDrawnItem = savedTileElement; session->InteractionType = ViewportInteractionItem::Ride; diff --git a/src/openrct2/ride/thrill/Enterprise.cpp b/src/openrct2/ride/thrill/Enterprise.cpp index a66a03451a..e88887aff6 100644 --- a/src/openrct2/ride/thrill/Enterprise.cpp +++ b/src/openrct2/ride/thrill/Enterprise.cpp @@ -53,7 +53,7 @@ static void paint_enterprise_structure( } uint32_t imageId = (baseImageId + imageOffset) | imageColourFlags; - PaintAddImageAsParent(session, imageId, xOffset, yOffset, 24, 24, 48, height, 0, 0, height); + PaintAddImageAsParent(session, imageId, { xOffset, yOffset, height }, { 24, 24, 48 }, { 0, 0, height }); rct_drawpixelinfo* dpi = &session->DPI; diff --git a/src/openrct2/ride/thrill/LaunchedFreefall.cpp b/src/openrct2/ride/thrill/LaunchedFreefall.cpp index 4632ab5441..4881092781 100644 --- a/src/openrct2/ride/thrill/LaunchedFreefall.cpp +++ b/src/openrct2/ride/thrill/LaunchedFreefall.cpp @@ -44,11 +44,11 @@ void vehicle_visual_launched_freefall( // Draw back: int32_t baseImage_id = vehicleEntry->base_image_id + ((vehicle->restraints_position / 64) * 2); auto image_id = (baseImage_id + 2) | imageFlags; - PaintAddImageAsParent(session, image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1); + PaintAddImageAsParent(session, image_id, { 0, 0, z }, { 2, 2, 41 }, { -11, -11, z + 1 }); // Draw front: image_id = (baseImage_id + 1) | imageFlags; - PaintAddImageAsParent(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1); + PaintAddImageAsParent(session, image_id, { 0, 0, z }, { 16, 16, 41 }, { -5, -5, z + 1 }); // Draw peeps: if (session->DPI.zoom_level < 2 && vehicle->num_peeps > 0 && !vehicle->IsGhost()) @@ -97,7 +97,7 @@ static void paint_launched_freefall_base( wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); uint32_t imageId = SPR_FLOOR_METAL | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }, { 0, 0, height }); if (ride != nullptr) { @@ -109,15 +109,15 @@ static void paint_launched_freefall_base( if (trackSequence == 0) { imageId = SPR_LAUNCHED_FREEFALL_TOWER_BASE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 27 }, { 8, 8, height + 3 }); height += 32; imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 30 }, { 8, 8, height }); height += 32; imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 30 }, { 8, 8, height }); paint_util_set_vertical_tunnel(session, height + 32); @@ -171,7 +171,7 @@ static void paint_launched_freefall_tower_section( } uint32_t imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 30 }, { 8, 8, height }); const TileElement* nextTileElement = reinterpret_cast(&trackElement) + 1; if (trackElement.IsLastForTile() || trackElement.GetClearanceZ() != nextTileElement->GetBaseZ()) diff --git a/src/openrct2/ride/thrill/MagicCarpet.cpp b/src/openrct2/ride/thrill/MagicCarpet.cpp index 2504d31723..4b274c6a08 100644 --- a/src/openrct2/ride/thrill/MagicCarpet.cpp +++ b/src/openrct2/ride/thrill/MagicCarpet.cpp @@ -85,8 +85,8 @@ static void paint_magic_carpet_frame( if (plane == PLANE_BACK) { PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bbSize.x, bbSize.y, 127, offset.z, - bbOffset.x, bbOffset.y, bbOffset.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), offset.z }, + { bbSize.x, bbSize.y, 127 }, { bbOffset.x, bbOffset.y, bbOffset.z }); } else { diff --git a/src/openrct2/ride/thrill/MotionSimulator.cpp b/src/openrct2/ride/thrill/MotionSimulator.cpp index 6c6471dfed..3a45815cae 100644 --- a/src/openrct2/ride/thrill/MotionSimulator.cpp +++ b/src/openrct2/ride/thrill/MotionSimulator.cpp @@ -83,32 +83,38 @@ static void paint_motionsimulator_vehicle( case 0: // Simulator imageId = simulatorImageId; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 20, 20, 44 }, { offsetX, offsetY, offsetZ }); // Stairs imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | session->TrackColours[SCHEME_MISC]; PaintAddImageAsChild(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ); // Stairs (rail) imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 20, 2, 44, offsetZ, offsetX, offsetY + 32, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 20, 2, 44 }, { offsetX, offsetY + 32, offsetZ }); break; case 1: // Simulator imageId = simulatorImageId; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 20, 20, 44 }, { offsetX, offsetY, offsetZ }); // Stairs imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | session->TrackColours[SCHEME_MISC]; PaintAddImageAsChild(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ); // Stairs (rail) imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 2, 20, 44, offsetZ, offsetX + 34, offsetY, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 2, 20, 44 }, { offsetX + 34, offsetY, offsetZ }); break; case 2: // Stairs (rail) imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 20, 2, 44, offsetZ, offsetX, offsetY - 10, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 20, 2, 44 }, { offsetX, offsetY - 10, offsetZ }); // Stairs imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY + 5, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 20, 20, 44 }, { offsetX, offsetY + 5, offsetZ }); // Simulator imageId = simulatorImageId; PaintAddImageAsChild(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY + 5, offsetZ); @@ -116,10 +122,12 @@ static void paint_motionsimulator_vehicle( case 3: // Stairs (rail) imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 2, 20, 44, offsetZ, offsetX - 10, offsetY, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 2, 20, 44 }, { offsetX - 10, offsetY, offsetZ }); // Stairs imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX + 5, offsetY, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 20, 20, 44 }, { offsetX + 5, offsetY, offsetZ }); // Simulator imageId = simulatorImageId; PaintAddImageAsChild(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX + 5, offsetY, offsetZ); diff --git a/src/openrct2/ride/thrill/RotoDrop.cpp b/src/openrct2/ride/thrill/RotoDrop.cpp index 730c109e51..3840486e7a 100644 --- a/src/openrct2/ride/thrill/RotoDrop.cpp +++ b/src/openrct2/ride/thrill/RotoDrop.cpp @@ -52,11 +52,11 @@ void vehicle_visual_roto_drop( // Draw back: image_id = baseImage_id | imageFlags; - PaintAddImageAsParent(session, image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1); + PaintAddImageAsParent(session, image_id, { 0, 0, z }, { 2, 2, 41 }, { -11, -11, z + 1 }); // Draw front: image_id = (baseImage_id + 4) | imageFlags; - PaintAddImageAsParent(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1); + PaintAddImageAsParent(session, image_id, { 0, 0, z }, { 16, 16, 41 }, { -5, -5, z + 1 }); if (vehicle->num_peeps > 0 && !vehicle->IsGhost()) { @@ -107,7 +107,7 @@ static void paint_roto_drop_base( wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); uint32_t imageId = SPR_FLOOR_METAL_B | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }, { 0, 0, height }); if (ride != nullptr) { @@ -120,15 +120,15 @@ static void paint_roto_drop_base( { imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_90_DEG : SPR_ROTO_DROP_TOWER_BASE) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 27 }, { 8, 8, height + 3 }); imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG : SPR_ROTO_DROP_TOWER_BASE_SEGMENT) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height + 32, 8, 8, height + 32); + PaintAddImageAsParent(session, imageId, { 0, 0, height + 32 }, { 2, 2, 30 }, { 8, 8, height + 32 }); imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG : SPR_ROTO_DROP_TOWER_BASE_SEGMENT) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height + 64, 8, 8, height + 64); + PaintAddImageAsParent(session, imageId, { 0, 0, height + 64 }, { 2, 2, 30 }, { 8, 8, height + 64 }); paint_util_set_vertical_tunnel(session, height + 96); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -186,7 +186,7 @@ static void paint_roto_drop_tower_section( } uint32_t imageId = SPR_ROTO_DROP_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 30 }, { 8, 8, height }); const TileElement* nextTileElement = reinterpret_cast(&trackElement) + 1; if (trackElement.IsLastForTile() || trackElement.GetClearanceZ() != nextTileElement->GetBaseZ()) diff --git a/src/openrct2/ride/thrill/SwingingInverterShip.cpp b/src/openrct2/ride/thrill/SwingingInverterShip.cpp index e8ef655a0d..4972e34039 100644 --- a/src/openrct2/ride/thrill/SwingingInverterShip.cpp +++ b/src/openrct2/ride/thrill/SwingingInverterShip.cpp @@ -101,8 +101,8 @@ static void paint_swinging_inverter_ship_structure( if (direction & 2) { PaintAddImageAsParent( - session, vehicleImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, vehicleImageId, { xOffset, yOffset, height }, { boundBox.length_x, boundBox.length_y, 127 }, + { boundBox.offset_x, boundBox.offset_y, height }); PaintAddImageAsChild( session, frameImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height); @@ -110,8 +110,8 @@ static void paint_swinging_inverter_ship_structure( else { PaintAddImageAsParent( - session, frameImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, frameImageId, { xOffset, yOffset, height }, { boundBox.length_x, boundBox.length_y, 127 }, + { boundBox.offset_x, boundBox.offset_y, height }); PaintAddImageAsChild( session, vehicleImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height); diff --git a/src/openrct2/ride/thrill/SwingingShip.cpp b/src/openrct2/ride/thrill/SwingingShip.cpp index ebc1cb3a7c..f6c5c5774d 100644 --- a/src/openrct2/ride/thrill/SwingingShip.cpp +++ b/src/openrct2/ride/thrill/SwingingShip.cpp @@ -113,8 +113,8 @@ static void paint_swinging_ship_structure( imageId = swinging_ship_frame_sprites[(direction & 1)][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y, - height); + session, imageId, { xOffset, yOffset, height }, { bounds.length_x, bounds.length_y, 80 }, + { bounds.offset_x, bounds.offset_y, height }); imageId = baseImageId | imageColourFlags; PaintAddImageAsChild( diff --git a/src/openrct2/ride/thrill/Twist.cpp b/src/openrct2/ride/thrill/Twist.cpp index 66a6d0141a..53223392d9 100644 --- a/src/openrct2/ride/thrill/Twist.cpp +++ b/src/openrct2/ride/thrill/Twist.cpp @@ -57,7 +57,8 @@ static void paint_twist_structure( uint32_t structureFrameNum = frameNum % 24; uint32_t imageId = (baseImageId + structureFrameNum) | imageColourFlags; - PaintAddImageAsParent(session, imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height); + PaintAddImageAsParent( + session, imageId, { xOffset, yOffset, height }, { 24, 24, 48 }, { xOffset + 16, yOffset + 16, height }); rct_drawpixelinfo* dpi = &session->DPI; @@ -102,12 +103,12 @@ static void paint_twist( if (track_paint_util_has_fence(EDGE_SW, session->MapPosition, trackElement, ride, session->CurrentRotation)) { imageId = SPR_FENCE_ROPE_SW | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 1, 28, 7, height, 29, 0, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 28, 7 }, { 29, 0, height + 3 }); } if (track_paint_util_has_fence(EDGE_SE, session->MapPosition, trackElement, ride, session->CurrentRotation)) { imageId = SPR_FENCE_ROPE_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 28, 1, 7 }, { 0, 29, height + 3 }); } break; default: diff --git a/src/openrct2/ride/transport/Lift.cpp b/src/openrct2/ride/transport/Lift.cpp index b811949af0..a246809f4a 100644 --- a/src/openrct2/ride/transport/Lift.cpp +++ b/src/openrct2/ride/transport/Lift.cpp @@ -39,10 +39,10 @@ static void paint_lift_cage(paint_session* session, int8_t index, uint32_t colou uint32_t imageId; imageId = lift_cage_sprites[1 + index][0] | colourFlags; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height, 2, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 30 }, { 2, 2, height }); imageId = lift_cage_sprites[1 + index][1] | colourFlags; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height, 28, 28, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 30 }, { 28, 28, height }); } /** rct2: 0x0076C6CC */ @@ -75,7 +75,7 @@ static void paint_lift_base( int32_t edges = edges_3x3[trackSequence]; uint32_t imageId = SPR_FLOOR_METAL_B | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }, { 0, 0, height }); if (ride != nullptr) { diff --git a/src/openrct2/ride/transport/MiniatureRailway.cpp b/src/openrct2/ride/transport/MiniatureRailway.cpp index b3d4cb4e50..1b5558df4c 100644 --- a/src/openrct2/ride/transport/MiniatureRailway.cpp +++ b/src/openrct2/ride/transport/MiniatureRailway.cpp @@ -1286,7 +1286,7 @@ static void paint_miniature_railway_track_right_quarter_turn_3_tiles( if (trackSequence == 1 && direction == 0) { uint32_t imageId = SPR_G2_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_3 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 8, 8, 2, height, 0, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 8, 8, 2 }, { 0, 0, height }); } } else @@ -1443,7 +1443,8 @@ static void paint_miniature_railway_track_left_eighth_to_diag( offset = miniature_railway_track_pieces_right_eight_to_orthog_offset[direction][index]; } PaintAddImageAsParent( - session, imageId, 0, 0, bounds.x, bounds.y, static_cast(bounds.z), height, offset.x, offset.y, height); + session, imageId, { 0, 0, height }, { bounds.x, bounds.y, static_cast(bounds.z) }, + { offset.x, offset.y, height }); } } else @@ -1453,7 +1454,8 @@ static void paint_miniature_railway_track_left_eighth_to_diag( CoordsXY offset = miniature_railway_track_floor_pieces_left_eight_to_diag_offset[direction][trackSequence]; CoordsXYZ bounds = miniature_railway_track_floor_pieces_left_eight_to_diag_bounds[direction][trackSequence]; PaintAddImageAsParent( - session, imageId, 0, 0, bounds.x, bounds.y, static_cast(bounds.z), height, offset.x, offset.y, height); + session, imageId, { 0, 0, height }, { bounds.x, bounds.y, static_cast(bounds.z) }, + { offset.x, offset.y, height }); int8_t index = paint_miniature_railway_eighth_to_diag_index[trackSequence]; if (index >= 0) @@ -1583,7 +1585,8 @@ static void paint_miniature_railway_track_right_eighth_to_diag( offset = miniature_railway_track_pieces_left_eight_to_orthog_offset[direction][index]; } PaintAddImageAsParent( - session, imageId, 0, 0, bounds.x, bounds.y, static_cast(bounds.z), height, offset.x, offset.y, height); + session, imageId, { 0, 0, height }, { bounds.x, bounds.y, static_cast(bounds.z) }, + { offset.x, offset.y, height }); } } else @@ -1593,7 +1596,8 @@ static void paint_miniature_railway_track_right_eighth_to_diag( CoordsXY offset = miniature_railway_track_floor_pieces_right_eight_to_diag_offset[direction][trackSequence]; CoordsXYZ bounds = miniature_railway_track_floor_pieces_right_eight_to_diag_bounds[direction][trackSequence]; PaintAddImageAsParent( - session, imageId, 0, 0, bounds.x, bounds.y, static_cast(bounds.z), height, offset.x, offset.y, height); + session, imageId, { 0, 0, height }, { bounds.x, bounds.y, static_cast(bounds.z) }, + { offset.x, offset.y, height }); int8_t index = paint_miniature_railway_eighth_to_diag_index[trackSequence]; if (index >= 0) @@ -1709,8 +1713,8 @@ static void miniature_railway_track_diag_flat( if (isSupported) { PaintAddImageAsParent( - session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y, - (drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height); + session, floorImage | session->TrackColours[SCHEME_SUPPORTS], { 0, 0, height }, + { floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0) }, { floorBoundOffset.x, floorBoundOffset.y, height }); if (drawRail) { PaintAddImageAsChild( @@ -1721,7 +1725,7 @@ static void miniature_railway_track_diag_flat( else if (drawRail) { PaintAddImageAsParent( - session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height); + session, imageId | session->TrackColours[SCHEME_TRACK], { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1804,9 +1808,10 @@ static void miniature_railway_track_diag_25_deg_up( if (hasSupports) { PaintAddImageAsParent( - session, floorImage | session->TrackColours[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]); + session, floorImage | session->TrackColours[SCHEME_SUPPORTS], + { 0, 0, height + offsetsB[direction][trackSequence][0] }, + { floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0) }, + { floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1] }); if (drawRail) { PaintAddImageAsChild( @@ -1817,8 +1822,8 @@ static void miniature_railway_track_diag_25_deg_up( else if (drawRail) { PaintAddImageAsParent( - session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, - height + offsetB[direction]); + session, imageId | session->TrackColours[SCHEME_TRACK], { -16, -16, height }, { 32, 32, 2 }, + { -16, -16, height + offsetB[direction] }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1857,8 +1862,8 @@ static void miniature_railway_track_diag_flat_to_25_deg_up( if (hasSupports) { PaintAddImageAsParent( - session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y, - (drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height); + session, floorImage | session->TrackColours[SCHEME_SUPPORTS], { 0, 0, height }, + { floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0) }, { floorBoundOffset.x, floorBoundOffset.y, height }); if (drawRail) { PaintAddImageAsChild( @@ -1869,7 +1874,7 @@ static void miniature_railway_track_diag_flat_to_25_deg_up( else if (drawRail) { PaintAddImageAsParent( - session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height); + session, imageId | session->TrackColours[SCHEME_TRACK], { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1931,9 +1936,10 @@ static void miniature_railway_track_diag_25_deg_up_to_flat( if (hasSupports) { PaintAddImageAsParent( - session, floorImage | session->TrackColours[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]); + session, floorImage | session->TrackColours[SCHEME_SUPPORTS], + { 0, 0, height + offsetsB[direction][trackSequence][0] }, + { floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0) }, + { floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1] }); if (drawRail) { PaintAddImageAsChild( @@ -1944,8 +1950,8 @@ static void miniature_railway_track_diag_25_deg_up_to_flat( else if (drawRail) { PaintAddImageAsParent( - session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, - height + railOffsets[direction]); + session, imageId | session->TrackColours[SCHEME_TRACK], { -16, -16, height }, { 32, 32, 2 }, + { -16, -16, height + railOffsets[direction] }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -2006,9 +2012,10 @@ static void miniature_railway_track_diag_25_deg_down( if (hasSupports) { PaintAddImageAsParent( - session, floorImage | session->TrackColours[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]); + session, floorImage | session->TrackColours[SCHEME_SUPPORTS], + { 0, 0, height + offsetsB[direction][trackSequence][0] }, + { floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0) }, + { floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1] }); if (drawRail) { PaintAddImageAsChild( @@ -2019,8 +2026,8 @@ static void miniature_railway_track_diag_25_deg_down( else if (drawRail) { PaintAddImageAsParent( - session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, - height + railOffsets[direction]); + session, imageId | session->TrackColours[SCHEME_TRACK], { -16, -16, height }, { 32, 32, 2 }, + { -16, -16, height + railOffsets[direction] }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -2080,9 +2087,10 @@ static void miniature_railway_track_diag_flat_to_25_deg_down( if (hasSupports) { PaintAddImageAsParent( - session, floorImage | session->TrackColours[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]); + session, floorImage | session->TrackColours[SCHEME_SUPPORTS], + { 0, 0, height + offsetsB[direction][trackSequence][0] }, + { floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0) }, + { floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1] }); if (drawRail) { PaintAddImageAsChild( @@ -2093,8 +2101,8 @@ static void miniature_railway_track_diag_flat_to_25_deg_down( else if (drawRail) { PaintAddImageAsParent( - session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, - height + railOffsets[direction]); + session, imageId | session->TrackColours[SCHEME_TRACK], { -16, -16, height }, { 32, 32, 2 }, + { -16, -16, height + railOffsets[direction] }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -2131,8 +2139,8 @@ static void miniature_railway_track_diag_25_deg_down_to_flat( if (hasSupports) { PaintAddImageAsParent( - session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y, - (drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height); + session, floorImage | session->TrackColours[SCHEME_SUPPORTS], { 0, 0, height }, + { floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0) }, { floorBoundOffset.x, floorBoundOffset.y, height }); if (drawRail) { PaintAddImageAsChild( @@ -2143,7 +2151,7 @@ static void miniature_railway_track_diag_25_deg_down_to_flat( else if (drawRail) { PaintAddImageAsParent( - session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height); + session, imageId | session->TrackColours[SCHEME_TRACK], { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); diff --git a/src/openrct2/ride/transport/Monorail.cpp b/src/openrct2/ride/transport/Monorail.cpp index ab49c14d16..65a534cc6a 100644 --- a/src/openrct2/ride/transport/Monorail.cpp +++ b/src/openrct2/ride/transport/Monorail.cpp @@ -469,12 +469,12 @@ static void paint_monorail_station( if (direction == 0 || direction == 2) { imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 32, 28, 2 }, { 0, 2, height }); } else if (direction == 1 || direction == 3) { imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 28, 32, 2 }, { 2, 0, height }); } } @@ -1003,7 +1003,7 @@ static void paint_monorail_track_left_eighth_to_diag( uint32_t imageId = ghost_train_track_pieces_left_eight_to_diag[direction][index] | session->TrackColours[SCHEME_TRACK]; const CoordsXY offset = ghost_train_track_pieces_left_eight_to_diag_offset[direction][index]; const CoordsXY bounds = ghost_train_track_pieces_left_eight_to_diag_bounds[direction][index]; - PaintAddImageAsParent(session, imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { bounds.x, bounds.y, 2 }, { offset.x, offset.y, height }); } switch (trackSequence) @@ -1071,7 +1071,7 @@ static void paint_monorail_track_right_eighth_to_diag( uint32_t imageId = ghost_train_track_pieces_right_eight_to_diag[direction][index] | session->TrackColours[SCHEME_TRACK]; const CoordsXY offset = ghost_train_track_pieces_right_eight_to_diag_offset[direction][index]; const CoordsXY bounds = ghost_train_track_pieces_right_eight_to_diag_bounds[direction][index]; - PaintAddImageAsParent(session, imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { bounds.x, bounds.y, 2 }, { offset.x, offset.y, height }); } switch (trackSequence) @@ -1170,7 +1170,7 @@ static void paint_monorail_track_diag_flat( if (monorail_diag_image_segment[direction][trackSequence]) { uint32_t imageId = monorail_track_pieces_diag_flat[direction] | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height); + PaintAddImageAsParent(session, imageId, { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } if (trackSequence == 3) @@ -1193,7 +1193,7 @@ static void paint_monorail_track_diag_25_deg_up( if (monorail_diag_image_segment[direction][trackSequence]) { uint32_t imageId = monorail_track_pieces_diag_25_deg_up[direction] | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height); + PaintAddImageAsParent(session, imageId, { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } if (trackSequence == 3) @@ -1216,7 +1216,7 @@ static void paint_monorail_track_diag_flat_to_25_deg_up( if (monorail_diag_image_segment[direction][trackSequence]) { uint32_t imageId = monorail_track_pieces_diag_flat_to_25_deg_up[direction] | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height); + PaintAddImageAsParent(session, imageId, { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } if (trackSequence == 3) @@ -1239,7 +1239,7 @@ static void paint_monorail_track_diag_25_deg_up_to_flat( if (monorail_diag_image_segment[direction][trackSequence]) { uint32_t imageId = monorail_track_pieces_diag_25_deg_up_to_flat[direction] | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height); + PaintAddImageAsParent(session, imageId, { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } if (trackSequence == 3) @@ -1262,7 +1262,7 @@ static void paint_monorail_track_diag_25_deg_down( if (monorail_diag_image_segment[direction][trackSequence]) { uint32_t imageId = monorail_track_pieces_diag_25_deg_up[(direction + 2) % 4] | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height); + PaintAddImageAsParent(session, imageId, { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } if (trackSequence == 3) @@ -1286,7 +1286,7 @@ static void paint_monorail_track_diag_flat_to_25_deg_down( { uint32_t imageId = monorail_track_pieces_diag_25_deg_up_to_flat[(direction + 2) % 4] | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height); + PaintAddImageAsParent(session, imageId, { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } if (trackSequence == 3) @@ -1310,7 +1310,7 @@ static void paint_monorail_track_diag_25_deg_down_to_flat( { uint32_t imageId = monorail_track_pieces_diag_flat_to_25_deg_up[(direction + 2) % 4] | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height); + PaintAddImageAsParent(session, imageId, { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } if (trackSequence == 3) diff --git a/src/openrct2/ride/water/RiverRapids.cpp b/src/openrct2/ride/water/RiverRapids.cpp index a1424ca583..0b51f32807 100644 --- a/src/openrct2/ride/water/RiverRapids.cpp +++ b/src/openrct2/ride/water/RiverRapids.cpp @@ -229,7 +229,8 @@ void vehicle_visual_river_rapids( image_id |= CONSTRUCTION_MARKER; } PaintAddImageAsParent( - session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z); + session, image_id, { 0, 0, z }, { bb->length_x, bb->length_y, bb->length_z }, + { bb->offset_x, bb->offset_y, bb->offset_z + z }); if (session->DPI.zoom_level < 2 && vehicle->num_peeps > 0 && !vehicle->IsGhost()) { diff --git a/src/openrct2/ride/water/SplashBoats.cpp b/src/openrct2/ride/water/SplashBoats.cpp index fae611eba4..9d4788ac8c 100644 --- a/src/openrct2/ride/water/SplashBoats.cpp +++ b/src/openrct2/ride/water/SplashBoats.cpp @@ -749,21 +749,21 @@ static void paint_splash_boats_track_flat( { imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_TOP_NW_SE : SPR_SPLASH_BOATS_FLAT_TOP_SE_NW) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 2, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 2 }, { 6, 0, height }); imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_SIDE_NW_SE : SPR_SPLASH_BOATS_FLAT_SIDE_SE_NW) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 1, 32, 26, height, 27, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 26 }, { 27, 0, height }); } else { imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_TOP_SW_NE : SPR_SPLASH_BOATS_FLAT_TOP_NE_SW) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 2 }, { 0, 6, height }); imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_SIDE_SW_NE : SPR_SPLASH_BOATS_FLAT_SIDE_NE_SW) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 26 }, { 0, 27, height }); } wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); @@ -790,7 +790,7 @@ static void paint_splash_boats_station( { uint32_t imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_TOP_NW_SE : SPR_SPLASH_BOATS_FLAT_TOP_SE_NW) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 1 }, { 6, 0, height + 3 }); imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); @@ -799,7 +799,7 @@ static void paint_splash_boats_station( { uint32_t imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_TOP_SW_NE : SPR_SPLASH_BOATS_FLAT_TOP_NE_SW) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 1 }, { 0, 6, height + 3 }); imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); diff --git a/src/openrct2/ride/water/SubmarineRide.cpp b/src/openrct2/ride/water/SubmarineRide.cpp index d98b96186b..0b3a33bcc7 100644 --- a/src/openrct2/ride/water/SubmarineRide.cpp +++ b/src/openrct2/ride/water/SubmarineRide.cpp @@ -62,7 +62,8 @@ void vehicle_visual_submarine( image_id = baseImage_id | imageFlags; paint_struct* ps = PaintAddImageAsParent( - session, image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y, bb.offset_z + z); + session, image_id, { 0, 0, z }, { bb.length_x, bb.length_y, bb.length_z }, + { bb.offset_x, bb.offset_y, bb.offset_z + z }); if (ps != nullptr) { ps->tertiary_colour = vehicle->colours_extended; @@ -70,7 +71,7 @@ void vehicle_visual_submarine( image_id = (baseImage_id + 1) | imageFlags; ps = PaintAddImageAsParent( - session, image_id, 0, 0, bb.length_x, bb.length_y, 2, z, bb.offset_x, bb.offset_y, bb.offset_z + z - 10); + session, image_id, { 0, 0, z }, { bb.length_x, bb.length_y, 2 }, { bb.offset_x, bb.offset_y, bb.offset_z + z - 10 }); if (ps != nullptr) { ps->tertiary_colour = vehicle->colours_extended; @@ -94,7 +95,7 @@ static void submarine_ride_paint_track_station( if (direction & 1) { imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, heightLower, 6, 0, heightLower); + PaintAddImageAsParent(session, imageId, { 0, 0, heightLower }, { 20, 32, 3 }, { 6, 0, heightLower }); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); track_paint_util_draw_pier( @@ -103,7 +104,7 @@ static void submarine_ride_paint_track_station( else { imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, heightLower, 0, 6, heightLower); + PaintAddImageAsParent(session, imageId, { 0, 0, heightLower }, { 32, 20, 3 }, { 0, 6, heightLower }); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); track_paint_util_draw_pier( @@ -124,13 +125,13 @@ static void submarine_ride_paint_track_flat( if (direction & 1) { imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, heightLower, 6, 0, heightLower); + PaintAddImageAsParent(session, imageId, { 0, 0, heightLower }, { 20, 32, 3 }, { 6, 0, heightLower }); paint_util_push_tunnel_right(session, heightLower, TUNNEL_0); } else { imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, heightLower, 0, 6, heightLower); + PaintAddImageAsParent(session, imageId, { 0, 0, heightLower }, { 32, 20, 3 }, { 0, 6, heightLower }); paint_util_push_tunnel_left(session, heightLower, TUNNEL_0); } From efa9af4610869bdfaba6d61c881bbf91479a23c9 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Fri, 20 Aug 2021 22:10:46 +0300 Subject: [PATCH 07/59] Simplify passing args on PaintAddImageAsParent where possible --- .../paint/tile_element/Paint.LargeScenery.cpp | 4 +- .../paint/tile_element/Paint.Path.cpp | 3 +- .../paint/tile_element/Paint.SmallScenery.cpp | 5 +- .../paint/tile_element/Paint.Wall.cpp | 20 +--- src/openrct2/ride/TrackPaint.cpp | 19 ++-- .../ride/coaster/JuniorRollerCoaster.cpp | 103 ++++++------------ 6 files changed, 49 insertions(+), 105 deletions(-) diff --git a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp index 88e21ec6b8..ea436e96ce 100644 --- a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp +++ b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp @@ -289,9 +289,7 @@ void PaintLargeScenery(paint_session* session, uint8_t direction, uint16_t heigh boxlength.x = s98E3C4[esi].length.x; boxlength.y = s98E3C4[esi].length.y; boxlength.z = boxlengthZ; - PaintAddImageAsParent( - session, image_id, { 0, 0, height }, { boxlength.x, boxlength.y, boxlengthZ }, - { boxoffset.x, boxoffset.y, boxoffset.z }); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { boxlength.x, boxlength.y, boxlengthZ }, boxoffset); if (sceneryEntry->scrolling_mode == SCROLLING_MODE_NONE || direction == 1 || direction == 2) { large_scenery_paint_supports(session, direction, height, tileElement, dword_F4387C, tile); diff --git a/src/openrct2/paint/tile_element/Paint.Path.cpp b/src/openrct2/paint/tile_element/Paint.Path.cpp index 7138dd62b5..0e3a609b6c 100644 --- a/src/openrct2/paint/tile_element/Paint.Path.cpp +++ b/src/openrct2/paint/tile_element/Paint.Path.cpp @@ -441,8 +441,7 @@ static void sub_6A4101( boundBoxOffsets.x = BannerBoundBoxes[direction][1].x; boundBoxOffsets.y = BannerBoundBoxes[direction][1].y; imageId++; - PaintAddImageAsParent( - session, imageId, { 0, 0, height }, { 1, 1, 21 }, { boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z }); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 1, 21 }, boundBoxOffsets); direction--; // If text shown diff --git a/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp b/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp index 3de63b9e8d..1ba7d0bc2d 100644 --- a/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp +++ b/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp @@ -159,8 +159,7 @@ void PaintSmallScenery(paint_session* session, uint8_t direction, int32_t height if (!(scenery_small_entry_has_flag(sceneryEntry, SMALL_SCENERY_FLAG_VISIBLE_WHEN_ZOOMED))) { PaintAddImageAsParent( - session, baseImageid, { x_offset, y_offset, height }, { boxlength.x, boxlength.y, boxlength.z - 1 }, - { boxoffset.x, boxoffset.y, boxoffset.z }); + session, baseImageid, { x_offset, y_offset, height }, { boxlength.x, boxlength.y, boxlength.z - 1 }, boxoffset); } if (scenery_small_entry_has_flag(sceneryEntry, SMALL_SCENERY_FLAG_HAS_GLASS)) @@ -327,7 +326,7 @@ void PaintSmallScenery(paint_session* session, uint8_t direction, int32_t height { PaintAddImageAsParent( session, image_id, { x_offset, y_offset, height }, { boxlength.x, boxlength.y, boxlength.z - 1 }, - { boxoffset.x, boxoffset.y, boxoffset.z }); + boxoffset); } else { diff --git a/src/openrct2/paint/tile_element/Paint.Wall.cpp b/src/openrct2/paint/tile_element/Paint.Wall.cpp index 4bced75a05..6b98e5f20a 100644 --- a/src/openrct2/paint/tile_element/Paint.Wall.cpp +++ b/src/openrct2/paint/tile_element/Paint.Wall.cpp @@ -59,17 +59,13 @@ static void PaintWallDoor( { paint_struct* ps; - ps = PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), offset.z }, - { boundsR1.x, boundsR1.y, static_cast(boundsR1.z) }, { boundsR1_.x, boundsR1_.y, boundsR1_.z }); + ps = PaintAddImageAsParent(session, imageId, offset, boundsR1, boundsR1_); if (ps != nullptr) { ps->tertiary_colour = tertiaryColour; } - ps = PaintAddImageAsParent( - session, imageId + 1, { static_cast(offset.x), static_cast(offset.y), offset.z }, - { boundsR2.x, boundsR2.y, static_cast(boundsR2.z) }, { boundsR2_.x, boundsR2_.y, boundsR2_.z }); + ps = PaintAddImageAsParent(session, imageId + 1, offset, boundsR2, boundsR2_); if (ps != nullptr) { ps->tertiary_colour = tertiaryColour; @@ -79,9 +75,7 @@ static void PaintWallDoor( { paint_struct* ps; - ps = PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), offset.z }, - { boundsL1.x, boundsL1.y, static_cast(boundsL1.z) }, { boundsL1_.x, boundsL1_.y, boundsL1_.z }); + ps = PaintAddImageAsParent(session, imageId, offset, boundsL1, boundsL1_); if (ps != nullptr) { ps->tertiary_colour = tertiaryColour; @@ -117,9 +111,7 @@ static void PaintWallWall( imageId = (imageId & 0x7FFFF) | dword_141F710; } - PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), offset.z }, - { bounds.x, bounds.y, static_cast(bounds.z) }, { boundsOffset.x, boundsOffset.y, boundsOffset.z }); + PaintAddImageAsParent(session, imageId, offset, bounds, boundsOffset); if (dword_141F710 == 0) { imageId = baseImageId + dword_141F718; @@ -140,9 +132,7 @@ static void PaintWallWall( imageId = (imageId & 0x7FFFF) | dword_141F710; } - paint_struct* paint = PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), offset.z }, - { bounds.x, bounds.y, static_cast(bounds.z) }, { boundsOffset.x, boundsOffset.y, boundsOffset.z }); + paint_struct* paint = PaintAddImageAsParent(session, imageId, offset, bounds, boundsOffset); if (paint != nullptr) { paint->tertiary_colour = tertiaryColour; diff --git a/src/openrct2/ride/TrackPaint.cpp b/src/openrct2/ride/TrackPaint.cpp index 52b33096c5..aadcb94724 100644 --- a/src/openrct2/ride/TrackPaint.cpp +++ b/src/openrct2/ride/TrackPaint.cpp @@ -844,9 +844,7 @@ bool track_paint_util_draw_station_covers_2( } imageId = (baseImageId + imageOffset) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), offset.z }, - { bounds.x, bounds.y, static_cast(bounds.z) }, { boundsOffset.x, boundsOffset.y, boundsOffset.z }); + PaintAddImageAsParent(session, imageId, offset, bounds, boundsOffset); return true; } @@ -1048,7 +1046,7 @@ void track_paint_util_right_helix_up_small_quarter_tiles_paint( PaintAddImageAsParent( session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, - { boundsLength.x, boundsLength.y, thickness[1] }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); + { boundsLength.x, boundsLength.y, thickness[1] }, boundsOffset); } } @@ -1305,8 +1303,7 @@ void track_paint_util_eighth_to_diag_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index]); PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, - { boundsLength.x, boundsLength.y, thickness[direction][index] }, + session, imageId, { offset.x, offset.y, height }, { boundsLength.x, boundsLength.y, thickness[direction][index] }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } @@ -1484,12 +1481,12 @@ void track_paint_util_right_quarter_turn_5_tiles_paint_2( } const sprite_bb* spriteBB = &sprites[direction][sprite]; - uint32_t imageId = spriteBB->sprite_id | colourFlags; + const uint32_t imageId = spriteBB->sprite_id | colourFlags; + const auto& offset = spriteBB->offset; + const auto& bbOffset = spriteBB->offset; PaintAddImageAsParent( - session, imageId, - { static_cast(spriteBB->offset.x), static_cast(spriteBB->offset.y), height + spriteBB->offset.z }, - { spriteBB->bb_size.x, spriteBB->bb_size.y, static_cast(spriteBB->bb_size.z) }, - { spriteBB->bb_offset.x, spriteBB->bb_offset.y, height + spriteBB->bb_offset.z }); + session, imageId, { offset.x, offset.y, height + offset.z }, spriteBB->bb_size, + { bbOffset.x, bbOffset.y, height + bbOffset.z }); } void track_paint_util_right_quarter_turn_5_tiles_paint_3( diff --git a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp index 7203e411fc..8d5cb5bed1 100644 --- a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp @@ -2467,10 +2467,8 @@ static void junior_rc_left_bank_paint_setup( image_id = junior_rc_track_pieces_left_bank[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, image_id, { 0, 0, height }, - { junior_rc_left_bank_bound_lengths[direction].x, junior_rc_left_bank_bound_lengths[direction].y, - static_cast(junior_rc_left_bank_bound_lengths[direction].z) }, - { junior_rc_left_bank_bound_offsets[direction].x, junior_rc_left_bank_bound_offsets[direction].y, height }); + session, image_id, { 0, 0, height }, junior_rc_left_bank_bound_lengths[direction], + { junior_rc_left_bank_bound_offsets[direction], height }); if (direction & 1) { @@ -3085,9 +3083,9 @@ void junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_up( break; } if (imageId != 0) - PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, - { boundsLength.x, boundsLength.y, 1 }, { boundsOffset.x, boundsOffset.y, height }); + { + PaintAddImageAsParent(session, imageId, { offset, height }, { boundsLength, 1 }, { boundsOffset, height }); + } if (direction == 0 && trackSequence == 0) { @@ -4959,12 +4957,9 @@ void junior_rc_paint_track_60_deg_up( image_id |= junior_rc_track_pieces_60_deg_up[EnumValue(chainType)][direction]; PaintAddImageAsParent( - session, image_id, - { static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), height }, - { 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] }, - { junior_rc_60_deg_up_bound_offsets[direction].x, junior_rc_60_deg_up_bound_offsets[direction].y, height }); + session, image_id, { junior_rc_60_deg_up_tile_offsets[direction], height }, + { junior_rc_60_deg_up_bound_lengths[direction], junior_rc_60_deg_up_bound_thickness[direction] }, + { junior_rc_60_deg_up_bound_offsets[direction], height }); switch (direction) { @@ -5037,14 +5032,10 @@ void junior_rc_paint_track_25_deg_up_to_60_deg_up( image_id |= junior_rc_track_pieces_25_deg_up_to_60_deg_up[EnumValue(chainType)][direction][0]; PaintAddImageAsParent( - session, image_id, - { static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), height }, - { 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, + session, image_id, { junior_rc_60_deg_up_tile_offsets[direction], height }, + { junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0], junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction] }, - { 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 }); + { junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0], height }); if (junior_rc_track_pieces_25_deg_up_to_60_deg_up[EnumValue(chainType)][direction][1] != 0) { @@ -5053,14 +5044,10 @@ void junior_rc_paint_track_25_deg_up_to_60_deg_up( image_id |= junior_rc_track_pieces_25_deg_up_to_60_deg_up[EnumValue(chainType)][direction][1]; PaintAddImageAsParent( - session, image_id, - { static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), height }, - { 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, + session, image_id, { junior_rc_60_deg_up_tile_offsets[direction], height }, + { junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1], junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction] }, - { 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 }); + { junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1], height }); } switch (direction) @@ -5118,14 +5105,10 @@ void junior_rc_paint_track_60_deg_up_to_25_deg_up( image_id |= junior_rc_track_pieces_60_deg_up_to_25_deg_up[EnumValue(chainType)][direction][0]; PaintAddImageAsParent( - session, image_id, - { static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), height }, - { 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, + session, image_id, { junior_rc_60_deg_up_tile_offsets[direction], height }, + { junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0], junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction] }, - { 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 }); + { junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0], height }); if (junior_rc_track_pieces_60_deg_up_to_25_deg_up[EnumValue(chainType)][direction][1] != 0) { @@ -5134,14 +5117,10 @@ void junior_rc_paint_track_60_deg_up_to_25_deg_up( image_id |= junior_rc_track_pieces_60_deg_up_to_25_deg_up[EnumValue(chainType)][direction][1]; PaintAddImageAsParent( - session, image_id, - { static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), height }, - { 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, + session, image_id, { junior_rc_60_deg_up_tile_offsets[direction], height }, + { junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1], junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction] }, - { 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 }); + { junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1], height }); } switch (direction) @@ -5437,13 +5416,9 @@ static void junior_rc_flat_to_60_deg_up_paint_setup( image_id |= junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][0]; PaintAddImageAsParent( - session, image_id, - { static_cast(junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].x), - static_cast(junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].y), height + 24 }, - { 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] }, - { 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 }); + session, image_id, { junior_rc_flat_to_60_deg_up_tile_offsets[direction][0], height + 24 }, + { junior_rc_flat_to_60_deg_up_bound_lengths[direction][0], junior_rc_flat_to_60_deg_up_bound_thickness[direction] }, + { junior_rc_flat_to_60_deg_up_bound_offsets[direction][0], height }); if (junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][1] != 0) { @@ -5452,14 +5427,9 @@ static void junior_rc_flat_to_60_deg_up_paint_setup( image_id |= junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][1]; PaintAddImageAsParent( - session, image_id, - { static_cast(junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].x), - static_cast(junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].y), height }, - { 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] }, - { 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 }); + session, image_id, { junior_rc_flat_to_60_deg_up_tile_offsets[direction][1], height }, + { junior_rc_flat_to_60_deg_up_bound_lengths[direction][1], junior_rc_flat_to_60_deg_up_bound_thickness[direction] }, + { junior_rc_flat_to_60_deg_up_bound_offsets[direction][1], height }); } switch (direction) @@ -5509,13 +5479,9 @@ static void junior_rc_60_deg_up_to_flat_paint_setup( image_id |= junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][0]; PaintAddImageAsParent( - session, image_id, - { static_cast(junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].x), - static_cast(junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].y), height + 24 }, - { 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] }, - { 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 }); + session, image_id, { junior_rc_60_deg_up_to_flat_tile_offsets[direction][0], height + 24 }, + { junior_rc_flat_to_60_deg_up_bound_lengths[direction][0], junior_rc_flat_to_60_deg_up_bound_thickness[direction] }, + { junior_rc_flat_to_60_deg_up_bound_offsets[direction][0], height }); if (junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][1] != 0) { @@ -5524,14 +5490,9 @@ static void junior_rc_60_deg_up_to_flat_paint_setup( image_id |= junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][1]; PaintAddImageAsParent( - session, image_id, - { static_cast(junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].x), - static_cast(junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].y), height }, - { 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] }, - { 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 }); + session, image_id, { junior_rc_60_deg_up_to_flat_tile_offsets[direction][1], height }, + { junior_rc_flat_to_60_deg_up_bound_lengths[direction][1], junior_rc_flat_to_60_deg_up_bound_thickness[direction] }, + { junior_rc_flat_to_60_deg_up_bound_offsets[direction][1], height }); } switch (direction) From 7764bb910f77afaa7c6147ac5ae3d464ee0a3194 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Fri, 20 Aug 2021 22:56:32 +0300 Subject: [PATCH 08/59] Use CoordsXYZ instead of anonymous struct in unk_supports_desc --- src/openrct2/paint/Supports.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/openrct2/paint/Supports.cpp b/src/openrct2/paint/Supports.cpp index 38336abb3e..636ceba4e2 100644 --- a/src/openrct2/paint/Supports.cpp +++ b/src/openrct2/paint/Supports.cpp @@ -305,12 +305,8 @@ static constexpr const uint16_t* WoodenCurveSupportImageIds[12] = { }; struct unk_supports_desc_bound_box { - struct { - uint8_t x, y, z; - } offset; - struct { - uint8_t x, y, z; - } length; + CoordsXYZ offset; + CoordsXYZ length; }; struct unk_supports_desc { @@ -780,7 +776,7 @@ bool wooden_b_supports_paint_setup( { uint16_t specialIndex = (special - 1) & 0xFFFF; - unk_supports_desc supportsDesc = byte_97B23C[specialIndex]; + const unk_supports_desc& supportsDesc = byte_97B23C[specialIndex]; if (WoodenCurveSupportImageIds[supportType] != nullptr && WoodenCurveSupportImageIds[supportType][specialIndex] != 0 && supportsDesc.var_7 != 0) @@ -788,13 +784,12 @@ bool wooden_b_supports_paint_setup( uint32_t imageId = WoodenCurveSupportImageIds[supportType][specialIndex]; imageId |= imageColourFlags; - unk_supports_desc_bound_box boundBox = supportsDesc.bounding_box; + const unk_supports_desc_bound_box& boundBox = supportsDesc.bounding_box; if (supportsDesc.var_6 == 0 || session->WoodenSupportsPrependTo == nullptr) { PaintAddImageAsParent( - session, imageId | imageColourFlags, { 0, 0, baseHeight }, - { boundBox.length.x, boundBox.length.y, boundBox.length.z }, + session, imageId | imageColourFlags, { 0, 0, baseHeight }, boundBox.length, { boundBox.offset.x, boundBox.offset.y, boundBox.offset.z + baseHeight }); _9E32B1 = true; } From 3d90257dde7a1b326e3da2c887a77dc5ebb9bf87 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Fri, 20 Aug 2021 23:01:57 +0300 Subject: [PATCH 09/59] Simplify more argument passing to PaintAddImageAsParent --- src/openrct2/paint/Supports.cpp | 35 ++++++++----------- .../paint/tile_element/Paint.Banner.cpp | 6 ++-- .../paint/tile_element/Paint.Path.cpp | 15 ++++---- src/openrct2/ride/TrackPaint.cpp | 32 ++++++++--------- .../ride/coaster/JuniorRollerCoaster.cpp | 5 +-- 5 files changed, 40 insertions(+), 53 deletions(-) diff --git a/src/openrct2/paint/Supports.cpp b/src/openrct2/paint/Supports.cpp index 636ceba4e2..3cb7ce746b 100644 --- a/src/openrct2/paint/Supports.cpp +++ b/src/openrct2/paint/Supports.cpp @@ -1079,9 +1079,7 @@ bool metal_b_supports_paint_setup( PaintAddImageAsParent( session, _metalSupportTypeToCrossbeamImages[supportType][ebp] | imageColourFlags, - { SupportBoundBoxes[originalSegment].x + loc_97B052[ebp].x, - SupportBoundBoxes[originalSegment].y + loc_97B052[ebp].y, baseHeight }, - { _97B062[ebp].x, _97B062[ebp].y, 1 }); + { SupportBoundBoxes[originalSegment] + loc_97B052[ebp], baseHeight }, { _97B062[ebp], 1 }); } int32_t si = baseHeight; @@ -1097,8 +1095,7 @@ bool metal_b_supports_paint_setup( uint32_t imageId = _97B15C[supportType].base_id + imageOffset; PaintAddImageAsParent( - session, imageId | imageColourFlags, - { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, supportSegments[segment].height }, { 0, 0, 5 }); + session, imageId | imageColourFlags, { SupportBoundBoxes[segment], supportSegments[segment].height }, { 0, 0, 5 }); baseHeight = supportSegments[segment].height + 6; } @@ -1114,7 +1111,7 @@ bool metal_b_supports_paint_setup( { PaintAddImageAsParent( session, (_97B15C[supportType].beam_id + (heightDiff - 1)) | imageColourFlags, - { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }, { 0, 0, heightDiff - 1 }); + { SupportBoundBoxes[segment], baseHeight }, { 0, 0, heightDiff - 1 }); } baseHeight += heightDiff; @@ -1149,8 +1146,7 @@ bool metal_b_supports_paint_setup( } PaintAddImageAsParent( - session, imageId | imageColourFlags, { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }, - { 0, 0, beamLength - 1 }); + session, imageId | imageColourFlags, { SupportBoundBoxes[segment], baseHeight }, { 0, 0, beamLength - 1 }); baseHeight += beamLength; i++; @@ -1179,9 +1175,8 @@ bool metal_b_supports_paint_setup( uint32_t imageId = _97B15C[supportType].beam_id + (beamLength - 1); PaintAddImageAsParent( - session, imageId | imageColourFlags, - { SupportBoundBoxes[originalSegment].x, SupportBoundBoxes[originalSegment].y, baseHeight }, { 0, 0, 0 }, - { SupportBoundBoxes[originalSegment].x, SupportBoundBoxes[originalSegment].y, height }); + session, imageId | imageColourFlags, { SupportBoundBoxes[originalSegment], baseHeight }, { 0, 0, 0 }, + { SupportBoundBoxes[originalSegment], height }); baseHeight += beamLength; } } @@ -1312,14 +1307,13 @@ bool path_a_supports_paint_setup( uint32_t imageId = railingEntry->bridge_image + 55 + specialIndex; - unk_supports_desc supportsDesc = byte_98D8D4[specialIndex]; - unk_supports_desc_bound_box boundBox = supportsDesc.bounding_box; + const unk_supports_desc& supportsDesc = byte_98D8D4[specialIndex]; + const unk_supports_desc_bound_box& boundBox = supportsDesc.bounding_box; if (supportsDesc.var_6 == 0 || session->WoodenSupportsPrependTo == nullptr) { PaintAddImageAsParent( - session, imageId | imageColourFlags, { 0, 0, baseHeight }, - { boundBox.length.y, boundBox.length.x, boundBox.length.z }, + session, imageId | imageColourFlags, { 0, 0, baseHeight }, boundBox.length, { boundBox.offset.x, boundBox.offset.y, baseHeight + boundBox.offset.z }); hasSupports = true; } @@ -1408,7 +1402,7 @@ bool path_b_supports_paint_setup( { PaintAddImageAsParent( session, (railingEntry->bridge_image + 20 + (heightDiff - 1)) | imageColourFlags, - { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }, { 0, 0, heightDiff - 1 }); + { SupportBoundBoxes[segment], baseHeight }, { 0, 0, heightDiff - 1 }); } baseHeight += heightDiff; @@ -1441,7 +1435,7 @@ bool path_b_supports_paint_setup( PaintAddImageAsParent( session, (railingEntry->bridge_image + 20 + (z - 1)) | imageColourFlags, - { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }, { 0, 0, (z - 1) }); + { SupportBoundBoxes[segment], baseHeight }, { 0, 0, (z - 1) }); baseHeight += z; } @@ -1458,8 +1452,7 @@ bool path_b_supports_paint_setup( } PaintAddImageAsParent( - session, imageId | imageColourFlags, { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }, - { 0, 0, (z - 1) }); + session, imageId | imageColourFlags, { SupportBoundBoxes[segment], baseHeight }, { 0, 0, (z - 1) }); baseHeight += z; } @@ -1488,8 +1481,8 @@ bool path_b_supports_paint_setup( uint32_t imageId = railingEntry->bridge_image + 20 + (z - 1); PaintAddImageAsParent( - session, imageId | imageColourFlags, { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }, - { 0, 0, 0 }, { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }); + session, imageId | imageColourFlags, { SupportBoundBoxes[segment], baseHeight }, { 0, 0, 0 }, + { SupportBoundBoxes[segment], baseHeight }); baseHeight += z; } diff --git a/src/openrct2/paint/tile_element/Paint.Banner.cpp b/src/openrct2/paint/tile_element/Paint.Banner.cpp index 44cd06cdd7..9006830aa4 100644 --- a/src/openrct2/paint/tile_element/Paint.Banner.cpp +++ b/src/openrct2/paint/tile_element/Paint.Banner.cpp @@ -78,14 +78,12 @@ void PaintBanner(paint_session* session, uint8_t direction, int32_t height, cons image_id |= (banner->colour << 19) | IMAGE_TYPE_REMAP; } - PaintAddImageAsParent( - session, image_id, { 0, 0, height }, { 1, 1, 0x15 }, { boundBoxOffset.x, boundBoxOffset.y, boundBoxOffset.z }); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 1, 1, 0x15 }, boundBoxOffset); boundBoxOffset.x = BannerBoundBoxes[direction][1].x; boundBoxOffset.y = BannerBoundBoxes[direction][1].y; image_id++; - PaintAddImageAsParent( - session, image_id, { 0, 0, height }, { 1, 1, 0x15 }, { boundBoxOffset.x, boundBoxOffset.y, boundBoxOffset.z }); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 1, 1, 0x15 }, boundBoxOffset); // Opposite direction direction = direction_reverse(direction); diff --git a/src/openrct2/paint/tile_element/Paint.Path.cpp b/src/openrct2/paint/tile_element/Paint.Path.cpp index 0e3a609b6c..b1b3bacf92 100644 --- a/src/openrct2/paint/tile_element/Paint.Path.cpp +++ b/src/openrct2/paint/tile_element/Paint.Path.cpp @@ -434,8 +434,7 @@ static void sub_6A4101( uint32_t imageId = (direction << 1) + base_image_id + 28; // Draw pole in the back - PaintAddImageAsParent( - session, imageId, { 0, 0, height }, { 1, 1, 21 }, { boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z }); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 1, 21 }, boundBoxOffsets); // Draw pole in the front and banner boundBoxOffsets.x = BannerBoundBoxes[direction][1].x; @@ -1046,8 +1045,8 @@ void path_paint_box_support( if (!hasSupports || !session->DidPassSurface) { PaintAddImageAsParent( - session, imageId | imageFlags, { 0, 0, height }, { boundBoxSize.x, boundBoxSize.y, 0 }, - { boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset }); + session, imageId | imageFlags, { 0, 0, height }, { boundBoxSize, 0 }, + { boundBoxOffset, height + boundingBoxZOffset }); } else { @@ -1063,8 +1062,8 @@ void path_paint_box_support( } PaintAddImageAsParent( - session, image_id | imageFlags, { 0, 0, height }, { boundBoxSize.x, boundBoxSize.y, 0 }, - { boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset }); + session, image_id | imageFlags, { 0, 0, height }, { boundBoxSize, 0 }, + { boundBoxOffset, height + boundingBoxZOffset }); // TODO: Revert this when path import works correctly. if (!pathElement.IsQueue() && !pathElement.ShouldDrawPathOverSupports()) @@ -1212,8 +1211,8 @@ void path_paint_pole_support( } PaintAddImageAsParent( - session, bridgeImage | imageFlags, { 0, 0, height }, { boundBoxSize.x, boundBoxSize.y, 0 }, - { boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset }); + session, bridgeImage | imageFlags, { 0, 0, height }, { boundBoxSize, 0 }, + { boundBoxOffset, height + boundingBoxZOffset }); // TODO: Revert this when path import works correctly. if (pathElement.IsQueue() || pathElement.ShouldDrawPathOverSupports()) diff --git a/src/openrct2/ride/TrackPaint.cpp b/src/openrct2/ride/TrackPaint.cpp index aadcb94724..d30bb0b83f 100644 --- a/src/openrct2/ride/TrackPaint.cpp +++ b/src/openrct2/ride/TrackPaint.cpp @@ -829,9 +829,7 @@ bool track_paint_util_draw_station_covers_2( if (baseImageId & IMAGE_TYPE_TRANSPARENT) { imageId = (baseImageId & ~IMAGE_TYPE_TRANSPARENT) + imageOffset; - PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), offset.z }, - { bounds.x, bounds.y, static_cast(bounds.z) }, { boundsOffset.x, boundsOffset.y, boundsOffset.z }); + PaintAddImageAsParent(session, imageId, offset, bounds, boundsOffset); uint32_t edi = session->TrackColours[SCHEME_TRACK] & (0b11111 << 19); @@ -1034,8 +1032,8 @@ void track_paint_util_right_helix_up_small_quarter_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index][0]); PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, - { boundsLength.x, boundsLength.y, thickness[0] }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); + session, imageId, { offset, height }, { boundsLength, thickness[0] }, + { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } if (sprites[direction][index][1] != 0) { @@ -1044,9 +1042,7 @@ void track_paint_util_right_helix_up_small_quarter_tiles_paint( CoordsXY boundsLength = boundsLengths[direction][index][1]; CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index][1]); - PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, - { boundsLength.x, boundsLength.y, thickness[1] }, boundsOffset); + PaintAddImageAsParent(session, imageId, { offset, height }, { boundsLength, thickness[1] }, boundsOffset); } } @@ -1132,8 +1128,8 @@ void track_paint_util_right_helix_up_large_quarter_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index][0]); PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, - { boundsLength.x, boundsLength.y, thickness[0] }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); + session, imageId, { offset, height }, { boundsLength, thickness[0] }, + { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } if (sprites[direction][index][1] != 0) { @@ -1143,8 +1139,8 @@ void track_paint_util_right_helix_up_large_quarter_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index][1]); PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, - { boundsLength.x, boundsLength.y, thickness[1] }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); + session, imageId, { offset, height }, { boundsLength, thickness[1] }, + { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } } @@ -1344,8 +1340,8 @@ void track_paint_util_diag_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction]); PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, - { boundsLength.x, boundsLength.y, thickness }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); + session, imageId, { offset, height }, { boundsLength, thickness }, + { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } const uint8_t mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[] = { @@ -1752,11 +1748,11 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_3( return; } const sprite_bb* spriteBB = &sprites[direction][sprite]; + const auto& offset = spriteBB->offset; + const auto& bbOffset = spriteBB->bb_offset; PaintAddImageAsParent( - session, spriteBB->sprite_id | colourFlags, - { static_cast(spriteBB->offset.x), static_cast(spriteBB->offset.y), spriteBB->offset.z + height }, - { spriteBB->bb_size.x, spriteBB->bb_size.y, static_cast(spriteBB->bb_size.z) }, - { spriteBB->bb_offset.x, spriteBB->bb_offset.y, height + spriteBB->bb_offset.z }); + session, spriteBB->sprite_id | colourFlags, { offset.x, offset.y, offset.z + height }, spriteBB->bb_size, + { bbOffset.x, bbOffset.y, height + bbOffset.z }); } void track_paint_util_right_quarter_turn_3_tiles_paint_4( diff --git a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp index 8d5cb5bed1..46bd0265b5 100644 --- a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp @@ -3162,9 +3162,10 @@ void junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_down( break; } if (imageId != 0) + { PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, - { boundsLength.x, boundsLength.y, 1 }, { boundsOffset.x, boundsOffset.y, height }); + session, imageId, { offset, height }, { boundsLength.x, boundsLength.y, 1 }, { boundsOffset, height }); + } if (direction == 0 && trackSequence == 0) { From a5d2939108affb27c228feee0737cd9025c5b7e4 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Fri, 20 Aug 2021 23:18:00 +0300 Subject: [PATCH 10/59] Use CoordsXY for rct_crooked_house_bound_box and correct arg passing --- src/openrct2/ride/gentle/CrookedHouse.cpp | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/openrct2/ride/gentle/CrookedHouse.cpp b/src/openrct2/ride/gentle/CrookedHouse.cpp index 32286cb425..dad4dfda77 100644 --- a/src/openrct2/ride/gentle/CrookedHouse.cpp +++ b/src/openrct2/ride/gentle/CrookedHouse.cpp @@ -16,17 +16,15 @@ struct rct_crooked_house_bound_box { - int16_t offset_x; - int16_t offset_y; - int16_t length_x; - int16_t length_y; + CoordsXY offset; + CoordsXY length; }; -static constexpr const 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 } }; +static constexpr const 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 } } }; /** * rct2: 0x0088ABA4 @@ -56,10 +54,9 @@ static void paint_crooked_house_structure( uint32_t image_id = (direction + rideEntry->vehicles[0].base_image_id) | session->TrackColours[SCHEME_MISC]; - rct_crooked_house_bound_box boundBox = crooked_house_data[segment]; + const rct_crooked_house_bound_box& boundBox = crooked_house_data[segment]; PaintAddImageAsParent( - session, image_id, { x_offset, y_offset, height + 3 }, { boundBox.length_x, boundBox.length_y, 127 }, - { boundBox.offset_x, boundBox.offset_y, height + 3 }); + session, image_id, { x_offset, y_offset, height + 3 }, { boundBox.length, 127 }, { boundBox.offset, height + 3 }); } static void paint_crooked_house( From 5f49276d53745dd981d73cdfac0704285e89fcfe Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Fri, 20 Aug 2021 23:22:00 +0300 Subject: [PATCH 11/59] Use CoordsXY for ferris_wheel_bound_box and correct arg passing --- src/openrct2/ride/gentle/FerrisWheel.cpp | 33 +++++++++++------------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/src/openrct2/ride/gentle/FerrisWheel.cpp b/src/openrct2/ride/gentle/FerrisWheel.cpp index 9e2b3b5005..c3a0e0e1c6 100644 --- a/src/openrct2/ride/gentle/FerrisWheel.cpp +++ b/src/openrct2/ride/gentle/FerrisWheel.cpp @@ -32,18 +32,16 @@ static constexpr const uint8_t edges_1x4_nw_se[] = { struct ferris_wheel_bound_box { - int16_t length_x; - int16_t length_y; - int16_t offset_x; - int16_t offset_y; + CoordsXY length; + CoordsXY offset; }; /** 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 }, +static constexpr ferris_wheel_bound_box ferris_wheel_data[] = { + { { 31, 16 }, { 1, 8 } }, + { { 16, 31 }, { 8, 1 } }, + { { 31, 16 }, { 1, 8 } }, + { { 16, 31 }, { 8, 1 } }, }; /** @@ -89,17 +87,16 @@ static void paint_ferris_wheel_structure( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim); } - ferris_wheel_bound_box boundBox = ferris_wheel_data[direction]; + const ferris_wheel_bound_box& boundBox = ferris_wheel_data[direction]; imageId = (22150 + (direction & 1) * 2) | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, { xOffset, yOffset, height }, { boundBox.length_x, boundBox.length_y, 127 }, - { boundBox.offset_x, boundBox.offset_y, height }); + session, imageId, { xOffset, yOffset, height }, { boundBox.length, 127 }, { boundBox.offset, height }); imageId = (baseImageId + direction * 8 + imageOffset) | imageColourFlags; PaintAddImageAsChild( - session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, imageId, xOffset, yOffset, boundBox.length.x, boundBox.length.y, 127, height, boundBox.offset.x, + boundBox.offset.y, height); if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK && vehicle != nullptr) { @@ -115,15 +112,15 @@ static void paint_ferris_wheel_structure( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[i], vehicle->peep_tshirt_colours[i + 1]); imageId = (baseImageId + 32 + direction * 128 + frameNum) | imageColourFlags; PaintAddImageAsChild( - session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, imageId, xOffset, yOffset, boundBox.length.x, boundBox.length.y, 127, height, boundBox.offset.x, + boundBox.offset.y, height); } } imageId = (22150 + (direction & 1) * 2 + 1) | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild( - session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, imageId, xOffset, yOffset, boundBox.length.x, boundBox.length.y, 127, height, boundBox.offset.x, + boundBox.offset.y, height); session->CurrentlyDrawnItem = savedTileElement; session->InteractionType = ViewportInteractionItem::Ride; From 77b06cbf9a717605e825c67b9c4106fe9ccad381 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Fri, 20 Aug 2021 23:24:10 +0300 Subject: [PATCH 12/59] Use CoordsXY for haunted_house_bound_box and correct arg passing --- src/openrct2/ride/gentle/HauntedHouse.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/openrct2/ride/gentle/HauntedHouse.cpp b/src/openrct2/ride/gentle/HauntedHouse.cpp index 0a6c80e1c3..1c120deba4 100644 --- a/src/openrct2/ride/gentle/HauntedHouse.cpp +++ b/src/openrct2/ride/gentle/HauntedHouse.cpp @@ -17,15 +17,14 @@ struct haunted_house_bound_box { - int16_t offset_x; - int16_t offset_y; - int16_t length_x; - int16_t length_y; + CoordsXY offset; + CoordsXY length; }; /** rct2: 0x1428180 */ -static haunted_house_bound_box haunted_house_data[] = { - { 6, 0, 42, 24 }, { 0, 0, 0, 0 }, { -16, -16, 32, 32 }, { 0, 0, 0, 0 }, { 0, 6, 24, 42 }, { 0, 0, 0, 0 }, +static constexpr haunted_house_bound_box haunted_house_data[] = { + { { 6, 0 }, { 42, 24 } }, { { 0, 0 }, { 0, 0 } }, { { -16, -16 }, { 32, 32 } }, + { { 0, 0 }, { 0, 0 } }, { { 0, 6 }, { 24, 42 } }, { { 0, 0 }, { 0, 0 } }, }; /** @@ -56,10 +55,10 @@ static void paint_haunted_house_structure( } uint32_t imageId = (baseImageId + direction) | session->TrackColours[SCHEME_MISC]; - haunted_house_bound_box boundBox = haunted_house_data[part]; + + const haunted_house_bound_box& boundBox = haunted_house_data[part]; PaintAddImageAsParent( - session, imageId, { xOffset, yOffset, height }, { boundBox.length_x, boundBox.length_y, 127 }, - { boundBox.offset_x, boundBox.offset_y, height }); + session, imageId, { xOffset, yOffset, height }, { boundBox.length, 127 }, { boundBox.offset, height }); rct_drawpixelinfo* dpi = &session->DPI; if (dpi->zoom_level <= 0 && frameNum != 0) @@ -81,8 +80,8 @@ static void paint_haunted_house_structure( } imageId = imageId | session->TrackColours[SCHEME_MISC]; PaintAddImageAsChild( - session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, imageId, xOffset, yOffset, boundBox.length.x, boundBox.length.y, 127, height, boundBox.offset.x, + boundBox.offset.y, height); } session->CurrentlyDrawnItem = savedTileElement; From 15e32ce5f8cf303cf4061bb499cb8ddd35e6a9e1 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Fri, 20 Aug 2021 23:30:14 +0300 Subject: [PATCH 13/59] Simplify some arg passing on PaintAddImageAsParent --- .../ride/transport/MiniatureRailway.cpp | 42 +++++++------------ 1 file changed, 15 insertions(+), 27 deletions(-) diff --git a/src/openrct2/ride/transport/MiniatureRailway.cpp b/src/openrct2/ride/transport/MiniatureRailway.cpp index 1b5558df4c..cb599947e4 100644 --- a/src/openrct2/ride/transport/MiniatureRailway.cpp +++ b/src/openrct2/ride/transport/MiniatureRailway.cpp @@ -1442,9 +1442,7 @@ static void paint_miniature_railway_track_left_eighth_to_diag( bounds = miniature_railway_track_pieces_right_eight_to_orthog_bounds[direction][index]; offset = miniature_railway_track_pieces_right_eight_to_orthog_offset[direction][index]; } - PaintAddImageAsParent( - session, imageId, { 0, 0, height }, { bounds.x, bounds.y, static_cast(bounds.z) }, - { offset.x, offset.y, height }); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, bounds, { offset, height }); } } else @@ -1453,9 +1451,7 @@ static void paint_miniature_railway_track_left_eighth_to_diag( | session->TrackColours[SCHEME_SUPPORTS]; CoordsXY offset = miniature_railway_track_floor_pieces_left_eight_to_diag_offset[direction][trackSequence]; CoordsXYZ bounds = miniature_railway_track_floor_pieces_left_eight_to_diag_bounds[direction][trackSequence]; - PaintAddImageAsParent( - session, imageId, { 0, 0, height }, { bounds.x, bounds.y, static_cast(bounds.z) }, - { offset.x, offset.y, height }); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, bounds, { offset, height }); int8_t index = paint_miniature_railway_eighth_to_diag_index[trackSequence]; if (index >= 0) @@ -1584,9 +1580,7 @@ static void paint_miniature_railway_track_right_eighth_to_diag( bounds = miniature_railway_track_pieces_left_eight_to_orthog_bounds[direction][index]; offset = miniature_railway_track_pieces_left_eight_to_orthog_offset[direction][index]; } - PaintAddImageAsParent( - session, imageId, { 0, 0, height }, { bounds.x, bounds.y, static_cast(bounds.z) }, - { offset.x, offset.y, height }); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, bounds, { offset, height }); } } else @@ -1595,9 +1589,7 @@ static void paint_miniature_railway_track_right_eighth_to_diag( | session->TrackColours[SCHEME_SUPPORTS]; CoordsXY offset = miniature_railway_track_floor_pieces_right_eight_to_diag_offset[direction][trackSequence]; CoordsXYZ bounds = miniature_railway_track_floor_pieces_right_eight_to_diag_bounds[direction][trackSequence]; - PaintAddImageAsParent( - session, imageId, { 0, 0, height }, { bounds.x, bounds.y, static_cast(bounds.z) }, - { offset.x, offset.y, height }); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, bounds, { offset, height }); int8_t index = paint_miniature_railway_eighth_to_diag_index[trackSequence]; if (index >= 0) @@ -1714,7 +1706,7 @@ static void miniature_railway_track_diag_flat( { PaintAddImageAsParent( session, floorImage | session->TrackColours[SCHEME_SUPPORTS], { 0, 0, height }, - { floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0) }, { floorBoundOffset.x, floorBoundOffset.y, height }); + { floorBoundSize, (drawRail ? 2 : 0) }, { floorBoundOffset, height }); if (drawRail) { PaintAddImageAsChild( @@ -1809,9 +1801,8 @@ static void miniature_railway_track_diag_25_deg_up( { PaintAddImageAsParent( session, floorImage | session->TrackColours[SCHEME_SUPPORTS], - { 0, 0, height + offsetsB[direction][trackSequence][0] }, - { floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0) }, - { floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1] }); + { 0, 0, height + offsetsB[direction][trackSequence][0] }, { floorBoundSize, (drawRail ? 2 : 0) }, + { floorBoundOffset, height + offsetsB[direction][trackSequence][1] }); if (drawRail) { PaintAddImageAsChild( @@ -1863,7 +1854,7 @@ static void miniature_railway_track_diag_flat_to_25_deg_up( { PaintAddImageAsParent( session, floorImage | session->TrackColours[SCHEME_SUPPORTS], { 0, 0, height }, - { floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0) }, { floorBoundOffset.x, floorBoundOffset.y, height }); + { floorBoundSize, (drawRail ? 2 : 0) }, { floorBoundOffset, height }); if (drawRail) { PaintAddImageAsChild( @@ -1937,9 +1928,8 @@ static void miniature_railway_track_diag_25_deg_up_to_flat( { PaintAddImageAsParent( session, floorImage | session->TrackColours[SCHEME_SUPPORTS], - { 0, 0, height + offsetsB[direction][trackSequence][0] }, - { floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0) }, - { floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1] }); + { 0, 0, height + offsetsB[direction][trackSequence][0] }, { floorBoundSize, (drawRail ? 2 : 0) }, + { floorBoundOffset, height + offsetsB[direction][trackSequence][1] }); if (drawRail) { PaintAddImageAsChild( @@ -2013,9 +2003,8 @@ static void miniature_railway_track_diag_25_deg_down( { PaintAddImageAsParent( session, floorImage | session->TrackColours[SCHEME_SUPPORTS], - { 0, 0, height + offsetsB[direction][trackSequence][0] }, - { floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0) }, - { floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1] }); + { 0, 0, height + offsetsB[direction][trackSequence][0] }, { floorBoundSize, (drawRail ? 2 : 0) }, + { floorBoundOffset, height + offsetsB[direction][trackSequence][1] }); if (drawRail) { PaintAddImageAsChild( @@ -2088,9 +2077,8 @@ static void miniature_railway_track_diag_flat_to_25_deg_down( { PaintAddImageAsParent( session, floorImage | session->TrackColours[SCHEME_SUPPORTS], - { 0, 0, height + offsetsB[direction][trackSequence][0] }, - { floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0) }, - { floorBoundOffset.x, floorBoundOffset.y, height + offsetsB[direction][trackSequence][1] }); + { 0, 0, height + offsetsB[direction][trackSequence][0] }, { floorBoundSize, (drawRail ? 2 : 0) }, + { floorBoundOffset, height + offsetsB[direction][trackSequence][1] }); if (drawRail) { PaintAddImageAsChild( @@ -2140,7 +2128,7 @@ static void miniature_railway_track_diag_25_deg_down_to_flat( { PaintAddImageAsParent( session, floorImage | session->TrackColours[SCHEME_SUPPORTS], { 0, 0, height }, - { floorBoundSize.x, floorBoundSize.y, (drawRail ? 2 : 0) }, { floorBoundOffset.x, floorBoundOffset.y, height }); + { floorBoundSize, (drawRail ? 2 : 0) }, { floorBoundOffset, height }); if (drawRail) { PaintAddImageAsChild( From a38ae68f09bb22c4f2a221f992157d7e13a394c1 Mon Sep 17 00:00:00 2001 From: Michael Steenbeek Date: Fri, 20 Aug 2021 23:27:58 +0200 Subject: [PATCH 14/59] Remove Paint.cpp assertions Before the refactor, the assertion read like this: ``` assert(static_cast(bound_box_length_x) == static_cast(bound_box_length_x)); ``` which meant that bound_box_length_x = 0 was valid. The refactor (likely accidentally) changed this, which causes assertions to get hit within 2 seconds after opening on my machine. According to Duncan, the asserts are no longer necessary at all, so remove them altogether. --- src/openrct2/paint/Paint.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/openrct2/paint/Paint.cpp b/src/openrct2/paint/Paint.cpp index f4d9913b37..ae49f096eb 100644 --- a/src/openrct2/paint/Paint.cpp +++ b/src/openrct2/paint/Paint.cpp @@ -801,9 +801,6 @@ paint_struct* PaintAddImageAsParent( int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset, int32_t bound_box_offset_x, int32_t bound_box_offset_y, int32_t bound_box_offset_z) { - assert(bound_box_length_x > 0); - assert(bound_box_length_y > 0); - session->LastPS = nullptr; session->LastAttachedPS = nullptr; @@ -863,8 +860,6 @@ paint_struct* PaintAddImageAsChild( int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset, int32_t bound_box_offset_x, int32_t bound_box_offset_y, int32_t bound_box_offset_z) { - assert(bound_box_length_x > 0); - assert(bound_box_length_y > 0); return PaintAddImageAsChild( session, image_id, { x_offset, y_offset, z_offset }, { bound_box_length_x, bound_box_length_y, bound_box_length_z }, { bound_box_offset_x, bound_box_offset_y, bound_box_offset_z }); From 6011478590949b219fa08c9c18b14f9a247f97e3 Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Fri, 20 Aug 2021 23:38:15 +0200 Subject: [PATCH 15/59] Directly use std::unique_ptr prvalues This removes the unnecessary constructor calls and improves flexibility in case of typename changes. All cases, except for the one in Context.cpp, are temporaries. --- src/openrct2-ui/scripting/ScTitleSequence.hpp | 3 +-- src/openrct2-ui/windows/TitleEditor.cpp | 2 +- src/openrct2/Context.cpp | 2 +- src/openrct2/cmdline/RootCommands.cpp | 3 +-- src/openrct2/config/Config.cpp | 8 +++----- src/openrct2/title/TitleSequence.cpp | 4 ++-- 6 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/openrct2-ui/scripting/ScTitleSequence.hpp b/src/openrct2-ui/scripting/ScTitleSequence.hpp index 4e5d889015..5b158d176b 100644 --- a/src/openrct2-ui/scripting/ScTitleSequence.hpp +++ b/src/openrct2-ui/scripting/ScTitleSequence.hpp @@ -11,7 +11,6 @@ #ifdef ENABLE_SCRIPTING -# include # include # include # include @@ -209,7 +208,7 @@ namespace OpenRCT2::Scripting try { auto& objectMgr = GetContext()->GetObjectManager(); - auto parkImporter = std::unique_ptr(ParkImporter::Create(handle->HintPath)); + auto parkImporter = ParkImporter::Create(handle->HintPath); auto result = parkImporter->LoadFromStream(handle->Stream.get(), isScenario); objectMgr.LoadObjects(result.RequiredObjects.data(), result.RequiredObjects.size()); parkImporter->Import(); diff --git a/src/openrct2-ui/windows/TitleEditor.cpp b/src/openrct2-ui/windows/TitleEditor.cpp index 78b48d5211..4b9e4fe2a8 100644 --- a/src/openrct2-ui/windows/TitleEditor.cpp +++ b/src/openrct2-ui/windows/TitleEditor.cpp @@ -351,7 +351,7 @@ static void window_title_editor_mouseup(rct_window* w, rct_widgetindex widgetInd try { auto& objectMgr = OpenRCT2::GetContext()->GetObjectManager(); - auto parkImporter = std::unique_ptr(ParkImporter::Create(handle->HintPath)); + auto parkImporter = ParkImporter::Create(handle->HintPath); auto result = parkImporter->LoadFromStream(handle->Stream.get(), isScenario); objectMgr.LoadObjects(result.RequiredObjects.data(), result.RequiredObjects.size()); parkImporter->Import(); diff --git a/src/openrct2/Context.cpp b/src/openrct2/Context.cpp index d0f739970e..59438d3054 100644 --- a/src/openrct2/Context.cpp +++ b/src/openrct2/Context.cpp @@ -524,7 +524,7 @@ namespace OpenRCT2 { drawingEngine->Initialise(); drawingEngine->SetVSync(gConfigGeneral.use_vsync); - _drawingEngine = std::unique_ptr(std::move(drawingEngine)); + _drawingEngine = std::move(drawingEngine); } catch (const std::exception& ex) { diff --git a/src/openrct2/cmdline/RootCommands.cpp b/src/openrct2/cmdline/RootCommands.cpp index b074e0b785..60782dd77a 100644 --- a/src/openrct2/cmdline/RootCommands.cpp +++ b/src/openrct2/cmdline/RootCommands.cpp @@ -26,7 +26,6 @@ #include #include -#include #include #ifdef USE_BREAKPAD @@ -406,7 +405,7 @@ static exitcode_t HandleCommandScanObjects([[maybe_unused]] CommandLineArgEnumer gOpenRCT2Headless = true; gOpenRCT2NoGraphics = true; - auto context = std::unique_ptr(OpenRCT2::CreateContext()); + auto context = OpenRCT2::CreateContext(); auto env = context->GetPlatformEnvironment(); auto objectRepository = CreateObjectRepository(env); objectRepository->Construct(gConfigGeneral.language); diff --git a/src/openrct2/config/Config.cpp b/src/openrct2/config/Config.cpp index 8e2a232172..783697a7b7 100644 --- a/src/openrct2/config/Config.cpp +++ b/src/openrct2/config/Config.cpp @@ -37,8 +37,6 @@ #include "IniReader.hpp" #include "IniWriter.hpp" -#include - using namespace OpenRCT2; using namespace OpenRCT2::Ui; @@ -565,7 +563,7 @@ namespace Config { try { - auto reader = std::unique_ptr(CreateDefaultIniReader()); + auto reader = CreateDefaultIniReader(); ReadGeneral(reader.get()); ReadInterface(reader.get()); ReadSound(reader.get()); @@ -586,7 +584,7 @@ namespace Config try { auto fs = FileStream(path, FILE_MODE_OPEN); - auto reader = std::unique_ptr(CreateIniReader(&fs)); + auto reader = CreateIniReader(&fs); ReadGeneral(reader.get()); ReadInterface(reader.get()); ReadSound(reader.get()); @@ -610,7 +608,7 @@ namespace Config Path::CreateDirectory(directory); auto fs = FileStream(path, FILE_MODE_WRITE); - auto writer = std::unique_ptr(CreateIniWriter(&fs)); + auto writer = CreateIniWriter(&fs); WriteGeneral(writer.get()); WriteInterface(writer.get()); WriteSound(writer.get()); diff --git a/src/openrct2/title/TitleSequence.cpp b/src/openrct2/title/TitleSequence.cpp index c5e47ca72a..66b2b39515 100644 --- a/src/openrct2/title/TitleSequence.cpp +++ b/src/openrct2/title/TitleSequence.cpp @@ -53,7 +53,7 @@ std::unique_ptr LoadTitleSequence(const std::string& path) auto ext = Path::GetExtension(path); if (String::Equals(ext, TITLE_SEQUENCE_EXTENSION)) { - auto zip = std::unique_ptr(Zip::TryOpen(path, ZIP_ACCESS::READ)); + auto zip = Zip::TryOpen(path, ZIP_ACCESS::READ); if (zip == nullptr) { Console::Error::WriteLine("Unable to open '%s'", path.c_str()); @@ -103,7 +103,7 @@ std::unique_ptr TitleSequenceGetParkHandle(const TitleS const auto& filename = seq.Saves[index]; if (seq.IsZip) { - auto zip = std::unique_ptr(Zip::TryOpen(seq.Path, ZIP_ACCESS::READ)); + auto zip = Zip::TryOpen(seq.Path, ZIP_ACCESS::READ); if (zip != nullptr) { auto data = zip->GetFileData(filename); From 8d801d9126ba5625794e578eca76cb940cd4147b Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Sat, 21 Aug 2021 01:10:36 +0300 Subject: [PATCH 16/59] Apply review suggestion --- src/openrct2-ui/windows/Player.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openrct2-ui/windows/Player.cpp b/src/openrct2-ui/windows/Player.cpp index 10c70f0c85..4e10af0025 100644 --- a/src/openrct2-ui/windows/Player.cpp +++ b/src/openrct2-ui/windows/Player.cpp @@ -279,7 +279,7 @@ void window_player_overview_dropdown(rct_window* w, rct_widgetindex widgetIndex, const auto groupId = network_get_group_id(dropdownIndex); const auto windowHandle = std::make_pair(w->classification, w->number); auto playerSetGroupAction = PlayerSetGroupAction(playerId, groupId); - playerSetGroupAction.SetCallback([=](const GameAction* ga, const GameActions::Result* result) { + playerSetGroupAction.SetCallback([windowHandle](const GameAction* ga, const GameActions::Result* result) { if (result->Error == GameActions::Status::Ok) { window_invalidate_by_number(windowHandle.first, windowHandle.second); From cef26400cf3a7c55a91b3f5e3ea0ef5001557504 Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Fri, 20 Aug 2021 23:42:03 +0200 Subject: [PATCH 17/59] Use std::make_unique instead of new for arrays --- src/openrct2/CmdlineSprite.cpp | 2 +- src/openrct2/core/DataSerialiserTraits.h | 2 +- src/openrct2/rct12/SawyerChunkReader.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/openrct2/CmdlineSprite.cpp b/src/openrct2/CmdlineSprite.cpp index 8d44a95546..a0ecfed2db 100644 --- a/src/openrct2/CmdlineSprite.cpp +++ b/src/openrct2/CmdlineSprite.cpp @@ -185,7 +185,7 @@ bool SpriteFile::Save(const utf8* path) static bool SpriteImageExport(const rct_g1_element& spriteElement, const char* outPath) { const auto pixelBufferSize = spriteElement.width * spriteElement.height; - std::unique_ptr pixelBuffer(new uint8_t[pixelBufferSize]); + auto pixelBuffer = std::make_unique(pixelBufferSize); auto pixels = pixelBuffer.get(); std::fill_n(pixels, pixelBufferSize, 0x00); diff --git a/src/openrct2/core/DataSerialiserTraits.h b/src/openrct2/core/DataSerialiserTraits.h index 4fdcbaf464..7284f69851 100644 --- a/src/openrct2/core/DataSerialiserTraits.h +++ b/src/openrct2/core/DataSerialiserTraits.h @@ -284,7 +284,7 @@ template<> struct DataSerializerTraits_t uint32_t length = 0; s.decode(stream, length); - std::unique_ptr buf(new uint8_t[length]); + auto buf = std::make_unique(length); stream->Read(buf.get(), length); val.Write(buf.get(), length); diff --git a/src/openrct2/rct12/SawyerChunkReader.cpp b/src/openrct2/rct12/SawyerChunkReader.cpp index cf03dfdc5b..b8240009f6 100644 --- a/src/openrct2/rct12/SawyerChunkReader.cpp +++ b/src/openrct2/rct12/SawyerChunkReader.cpp @@ -65,7 +65,7 @@ std::shared_ptr SawyerChunkReader::ReadChunk() case CHUNK_ENCODING_RLECOMPRESSED: case CHUNK_ENCODING_ROTATE: { - std::unique_ptr compressedData(new uint8_t[header.length]); + auto compressedData = std::make_unique(header.length); if (_stream->TryRead(compressedData.get(), header.length) != header.length) { throw SawyerChunkException(EXCEPTION_MSG_CORRUPT_CHUNK_SIZE); From be4159f9ac6adf33d0ea5b34b451584da77efb14 Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Fri, 20 Aug 2021 23:47:16 +0200 Subject: [PATCH 18/59] Create std::unique_ptrinstead of raw pointer --- src/openrct2/localisation/LanguagePack.cpp | 13 +++++++------ src/openrct2/localisation/LanguagePack.h | 5 +++-- src/openrct2/localisation/LocalisationService.cpp | 5 ++--- test/tests/LanguagePackTest.cpp | 12 ++++-------- 4 files changed, 16 insertions(+), 19 deletions(-) diff --git a/src/openrct2/localisation/LanguagePack.cpp b/src/openrct2/localisation/LanguagePack.cpp index b17e29017d..4f75eab211 100644 --- a/src/openrct2/localisation/LanguagePack.cpp +++ b/src/openrct2/localisation/LanguagePack.cpp @@ -20,6 +20,7 @@ #include "Localisation.h" #include +#include #include #include @@ -62,7 +63,7 @@ private: ScenarioOverride* _currentScenarioOverride = nullptr; public: - static LanguagePack* FromFile(uint16_t id, const utf8* path) + static std::unique_ptr FromFile(uint16_t id, const utf8* path) { Guard::ArgumentNotNull(path); @@ -90,15 +91,15 @@ public: } // Parse the memory as text - LanguagePack* result = FromText(id, fileData); + auto result = FromText(id, fileData); Memory::Free(fileData); return result; } - static LanguagePack* FromText(uint16_t id, const utf8* text) + static std::unique_ptr FromText(uint16_t id, const utf8* text) { - return new LanguagePack(id, text); + return std::make_unique(id, text); } LanguagePack(uint16_t id, const utf8* text) @@ -579,13 +580,13 @@ private: namespace LanguagePackFactory { - ILanguagePack* FromFile(uint16_t id, const utf8* path) + std::unique_ptr FromFile(uint16_t id, const utf8* path) { auto languagePack = LanguagePack::FromFile(id, path); return languagePack; } - ILanguagePack* FromText(uint16_t id, const utf8* text) + std::unique_ptr FromText(uint16_t id, const utf8* text) { auto languagePack = LanguagePack::FromText(id, text); return languagePack; diff --git a/src/openrct2/localisation/LanguagePack.h b/src/openrct2/localisation/LanguagePack.h index e6301b9135..ef3a17bbbf 100644 --- a/src/openrct2/localisation/LanguagePack.h +++ b/src/openrct2/localisation/LanguagePack.h @@ -11,6 +11,7 @@ #include "../common.h" +#include #include #include @@ -30,6 +31,6 @@ struct ILanguagePack namespace LanguagePackFactory { - ILanguagePack* FromFile(uint16_t id, const utf8* path); - ILanguagePack* FromText(uint16_t id, const utf8* text); + std::unique_ptr FromFile(uint16_t id, const utf8* path); + std::unique_ptr FromText(uint16_t id, const utf8* text); } // namespace LanguagePackFactory diff --git a/src/openrct2/localisation/LocalisationService.cpp b/src/openrct2/localisation/LocalisationService.cpp index 15a1a23db6..965e177233 100644 --- a/src/openrct2/localisation/LocalisationService.cpp +++ b/src/openrct2/localisation/LocalisationService.cpp @@ -86,12 +86,11 @@ void LocalisationService::OpenLanguage(int32_t id) if (id != LANGUAGE_ENGLISH_UK) { filename = GetLanguagePath(LANGUAGE_ENGLISH_UK); - _languageFallback = std::unique_ptr( - LanguagePackFactory::FromFile(LANGUAGE_ENGLISH_UK, filename.c_str())); + _languageFallback = LanguagePackFactory::FromFile(LANGUAGE_ENGLISH_UK, filename.c_str()); } filename = GetLanguagePath(id); - _languageCurrent = std::unique_ptr(LanguagePackFactory::FromFile(id, filename.c_str())); + _languageCurrent = LanguagePackFactory::FromFile(id, filename.c_str()); if (_languageCurrent != nullptr) { _currentLanguage = id; diff --git a/test/tests/LanguagePackTest.cpp b/test/tests/LanguagePackTest.cpp index b6b3a0206f..d3a969e521 100644 --- a/test/tests/LanguagePackTest.cpp +++ b/test/tests/LanguagePackTest.cpp @@ -23,27 +23,25 @@ protected: TEST_F(LanguagePackTest, create_empty) { - ILanguagePack* empty = LanguagePackFactory::FromText(0, ""); + auto empty = LanguagePackFactory::FromText(0, ""); ASSERT_EQ(empty->GetId(), 0); ASSERT_EQ(empty->GetCount(), 0U); - delete empty; } TEST_F(LanguagePackTest, create_mutable_id_1) { - ILanguagePack* lang = LanguagePackFactory::FromText(1, "STR_0000:\n"); + auto lang = LanguagePackFactory::FromText(1, "STR_0000:\n"); ASSERT_EQ(lang->GetId(), 1); ASSERT_EQ(lang->GetCount(), 1U); ASSERT_STREQ(lang->GetString(0), nullptr); lang->SetString(0, "xx"); ASSERT_EQ(lang->GetCount(), 1U); ASSERT_STREQ(lang->GetString(0), "xx"); - delete lang; } TEST_F(LanguagePackTest, language_pack_simple) { - ILanguagePack* lang = LanguagePackFactory::FromText(0, LanguageEnGB); + auto lang = LanguagePackFactory::FromText(0, LanguageEnGB); ASSERT_EQ(lang->GetId(), 0); ASSERT_EQ(lang->GetCount(), 4U); ASSERT_STREQ(lang->GetString(2), "Spiral Roller Coaster"); @@ -55,12 +53,11 @@ TEST_F(LanguagePackTest, language_pack_simple) ASSERT_EQ(lang->GetString(1000), nullptr); ASSERT_EQ(lang->GetScenarioOverrideStringId("No such park", 0), STR_NONE); ASSERT_EQ(lang->GetObjectOverrideStringId(" ", 0), STR_NONE); - delete lang; } TEST_F(LanguagePackTest, language_pack_multibyte) { - ILanguagePack* lang = LanguagePackFactory::FromText(0, (const utf8*)LanguageZhTW); + auto lang = LanguagePackFactory::FromText(0, (const utf8*)LanguageZhTW); ASSERT_EQ(lang->GetId(), 0); ASSERT_EQ(lang->GetCount(), 4U); ASSERT_STREQ(lang->GetString(2), u8"懸吊式雲霄飛車"); @@ -70,7 +67,6 @@ TEST_F(LanguagePackTest, language_pack_multibyte) ASSERT_STREQ(lang->GetString(0x7002), u8"在隱藏於森林深處的清空範圍中, 建造一個很受歡迎的樂園"); ASSERT_EQ(lang->GetObjectOverrideStringId("CONDORRD", 0), 0x6000); ASSERT_STREQ(lang->GetString(0x6000), u8"神鷹暢遊"); - delete lang; } const utf8* LanguagePackTest::LanguageEnGB = "# STR_XXXX part is read and XXXX becomes the string id number.\n" From d8997cd60fcff2296c71e427865b1c0788d33743 Mon Sep 17 00:00:00 2001 From: OpenRCT2 git bot Date: Sat, 21 Aug 2021 04:07:57 +0000 Subject: [PATCH 19/59] Merge Localisation/master into OpenRCT2/develop --- data/language/ko-KR.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/data/language/ko-KR.txt b/data/language/ko-KR.txt index 0b2aa1aec2..2e57f042b9 100644 --- a/data/language/ko-KR.txt +++ b/data/language/ko-KR.txt @@ -3656,6 +3656,7 @@ STR_6452 :{WINDOW_COLOUR_2}판매: {BLACK}{STRING} STR_6453 :버전 정보 복사 STR_6454 :팻말 이름을 변경할 수 없습니다… STR_6455 :팻말 이름을 변경할 수 없습니다… +STR_6456 :초대형 스크린 샷 ############# # Scenarios # From f5935931e307abd99641270d1230e479623d697a Mon Sep 17 00:00:00 2001 From: Michael Steenbeek Date: Sat, 21 Aug 2021 09:42:05 +0200 Subject: [PATCH 20/59] Port remaining DrawTextWrapped calls with void args to Formatter --- src/openrct2-ui/windows/Multiplayer.cpp | 10 ++++++---- src/openrct2-ui/windows/Research.cpp | 18 ++++++++++++------ src/openrct2-ui/windows/Ride.cpp | 11 +++++++---- src/openrct2-ui/windows/TextInput.cpp | 9 ++++++--- src/openrct2-ui/windows/TrackDesignManage.cpp | 4 +++- src/openrct2/drawing/Text.cpp | 11 +++-------- src/openrct2/drawing/Text.h | 3 --- src/openrct2/interface/Chat.cpp | 5 +++-- 8 files changed, 40 insertions(+), 31 deletions(-) diff --git a/src/openrct2-ui/windows/Multiplayer.cpp b/src/openrct2-ui/windows/Multiplayer.cpp index 0f4e52b165..bd0b16afd3 100644 --- a/src/openrct2-ui/windows/Multiplayer.cpp +++ b/src/openrct2-ui/windows/Multiplayer.cpp @@ -415,16 +415,18 @@ static void window_multiplayer_information_paint(rct_window* w, rct_drawpixelinf const utf8* name = network_get_server_name(); { - screenCoords.y += DrawTextWrapped( - dpi, screenCoords, width, STR_STRING, static_cast(&name), { w->colours[1] }); + auto ft = Formatter(); + ft.Add(name); + screenCoords.y += DrawTextWrapped(dpi, screenCoords, width, STR_STRING, ft, { w->colours[1] }); screenCoords.y += LIST_ROW_HEIGHT / 2; } const utf8* description = network_get_server_description(); if (!str_is_null_or_empty(description)) { - screenCoords.y += DrawTextWrapped( - dpi, screenCoords, width, STR_STRING, static_cast(&description), { w->colours[1] }); + auto ft = Formatter(); + ft.Add(description); + screenCoords.y += DrawTextWrapped(dpi, screenCoords, width, STR_STRING, ft, { w->colours[1] }); screenCoords.y += LIST_ROW_HEIGHT / 2; } diff --git a/src/openrct2-ui/windows/Research.cpp b/src/openrct2-ui/windows/Research.cpp index 708de4aed7..54ab4c7b2e 100644 --- a/src/openrct2-ui/windows/Research.cpp +++ b/src/openrct2-ui/windows/Research.cpp @@ -288,7 +288,6 @@ void window_research_development_page_paint(rct_window* w, rct_drawpixelinfo* dp auto screenCoords = w->windowPos + ScreenCoordsXY{ 10, w->widgets[WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP + baseWidgetIndex].top + 12 }; - rct_string_id stringId; if (gResearchProgressStage == RESEARCH_STAGE_FINISHED_ALL) { @@ -341,16 +340,20 @@ void window_research_development_page_paint(rct_window* w, rct_drawpixelinfo* dp } } } - DrawTextWrapped(dpi, screenCoords, 296, label, &strings); + auto ft = Formatter(); + ft.Add(strings[0]); + ft.Add(strings[1]); + DrawTextWrapped(dpi, screenCoords, 296, label, ft); screenCoords.y += 25; // Progress - stringId = ResearchStageNames[gResearchProgressStage]; - DrawTextWrapped(dpi, screenCoords, 296, STR_RESEARCH_PROGRESS_LABEL, &stringId); + ft = Formatter(); + ft.Add(ResearchStageNames[gResearchProgressStage]); + DrawTextWrapped(dpi, screenCoords, 296, STR_RESEARCH_PROGRESS_LABEL, ft); screenCoords.y += 15; // Expected - auto ft = Formatter(); + ft = Formatter(); if (gResearchProgressStage != RESEARCH_STAGE_INITIAL_RESEARCH && gResearchExpectedDay != 255) { // TODO: Should probably use game date format setting @@ -395,7 +398,10 @@ void window_research_development_page_paint(rct_window* w, rct_drawpixelinfo* dp } } - DrawTextWrapped(dpi, screenCoords, 266, lastDevelopmentFormat, &strings); + auto ft = Formatter(); + ft.Add(strings[0]); + ft.Add(strings[1]); + DrawTextWrapped(dpi, screenCoords, 266, lastDevelopmentFormat, ft); } } diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index a1440b29db..e44d140d7a 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -2931,12 +2931,13 @@ static void window_ride_vehicle_paint(rct_window* w, rct_drawpixelinfo* dpi) auto screenCoords = w->windowPos + ScreenCoordsXY{ 8, 64 }; // Description - screenCoords.y += DrawTextWrapped( - dpi, screenCoords, 300, STR_BLACK_STRING, &rideEntry->naming.Description, { TextAlignment::LEFT }); + auto ft = Formatter(); + ft.Add(rideEntry->naming.Description); + screenCoords.y += DrawTextWrapped(dpi, screenCoords, 300, STR_BLACK_STRING, ft, { TextAlignment::LEFT }); screenCoords.y += 2; // Capacity - auto ft = Formatter(); + ft = Formatter(); ft.Add(rideEntry->capacity); DrawTextBasic(dpi, screenCoords, STR_CAPACITY, ft); @@ -6941,7 +6942,9 @@ static void window_ride_customer_paint(rct_window* w, rct_drawpixelinfo* dpi) { queueTime = ride->GetMaxQueueTime(); stringId = queueTime == 1 ? STR_QUEUE_TIME_MINUTE : STR_QUEUE_TIME_MINUTES; - screenCoords.y += DrawTextWrapped(dpi, screenCoords, 308, stringId, &queueTime, { TextAlignment::LEFT }); + ft = Formatter(); + ft.Add(queueTime); + screenCoords.y += DrawTextWrapped(dpi, screenCoords, 308, stringId, ft, { TextAlignment::LEFT }); screenCoords.y += 5; } diff --git a/src/openrct2-ui/windows/TextInput.cpp b/src/openrct2-ui/windows/TextInput.cpp index 011a457914..e942ecd3e9 100644 --- a/src/openrct2-ui/windows/TextInput.cpp +++ b/src/openrct2-ui/windows/TextInput.cpp @@ -202,14 +202,17 @@ public: if (_descriptionStringId == STR_NONE) { - auto* text = _description.c_str(); + auto ft = Formatter(); + ft.Add(_description.c_str()); DrawTextWrapped( - &dpi, { windowPos.x + WW / 2, screenCoords.y }, WW, STR_STRING, &text, { colours[1], TextAlignment::CENTRE }); + &dpi, { windowPos.x + WW / 2, screenCoords.y }, WW, STR_STRING, ft, { colours[1], TextAlignment::CENTRE }); } else { + auto ft = Formatter(); + ft.Add(TextInputDescriptionArgs); DrawTextWrapped( - &dpi, { windowPos.x + WW / 2, screenCoords.y }, WW, _descriptionStringId, &TextInputDescriptionArgs, + &dpi, { windowPos.x + WW / 2, screenCoords.y }, WW, _descriptionStringId, ft, { colours[1], TextAlignment::CENTRE }); } diff --git a/src/openrct2-ui/windows/TrackDesignManage.cpp b/src/openrct2-ui/windows/TrackDesignManage.cpp index ffeedee4e8..26d3bf50d5 100644 --- a/src/openrct2-ui/windows/TrackDesignManage.cpp +++ b/src/openrct2-ui/windows/TrackDesignManage.cpp @@ -247,9 +247,11 @@ static void window_track_delete_prompt_paint(rct_window* w, rct_drawpixelinfo* d { WindowDrawWidgets(w, dpi); + auto ft = Formatter(); + ft.Add(_trackDesignFileReference->name); DrawTextWrapped( dpi, { w->windowPos.x + (WW_DELETE_PROMPT / 2), w->windowPos.y + ((WH_DELETE_PROMPT / 2) - 9) }, (WW_DELETE_PROMPT - 4), - STR_ARE_YOU_SURE_YOU_WANT_TO_PERMANENTLY_DELETE_TRACK, &_trackDesignFileReference->name, { TextAlignment::CENTRE }); + STR_ARE_YOU_SURE_YOU_WANT_TO_PERMANENTLY_DELETE_TRACK, ft, { TextAlignment::CENTRE }); } static void window_track_design_list_reload_tracks() diff --git a/src/openrct2/drawing/Text.cpp b/src/openrct2/drawing/Text.cpp index 0c5a150993..8782f5c85b 100644 --- a/src/openrct2/drawing/Text.cpp +++ b/src/openrct2/drawing/Text.cpp @@ -141,9 +141,11 @@ void gfx_draw_string_no_formatting( } int32_t DrawTextWrapped( - rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, int32_t width, rct_string_id format, const void* args, + rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, int32_t width, rct_string_id format, const Formatter& ft, TextPaint textPaint) { + const void* args = ft.Data(); + utf8 buffer[512]; format_string(buffer, sizeof(buffer), format, args); @@ -165,10 +167,3 @@ int32_t DrawTextWrapped( return layout.GetHeight(); } - -int32_t DrawTextWrapped( - rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, int32_t width, rct_string_id format, const Formatter& ft, - TextPaint textPaint) -{ - return DrawTextWrapped(dpi, coords, width, format, ft.Data(), textPaint); -} diff --git a/src/openrct2/drawing/Text.h b/src/openrct2/drawing/Text.h index c49093e8a3..87f3c63cfd 100644 --- a/src/openrct2/drawing/Text.h +++ b/src/openrct2/drawing/Text.h @@ -153,6 +153,3 @@ void DrawTextEllipsised( int32_t DrawTextWrapped( rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, int32_t width, rct_string_id format, const Formatter& ft = {}, TextPaint textPaint = {}); -int32_t DrawTextWrapped( - rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, int32_t width, rct_string_id format, const void* args, - TextPaint textPaint = {}); diff --git a/src/openrct2/interface/Chat.cpp b/src/openrct2/interface/Chat.cpp index 0a50e66ebd..820352ccbe 100644 --- a/src/openrct2/interface/Chat.cpp +++ b/src/openrct2/interface/Chat.cpp @@ -189,9 +189,10 @@ void chat_draw(rct_drawpixelinfo* dpi, uint8_t chatBackgroundColor) screenCoords.y = _chatBottom - inputLineHeight - 5; auto lineCh = lineBuffer.c_str(); + auto ft = Formatter(); + ft.Add(lineCh); inputLineHeight = DrawTextWrapped( - dpi, screenCoords + ScreenCoordsXY{ 0, 3 }, _chatWidth - 10, STR_STRING, static_cast(&lineCh), - { TEXT_COLOUR_255 }); + dpi, screenCoords + ScreenCoordsXY{ 0, 3 }, _chatWidth - 10, STR_STRING, ft, { TEXT_COLOUR_255 }); gfx_set_dirty_blocks({ screenCoords, { screenCoords + ScreenCoordsXY{ _chatWidth, inputLineHeight + 15 } } }); // TODO: Show caret if the input text has multiple lines From dd2467d805b3de5cfcc2e07d01c1b9a5f4caf938 Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Sat, 21 Aug 2021 09:43:26 +0200 Subject: [PATCH 21/59] Update include guards - Update from C-style to pragma once - Add missing include guard to ui.h --- src/openrct2-ui/Ui.h | 2 ++ src/openrct2/Cheats.h | 5 +---- src/openrct2/CmdlineSprite.h | 5 +---- src/openrct2/Input.h | 5 +---- src/openrct2/Intro.h | 5 +---- src/openrct2/interface/Chat.h | 5 +---- src/openrct2/localisation/Currency.h | 5 +---- src/openrct2/paint/tile_element/Paint.Surface.h | 5 +---- src/openrct2/peep/Peep.h | 5 +---- src/openrct2/peep/Staff.h | 5 +---- src/openrct2/platform/Crash.h | 5 +---- src/openrct2/ride/CableLift.h | 5 +---- src/openrct2/ride/VehicleData.h | 5 +---- src/openrct2/ride/VehiclePaint.h | 5 +---- src/openrct2/ride/coaster/JuniorRollerCoaster.h | 5 +---- src/openrct2/sprites.h | 5 +---- src/openrct2/util/SawyerCoding.h | 5 +---- src/openrct2/world/MapHelpers.h | 5 +---- src/openrct2/world/Water.h | 5 +---- test/testpaint/Addresses.h | 5 +---- test/testpaint/Data.h | 5 +---- 21 files changed, 22 insertions(+), 80 deletions(-) diff --git a/src/openrct2-ui/Ui.h b/src/openrct2-ui/Ui.h index 3922630fb5..cc0f0077cd 100644 --- a/src/openrct2-ui/Ui.h +++ b/src/openrct2-ui/Ui.h @@ -7,6 +7,8 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ +#pragma once + #ifdef _MSC_VER int NormalisedMain(int argc, const char** argv); #endif diff --git a/src/openrct2/Cheats.h b/src/openrct2/Cheats.h index 4f36817073..47653acd6b 100644 --- a/src/openrct2/Cheats.h +++ b/src/openrct2/Cheats.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _CHEATS_H_ -#define _CHEATS_H_ +#pragma once #include "common.h" @@ -120,5 +119,3 @@ void CheatsReset(); const char* CheatsGetName(CheatType cheatType); void CheatsSet(CheatType cheatType, int32_t param1 = 0, int32_t param2 = 0); void CheatsSerialise(class DataSerialiser& ds); - -#endif diff --git a/src/openrct2/CmdlineSprite.h b/src/openrct2/CmdlineSprite.h index 58227cc23e..e9f4e65686 100644 --- a/src/openrct2/CmdlineSprite.h +++ b/src/openrct2/CmdlineSprite.h @@ -7,12 +7,9 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _CMDLINE_SPRITE_H_ -#define _CMDLINE_SPRITE_H_ +#pragma once #include "common.h" int32_t cmdline_for_sprite(const char** argv, int32_t argc); extern int32_t gSpriteMode; - -#endif diff --git a/src/openrct2/Input.h b/src/openrct2/Input.h index c27addc3da..0de27cf7d4 100644 --- a/src/openrct2/Input.h +++ b/src/openrct2/Input.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _INPUT_H_ -#define _INPUT_H_ +#pragma once #include "interface/Window.h" @@ -117,5 +116,3 @@ void reset_tooltip_not_shown(); void input_reset_place_obj_modifier(); void InputScrollViewport(const ScreenCoordsXY& screenCoords); - -#endif diff --git a/src/openrct2/Intro.h b/src/openrct2/Intro.h index 70e9592fe3..8fbf9f9c27 100644 --- a/src/openrct2/Intro.h +++ b/src/openrct2/Intro.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _INTRO_H_ -#define _INTRO_H_ +#pragma once #include "common.h" @@ -34,5 +33,3 @@ extern IntroState gIntroState; void intro_update(); void intro_draw(rct_drawpixelinfo* dpi); - -#endif diff --git a/src/openrct2/interface/Chat.h b/src/openrct2/interface/Chat.h index d3885109f8..a51cba25a8 100644 --- a/src/openrct2/interface/Chat.h +++ b/src/openrct2/interface/Chat.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _CHAT_H_ -#define _CHAT_H_ +#pragma once #include "../common.h" @@ -42,5 +41,3 @@ void chat_history_add(const char* src); void chat_input(ChatInput input); int32_t chat_string_wrapped_get_height(void* args, int32_t width); - -#endif diff --git a/src/openrct2/localisation/Currency.h b/src/openrct2/localisation/Currency.h index a926f70bf8..9acb00e791 100644 --- a/src/openrct2/localisation/Currency.h +++ b/src/openrct2/localisation/Currency.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef CURRENCY_H -#define CURRENCY_H +#pragma once #include "../common.h" @@ -68,5 +67,3 @@ extern currency_descriptor CurrencyDescriptors[static_cast(CurrencyType * custom currency entry */ void currency_load_custom_currency_config(); - -#endif diff --git a/src/openrct2/paint/tile_element/Paint.Surface.h b/src/openrct2/paint/tile_element/Paint.Surface.h index 15a7a6793e..2010377992 100644 --- a/src/openrct2/paint/tile_element/Paint.Surface.h +++ b/src/openrct2/paint/tile_element/Paint.Surface.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _PAINT_SURFACE_H -#define _PAINT_SURFACE_H +#pragma once #include "../../common.h" #include "../../sprites.h" @@ -104,5 +103,3 @@ enum SPR_RCT1_WATER_MASK = SPR_CSG_BEGIN + 46787, SPR_RCT1_WATER_OVERLAY = SPR_CSG_BEGIN + 46792, }; - -#endif //_PAINT_SURFACE_H diff --git a/src/openrct2/peep/Peep.h b/src/openrct2/peep/Peep.h index cf3f035803..6f4bad1206 100644 --- a/src/openrct2/peep/Peep.h +++ b/src/openrct2/peep/Peep.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _PEEP_H_ -#define _PEEP_H_ +#pragma once #include "../common.h" #include "../management/Finance.h" @@ -1036,5 +1035,3 @@ inline const rct_sprite_bounds& GetSpriteBounds( { return g_peep_animation_entries[EnumValue(spriteType)].sprite_bounds[EnumValue(actionSpriteType)]; }; - -#endif diff --git a/src/openrct2/peep/Staff.h b/src/openrct2/peep/Staff.h index 245af03882..795b9d0fcc 100644 --- a/src/openrct2/peep/Staff.h +++ b/src/openrct2/peep/Staff.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _STAFF_H_ -#define _STAFF_H_ +#pragma once #include "../common.h" #include "Peep.h" @@ -75,5 +74,3 @@ int32_t staff_get_available_entertainer_costume_list(EntertainerCostume* costume money32 GetStaffWage(StaffType type); PeepSpriteType EntertainerCostumeToSprite(EntertainerCostume entertainerType); - -#endif diff --git a/src/openrct2/platform/Crash.h b/src/openrct2/platform/Crash.h index ef1b140122..46c4a1c966 100644 --- a/src/openrct2/platform/Crash.h +++ b/src/openrct2/platform/Crash.h @@ -7,12 +7,9 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _OPENRCT2_CRASH_ -#define _OPENRCT2_CRASH_ +#pragma once using CExceptionHandler = void*; extern bool gOpenRCT2SilentBreakpad; CExceptionHandler crash_init(); - -#endif /* _OPENRCT2_CRASH_ */ diff --git a/src/openrct2/ride/CableLift.h b/src/openrct2/ride/CableLift.h index 2c1ec083bd..7660f052af 100644 --- a/src/openrct2/ride/CableLift.h +++ b/src/openrct2/ride/CableLift.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _CABLE_LIFT_H_ -#define _CABLE_LIFT_H_ +#pragma once #include "../common.h" #include "Ride.h" @@ -17,5 +16,3 @@ struct Vehicle; Vehicle* cable_lift_segment_create( Ride& ride, int32_t x, int32_t y, int32_t z, int32_t direction, uint16_t var_44, int32_t remaining_distance, bool head); - -#endif diff --git a/src/openrct2/ride/VehicleData.h b/src/openrct2/ride/VehicleData.h index c4fb7940b6..f78ee882fe 100644 --- a/src/openrct2/ride/VehicleData.h +++ b/src/openrct2/ride/VehicleData.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _VEHICLE_DATA_H -#define _VEHICLE_DATA_H +#pragma once #include "../common.h" @@ -31,5 +30,3 @@ extern const int32_t dword_9A2930[]; extern const int32_t dword_9A2970[]; extern const int32_t SpriteDirectionToSoundDirection[]; - -#endif diff --git a/src/openrct2/ride/VehiclePaint.h b/src/openrct2/ride/VehiclePaint.h index 5bbe90dc61..24edb42b9d 100644 --- a/src/openrct2/ride/VehiclePaint.h +++ b/src/openrct2/ride/VehiclePaint.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _VEHICLE_PAINT_H -#define _VEHICLE_PAINT_H +#pragma once #include "../common.h" @@ -61,5 +60,3 @@ void vehicle_visual_mini_golf_player( paint_session* session, int32_t x, int32_t imageDirection, int32_t y, int32_t z, const Vehicle* vehicle); void vehicle_visual_mini_golf_ball( paint_session* session, int32_t x, int32_t imageDirection, int32_t y, int32_t z, const Vehicle* vehicle); - -#endif diff --git a/src/openrct2/ride/coaster/JuniorRollerCoaster.h b/src/openrct2/ride/coaster/JuniorRollerCoaster.h index d9bbcaaf66..be1220034e 100644 --- a/src/openrct2/ride/coaster/JuniorRollerCoaster.h +++ b/src/openrct2/ride/coaster/JuniorRollerCoaster.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _JUNIOR_ROLLER_COASTER_H -#define _JUNIOR_ROLLER_COASTER_H +#pragma once #include "../../common.h" @@ -114,5 +113,3 @@ void junior_rc_paint_track_diag_25_deg_down_to_flat( void junior_rc_paint_track_diag_60_deg_down_to_flat( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, uint16_t height, const TrackElement& trackElement, JuniorRcChainType chainType); - -#endif // _JUNIOR_ROLLER_COASTER_H diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index 87b9c8ee91..991e0ef714 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _SPRITES_H_ -#define _SPRITES_H_ +#pragma once #include "drawing/ScrollingText.h" #include "rct1/RCT1.h" @@ -1098,5 +1097,3 @@ enum SPR_IMAGE_LIST_BEGIN = SPR_SCROLLING_TEXT_END, SPR_IMAGE_LIST_END = 0x7FFFE }; - -#endif diff --git a/src/openrct2/util/SawyerCoding.h b/src/openrct2/util/SawyerCoding.h index db4a2a1b70..3045ce888e 100644 --- a/src/openrct2/util/SawyerCoding.h +++ b/src/openrct2/util/SawyerCoding.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _SAWYERCODING_H_ -#define _SAWYERCODING_H_ +#pragma once #include "../common.h" @@ -55,5 +54,3 @@ int32_t sawyercoding_validate_track_checksum(const uint8_t* src, size_t length); int32_t sawyercoding_detect_file_type(const uint8_t* src, size_t length); int32_t sawyercoding_detect_rct1_version(int32_t gameVersion); - -#endif diff --git a/src/openrct2/world/MapHelpers.h b/src/openrct2/world/MapHelpers.h index bfcc7af89f..a2097c8a0a 100644 --- a/src/openrct2/world/MapHelpers.h +++ b/src/openrct2/world/MapHelpers.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _MAP_HELPERS_H_ -#define _MAP_HELPERS_H_ +#pragma once #include "../common.h" @@ -22,5 +21,3 @@ enum int32_t map_smooth(int32_t l, int32_t t, int32_t r, int32_t b); int32_t tile_smooth(int32_t x, int32_t y); - -#endif diff --git a/src/openrct2/world/Water.h b/src/openrct2/world/Water.h index ef1af4da04..77943a7c03 100644 --- a/src/openrct2/world/Water.h +++ b/src/openrct2/world/Water.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _WATER_H_ -#define _WATER_H_ +#pragma once #include "../common.h" @@ -28,5 +27,3 @@ struct rct_water_type }; assert_struct_size(rct_water_type, 16); #pragma pack(pop) - -#endif diff --git a/test/testpaint/Addresses.h b/test/testpaint/Addresses.h index 6d71cfa890..8db772bf4c 100644 --- a/test/testpaint/Addresses.h +++ b/test/testpaint/Addresses.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _ADDRESSES_H_ -#define _ADDRESSES_H_ +#pragma once #include @@ -41,5 +40,3 @@ */ int32_t RCT2_CALLPROC_X( int32_t address, int32_t _eax, int32_t _ebx, int32_t _ecx, int32_t _edx, int32_t _esi, int32_t _edi, int32_t _ebp); - -#endif diff --git a/test/testpaint/Data.h b/test/testpaint/Data.h index cb7feebffe..74717d403d 100644 --- a/test/testpaint/Data.h +++ b/test/testpaint/Data.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _TEST_PAINT_DATA_H_ -#define _TEST_PAINT_DATA_H_ +#pragma once #include #include @@ -20,5 +19,3 @@ extern const utf8string TrackElemNames[256]; extern const utf8string RideCodeNames[RCT2_RIDE_TYPE_COUNT]; extern const utf8string TrackCodeNames[256]; extern const uint32_t* RideTypeTrackPaintFunctionsOld[RCT2_RIDE_TYPE_COUNT]; - -#endif // #endif _TEST_PAINT_DATA_H_ From 15d3a4a9daa72af211033bdd7505caf1a9251470 Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Sat, 21 Aug 2021 12:55:28 +0200 Subject: [PATCH 22/59] Update more include guards (#15254) --- src/openrct2-ui/interface/Graph.h | 5 +---- src/openrct2/Diagnostic.h | 5 +---- src/openrct2/Editor.h | 5 +---- src/openrct2/common.h | 5 +---- src/openrct2/drawing/Drawing.h | 5 +---- src/openrct2/drawing/Font.h | 5 +---- src/openrct2/drawing/LightFX.h | 5 +---- src/openrct2/interface/Colour.h | 5 +---- src/openrct2/interface/FontFamilies.h | 5 +---- src/openrct2/interface/Fonts.h | 5 +---- src/openrct2/interface/Viewport.h | 5 +---- src/openrct2/interface/Widget.h | 5 +---- src/openrct2/interface/Window.h | 5 +---- src/openrct2/localisation/Date.h | 5 +---- src/openrct2/localisation/Language.h | 5 +---- src/openrct2/localisation/Localisation.h | 5 +---- src/openrct2/localisation/StringIds.h | 5 +---- src/openrct2/network/NetworkKey.h | 5 +---- src/openrct2/paint/Supports.h | 5 +---- src/openrct2/paint/sprite/Paint.Sprite.h | 5 +---- src/openrct2/paint/tile_element/Paint.TileElement.h | 5 +---- src/openrct2/platform/platform.h | 5 +---- src/openrct2/rct1/RCT1.h | 5 +---- src/openrct2/ride/Ride.h | 5 +---- src/openrct2/ride/RideData.h | 5 +---- src/openrct2/ride/TrackDesign.h | 5 +---- src/openrct2/ride/TrackPaint.h | 5 +---- src/openrct2/ride/Vehicle.h | 5 +---- src/openrct2/scenario/Scenario.h | 5 +---- src/openrct2/util/Util.h | 5 +---- src/openrct2/world/Entrance.h | 5 +---- src/openrct2/world/Map.h | 5 +---- src/openrct2/world/Scenery.h | 5 +---- src/openrct2/world/Sprite.h | 5 +---- 34 files changed, 34 insertions(+), 136 deletions(-) diff --git a/src/openrct2-ui/interface/Graph.h b/src/openrct2-ui/interface/Graph.h index 509f19a5fd..11c57ed92a 100644 --- a/src/openrct2-ui/interface/Graph.h +++ b/src/openrct2-ui/interface/Graph.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _GRAPH_H_ -#define _GRAPH_H_ +#pragma once #include #include @@ -21,5 +20,3 @@ namespace Graph rct_drawpixelinfo* dpi, const money64* history, const int32_t count, const ScreenCoordsXY& coords, const int32_t modifier, const int32_t offset); } // namespace Graph - -#endif diff --git a/src/openrct2/Diagnostic.h b/src/openrct2/Diagnostic.h index c04e20c4ce..3ecfe7ad3a 100644 --- a/src/openrct2/Diagnostic.h +++ b/src/openrct2/Diagnostic.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _DIAGNOSTIC_H_ -#define _DIAGNOSTIC_H_ +#pragma once #include @@ -88,5 +87,3 @@ void diagnostic_log_with_location( #define log_warning(format, ...) diagnostic_log_macro(DiagnosticLevel::Warning, format, ##__VA_ARGS__) #define log_verbose(format, ...) diagnostic_log(DiagnosticLevel::Verbose, format, ##__VA_ARGS__) #define log_info(format, ...) diagnostic_log_macro(DiagnosticLevel::Information, format, ##__VA_ARGS__) - -#endif diff --git a/src/openrct2/Editor.h b/src/openrct2/Editor.h index 8a7499f2d8..17985ad6cc 100644 --- a/src/openrct2/Editor.h +++ b/src/openrct2/Editor.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _EDITOR_H_ -#define _EDITOR_H_ +#pragma once #include "common.h" #include "object/Object.h" @@ -47,5 +46,3 @@ enum class EditorStep : uint8_t extern EditorStep gEditorStep; void editor_open_windows_for_current_step(); - -#endif diff --git a/src/openrct2/common.h b/src/openrct2/common.h index b562e64c00..cc0e1d517a 100644 --- a/src/openrct2/common.h +++ b/src/openrct2/common.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _COMMON_H_ -#define _COMMON_H_ +#pragma once #ifndef _USE_MATH_DEFINES # define _USE_MATH_DEFINES @@ -232,5 +231,3 @@ constexpr uint16_t SPRITE_INDEX_NULL = 0xFFFF; #else // PLATFORM_X86 # define FASTCALL #endif // PLATFORM_X86 - -#endif diff --git a/src/openrct2/drawing/Drawing.h b/src/openrct2/drawing/Drawing.h index c494e66674..1ea01e08e7 100644 --- a/src/openrct2/drawing/Drawing.h +++ b/src/openrct2/drawing/Drawing.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _DRAWING_H_ -#define _DRAWING_H_ +#pragma once #include "../common.h" #include "../interface/Colour.h" @@ -790,5 +789,3 @@ std::optional GetPaletteG1Index(colour_t paletteId); std::optional GetPaletteMapForColour(colour_t paletteId); #include "NewDrawing.h" - -#endif diff --git a/src/openrct2/drawing/Font.h b/src/openrct2/drawing/Font.h index 863dea90b2..0f870d241e 100644 --- a/src/openrct2/drawing/Font.h +++ b/src/openrct2/drawing/Font.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _DRAWING_FONT_H_ -#define _DRAWING_FONT_H_ +#pragma once #include "../common.h" @@ -68,5 +67,3 @@ int32_t font_get_line_height_small(FontSpriteBase fontSpriteBase); bool font_supports_string_sprite(const utf8* text); bool font_supports_string_ttf(const utf8* text, int32_t fontSize); bool font_supports_string(const utf8* text, int32_t fontSize); - -#endif diff --git a/src/openrct2/drawing/LightFX.h b/src/openrct2/drawing/LightFX.h index acbd5ed4be..1473bb418c 100644 --- a/src/openrct2/drawing/LightFX.h +++ b/src/openrct2/drawing/LightFX.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _LIGHTFX_H -#define _LIGHTFX_H +#pragma once #ifdef __ENABLE_LIGHTFX__ @@ -79,5 +78,3 @@ void lightfx_render_to_texture( const uint32_t* lightPalette); #endif // __ENABLE_LIGHTFX__ - -#endif diff --git a/src/openrct2/interface/Colour.h b/src/openrct2/interface/Colour.h index 44dd0e3719..3dab46bc72 100644 --- a/src/openrct2/interface/Colour.h +++ b/src/openrct2/interface/Colour.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _COLOUR_H_ -#define _COLOUR_H_ +#pragma once #include "../common.h" @@ -217,5 +216,3 @@ namespace Colour #ifndef NO_TTF uint8_t blendColours(const uint8_t paletteIndex1, const uint8_t paletteIndex2); #endif - -#endif diff --git a/src/openrct2/interface/FontFamilies.h b/src/openrct2/interface/FontFamilies.h index 35c3191c98..d227de2d20 100644 --- a/src/openrct2/interface/FontFamilies.h +++ b/src/openrct2/interface/FontFamilies.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef OPENRCT2_FONT_FAMILIES_H -#define OPENRCT2_FONT_FAMILIES_H +#pragma once #define FAMILY_OPENRCT2_SPRITE nullptr @@ -33,5 +32,3 @@ extern TTFontFamily const TTFFamilySansSerif; # define FAMILY(x) FAMILY_OPENRCT2_SPRITE #endif // NO_TTF - -#endif // OPENRCT2_FONT_FAMILIES_H diff --git a/src/openrct2/interface/Fonts.h b/src/openrct2/interface/Fonts.h index 2eaea52884..5ca8073802 100644 --- a/src/openrct2/interface/Fonts.h +++ b/src/openrct2/interface/Fonts.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef OPENRCT2_FONTS_H -#define OPENRCT2_FONTS_H +#pragma once namespace OpenRCT2::Localisation { @@ -37,5 +36,3 @@ extern TTFFontSetDescriptor TTFFontMicroHei; #endif // NO_TTF void TryLoadFonts(OpenRCT2::Localisation::LocalisationService& localisationService); - -#endif // OPENRCT2_FONTS_H diff --git a/src/openrct2/interface/Viewport.h b/src/openrct2/interface/Viewport.h index e5ae588f0b..2212105dd2 100644 --- a/src/openrct2/interface/Viewport.h +++ b/src/openrct2/interface/Viewport.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _VIEWPORT_H_ -#define _VIEWPORT_H_ +#pragma once #include "../world/Location.hpp" #include "Window.h" @@ -161,5 +160,3 @@ uint8_t get_current_rotation(); int32_t get_height_marker_offset(); void viewport_set_saved_view(); - -#endif diff --git a/src/openrct2/interface/Widget.h b/src/openrct2/interface/Widget.h index 3f8735f90b..c7ec7a485a 100644 --- a/src/openrct2/interface/Widget.h +++ b/src/openrct2/interface/Widget.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _WIDGET_H_ -#define _WIDGET_H_ +#pragma once #include "../localisation/StringIds.h" #include "Window.h" @@ -152,5 +151,3 @@ void WidgetSetDisabled(rct_window* w, rct_widgetindex widgetIndex, bool value); void WidgetSetHoldable(rct_window* w, rct_widgetindex widgetIndex, bool value); void WidgetSetVisible(rct_window* w, rct_widgetindex widgetIndex, bool value); void WidgetSetCheckboxValue(rct_window* w, rct_widgetindex widgetIndex, int32_t value); - -#endif diff --git a/src/openrct2/interface/Window.h b/src/openrct2/interface/Window.h index 4b8b721224..82aa4589f9 100644 --- a/src/openrct2/interface/Window.h +++ b/src/openrct2/interface/Window.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _WINDOW_H_ -#define _WINDOW_H_ +#pragma once #include "../common.h" #include "../localisation/Formatter.h" @@ -899,5 +898,3 @@ extern bool _deferClose; rct_window* window_get_listening(); rct_windowclass window_get_classification(rct_window* window); - -#endif diff --git a/src/openrct2/localisation/Date.h b/src/openrct2/localisation/Date.h index f8de349382..b9099e218d 100644 --- a/src/openrct2/localisation/Date.h +++ b/src/openrct2/localisation/Date.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _DATE_H_ -#define _DATE_H_ +#pragma once #include "../common.h" @@ -64,5 +63,3 @@ bool date_is_day_start(int32_t monthTicks); bool date_is_week_start(int32_t monthTicks); bool date_is_fortnight_start(int32_t monthTicks); bool date_is_month_start(int32_t monthTicks); - -#endif diff --git a/src/openrct2/localisation/Language.h b/src/openrct2/localisation/Language.h index 557bbe4197..9723da13f1 100644 --- a/src/openrct2/localisation/Language.h +++ b/src/openrct2/localisation/Language.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _LANGUAGE_H_ -#define _LANGUAGE_H_ +#pragma once #include "../common.h" #include "../drawing/Font.h" @@ -137,5 +136,3 @@ constexpr utf8* utf8_write_codepoint(utf8* dst, uint32_t codepoint) return dst + 4; } } - -#endif diff --git a/src/openrct2/localisation/Localisation.h b/src/openrct2/localisation/Localisation.h index 140023c147..b31df20aa7 100644 --- a/src/openrct2/localisation/Localisation.h +++ b/src/openrct2/localisation/Localisation.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef LOCALISATION_H -#define LOCALISATION_H +#pragma once #include "../management/Marketing.h" #include "Currency.h" @@ -68,5 +67,3 @@ extern const rct_string_id PeepThoughts[174]; extern const rct_string_id DateDayNames[31]; extern const rct_string_id DateGameMonthNames[MONTH_COUNT]; extern const rct_string_id DateGameShortMonthNames[MONTH_COUNT]; - -#endif diff --git a/src/openrct2/localisation/StringIds.h b/src/openrct2/localisation/StringIds.h index 148b2821bf..64b53a5e8f 100644 --- a/src/openrct2/localisation/StringIds.h +++ b/src/openrct2/localisation/StringIds.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _STRING_IDS_H_ -#define _STRING_IDS_H_ +#pragma once #include "../common.h" @@ -3913,5 +3912,3 @@ enum // Have to include resource strings (from scenarios and objects) for the time being now that language is partially working /* MAX_STR_COUNT = 32768 */ // MAX_STR_COUNT - upper limit for number of strings, not the current count strings }; - -#endif diff --git a/src/openrct2/network/NetworkKey.h b/src/openrct2/network/NetworkKey.h index 73f58de2b6..2cbe16c431 100644 --- a/src/openrct2/network/NetworkKey.h +++ b/src/openrct2/network/NetworkKey.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef NETWORKKEY_H -#define NETWORKKEY_H +#pragma once #ifndef DISABLE_NETWORK @@ -50,5 +49,3 @@ private: }; #endif // DISABLE_NETWORK - -#endif // NETWORKKEY_H diff --git a/src/openrct2/paint/Supports.h b/src/openrct2/paint/Supports.h index 69f9956d09..11982addc9 100644 --- a/src/openrct2/paint/Supports.h +++ b/src/openrct2/paint/Supports.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _DRAWING_SUPPORTS_H_ -#define _DRAWING_SUPPORTS_H_ +#pragma once #include "../common.h" #include "../world/Footpath.h" @@ -54,5 +53,3 @@ enum { SUPPORTS_SLOPE_5 = 1 << 5 }; - -#endif diff --git a/src/openrct2/paint/sprite/Paint.Sprite.h b/src/openrct2/paint/sprite/Paint.Sprite.h index 1c038aa53a..12e843a157 100644 --- a/src/openrct2/paint/sprite/Paint.Sprite.h +++ b/src/openrct2/paint/sprite/Paint.Sprite.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _PAINT_SPRITE_H -#define _PAINT_SPRITE_H +#pragma once #include "../../common.h" @@ -19,5 +18,3 @@ void sprite_paint_setup(paint_session* session, const uint16_t x, const uint16_t template void PaintEntity(paint_session* session, const T* entity, int32_t imageDirection); extern const uint32_t vehicle_particle_base_sprites[5]; - -#endif diff --git a/src/openrct2/paint/tile_element/Paint.TileElement.h b/src/openrct2/paint/tile_element/Paint.TileElement.h index a30de42269..1c0016d591 100644 --- a/src/openrct2/paint/tile_element/Paint.TileElement.h +++ b/src/openrct2/paint/tile_element/Paint.TileElement.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _PAINT_TILE_ELEMENT_H -#define _PAINT_TILE_ELEMENT_H +#pragma once #include "../../common.h" #include "../../world/Map.h" @@ -113,5 +112,3 @@ void PaintLargeScenery(paint_session* session, uint8_t direction, uint16_t heigh void PaintTrack(paint_session* session, uint8_t direction, int32_t height, const TrackElement& tileElement); bool PaintShouldShowHeightMarkers(const paint_session* session, const uint32_t viewportFlag); - -#endif diff --git a/src/openrct2/platform/platform.h b/src/openrct2/platform/platform.h index e0fb88d3fe..d3d898178b 100644 --- a/src/openrct2/platform/platform.h +++ b/src/openrct2/platform/platform.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _PLATFORM_H_ -#define _PLATFORM_H_ +#pragma once #include "../common.h" #include "../config/Config.h" @@ -167,5 +166,3 @@ public: void platform_android_init_class_loader(); jclass platform_android_find_class(JNIEnv* env, const char* name); #endif // __ANDROID__ - -#endif diff --git a/src/openrct2/rct1/RCT1.h b/src/openrct2/rct1/RCT1.h index e0dbcb6ddb..fb55d96cdf 100644 --- a/src/openrct2/rct1/RCT1.h +++ b/src/openrct2/rct1/RCT1.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _RCT1_H_ -#define _RCT1_H_ +#pragma once #include "../management/Award.h" #include "../management/NewsItem.h" @@ -1289,5 +1288,3 @@ void load_from_sv4(const char* path); void load_from_sc4(const char* path); track_type_t RCT1TrackTypeToOpenRCT2(RCT12TrackType origTrackType, uint8_t rideType); - -#endif diff --git a/src/openrct2/ride/Ride.h b/src/openrct2/ride/Ride.h index 1c0340b0b9..400507c89c 100644 --- a/src/openrct2/ride/Ride.h +++ b/src/openrct2/ride/Ride.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _RIDE_H_ -#define _RIDE_H_ +#pragma once #include "../common.h" #include "../localisation/Formatter.h" @@ -1254,5 +1253,3 @@ void ride_action_modify(Ride* ride, int32_t modifyType, int32_t flags); void determine_ride_entrance_and_exit_locations(); void ride_clear_leftover_entrances(Ride* ride); - -#endif diff --git a/src/openrct2/ride/RideData.h b/src/openrct2/ride/RideData.h index a55effda55..1905c17d96 100644 --- a/src/openrct2/ride/RideData.h +++ b/src/openrct2/ride/RideData.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _RIDE_DATA_H_ -#define _RIDE_DATA_H_ +#pragma once #define TRACK_COLOUR_PRESETS(...) \ { \ @@ -365,5 +364,3 @@ constexpr bool RideTypeIsValid(ObjectEntryIndex rideType) { return rideType < std::size(RideTypeDescriptors); } - -#endif diff --git a/src/openrct2/ride/TrackDesign.h b/src/openrct2/ride/TrackDesign.h index e7da3a3328..d9b69783ff 100644 --- a/src/openrct2/ride/TrackDesign.h +++ b/src/openrct2/ride/TrackDesign.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _TRACK_DESIGN_H_ -#define _TRACK_DESIGN_H_ +#pragma once #include "../common.h" #include "../object/Object.h" @@ -225,5 +224,3 @@ bool track_design_are_entrance_and_exit_placed(); extern std::vector _trackSavedTileElementsDesc; extern std::vector _trackSavedTileElements; - -#endif diff --git a/src/openrct2/ride/TrackPaint.h b/src/openrct2/ride/TrackPaint.h index 2aaf550a18..5f7139116e 100644 --- a/src/openrct2/ride/TrackPaint.h +++ b/src/openrct2/ride/TrackPaint.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _TRACK_PAINT_H -#define _TRACK_PAINT_H +#pragma once #include "../common.h" #include "../paint/Paint.h" @@ -479,5 +478,3 @@ namespace SingleRailRC { TRACK_PAINT_FUNCTION GetTrackPaintFunction(int32_t trackType); } - -#endif diff --git a/src/openrct2/ride/Vehicle.h b/src/openrct2/ride/Vehicle.h index d9fa5b711e..d24d584abc 100644 --- a/src/openrct2/ride/Vehicle.h +++ b/src/openrct2/ride/Vehicle.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _VEHICLE_H_ -#define _VEHICLE_H_ +#pragma once #include "../audio/audio.h" #include "../common.h" @@ -563,5 +562,3 @@ extern int32_t _vehicleUnkF64E10; extern uint8_t _vehicleF64E2C; extern Vehicle* _vehicleFrontVehicle; extern CoordsXYZ unk_F64E20; - -#endif diff --git a/src/openrct2/scenario/Scenario.h b/src/openrct2/scenario/Scenario.h index 26e7f177ed..d350236d5d 100644 --- a/src/openrct2/scenario/Scenario.h +++ b/src/openrct2/scenario/Scenario.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _SCENARIO_H_ -#define _SCENARIO_H_ +#pragma once #include "../common.h" #include "../core/Random.hpp" @@ -467,5 +466,3 @@ void scenario_failure(); void scenario_success(); void scenario_success_submit_name(const char* name); void scenario_autosave_check(); - -#endif diff --git a/src/openrct2/util/Util.h b/src/openrct2/util/Util.h index 766d60faa1..e0db4f33a2 100644 --- a/src/openrct2/util/Util.h +++ b/src/openrct2/util/Util.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _UTIL_H_ -#define _UTIL_H_ +#pragma once #include "../common.h" @@ -88,5 +87,3 @@ template constexpr auto EnumValue(TEnum enumerator) noexcept { return static_cast>(enumerator); } - -#endif diff --git a/src/openrct2/world/Entrance.h b/src/openrct2/world/Entrance.h index f8dbfbcd63..8d3b20eade 100644 --- a/src/openrct2/world/Entrance.h +++ b/src/openrct2/world/Entrance.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _ENTRANCE_H_ -#define _ENTRANCE_H_ +#pragma once #include "../common.h" #include "Location.hpp" @@ -56,5 +55,3 @@ void maze_entrance_hedge_replacement(const CoordsXYE& entrance); void maze_entrance_hedge_removal(const CoordsXYE& entrance); void fix_park_entrance_locations(); - -#endif diff --git a/src/openrct2/world/Map.h b/src/openrct2/world/Map.h index 2f6ccb551a..ed0bdb7275 100644 --- a/src/openrct2/world/Map.h +++ b/src/openrct2/world/Map.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _MAP_H_ -#define _MAP_H_ +#pragma once #include "../common.h" #include "Location.hpp" @@ -312,5 +311,3 @@ uint16_t check_max_allowable_land_rights_for_tile(const CoordsXYZ& tileMapPos); void FixLandOwnershipTiles(std::initializer_list tiles); void FixLandOwnershipTilesWithOwnership( std::initializer_list tiles, uint8_t ownership, bool doNotDowngrade = false); - -#endif diff --git a/src/openrct2/world/Scenery.h b/src/openrct2/world/Scenery.h index f6d8620504..d5948ab0f7 100644 --- a/src/openrct2/world/Scenery.h +++ b/src/openrct2/world/Scenery.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _SCENERY_H_ -#define _SCENERY_H_ +#pragma once #include "../common.h" #include "../world/Location.hpp" @@ -290,5 +289,3 @@ PathBitEntry* get_footpath_item_entry(ObjectEntryIndex entryIndex); rct_scenery_group_entry* get_scenery_group_entry(ObjectEntryIndex entryIndex); int32_t wall_entry_get_door_sound(const WallSceneryEntry* wallEntry); - -#endif diff --git a/src/openrct2/world/Sprite.h b/src/openrct2/world/Sprite.h index 6ac0545b30..14db05fa25 100644 --- a/src/openrct2/world/Sprite.h +++ b/src/openrct2/world/Sprite.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _SPRITE_H_ -#define _SPRITE_H_ +#pragma once #include "../common.h" #include "SpriteBase.h" @@ -47,5 +46,3 @@ rct_sprite_checksum sprite_checksum(); void sprite_set_flashing(SpriteBase* sprite, bool flashing); bool sprite_get_flashing(SpriteBase* sprite); - -#endif From 0e08286d88c3ea078b696e2089501b7332d0d545 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Sat, 21 Aug 2021 01:01:54 +0300 Subject: [PATCH 23/59] Apply review comments --- src/openrct2/paint/Supports.cpp | 3 +-- .../paint/tile_element/Paint.LargeScenery.cpp | 14 ++++---------- src/openrct2/ride/TrackPaint.cpp | 4 ++-- src/openrct2/ride/coaster/WoodenRollerCoaster.cpp | 5 ++--- src/openrct2/ride/thrill/MagicCarpet.cpp | 4 +--- 5 files changed, 10 insertions(+), 20 deletions(-) diff --git a/src/openrct2/paint/Supports.cpp b/src/openrct2/paint/Supports.cpp index 3cb7ce746b..9ac36e4c81 100644 --- a/src/openrct2/paint/Supports.cpp +++ b/src/openrct2/paint/Supports.cpp @@ -603,8 +603,7 @@ bool wooden_a_supports_paint_setup( if (byte_97B23C[special].var_6 == 0 || session->WoodenSupportsPrependTo == nullptr) { PaintAddImageAsParent( - session, imageId, { 0, 0, z }, { bBox.length.x, bBox.length.y, bBox.length.z }, - { bBox.offset.x, bBox.offset.y, bBox.offset.z + z }); + session, imageId, { 0, 0, z }, bBox.length, { bBox.offset.x, bBox.offset.y, bBox.offset.z + z }); hasSupports = true; } else diff --git a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp index ea436e96ce..1fdaa946e4 100644 --- a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp +++ b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp @@ -244,8 +244,6 @@ void PaintLargeScenery(paint_session* session, uint8_t direction, uint16_t heigh uint32_t dword_F4387C = 0; image_id |= SPRITE_ID_PALETTE_COLOUR_2(tileElement.GetPrimaryColour(), tileElement.GetSecondaryColour()); - CoordsXYZ boxlength; - CoordsXYZ boxoffset; if (gTrackDesignSaveMode) { if (!track_design_save_contains_tile_element(reinterpret_cast(&tileElement))) @@ -283,13 +281,9 @@ void PaintLargeScenery(paint_session* session, uint8_t direction, uint16_t heigh 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 = boxlengthZ; - PaintAddImageAsParent(session, image_id, { 0, 0, height }, { boxlength.x, boxlength.y, boxlengthZ }, boxoffset); + const CoordsXYZ bbLength = { s98E3C4[esi].offset, height }; + const CoordsXYZ bbOffset = { s98E3C4[esi].length, boxlengthZ }; + PaintAddImageAsParent(session, image_id, { 0, 0, height }, bbLength, bbOffset); if (sceneryEntry->scrolling_mode == SCROLLING_MODE_NONE || direction == 1 || direction == 2) { large_scenery_paint_supports(session, direction, height, tileElement, dword_F4387C, tile); @@ -453,7 +447,7 @@ void PaintLargeScenery(paint_session* session, uint8_t direction, uint16_t heigh uint16_t scroll = stringWidth > 0 ? (gCurrentTicks / 2) % stringWidth : 0; PaintAddImageAsChild( session, scrolling_text_setup(session, STR_SCROLLING_SIGN_TEXT, ft, scroll, scrollMode, textColour), 0, 0, 1, 1, 21, - height + 25, boxoffset.x, boxoffset.y, boxoffset.z); + height + 25, bbOffset.x, bbOffset.y, bbOffset.z); } large_scenery_paint_supports(session, direction, height, tileElement, dword_F4387C, tile); diff --git a/src/openrct2/ride/TrackPaint.cpp b/src/openrct2/ride/TrackPaint.cpp index d30bb0b83f..35efa3bf9c 100644 --- a/src/openrct2/ride/TrackPaint.cpp +++ b/src/openrct2/ride/TrackPaint.cpp @@ -1638,8 +1638,8 @@ void track_paint_util_right_quarter_turn_3_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index]); PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, - { boundsLength.x, boundsLength.y, thickness }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); + session, imageId, { offset, height }, { boundsLength.x, boundsLength.y, thickness }, + { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } void track_paint_util_right_quarter_turn_3_tiles_paint_2( diff --git a/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp b/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp index b3f6b94017..56fb20dca3 100644 --- a/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp @@ -428,9 +428,8 @@ static void wooden_rc_track_paint_bb(paint_session* session, const sprite_bb_2* uint32_t railsImageId = bb->sprite_id_b | wooden_rc_get_rails_colour(session); PaintAddImageAsParent( - session, imageId, { static_cast(bb->offset.x), static_cast(bb->offset.y), height + bb->offset.z }, - { bb->bb_size.x, bb->bb_size.y, static_cast(bb->bb_size.z) }, - { bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z }); + session, imageId, { bb->offset.x, bb->offset.y, height + bb->offset.z }, + { bb->bb_size.x, bb->bb_size.y, bb->bb_size.z }, { bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z }); PaintAddImageAsChild( session, railsImageId, static_cast(bb->offset.x), static_cast(bb->offset.y), bb->bb_size.x, bb->bb_size.y, static_cast(bb->bb_size.z), height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, diff --git a/src/openrct2/ride/thrill/MagicCarpet.cpp b/src/openrct2/ride/thrill/MagicCarpet.cpp index 4b274c6a08..44d609520f 100644 --- a/src/openrct2/ride/thrill/MagicCarpet.cpp +++ b/src/openrct2/ride/thrill/MagicCarpet.cpp @@ -84,9 +84,7 @@ static void paint_magic_carpet_frame( imageId |= session->TrackColours[SCHEME_TRACK]; if (plane == PLANE_BACK) { - PaintAddImageAsParent( - session, imageId, { static_cast(offset.x), static_cast(offset.y), offset.z }, - { bbSize.x, bbSize.y, 127 }, { bbOffset.x, bbOffset.y, bbOffset.z }); + PaintAddImageAsParent(session, imageId, offset, { bbSize.x, bbSize.y, 127 }, bbOffset); } else { From c49c6ca4a745a057cacaa9f118818b8c0ebe21cf Mon Sep 17 00:00:00 2001 From: spacek531 Date: Sat, 21 Aug 2021 10:23:27 -0700 Subject: [PATCH 24/59] Rename animation vars --- src/openrct2/GameStateSnapshots.cpp | 2 +- src/openrct2/rct1/RCT1.h | 2 +- src/openrct2/rct1/S4Importer.cpp | 2 +- src/openrct2/rct2/RCT2.h | 2 +- src/openrct2/rct2/S6Exporter.cpp | 2 +- src/openrct2/rct2/S6Importer.cpp | 2 +- src/openrct2/ride/CableLift.cpp | 2 +- src/openrct2/ride/Ride.cpp | 2 +- src/openrct2/ride/Vehicle.cpp | 105 ++++++++++++++-------------- src/openrct2/ride/Vehicle.h | 2 +- src/openrct2/world/Entity.cpp | 2 +- 11 files changed, 62 insertions(+), 63 deletions(-) diff --git a/src/openrct2/GameStateSnapshots.cpp b/src/openrct2/GameStateSnapshots.cpp index 5574143b7f..b372119ce4 100644 --- a/src/openrct2/GameStateSnapshots.cpp +++ b/src/openrct2/GameStateSnapshots.cpp @@ -424,7 +424,7 @@ struct GameStateSnapshots final : public IGameStateSnapshots { COMPARE_FIELD(Vehicle, pad_C6[i]); } - COMPARE_FIELD(Vehicle, var_C8); + COMPARE_FIELD(Vehicle, animationState); COMPARE_FIELD(Vehicle, var_CA); COMPARE_FIELD(Vehicle, scream_sound_id); COMPARE_FIELD(Vehicle, TrackSubposition); diff --git a/src/openrct2/rct1/RCT1.h b/src/openrct2/rct1/RCT1.h index fb55d96cdf..a516081618 100644 --- a/src/openrct2/rct1/RCT1.h +++ b/src/openrct2/rct1/RCT1.h @@ -300,7 +300,7 @@ struct rct1_vehicle : RCT12SpriteBase uint8_t var_C4; uint8_t animation_frame; uint8_t pad_C6[0x2]; - uint16_t var_C8; + uint16_t animationState; uint16_t var_CA; uint8_t scream_sound_id; // 0xCC uint8_t TrackSubposition; diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index c4a4a54212..22b2015af1 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -2715,7 +2715,7 @@ template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase dst->var_C0 = src->var_C0; dst->var_C4 = src->var_C4; dst->animation_frame = src->animation_frame; - dst->var_C8 = src->var_C8; + dst->animationState = src->animationState; dst->var_CA = src->var_CA; dst->var_CE = src->var_CE; dst->var_D3 = src->var_D3; diff --git a/src/openrct2/rct2/RCT2.h b/src/openrct2/rct2/RCT2.h index d3a95d98b7..85b4999605 100644 --- a/src/openrct2/rct2/RCT2.h +++ b/src/openrct2/rct2/RCT2.h @@ -537,7 +537,7 @@ struct RCT2SpriteVehicle : RCT12SpriteBase }; uint8_t animation_frame; // 0xC5 uint8_t pad_C6[0x2]; - uint16_t var_C8; + uint16_t animationState; uint16_t var_CA; uint8_t scream_sound_id; // 0xCC uint8_t TrackSubposition; diff --git a/src/openrct2/rct2/S6Exporter.cpp b/src/openrct2/rct2/S6Exporter.cpp index 9f0d58f773..79d752261b 100644 --- a/src/openrct2/rct2/S6Exporter.cpp +++ b/src/openrct2/rct2/S6Exporter.cpp @@ -1179,7 +1179,7 @@ template<> void S6Exporter::ExportEntity(RCT2SpriteVehicle* dst, const Vehicle* dst->powered_acceleration = src->powered_acceleration; dst->dodgems_collision_direction = src->dodgems_collision_direction; dst->animation_frame = src->animation_frame; - dst->var_C8 = src->var_C8; + dst->animationState = src->animationState; dst->var_CA = src->var_CA; dst->scream_sound_id = static_cast(src->scream_sound_id); dst->TrackSubposition = static_cast(src->TrackSubposition); diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index ed4a4397d9..2717601fee 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -1663,7 +1663,7 @@ template<> void S6Importer::ImportEntity(const RCT12SpriteBase& baseSrc dst->powered_acceleration = src->powered_acceleration; dst->dodgems_collision_direction = src->dodgems_collision_direction; dst->animation_frame = src->animation_frame; - dst->var_C8 = src->var_C8; + dst->animationState = src->animationState; dst->var_CA = src->var_CA; dst->scream_sound_id = static_cast(src->scream_sound_id); dst->TrackSubposition = VehicleTrackSubposition{ src->TrackSubposition }; diff --git a/src/openrct2/ride/CableLift.cpp b/src/openrct2/ride/CableLift.cpp index 913f395a80..3432ed6b92 100644 --- a/src/openrct2/ride/CableLift.cpp +++ b/src/openrct2/ride/CableLift.cpp @@ -54,7 +54,7 @@ Vehicle* cable_lift_segment_create( current->sound2_id = OpenRCT2::Audio::SoundId::Null; current->var_C4 = 0; current->animation_frame = 0; - current->var_C8 = 0; + current->animationState = 0; current->var_CA = 0; current->scream_sound_id = OpenRCT2::Audio::SoundId::Null; current->Pitch = 0; diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index 0cc906322d..f979b1dacf 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -3058,7 +3058,7 @@ static Vehicle* vehicle_create_car( vehicle->next_vehicle_on_train = SPRITE_INDEX_NULL; vehicle->var_C4 = 0; vehicle->animation_frame = 0; - vehicle->var_C8 = 0; + vehicle->animationState = 0; vehicle->scream_sound_id = OpenRCT2::Audio::SoundId::Null; vehicle->Pitch = 0; vehicle->bank_rotation = 0; diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index 50f1c0c22d..5416990bb0 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -1522,16 +1522,16 @@ bool Vehicle::OpenRestraints() } if (vehicleEntry->animation == VEHICLE_ENTRY_ANIMATION_OBSERVATION_TOWER && vehicle->animation_frame != 0) { - if (vehicle->var_C8 + 0x3333 < 0xFFFF) + if (vehicle->animationState + 0x3333 < 0xFFFF) { - vehicle->var_C8 = vehicle->var_C8 + 0x3333 - 0xFFFF; + vehicle->animationState = vehicle->animationState + 0x3333 - 0xFFFF; vehicle->animation_frame++; vehicle->animation_frame &= 7; vehicle->Invalidate(); } else { - vehicle->var_C8 += 0x3333; + vehicle->animationState += 0x3333; } restraintsOpen = false; continue; @@ -3639,7 +3639,7 @@ void Vehicle::UpdateCollisionSetup() } train->IsCrashedVehicle = true; - train->var_C8 = scenario_rand(); + train->animationState = scenario_rand(); train->var_CA = scenario_rand(); train->animation_frame = train->var_CA & 0x7; @@ -5408,7 +5408,7 @@ void Vehicle::CrashOnLand() IsCrashedVehicle = true; animation_frame = 0; - var_C8 = 0; + animationState = 0; sprite_width = 13; sprite_height_negative = 45; sprite_height_positive = 5; @@ -5475,7 +5475,7 @@ void Vehicle::CrashOnWater() IsCrashedVehicle = true; animation_frame = 0; - var_C8 = 0; + animationState = 0; sprite_width = 13; sprite_height_negative = 45; sprite_height_positive = 5; @@ -5506,14 +5506,14 @@ void Vehicle::UpdateCrash() ExplosionCloud::Create({ curVehicle->x + xOffset, curVehicle->y + yOffset, curVehicle->z }); } } - if (curVehicle->var_C8 + 7281 > 0xFFFF) + if (curVehicle->animationState + 7281 > 0xFFFF) { curVehicle->animation_frame++; if (curVehicle->animation_frame >= 8) curVehicle->animation_frame = 0; curVehicle->Invalidate(); } - curVehicle->var_C8 += 7281; + curVehicle->animationState += 7281; continue; } @@ -7275,11 +7275,11 @@ void Vehicle::UpdateSpinningCar() */ void Vehicle::UpdateAdditionalAnimation() { - uint8_t al{}; - uint8_t ah{}; + uint8_t targetFrame{}; + uint8_t curFrame{}; uint32_t eax{}; - uint32_t* curVar_C8 = reinterpret_cast(&var_C8); + uint32_t* curAnimationState = reinterpret_cast(&animationState); auto vehicleEntry = Entry(); if (vehicleEntry == nullptr) { @@ -7288,16 +7288,15 @@ void Vehicle::UpdateAdditionalAnimation() switch (vehicleEntry->animation) { case VEHICLE_ENTRY_ANIMATION_MINITURE_RAILWAY_LOCOMOTIVE: // loc_6D652B - *curVar_C8 += _vehicleVelocityF64E08; - al = (*curVar_C8 >> 20) & 3; - if (animation_frame != al) + *curAnimationState += _vehicleVelocityF64E08; + targetFrame = (*curAnimationState >> 20) & 3; + if (animation_frame != targetFrame) { - ah = al; - al = animation_frame; - animation_frame = ah; - al &= 0x02; - ah &= 0x02; - if (al != ah) + curFrame = animation_frame; + animation_frame = targetFrame; + targetFrame &= 0x02; + curFrame &= 0x02; + if (targetFrame != curFrame) { auto curRide = GetRide(); if (curRide != nullptr) @@ -7328,74 +7327,74 @@ void Vehicle::UpdateAdditionalAnimation() } break; case VEHICLE_ENTRY_ANIMATION_SWAN: // loc_6D6424 - *curVar_C8 += _vehicleVelocityF64E08; - al = (*curVar_C8 >> 18) & 2; - if (animation_frame != al) + *curAnimationState += _vehicleVelocityF64E08; + targetFrame = (*curAnimationState >> 18) & 2; + if (animation_frame != targetFrame) { - animation_frame = al; + animation_frame = targetFrame; Invalidate(); } break; case VEHICLE_ENTRY_ANIMATION_CANOES: // loc_6D6482 - *curVar_C8 += _vehicleVelocityF64E08; - eax = ((*curVar_C8 >> 13) & 0xFF) * 6; - ah = (eax >> 8) & 0xFF; - if (animation_frame != ah) + *curAnimationState += _vehicleVelocityF64E08; + eax = ((*curAnimationState >> 13) & 0xFF) * 6; + targetFrame = (eax >> 8) & 0xFF; + if (animation_frame != targetFrame) { - animation_frame = ah; + animation_frame = targetFrame; Invalidate(); } break; case VEHICLE_ENTRY_ANIMATION_ROW_BOATS: // loc_6D64F7 - *curVar_C8 += _vehicleVelocityF64E08; - eax = ((*curVar_C8 >> 13) & 0xFF) * 7; - ah = (eax >> 8) & 0xFF; - if (animation_frame != ah) + *curAnimationState += _vehicleVelocityF64E08; + eax = ((*curAnimationState >> 13) & 0xFF) * 7; + targetFrame = (eax >> 8) & 0xFF; + if (animation_frame != targetFrame) { - animation_frame = ah; + animation_frame = targetFrame; Invalidate(); } break; case VEHICLE_ENTRY_ANIMATION_WATER_TRICYCLES: // loc_6D6453 - *curVar_C8 += _vehicleVelocityF64E08; - al = (*curVar_C8 >> 19) & 1; - if (animation_frame != al) + *curAnimationState += _vehicleVelocityF64E08; + targetFrame = (*curAnimationState >> 19) & 1; + if (animation_frame != targetFrame) { - animation_frame = al; + animation_frame = targetFrame; Invalidate(); } break; case VEHICLE_ENTRY_ANIMATION_OBSERVATION_TOWER: // loc_6D65C3 - if (var_C8 <= 0xCCCC) + if (animationState <= 0xCCCC) { - var_C8 += 0x3333; + animationState += 0x3333; } else { - var_C8 += 0x3333; + animationState += 0x3333; animation_frame += 1; animation_frame &= 7; Invalidate(); } break; case VEHICLE_ENTRY_ANIMATION_HELICARS: // loc_6D63F5 - *curVar_C8 += _vehicleVelocityF64E08; - al = (*curVar_C8 >> 18) & 3; - if (animation_frame != al) + *curAnimationState += _vehicleVelocityF64E08; + targetFrame = (*curAnimationState >> 18) & 3; + if (animation_frame != targetFrame) { - animation_frame = al; + animation_frame = targetFrame; Invalidate(); } break; case VEHICLE_ENTRY_ANIMATION_MONORAIL_CYCLES: // loc_6D64B6 if (num_peeps != 0) { - *curVar_C8 += _vehicleVelocityF64E08; - eax = ((*curVar_C8 >> 13) & 0xFF) << 2; - ah = (eax >> 8) & 0xFF; - if (animation_frame != ah) + *curAnimationState += _vehicleVelocityF64E08; + eax = ((*curAnimationState >> 13) & 0xFF) << 2; + targetFrame = (eax >> 8) & 0xFF; + if (animation_frame != targetFrame) { - animation_frame = ah; + animation_frame = targetFrame; Invalidate(); } } @@ -7403,13 +7402,13 @@ void Vehicle::UpdateAdditionalAnimation() case VEHICLE_ENTRY_ANIMATION_MULTI_DIM_COASTER: // loc_6D65E1 if (seat_rotation != target_seat_rotation) { - if (var_C8 <= 0xCCCC) + if (animationState <= 0xCCCC) { - var_C8 += 0x3333; + animationState += 0x3333; } else { - var_C8 += 0x3333; + animationState += 0x3333; if (seat_rotation >= target_seat_rotation) seat_rotation--; diff --git a/src/openrct2/ride/Vehicle.h b/src/openrct2/ride/Vehicle.h index d24d584abc..dbfbd1b297 100644 --- a/src/openrct2/ride/Vehicle.h +++ b/src/openrct2/ride/Vehicle.h @@ -180,7 +180,7 @@ struct Vehicle : SpriteBase }; uint8_t animation_frame; uint8_t pad_C6[0x2]; - uint16_t var_C8; + uint16_t animationState; uint16_t var_CA; OpenRCT2::Audio::SoundId scream_sound_id; VehicleTrackSubposition TrackSubposition; diff --git a/src/openrct2/world/Entity.cpp b/src/openrct2/world/Entity.cpp index d3591c07f2..3f35c6a50f 100644 --- a/src/openrct2/world/Entity.cpp +++ b/src/openrct2/world/Entity.cpp @@ -278,7 +278,7 @@ void Vehicle::Serialise(DataSerialiser& stream) stream << powered_acceleration; stream << dodgems_collision_direction; stream << animation_frame; - stream << var_C8; + stream << animationState; stream << var_CA; stream << scream_sound_id; stream << TrackSubposition; From 3ab70b200bca8621c2c81ba6e6d15214c31093e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Sat, 21 Aug 2021 10:24:09 -0700 Subject: [PATCH 25/59] Fix #15255: Wall banner index defaults to 0 instead of null type --- distribution/changelog.txt | 1 + src/openrct2/actions/WallPlaceAction.cpp | 5 +---- src/openrct2/network/NetworkBase.cpp | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index f9c7ead1d9..c06bd9227f 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -14,6 +14,7 @@ - Fix: [#15170] Plugin: incorrect label text alignment. - Fix: [#15184] Crash when hovering over water types in Object Selection. - Fix: [#15193] Crash when rides/stalls are demolished. +- Fix: [#15255] Tile Inspector shows banner information on walls that do not contain one. - Improved: [#3417] Crash dumps are now placed in their own folder. - Change: [#8601] Revert ToonTower base block fix to re-enable support blocking. - Change: [#15174] [Plugin] Deprecate the type "peep" and add support to target a specific scripting api version. diff --git a/src/openrct2/actions/WallPlaceAction.cpp b/src/openrct2/actions/WallPlaceAction.cpp index 466f90c252..2cce251256 100644 --- a/src/openrct2/actions/WallPlaceAction.cpp +++ b/src/openrct2/actions/WallPlaceAction.cpp @@ -376,10 +376,7 @@ GameActions::Result::Ptr WallPlaceAction::Execute() const wallElement->SetAcrossTrack(wallAcrossTrack); wallElement->SetEntryIndex(_wallType); - if (banner != nullptr) - { - wallElement->SetBannerIndex(banner->id); - } + wallElement->SetBannerIndex(banner != nullptr ? banner->id : BANNER_INDEX_NULL); if (wallEntry->flags & WALL_SCENERY_HAS_TERNARY_COLOUR) { diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index a0417603bc..4452f1f04f 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -37,7 +37,7 @@ // This string specifies which version of network stream current build uses. // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -#define NETWORK_STREAM_VERSION "4" +#define NETWORK_STREAM_VERSION "5" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION static Peep* _pickup_peep = nullptr; From f49559daa5277b4659340a7855fc3927620770d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Sun, 22 Aug 2021 13:05:05 -0700 Subject: [PATCH 26/59] Fix #15259: Large scenery not rendering correctly --- src/openrct2/paint/tile_element/Paint.LargeScenery.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp index 1fdaa946e4..f813261996 100644 --- a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp +++ b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp @@ -281,8 +281,8 @@ void PaintLargeScenery(paint_session* session, uint8_t direction, uint16_t heigh edi = rol16(edi, direction); esi = (edi & 0xF) | (edi >> 12); } - const CoordsXYZ bbLength = { s98E3C4[esi].offset, height }; - const CoordsXYZ bbOffset = { s98E3C4[esi].length, boxlengthZ }; + const CoordsXYZ bbOffset = { s98E3C4[esi].offset, height }; + const CoordsXYZ bbLength = { s98E3C4[esi].length, boxlengthZ }; PaintAddImageAsParent(session, image_id, { 0, 0, height }, bbLength, bbOffset); if (sceneryEntry->scrolling_mode == SCROLLING_MODE_NONE || direction == 1 || direction == 2) { From 07ceec6b60ee3b9fb3c6bdcee41af5c4b084eda1 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Sun, 22 Aug 2021 23:39:58 +0300 Subject: [PATCH 27/59] Make all location types constexpr --- src/openrct2/world/Location.hpp | 152 ++++++++++++++++---------------- 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/src/openrct2/world/Location.hpp b/src/openrct2/world/Location.hpp index 19e5ff9952..3558dd7663 100644 --- a/src/openrct2/world/Location.hpp +++ b/src/openrct2/world/Location.hpp @@ -29,43 +29,43 @@ struct ScreenCoordsXY int32_t x = 0; int32_t y = 0; - ScreenCoordsXY() = default; + constexpr ScreenCoordsXY() = default; constexpr ScreenCoordsXY(int32_t _x, int32_t _y) : x(_x) , y(_y) { } - const ScreenCoordsXY operator-(const ScreenCoordsXY& rhs) const + constexpr const ScreenCoordsXY operator-(const ScreenCoordsXY& rhs) const { return { x - rhs.x, y - rhs.y }; } - ScreenCoordsXY& operator+=(const ScreenCoordsXY& rhs) + constexpr ScreenCoordsXY& operator+=(const ScreenCoordsXY& rhs) { x += rhs.x; y += rhs.y; return *this; } - ScreenCoordsXY& operator-=(const ScreenCoordsXY& rhs) + constexpr ScreenCoordsXY& operator-=(const ScreenCoordsXY& rhs) { x -= rhs.x; y -= rhs.y; return *this; } - const ScreenCoordsXY operator+(const ScreenCoordsXY& rhs) const + constexpr const ScreenCoordsXY operator+(const ScreenCoordsXY& rhs) const { return { x + rhs.x, y + rhs.y }; } - bool operator==(const ScreenCoordsXY& other) const + constexpr bool operator==(const ScreenCoordsXY& other) const { return x == other.x && y == other.y; } - bool operator!=(const ScreenCoordsXY& other) const + constexpr bool operator!=(const ScreenCoordsXY& other) const { return !(*this == other); } @@ -76,19 +76,19 @@ struct ScreenSize int32_t width{}; int32_t height{}; - ScreenSize() = default; + constexpr ScreenSize() = default; constexpr ScreenSize(int32_t _width, int32_t _height) : width(_width) , height(_height) { } - bool operator==(const ScreenSize& other) const + constexpr bool operator==(const ScreenSize& other) const { return width == other.width && height == other.height; } - bool operator!=(const ScreenSize& other) const + constexpr bool operator!=(const ScreenSize& other) const { return !(*this == other); } @@ -103,7 +103,7 @@ struct CoordsXY int32_t x = 0; int32_t y = 0; - CoordsXY() = default; + constexpr CoordsXY() = default; constexpr CoordsXY(int32_t _x, int32_t _y) : x(_x) , y(_y) @@ -231,7 +231,7 @@ struct CoordsXYZ : public CoordsXY { int32_t z = 0; - CoordsXYZ() = default; + constexpr CoordsXYZ() = default; constexpr CoordsXYZ(int32_t _x, int32_t _y, int32_t _z) : CoordsXY(_x, _y) , z(_z) @@ -244,32 +244,32 @@ struct CoordsXYZ : public CoordsXY { } - const CoordsXYZ operator+(const CoordsXYZ& rhs) const + constexpr const CoordsXYZ operator+(const CoordsXYZ& rhs) const { return { x + rhs.x, y + rhs.y, z + rhs.z }; } - const CoordsXYZ operator-(const CoordsXYZ& rhs) const + constexpr const CoordsXYZ operator-(const CoordsXYZ& rhs) const { return { x - rhs.x, y - rhs.y, z - rhs.z }; } - bool operator==(const CoordsXYZ& other) const + constexpr bool operator==(const CoordsXYZ& other) const { return x == other.x && y == other.y && z == other.z; } - CoordsXYZ ToTileStart() const + constexpr CoordsXYZ ToTileStart() const { return { floor2(x, COORDS_XY_STEP), floor2(y, COORDS_XY_STEP), z }; } - CoordsXYZ ToTileCentre() const + constexpr CoordsXYZ ToTileCentre() const { return ToTileStart() + CoordsXYZ{ COORDS_XY_HALF_TILE, COORDS_XY_HALF_TILE, 0 }; } - void setNull() + constexpr void setNull() { CoordsXY::setNull(); z = 0; @@ -281,7 +281,7 @@ struct CoordsXYRangedZ : public CoordsXY int32_t baseZ = 0; int32_t clearanceZ = 0; - CoordsXYRangedZ() = default; + constexpr CoordsXYRangedZ() = default; constexpr CoordsXYRangedZ(int32_t _x, int32_t _y, int32_t _baseZ, int32_t _clearanceZ) : CoordsXY(_x, _y) , baseZ(_baseZ) @@ -309,39 +309,39 @@ struct TileCoordsXY int32_t x = 0; int32_t y = 0; - TileCoordsXY() = default; + constexpr TileCoordsXY() = default; constexpr TileCoordsXY(int32_t x_, int32_t y_) : x(x_) , y(y_) { } - explicit TileCoordsXY(const CoordsXY& c) + constexpr explicit TileCoordsXY(const CoordsXY& c) : x(c.x / COORDS_XY_STEP) , y(c.y / COORDS_XY_STEP) { } - const TileCoordsXY operator+(const TileCoordsXY& rhs) const + constexpr const TileCoordsXY operator+(const TileCoordsXY& rhs) const { return { x + rhs.x, y + rhs.y }; } - TileCoordsXY& operator+=(const TileCoordsXY& rhs) + constexpr TileCoordsXY& operator+=(const TileCoordsXY& rhs) { x += rhs.x; y += rhs.y; return *this; } - TileCoordsXY& operator-=(const TileCoordsXY& rhs) + constexpr TileCoordsXY& operator-=(const TileCoordsXY& rhs) { x -= rhs.x; y -= rhs.y; return *this; } - CoordsXY ToCoordsXY() const + constexpr CoordsXY ToCoordsXY() const { if (isNull()) { @@ -353,7 +353,7 @@ struct TileCoordsXY return { x * COORDS_XY_STEP, y * COORDS_XY_STEP }; } - TileCoordsXY Rotate(int32_t direction) const + constexpr TileCoordsXY Rotate(int32_t direction) const { TileCoordsXY rotatedCoords; switch (direction & 3) @@ -380,22 +380,22 @@ struct TileCoordsXY return rotatedCoords; } - bool operator==(const TileCoordsXY& other) const + constexpr bool operator==(const TileCoordsXY& other) const { return x == other.x && y == other.y; } - bool operator!=(const TileCoordsXY& other) const + constexpr bool operator!=(const TileCoordsXY& other) const { return !(*this == other); } - bool isNull() const + constexpr bool isNull() const { return x == COORDS_NULL; }; - void setNull() + constexpr void setNull() { x = COORDS_NULL; y = 0; @@ -406,56 +406,56 @@ struct TileCoordsXYZ : public TileCoordsXY { int32_t z = 0; - TileCoordsXYZ() = default; + constexpr TileCoordsXYZ() = default; constexpr TileCoordsXYZ(int32_t x_, int32_t y_, int32_t z_) : TileCoordsXY(x_, y_) , z(z_) { } - TileCoordsXYZ(const TileCoordsXY& c, int32_t z_) + constexpr TileCoordsXYZ(const TileCoordsXY& c, int32_t z_) : TileCoordsXY(c.x, c.y) , z(z_) { } - TileCoordsXYZ(const CoordsXY& c, int32_t z_) + constexpr TileCoordsXYZ(const CoordsXY& c, int32_t z_) : TileCoordsXY(c) , z(z_) { } - explicit TileCoordsXYZ(const CoordsXYZ& c) + constexpr explicit TileCoordsXYZ(const CoordsXYZ& c) : TileCoordsXY(c) , z(c.z / COORDS_Z_STEP) { } - TileCoordsXYZ& operator+=(const TileCoordsXY& rhs) + constexpr TileCoordsXYZ& operator+=(const TileCoordsXY& rhs) { x += rhs.x; y += rhs.y; return *this; } - TileCoordsXYZ& operator-=(const TileCoordsXY& rhs) + constexpr TileCoordsXYZ& operator-=(const TileCoordsXY& rhs) { x -= rhs.x; y -= rhs.y; return *this; } - bool operator==(const TileCoordsXYZ& other) const + constexpr bool operator==(const TileCoordsXYZ& other) const { return x == other.x && y == other.y && z == other.z; } - bool operator!=(const TileCoordsXYZ& other) const + constexpr bool operator!=(const TileCoordsXYZ& other) const { return !(*this == other); } - CoordsXYZ ToCoordsXYZ() const + constexpr CoordsXYZ ToCoordsXYZ() const { if (isNull()) { @@ -466,7 +466,7 @@ struct TileCoordsXYZ : public TileCoordsXY return { x * COORDS_XY_STEP, y * COORDS_XY_STEP, z * COORDS_Z_STEP }; } - void setNull() + constexpr void setNull() { TileCoordsXY::setNull(); z = 0; @@ -549,7 +549,7 @@ struct CoordsXYZD : public CoordsXYZ { Direction direction = 0; - CoordsXYZD() = default; + constexpr CoordsXYZD() = default; constexpr CoordsXYZD(int32_t _x, int32_t _y, int32_t _z, Direction _d) : CoordsXYZ(_x, _y, _z) , direction(_d) @@ -568,49 +568,49 @@ struct CoordsXYZD : public CoordsXYZ { } - bool operator==(const CoordsXYZD& other) const + constexpr bool operator==(const CoordsXYZD& other) const { return x == other.x && y == other.y && z == other.z && direction == other.direction; } - bool operator!=(const CoordsXYZD& other) const + constexpr bool operator!=(const CoordsXYZD& other) const { return !(*this == other); } - CoordsXYZD& operator+=(const CoordsXY& rhs) + constexpr CoordsXYZD& operator+=(const CoordsXY& rhs) { x += rhs.x; y += rhs.y; return *this; } - const CoordsXYZD operator+(const CoordsXY& rhs) const + constexpr const CoordsXYZD operator+(const CoordsXY& rhs) const { return { x + rhs.x, y + rhs.y, z, direction }; } - const CoordsXYZD operator+(const CoordsXYZ& rhs) const + constexpr const CoordsXYZD operator+(const CoordsXYZ& rhs) const { return { x + rhs.x, y + rhs.y, z + rhs.z, direction }; } - const CoordsXYZD operator-(const CoordsXY& rhs) const + constexpr const CoordsXYZD operator-(const CoordsXY& rhs) const { return { x - rhs.x, y - rhs.y, z, direction }; } - const CoordsXYZD operator-(const CoordsXYZ& rhs) const + constexpr const CoordsXYZD operator-(const CoordsXYZ& rhs) const { return { x - rhs.x, y - rhs.y, z - rhs.z, direction }; } - CoordsXYZD ToTileStart() const + constexpr CoordsXYZD ToTileStart() const { return { floor2(x, COORDS_XY_STEP), floor2(y, COORDS_XY_STEP), z, direction }; } - CoordsXYZD ToTileCentre() const + constexpr CoordsXYZD ToTileCentre() const { return ToTileStart() + CoordsXYZD{ COORDS_XY_HALF_TILE, COORDS_XY_HALF_TILE, 0, 0 }; } @@ -620,44 +620,44 @@ struct TileCoordsXYZD : public TileCoordsXYZ { Direction direction; - TileCoordsXYZD() = default; + constexpr TileCoordsXYZD() = default; constexpr TileCoordsXYZD(int32_t x_, int32_t y_, int32_t z_, Direction d_) : TileCoordsXYZ(x_, y_, z_) , direction(d_) { } - TileCoordsXYZD(const TileCoordsXYZ& t_, Direction d_) + constexpr TileCoordsXYZD(const TileCoordsXYZ& t_, Direction d_) : TileCoordsXYZ(t_) , direction(d_) { } - TileCoordsXYZD(const TileCoordsXY& t_, int32_t z_, Direction d_) + constexpr TileCoordsXYZD(const TileCoordsXY& t_, int32_t z_, Direction d_) : TileCoordsXYZ(t_, z_) , direction(d_) { } - TileCoordsXYZD(const CoordsXY& c_, int32_t z_, Direction d_) + constexpr TileCoordsXYZD(const CoordsXY& c_, int32_t z_, Direction d_) : TileCoordsXYZ(c_, z_) , direction(d_) { } - TileCoordsXYZD(const CoordsXYZ& c_, Direction d_) + constexpr TileCoordsXYZD(const CoordsXYZ& c_, Direction d_) : TileCoordsXYZ(c_) , direction(d_) { } - TileCoordsXYZD(const CoordsXYZD& c_) + constexpr TileCoordsXYZD(const CoordsXYZD& c_) : TileCoordsXYZ(c_) , direction(c_.direction) { } - CoordsXYZD ToCoordsXYZD() const + constexpr CoordsXYZD ToCoordsXYZD() const { if (isNull()) { @@ -668,7 +668,7 @@ struct TileCoordsXYZD : public TileCoordsXYZ return { x * COORDS_XY_STEP, y * COORDS_XY_STEP, z * COORDS_Z_STEP, direction }; } - void setNull() + constexpr void setNull() { TileCoordsXYZ::setNull(); direction = INVALID_DIRECTION; @@ -683,30 +683,30 @@ template struct CoordsRange T Point1{ 0, 0 }; T Point2{ 0, 0 }; - int32_t GetX1() const + constexpr int32_t GetX1() const { return Point1.x; } - int32_t GetY1() const + constexpr int32_t GetY1() const { return Point1.y; } - int32_t GetX2() const + constexpr int32_t GetX2() const { return Point2.x; } - int32_t GetY2() const + constexpr int32_t GetY2() const { return Point2.y; } - CoordsRange() = default; - CoordsRange(int32_t x1, int32_t y1, int32_t x2, int32_t y2) + constexpr CoordsRange() = default; + constexpr CoordsRange(int32_t x1, int32_t y1, int32_t x2, int32_t y2) : CoordsRange({ x1, y1 }, { x2, y2 }) { } - CoordsRange(const T& pointOne, const T& pointTwo) + constexpr CoordsRange(const T& pointOne, const T& pointTwo) : Point1(pointOne) , Point2(pointTwo) { @@ -717,29 +717,29 @@ template struct RectRange : public CoordsRange { using CoordsRange::CoordsRange; - int32_t GetLeft() const + constexpr int32_t GetLeft() const { return CoordsRange::GetX1(); } - int32_t GetTop() const + constexpr int32_t GetTop() const { return CoordsRange::GetY1(); } - int32_t GetRight() const + constexpr int32_t GetRight() const { return CoordsRange::GetX2(); } - int32_t GetBottom() const + constexpr int32_t GetBottom() const { return CoordsRange::GetY2(); } - RectRange(int32_t left, int32_t top, int32_t right, int32_t bottom) + constexpr RectRange(int32_t left, int32_t top, int32_t right, int32_t bottom) : RectRange({ left, top }, { right, bottom }) { } - RectRange(const T& leftTop, const T& rightBottom) + constexpr RectRange(const T& leftTop, const T& rightBottom) : CoordsRange(leftTop, rightBottom) { } @@ -753,7 +753,7 @@ struct MapRange : public RectRange { using RectRange::RectRange; - MapRange Normalise() const + constexpr MapRange Normalise() const { auto result = MapRange( std::min(GetLeft(), GetRight()), std::min(GetTop(), GetBottom()), std::max(GetLeft(), GetRight()), @@ -768,7 +768,7 @@ struct MapRange : public RectRange struct ScreenLine : public CoordsRange { - ScreenLine(const ScreenCoordsXY& leftTop, const ScreenCoordsXY& rightBottom) + constexpr ScreenLine(const ScreenCoordsXY& leftTop, const ScreenCoordsXY& rightBottom) : CoordsRange(leftTop, rightBottom) { } @@ -782,15 +782,15 @@ struct ScreenRect : public RectRange { using RectRange::RectRange; - int32_t GetWidth() const + constexpr int32_t GetWidth() const { return GetRight() - GetLeft(); } - int32_t GetHeight() const + constexpr int32_t GetHeight() const { return GetBottom() - GetTop(); } - bool Contains(const ScreenCoordsXY& coords) const + constexpr bool Contains(const ScreenCoordsXY& coords) const { return coords.x >= GetLeft() && coords.x <= GetRight() && coords.y >= GetTop() && coords.y <= GetBottom(); } From c858f218450c5e5d91f9fa9c88c9d6818c39a901 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Mon, 23 Aug 2021 14:41:18 +0300 Subject: [PATCH 28/59] Default initialize members the same way across the file --- src/openrct2/world/Location.hpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/openrct2/world/Location.hpp b/src/openrct2/world/Location.hpp index 3558dd7663..560bcb91e8 100644 --- a/src/openrct2/world/Location.hpp +++ b/src/openrct2/world/Location.hpp @@ -26,8 +26,8 @@ constexpr int32_t COORDS_NULL = 0xFFFF8000; struct ScreenCoordsXY { - int32_t x = 0; - int32_t y = 0; + int32_t x{}; + int32_t y{}; constexpr ScreenCoordsXY() = default; constexpr ScreenCoordsXY(int32_t _x, int32_t _y) @@ -100,8 +100,8 @@ struct ScreenSize */ struct CoordsXY { - int32_t x = 0; - int32_t y = 0; + int32_t x{}; + int32_t y{}; constexpr CoordsXY() = default; constexpr CoordsXY(int32_t _x, int32_t _y) @@ -229,7 +229,7 @@ struct CoordsXY struct CoordsXYZ : public CoordsXY { - int32_t z = 0; + int32_t z{}; constexpr CoordsXYZ() = default; constexpr CoordsXYZ(int32_t _x, int32_t _y, int32_t _z) @@ -278,8 +278,8 @@ struct CoordsXYZ : public CoordsXY struct CoordsXYRangedZ : public CoordsXY { - int32_t baseZ = 0; - int32_t clearanceZ = 0; + int32_t baseZ{}; + int32_t clearanceZ{}; constexpr CoordsXYRangedZ() = default; constexpr CoordsXYRangedZ(int32_t _x, int32_t _y, int32_t _baseZ, int32_t _clearanceZ) @@ -306,8 +306,8 @@ struct CoordsXYRangedZ : public CoordsXY struct TileCoordsXY { - int32_t x = 0; - int32_t y = 0; + int32_t x{}; + int32_t y{}; constexpr TileCoordsXY() = default; constexpr TileCoordsXY(int32_t x_, int32_t y_) @@ -404,7 +404,7 @@ struct TileCoordsXY struct TileCoordsXYZ : public TileCoordsXY { - int32_t z = 0; + int32_t z{}; constexpr TileCoordsXYZ() = default; constexpr TileCoordsXYZ(int32_t x_, int32_t y_, int32_t z_) @@ -547,7 +547,7 @@ constexpr Direction ALL_DIRECTIONS[] = { 0, 1, 2, 3 }; struct CoordsXYZD : public CoordsXYZ { - Direction direction = 0; + Direction direction{}; constexpr CoordsXYZD() = default; constexpr CoordsXYZD(int32_t _x, int32_t _y, int32_t _z, Direction _d) @@ -618,7 +618,7 @@ struct CoordsXYZD : public CoordsXYZ struct TileCoordsXYZD : public TileCoordsXYZ { - Direction direction; + Direction direction{}; constexpr TileCoordsXYZD() = default; constexpr TileCoordsXYZD(int32_t x_, int32_t y_, int32_t z_, Direction d_) From 956e77f4c36b5ac10907ad73722e259ffab5c080 Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Mon, 23 Aug 2021 20:09:43 +0200 Subject: [PATCH 29/59] Use [[nodiscard]] for allocator and RAII functions (#15244) --- src/openrct2-ui/UiContext.h | 6 +- src/openrct2-ui/audio/AudioContext.h | 2 +- .../drawing/engines/DrawingEngineFactory.hpp | 10 ++- src/openrct2-ui/title/TitleSequencePlayer.h | 2 +- src/openrct2/Context.h | 12 +-- src/openrct2/GameStateSnapshots.h | 2 +- src/openrct2/ParkImporter.h | 6 +- src/openrct2/PlatformEnvironment.h | 4 +- src/openrct2/ReplayManager.h | 2 +- src/openrct2/TrackImporter.h | 8 +- src/openrct2/audio/AudioContext.h | 2 +- src/openrct2/config/IniReader.hpp | 4 +- src/openrct2/config/IniWriter.hpp | 2 +- src/openrct2/core/Crypt.h | 8 +- src/openrct2/core/FileScanner.h | 4 +- src/openrct2/core/IStream.hpp | 2 +- src/openrct2/core/Zip.h | 18 ++-- src/openrct2/drawing/IDrawingEngine.h | 2 +- .../network/NetworkServerAdvertiser.h | 2 +- src/openrct2/network/Socket.h | 8 +- src/openrct2/network/network.h | 86 +++++++++---------- src/openrct2/object/ImageTable.h | 12 +-- src/openrct2/object/LargeSceneryObject.h | 10 +-- src/openrct2/object/Object.h | 6 +- src/openrct2/object/ObjectFactory.h | 11 +-- src/openrct2/object/ObjectManager.h | 12 +-- src/openrct2/object/ObjectRepository.h | 31 +++---- src/openrct2/peep/Peep.h | 14 +-- src/openrct2/rct12/SawyerChunkReader.h | 4 +- src/openrct2/ride/Ride.h | 2 +- src/openrct2/ride/TrackDesign.h | 2 +- src/openrct2/ride/TrackDesignRepository.h | 11 +-- src/openrct2/scenario/ScenarioRepository.h | 12 +-- src/openrct2/scripting/ScriptEngine.h | 9 +- src/openrct2/title/TitleSequence.h | 6 +- src/openrct2/ui/UiContext.h | 4 +- src/openrct2/world/Map.h | 4 +- test/tests/sawyercoding_test.cpp | 24 ++++-- 38 files changed, 192 insertions(+), 174 deletions(-) diff --git a/src/openrct2-ui/UiContext.h b/src/openrct2-ui/UiContext.h index 4917703eae..1d84ee0a9a 100644 --- a/src/openrct2-ui/UiContext.h +++ b/src/openrct2-ui/UiContext.h @@ -46,9 +46,9 @@ namespace OpenRCT2 virtual bool HasFilePicker() const abstract; }; - std::unique_ptr CreateUiContext(const std::shared_ptr& env); - IPlatformUiContext* CreatePlatformUiContext(); + [[nodiscard]] std::unique_ptr CreateUiContext(const std::shared_ptr& env); + [[nodiscard]] IPlatformUiContext* CreatePlatformUiContext(); - InGameConsole& GetInGameConsole(); + [[nodiscard]] InGameConsole& GetInGameConsole(); } // namespace Ui } // namespace OpenRCT2 diff --git a/src/openrct2-ui/audio/AudioContext.h b/src/openrct2-ui/audio/AudioContext.h index 7f4a48ebd6..dd175aa7ea 100644 --- a/src/openrct2-ui/audio/AudioContext.h +++ b/src/openrct2-ui/audio/AudioContext.h @@ -79,6 +79,6 @@ namespace OpenRCT2::Audio IAudioMixer* Create(); } - std::unique_ptr CreateAudioContext(); + [[nodiscard]] std::unique_ptr CreateAudioContext(); } // namespace OpenRCT2::Audio diff --git a/src/openrct2-ui/drawing/engines/DrawingEngineFactory.hpp b/src/openrct2-ui/drawing/engines/DrawingEngineFactory.hpp index 47b6868708..e746c966a5 100644 --- a/src/openrct2-ui/drawing/engines/DrawingEngineFactory.hpp +++ b/src/openrct2-ui/drawing/engines/DrawingEngineFactory.hpp @@ -21,16 +21,18 @@ namespace OpenRCT2 struct IUiContext; - std::unique_ptr CreateSoftwareDrawingEngine(const std::shared_ptr& uiContext); - std::unique_ptr CreateHardwareDisplayDrawingEngine(const std::shared_ptr& uiContext); + [[nodiscard]] std::unique_ptr CreateSoftwareDrawingEngine(const std::shared_ptr& uiContext); + [[nodiscard]] std::unique_ptr CreateHardwareDisplayDrawingEngine( + const std::shared_ptr& uiContext); #ifndef DISABLE_OPENGL - std::unique_ptr CreateOpenGLDrawingEngine(const std::shared_ptr& uiContext); + [[nodiscard]] std::unique_ptr CreateOpenGLDrawingEngine(const std::shared_ptr& uiContext); #endif class DrawingEngineFactory final : public IDrawingEngineFactory { public: - std::unique_ptr Create(DrawingEngine type, const std::shared_ptr& uiContext) override + [[nodiscard]] std::unique_ptr Create( + DrawingEngine type, const std::shared_ptr& uiContext) override { switch (type) { diff --git a/src/openrct2-ui/title/TitleSequencePlayer.h b/src/openrct2-ui/title/TitleSequencePlayer.h index 77699d47fa..1d38e714fc 100644 --- a/src/openrct2-ui/title/TitleSequencePlayer.h +++ b/src/openrct2-ui/title/TitleSequencePlayer.h @@ -20,4 +20,4 @@ namespace OpenRCT2 class GameState; } -std::unique_ptr CreateTitleSequencePlayer(OpenRCT2::GameState& gameState); +[[nodiscard]] std::unique_ptr CreateTitleSequencePlayer(OpenRCT2::GameState& gameState); diff --git a/src/openrct2/Context.h b/src/openrct2/Context.h index 967ac662b7..4cac112caf 100644 --- a/src/openrct2/Context.h +++ b/src/openrct2/Context.h @@ -114,10 +114,10 @@ namespace OpenRCT2 { virtual ~IContext() = default; - virtual std::shared_ptr GetAudioContext() abstract; - virtual std::shared_ptr GetUiContext() abstract; + [[nodiscard]] virtual std::shared_ptr GetAudioContext() abstract; + [[nodiscard]] virtual std::shared_ptr GetUiContext() abstract; virtual GameState* GetGameState() abstract; - virtual std::shared_ptr GetPlatformEnvironment() abstract; + [[nodiscard]] virtual std::shared_ptr GetPlatformEnvironment() abstract; virtual Localisation::LocalisationService& GetLocalisationService() abstract; virtual IObjectManager& GetObjectManager() abstract; virtual IObjectRepository& GetObjectRepository() abstract; @@ -156,11 +156,11 @@ namespace OpenRCT2 virtual float GetTimeScale() const abstract; }; - std::unique_ptr CreateContext(); - std::unique_ptr CreateContext( + [[nodiscard]] std::unique_ptr CreateContext(); + [[nodiscard]] std::unique_ptr CreateContext( const std::shared_ptr& env, const std::shared_ptr& audioContext, const std::shared_ptr& uiContext); - IContext* GetContext(); + [[nodiscard]] IContext* GetContext(); } // namespace OpenRCT2 enum diff --git a/src/openrct2/GameStateSnapshots.h b/src/openrct2/GameStateSnapshots.h index f7490c953d..ed3df93176 100644 --- a/src/openrct2/GameStateSnapshots.h +++ b/src/openrct2/GameStateSnapshots.h @@ -110,4 +110,4 @@ struct IGameStateSnapshots virtual std::string GetCompareDataText(const GameStateCompareData_t& cmpData) const = 0; }; -std::unique_ptr CreateGameStateSnapshots(); +[[nodiscard]] std::unique_ptr CreateGameStateSnapshots(); diff --git a/src/openrct2/ParkImporter.h b/src/openrct2/ParkImporter.h index 1edcc8b146..ff2272dd8e 100644 --- a/src/openrct2/ParkImporter.h +++ b/src/openrct2/ParkImporter.h @@ -57,9 +57,9 @@ public: namespace ParkImporter { - std::unique_ptr Create(const std::string& hintPath); - std::unique_ptr CreateS4(); - std::unique_ptr CreateS6(IObjectRepository& objectRepository); + [[nodiscard]] std::unique_ptr Create(const std::string& hintPath); + [[nodiscard]] std::unique_ptr CreateS4(); + [[nodiscard]] std::unique_ptr CreateS6(IObjectRepository& objectRepository); bool ExtensionIsRCT1(const std::string& extension); bool ExtensionIsScenario(const std::string& extension); diff --git a/src/openrct2/PlatformEnvironment.h b/src/openrct2/PlatformEnvironment.h index 91f3a47779..0d539a0024 100644 --- a/src/openrct2/PlatformEnvironment.h +++ b/src/openrct2/PlatformEnvironment.h @@ -84,7 +84,7 @@ namespace OpenRCT2 virtual void SetBasePath(DIRBASE base, const std::string& path) abstract; }; - std::unique_ptr CreatePlatformEnvironment(DIRBASE_VALUES basePaths); - std::unique_ptr CreatePlatformEnvironment(); + [[nodiscard]] std::unique_ptr CreatePlatformEnvironment(DIRBASE_VALUES basePaths); + [[nodiscard]] std::unique_ptr CreatePlatformEnvironment(); } // namespace OpenRCT2 diff --git a/src/openrct2/ReplayManager.h b/src/openrct2/ReplayManager.h index d635147008..895a99fedd 100644 --- a/src/openrct2/ReplayManager.h +++ b/src/openrct2/ReplayManager.h @@ -65,6 +65,6 @@ namespace OpenRCT2 virtual bool NormaliseReplay(const std::string& inputFile, const std::string& outputFile) = 0; }; - std::unique_ptr CreateReplayManager(); + [[nodiscard]] std::unique_ptr CreateReplayManager(); } // namespace OpenRCT2 diff --git a/src/openrct2/TrackImporter.h b/src/openrct2/TrackImporter.h index 677228dc1a..fb5ffee743 100644 --- a/src/openrct2/TrackImporter.h +++ b/src/openrct2/TrackImporter.h @@ -28,14 +28,14 @@ public: virtual bool Load(const utf8* path) abstract; virtual bool LoadFromStream(OpenRCT2::IStream* stream) abstract; - virtual std::unique_ptr Import() abstract; + [[nodiscard]] virtual std::unique_ptr Import() abstract; }; namespace TrackImporter { - std::unique_ptr Create(const std::string& hintPath); - std::unique_ptr CreateTD4(); - std::unique_ptr CreateTD6(); + [[nodiscard]] std::unique_ptr Create(const std::string& hintPath); + [[nodiscard]] std::unique_ptr CreateTD4(); + [[nodiscard]] std::unique_ptr CreateTD6(); bool ExtensionIsRCT1(const std::string& extension); } // namespace TrackImporter diff --git a/src/openrct2/audio/AudioContext.h b/src/openrct2/audio/AudioContext.h index af7ab7bfdb..6b9ee914d2 100644 --- a/src/openrct2/audio/AudioContext.h +++ b/src/openrct2/audio/AudioContext.h @@ -55,6 +55,6 @@ namespace OpenRCT2::Audio virtual void StopVehicleSounds() abstract; }; - std::unique_ptr CreateDummyAudioContext(); + [[nodiscard]] std::unique_ptr CreateDummyAudioContext(); } // namespace OpenRCT2::Audio diff --git a/src/openrct2/config/IniReader.hpp b/src/openrct2/config/IniReader.hpp index 23329091cf..91f847d590 100644 --- a/src/openrct2/config/IniReader.hpp +++ b/src/openrct2/config/IniReader.hpp @@ -48,5 +48,5 @@ struct IIniReader utf8* GetCString(const std::string& name, const utf8* defaultValue) const; }; -std::unique_ptr CreateIniReader(OpenRCT2::IStream* stream); -std::unique_ptr CreateDefaultIniReader(); +[[nodiscard]] std::unique_ptr CreateIniReader(OpenRCT2::IStream* stream); +[[nodiscard]] std::unique_ptr CreateDefaultIniReader(); diff --git a/src/openrct2/config/IniWriter.hpp b/src/openrct2/config/IniWriter.hpp index ab5cd6f501..8f44e51e81 100644 --- a/src/openrct2/config/IniWriter.hpp +++ b/src/openrct2/config/IniWriter.hpp @@ -52,4 +52,4 @@ struct IIniWriter void WriteString(const std::string& name, const utf8* value); }; -std::unique_ptr CreateIniWriter(OpenRCT2::IStream* stream); +[[nodiscard]] std::unique_ptr CreateIniWriter(OpenRCT2::IStream* stream); diff --git a/src/openrct2/core/Crypt.h b/src/openrct2/core/Crypt.h index 468ca65780..18967bd875 100644 --- a/src/openrct2/core/Crypt.h +++ b/src/openrct2/core/Crypt.h @@ -50,10 +50,10 @@ namespace Crypt using Sha256Algorithm = HashAlgorithm<32>; // Factories - std::unique_ptr CreateSHA1(); - std::unique_ptr CreateSHA256(); - std::unique_ptr CreateRSA(); - std::unique_ptr CreateRSAKey(); + [[nodiscard]] std::unique_ptr CreateSHA1(); + [[nodiscard]] std::unique_ptr CreateSHA256(); + [[nodiscard]] std::unique_ptr CreateRSA(); + [[nodiscard]] std::unique_ptr CreateRSAKey(); inline Sha1Algorithm::Result SHA1(const void* data, size_t dataLen) { diff --git a/src/openrct2/core/FileScanner.h b/src/openrct2/core/FileScanner.h index 1e6c63d230..4cc17977bb 100644 --- a/src/openrct2/core/FileScanner.h +++ b/src/openrct2/core/FileScanner.h @@ -51,7 +51,7 @@ namespace Path * @param recurse Whether to scan sub directories or not. * @returns A new FileScanner, this must be deleted when no longer needed. */ - std::unique_ptr ScanDirectory(const std::string& pattern, bool recurse); + [[nodiscard]] std::unique_ptr ScanDirectory(const std::string& pattern, bool recurse); /** * Scans a directory and all sub directories @@ -60,5 +60,5 @@ namespace Path */ void QueryDirectory(QueryDirectoryResult* result, const std::string& pattern); - std::vector GetDirectories(const std::string& path); + [[nodiscard]] std::vector GetDirectories(const std::string& path); } // namespace Path diff --git a/src/openrct2/core/IStream.hpp b/src/openrct2/core/IStream.hpp index 6f751dc77c..815990d8dc 100644 --- a/src/openrct2/core/IStream.hpp +++ b/src/openrct2/core/IStream.hpp @@ -192,7 +192,7 @@ namespace OpenRCT2 Write(&value); } - template std::unique_ptr ReadArray(size_t count) + template[[nodiscard]] std::unique_ptr ReadArray(size_t count) { auto buffer = std::make_unique(count); Read(buffer.get(), sizeof(T) * count); diff --git a/src/openrct2/core/Zip.h b/src/openrct2/core/Zip.h index 01d5e8b17b..43d4beafc5 100644 --- a/src/openrct2/core/Zip.h +++ b/src/openrct2/core/Zip.h @@ -31,11 +31,11 @@ struct IZipArchive { } - virtual size_t GetNumFiles() const abstract; - virtual std::string GetFileName(size_t index) const abstract; - virtual uint64_t GetFileSize(size_t index) const abstract; - virtual std::vector GetFileData(std::string_view path) const abstract; - virtual std::unique_ptr GetFileStream(std::string_view path) const abstract; + [[nodiscard]] virtual size_t GetNumFiles() const abstract; + [[nodiscard]] virtual std::string GetFileName(size_t index) const abstract; + [[nodiscard]] virtual uint64_t GetFileSize(size_t index) const abstract; + [[nodiscard]] virtual std::vector GetFileData(std::string_view path) const abstract; + [[nodiscard]] virtual std::unique_ptr GetFileStream(std::string_view path) const abstract; /** * Creates or overwrites a file within the zip archive to the given data buffer. @@ -47,8 +47,8 @@ struct IZipArchive virtual void DeleteFile(std::string_view path) abstract; virtual void RenameFile(std::string_view path, std::string_view newPath) abstract; - std::optional GetIndexFromPath(std::string_view path) const; - bool Exists(std::string_view path) const; + [[nodiscard]] std::optional GetIndexFromPath(std::string_view path) const; + [[nodiscard]] bool Exists(std::string_view path) const; }; enum class ZIP_ACCESS @@ -59,6 +59,6 @@ enum class ZIP_ACCESS namespace Zip { - std::unique_ptr Open(std::string_view path, ZIP_ACCESS zipAccess); - std::unique_ptr TryOpen(std::string_view path, ZIP_ACCESS zipAccess); + [[nodiscard]] std::unique_ptr Open(std::string_view path, ZIP_ACCESS zipAccess); + [[nodiscard]] std::unique_ptr TryOpen(std::string_view path, ZIP_ACCESS zipAccess); } // namespace Zip diff --git a/src/openrct2/drawing/IDrawingEngine.h b/src/openrct2/drawing/IDrawingEngine.h index 0d679d2467..41c3adb383 100644 --- a/src/openrct2/drawing/IDrawingEngine.h +++ b/src/openrct2/drawing/IDrawingEngine.h @@ -79,7 +79,7 @@ namespace OpenRCT2::Drawing virtual ~IDrawingEngineFactory() { } - virtual std::unique_ptr Create( + [[nodiscard]] virtual std::unique_ptr Create( DrawingEngine type, const std::shared_ptr& uiContext) abstract; }; diff --git a/src/openrct2/network/NetworkServerAdvertiser.h b/src/openrct2/network/NetworkServerAdvertiser.h index b4581ca9f6..e49882d93f 100644 --- a/src/openrct2/network/NetworkServerAdvertiser.h +++ b/src/openrct2/network/NetworkServerAdvertiser.h @@ -30,4 +30,4 @@ struct INetworkServerAdvertiser virtual void Update() abstract; }; -std::unique_ptr CreateServerAdvertiser(uint16_t port); +[[nodiscard]] std::unique_ptr CreateServerAdvertiser(uint16_t port); diff --git a/src/openrct2/network/Socket.h b/src/openrct2/network/Socket.h index 9100d959a9..81b6ea2911 100644 --- a/src/openrct2/network/Socket.h +++ b/src/openrct2/network/Socket.h @@ -60,7 +60,7 @@ public: virtual void Listen(uint16_t port) abstract; virtual void Listen(const std::string& address, uint16_t port) abstract; - virtual std::unique_ptr Accept() abstract; + [[nodiscard]] virtual std::unique_ptr Accept() abstract; virtual void Connect(const std::string& address, uint16_t port) abstract; virtual void ConnectAsync(const std::string& address, uint16_t port) abstract; @@ -98,9 +98,9 @@ public: virtual void Close() abstract; }; -std::unique_ptr CreateTcpSocket(); -std::unique_ptr CreateUdpSocket(); -std::vector> GetBroadcastAddresses(); +[[nodiscard]] std::unique_ptr CreateTcpSocket(); +[[nodiscard]] std::unique_ptr CreateUdpSocket(); +[[nodiscard]] std::vector> GetBroadcastAddresses(); namespace Convert { diff --git a/src/openrct2/network/network.h b/src/openrct2/network/network.h index 2876339f21..9e590caf9c 100644 --- a/src/openrct2/network/network.h +++ b/src/openrct2/network/network.h @@ -47,8 +47,8 @@ void network_shutdown_client(); int32_t network_begin_client(const std::string& host, int32_t port); int32_t network_begin_server(int32_t port, const std::string& address); -int32_t network_get_mode(); -int32_t network_get_status(); +[[nodiscard]] int32_t network_get_mode(); +[[nodiscard]] int32_t network_get_status(); bool network_is_desynchronised(); bool network_check_desynchronisation(); void network_request_gamestate_snapshot(); @@ -58,46 +58,46 @@ void network_update(); void network_process_pending(); void network_flush(); -NetworkAuth network_get_authstatus(); -uint32_t network_get_server_tick(); -uint8_t network_get_current_player_id(); -int32_t network_get_num_players(); -const char* network_get_player_name(uint32_t index); -uint32_t network_get_player_flags(uint32_t index); -int32_t network_get_player_ping(uint32_t index); -int32_t network_get_player_id(uint32_t index); -money32 network_get_player_money_spent(uint32_t index); -std::string network_get_player_ip_address(uint32_t id); -std::string network_get_player_public_key_hash(uint32_t id); +[[nodiscard]] NetworkAuth network_get_authstatus(); +[[nodiscard]] uint32_t network_get_server_tick(); +[[nodiscard]] uint8_t network_get_current_player_id(); +[[nodiscard]] int32_t network_get_num_players(); +[[nodiscard]] const char* network_get_player_name(uint32_t index); +[[nodiscard]] uint32_t network_get_player_flags(uint32_t index); +[[nodiscard]] int32_t network_get_player_ping(uint32_t index); +[[nodiscard]] int32_t network_get_player_id(uint32_t index); +[[nodiscard]] money32 network_get_player_money_spent(uint32_t index); +[[nodiscard]] std::string network_get_player_ip_address(uint32_t id); +[[nodiscard]] std::string network_get_player_public_key_hash(uint32_t id); void network_add_player_money_spent(uint32_t index, money32 cost); -int32_t network_get_player_last_action(uint32_t index, int32_t time); +[[nodiscard]] int32_t network_get_player_last_action(uint32_t index, int32_t time); void network_set_player_last_action(uint32_t index, GameCommand command); -CoordsXYZ network_get_player_last_action_coord(uint32_t index); +[[nodiscard]] CoordsXYZ network_get_player_last_action_coord(uint32_t index); void network_set_player_last_action_coord(uint32_t index, const CoordsXYZ& coord); -uint32_t network_get_player_commands_ran(uint32_t index); -int32_t network_get_player_index(uint32_t id); -uint8_t network_get_player_group(uint32_t index); +[[nodiscard]] uint32_t network_get_player_commands_ran(uint32_t index); +[[nodiscard]] int32_t network_get_player_index(uint32_t id); +[[nodiscard]] uint8_t network_get_player_group(uint32_t index); void network_set_player_group(uint32_t index, uint32_t groupindex); -int32_t network_get_group_index(uint8_t id); -int32_t network_get_current_player_group_index(); -uint8_t network_get_group_id(uint32_t index); -int32_t network_get_num_groups(); -const char* network_get_group_name(uint32_t index); -std::unique_ptr network_set_player_group( +[[nodiscard]] int32_t network_get_group_index(uint8_t id); +[[nodiscard]] int32_t network_get_current_player_group_index(); +[[nodiscard]] uint8_t network_get_group_id(uint32_t index); +[[nodiscard]] int32_t network_get_num_groups(); +[[nodiscard]] const char* network_get_group_name(uint32_t index); +[[nodiscard]] std::unique_ptr network_set_player_group( NetworkPlayerId_t actionPlayerId, NetworkPlayerId_t playerId, uint8_t groupId, bool isExecuting); -std::unique_ptr network_modify_groups( +[[nodiscard]] std::unique_ptr network_modify_groups( NetworkPlayerId_t actionPlayerId, ModifyGroupType type, uint8_t groupId, const std::string& name, uint32_t permissionIndex, PermissionState permissionState, bool isExecuting); -std::unique_ptr network_kick_player(NetworkPlayerId_t playerId, bool isExecuting); -uint8_t network_get_default_group(); -int32_t network_get_num_actions(); -rct_string_id network_get_action_name_string_id(uint32_t index); -int32_t network_can_perform_action(uint32_t groupindex, NetworkPermission index); -int32_t network_can_perform_command(uint32_t groupindex, int32_t index); +[[nodiscard]] std::unique_ptr network_kick_player(NetworkPlayerId_t playerId, bool isExecuting); +[[nodiscard]] uint8_t network_get_default_group(); +[[nodiscard]] int32_t network_get_num_actions(); +[[nodiscard]] rct_string_id network_get_action_name_string_id(uint32_t index); +[[nodiscard]] int32_t network_can_perform_action(uint32_t groupindex, NetworkPermission index); +[[nodiscard]] int32_t network_can_perform_command(uint32_t groupindex, int32_t index); void network_set_pickup_peep(uint8_t playerid, Peep* peep); -Peep* network_get_pickup_peep(uint8_t playerid); +[[nodiscard]] Peep* network_get_pickup_peep(uint8_t playerid); void network_set_pickup_peep_old_x(uint8_t playerid, int32_t x); -int32_t network_get_pickup_peep_old_x(uint8_t playerid); +[[nodiscard]] int32_t network_get_pickup_peep_old_x(uint8_t playerid); void network_send_map(); void network_send_chat(const char* text, const std::vector& playerIds = {}); @@ -110,15 +110,15 @@ void network_set_password(const char* password); void network_print_error(); void network_append_chat_log(const utf8* text); void network_append_server_log(const utf8* text); -const utf8* network_get_server_name(); -const utf8* network_get_server_description(); -const utf8* network_get_server_greeting(); -const utf8* network_get_server_provider_name(); -const utf8* network_get_server_provider_email(); -const utf8* network_get_server_provider_website(); +[[nodiscard]] const utf8* network_get_server_name(); +[[nodiscard]] const utf8* network_get_server_description(); +[[nodiscard]] const utf8* network_get_server_greeting(); +[[nodiscard]] const utf8* network_get_server_provider_name(); +[[nodiscard]] const utf8* network_get_server_provider_email(); +[[nodiscard]] const utf8* network_get_server_provider_website(); -std::string network_get_version(); +[[nodiscard]] std::string network_get_version(); -NetworkStats_t network_get_stats(); -NetworkServerState_t network_get_server_state(); -json_t network_get_server_info_as_json(); +[[nodiscard]] NetworkStats_t network_get_stats(); +[[nodiscard]] NetworkServerState_t network_get_server_state(); +[[nodiscard]] json_t network_get_server_info_as_json(); diff --git a/src/openrct2/object/ImageTable.h b/src/openrct2/object/ImageTable.h index acd6aeea0d..dcad67643f 100644 --- a/src/openrct2/object/ImageTable.h +++ b/src/openrct2/object/ImageTable.h @@ -32,15 +32,17 @@ private: * Container for a G1 image, additional information and RAII. Used by ReadJson */ struct RequiredImage; - static std::vector> ParseImages(IReadObjectContext* context, std::string s); + [[nodiscard]] static std::vector> ParseImages( + IReadObjectContext* context, std::string s); /** * @note root is deliberately left non-const: json_t behaviour changes when const */ - static std::vector> ParseImages(IReadObjectContext* context, json_t& el); - static std::vector> LoadObjectImages( + [[nodiscard]] static std::vector> ParseImages( + IReadObjectContext* context, json_t& el); + [[nodiscard]] static std::vector> LoadObjectImages( IReadObjectContext* context, const std::string& name, const std::vector& range); - static std::vector ParseRange(std::string s); - static std::string FindLegacyObject(const std::string& name); + [[nodiscard]] static std::vector ParseRange(std::string s); + [[nodiscard]] static std::string FindLegacyObject(const std::string& name); public: ImageTable() = default; diff --git a/src/openrct2/object/LargeSceneryObject.h b/src/openrct2/object/LargeSceneryObject.h index a39e387880..d1711336db 100644 --- a/src/openrct2/object/LargeSceneryObject.h +++ b/src/openrct2/object/LargeSceneryObject.h @@ -43,9 +43,9 @@ public: const rct_large_scenery_tile* GetTileForSequence(uint8_t SequenceIndex) const; private: - static std::vector ReadTiles(OpenRCT2::IStream* stream); - static std::vector ReadJsonTiles(json_t& jTiles); - static std::unique_ptr ReadJson3dFont(json_t& j3dFont); - static std::vector ReadJsonOffsets(json_t& jOffsets); - static std::vector ReadJsonGlyphs(json_t& jGlyphs); + [[nodiscard]] static std::vector ReadTiles(OpenRCT2::IStream* stream); + [[nodiscard]] static std::vector ReadJsonTiles(json_t& jTiles); + [[nodiscard]] static std::unique_ptr ReadJson3dFont(json_t& j3dFont); + [[nodiscard]] static std::vector ReadJsonOffsets(json_t& jOffsets); + [[nodiscard]] static std::vector ReadJsonGlyphs(json_t& jGlyphs); }; diff --git a/src/openrct2/object/Object.h b/src/openrct2/object/Object.h index 0f3761986c..4f7ca3f8cf 100644 --- a/src/openrct2/object/Object.h +++ b/src/openrct2/object/Object.h @@ -222,9 +222,9 @@ public: { } - bool IsAvailable() const; - uint64_t GetSize() const; - std::unique_ptr GetStream() const; + [[nodiscard]] bool IsAvailable() const; + [[nodiscard]] uint64_t GetSize() const; + [[nodiscard]] std::unique_ptr GetStream() const; }; struct IReadObjectContext diff --git a/src/openrct2/object/ObjectFactory.h b/src/openrct2/object/ObjectFactory.h index 74ea1787c7..ecbdf9f611 100644 --- a/src/openrct2/object/ObjectFactory.h +++ b/src/openrct2/object/ObjectFactory.h @@ -20,11 +20,12 @@ struct rct_object_entry; namespace ObjectFactory { - std::unique_ptr CreateObjectFromLegacyFile(IObjectRepository& objectRepository, const utf8* path); - std::unique_ptr CreateObjectFromLegacyData( + [[nodiscard]] std::unique_ptr CreateObjectFromLegacyFile(IObjectRepository& objectRepository, const utf8* path); + [[nodiscard]] std::unique_ptr CreateObjectFromLegacyData( IObjectRepository& objectRepository, const rct_object_entry* entry, const void* data, size_t dataSize); - std::unique_ptr CreateObjectFromZipFile(IObjectRepository& objectRepository, std::string_view path); - std::unique_ptr CreateObject(const rct_object_entry& entry); + [[nodiscard]] std::unique_ptr CreateObjectFromZipFile(IObjectRepository& objectRepository, std::string_view path); + [[nodiscard]] std::unique_ptr CreateObject(const rct_object_entry& entry); - std::unique_ptr CreateObjectFromJsonFile(IObjectRepository& objectRepository, const std::string& path); + [[nodiscard]] std::unique_ptr CreateObjectFromJsonFile( + IObjectRepository& objectRepository, const std::string& path); } // namespace ObjectFactory diff --git a/src/openrct2/object/ObjectManager.h b/src/openrct2/object/ObjectManager.h index 37f54cfb05..1dbf7fc2a5 100644 --- a/src/openrct2/object/ObjectManager.h +++ b/src/openrct2/object/ObjectManager.h @@ -43,13 +43,13 @@ struct IObjectManager virtual const std::vector& GetAllRideEntries(uint8_t rideType) abstract; }; -std::unique_ptr CreateObjectManager(IObjectRepository& objectRepository); +[[nodiscard]] std::unique_ptr CreateObjectManager(IObjectRepository& objectRepository); -Object* object_manager_get_loaded_object_by_index(size_t index); -Object* object_manager_get_loaded_object(const ObjectEntryDescriptor& entry); -ObjectEntryIndex object_manager_get_loaded_object_entry_index(const Object* loadedObject); -ObjectEntryIndex object_manager_get_loaded_object_entry_index(const ObjectEntryDescriptor& entry); +[[nodiscard]] Object* object_manager_get_loaded_object_by_index(size_t index); +[[nodiscard]] Object* object_manager_get_loaded_object(const ObjectEntryDescriptor& entry); +[[nodiscard]] ObjectEntryIndex object_manager_get_loaded_object_entry_index(const Object* loadedObject); +[[nodiscard]] ObjectEntryIndex object_manager_get_loaded_object_entry_index(const ObjectEntryDescriptor& entry); Object* object_manager_load_object(const rct_object_entry* entry); void object_manager_unload_objects(const std::vector& entries); void object_manager_unload_all_objects(); -rct_string_id object_manager_get_source_game_string(const ObjectSourceGame sourceGame); +[[nodiscard]] rct_string_id object_manager_get_source_game_string(const ObjectSourceGame sourceGame); diff --git a/src/openrct2/object/ObjectRepository.h b/src/openrct2/object/ObjectRepository.h index bf2af60b25..6fa5555f8d 100644 --- a/src/openrct2/object/ObjectRepository.h +++ b/src/openrct2/object/ObjectRepository.h @@ -55,7 +55,7 @@ struct ObjectRepositoryItem std::vector Entries; } SceneryGroupInfo; - ObjectSourceGame GetFirstSourceGame() const + [[nodiscard]] ObjectSourceGame GetFirstSourceGame() const { if (Sources.empty()) return ObjectSourceGame::Custom; @@ -70,14 +70,14 @@ struct IObjectRepository virtual void LoadOrConstruct(int32_t language) abstract; virtual void Construct(int32_t language) abstract; - virtual size_t GetNumObjects() const abstract; - virtual const ObjectRepositoryItem* GetObjects() const abstract; - virtual const ObjectRepositoryItem* FindObjectLegacy(std::string_view legacyIdentifier) const abstract; - virtual const ObjectRepositoryItem* FindObject(std::string_view identifier) const abstract; - virtual const ObjectRepositoryItem* FindObject(const rct_object_entry* objectEntry) const abstract; - virtual const ObjectRepositoryItem* FindObject(const ObjectEntryDescriptor& oed) const abstract; + [[nodiscard]] virtual size_t GetNumObjects() const abstract; + [[nodiscard]] virtual const ObjectRepositoryItem* GetObjects() const abstract; + [[nodiscard]] virtual const ObjectRepositoryItem* FindObjectLegacy(std::string_view legacyIdentifier) const abstract; + [[nodiscard]] virtual const ObjectRepositoryItem* FindObject(std::string_view identifier) const abstract; + [[nodiscard]] virtual const ObjectRepositoryItem* FindObject(const rct_object_entry* objectEntry) const abstract; + [[nodiscard]] virtual const ObjectRepositoryItem* FindObject(const ObjectEntryDescriptor& oed) const abstract; - virtual std::unique_ptr LoadObject(const ObjectRepositoryItem* ori) abstract; + [[nodiscard]] virtual std::unique_ptr LoadObject(const ObjectRepositoryItem* ori) abstract; virtual void RegisterLoadedObject(const ObjectRepositoryItem* ori, Object* object) abstract; virtual void UnregisterLoadedObject(const ObjectRepositoryItem* ori, Object* object) abstract; @@ -88,12 +88,13 @@ struct IObjectRepository virtual void WritePackedObjects(OpenRCT2::IStream* stream, std::vector& objects) abstract; }; -std::unique_ptr CreateObjectRepository(const std::shared_ptr& env); +[[nodiscard]] std::unique_ptr CreateObjectRepository( + const std::shared_ptr& env); -bool IsObjectCustom(const ObjectRepositoryItem* object); +[[nodiscard]] bool IsObjectCustom(const ObjectRepositoryItem* object); -size_t object_repository_get_items_count(); -const ObjectRepositoryItem* object_repository_get_items(); -const ObjectRepositoryItem* object_repository_find_object_by_entry(const rct_object_entry* entry); -const ObjectRepositoryItem* object_repository_find_object_by_name(const char* name); -std::unique_ptr object_repository_load_object(const rct_object_entry* objectEntry); +[[nodiscard]] size_t object_repository_get_items_count(); +[[nodiscard]] const ObjectRepositoryItem* object_repository_get_items(); +[[nodiscard]] const ObjectRepositoryItem* object_repository_find_object_by_entry(const rct_object_entry* entry); +[[nodiscard]] const ObjectRepositoryItem* object_repository_find_object_by_name(const char* name); +[[nodiscard]] std::unique_ptr object_repository_load_object(const rct_object_entry* objectEntry); diff --git a/src/openrct2/peep/Peep.h b/src/openrct2/peep/Peep.h index 6f4bad1206..eb659b6760 100644 --- a/src/openrct2/peep/Peep.h +++ b/src/openrct2/peep/Peep.h @@ -625,18 +625,18 @@ public: // Peep void UpdateCurrentActionSpriteType(); void SwitchToSpecialSprite(uint8_t special_sprite_id); void StateReset(); - uint8_t GetNextDirection() const; + [[nodiscard]] uint8_t GetNextDirection() const; bool GetNextIsSloped() const; bool GetNextIsSurface() const; void SetNextFlags(uint8_t next_direction, bool is_sloped, bool is_surface); bool CanBePickedUp() const; void Pickup(); void PickupAbort(int32_t old_x); - std::unique_ptr Place(const TileCoordsXYZ& location, bool apply); + [[nodiscard]] std::unique_ptr Place(const TileCoordsXYZ& location, bool apply); void RemoveFromRide(); void FormatActionTo(Formatter&) const; void FormatNameTo(Formatter&) const; - std::string GetName() const; + [[nodiscard]] std::string GetName() const; bool SetName(std::string_view value); bool IsActionWalking() const; bool IsActionIdle() const; @@ -648,16 +648,16 @@ public: // Peep void SetDestination(const CoordsXY& coords); void SetDestination(const CoordsXY& coords, int32_t tolerance); - CoordsXY GetDestination() const; + [[nodiscard]] CoordsXY GetDestination() const; // TODO: Make these private again when done refactoring public: // Peep - bool CheckForPath(); + [[nodiscard]] bool CheckForPath(); void PerformNextAction(uint8_t& pathing_result); void PerformNextAction(uint8_t& pathing_result, TileElement*& tile_result); - int32_t GetZOnSlope(int32_t tile_x, int32_t tile_y); + [[nodiscard]] int32_t GetZOnSlope(int32_t tile_x, int32_t tile_y); void SwitchNextActionSpriteType(); - PeepActionSpriteType GetActionSpriteType(); + [[nodiscard]] PeepActionSpriteType GetActionSpriteType(); private: void UpdateFalling(); diff --git a/src/openrct2/rct12/SawyerChunkReader.h b/src/openrct2/rct12/SawyerChunkReader.h index 0873c8b845..954447325e 100644 --- a/src/openrct2/rct12/SawyerChunkReader.h +++ b/src/openrct2/rct12/SawyerChunkReader.h @@ -57,12 +57,12 @@ public: /** * Reads the next chunk from the stream. */ - std::shared_ptr ReadChunk(); + [[nodiscard]] std::shared_ptr ReadChunk(); /** * As above but for chunks without a header */ - std::shared_ptr ReadChunkTrack(); + [[nodiscard]] std::shared_ptr ReadChunkTrack(); /** * Reads the next chunk from the stream and copies it directly to the diff --git a/src/openrct2/ride/Ride.h b/src/openrct2/ride/Ride.h index 400507c89c..be14e2431a 100644 --- a/src/openrct2/ride/Ride.h +++ b/src/openrct2/ride/Ride.h @@ -450,7 +450,7 @@ public: static void UpdateAll(); static bool NameExists(std::string_view name, ride_id_t excludeRideId = RIDE_ID_NULL); - std::unique_ptr SaveToTrackDesign() const; + [[nodiscard]] std::unique_ptr SaveToTrackDesign() const; uint64_t GetAvailableModes() const; const RideTypeDescriptor& GetRideTypeDescriptor() const; diff --git a/src/openrct2/ride/TrackDesign.h b/src/openrct2/ride/TrackDesign.h index d9b69783ff..d459527365 100644 --- a/src/openrct2/ride/TrackDesign.h +++ b/src/openrct2/ride/TrackDesign.h @@ -199,7 +199,7 @@ extern bool _trackDesignPlaceStateSceneryUnavailable; extern bool gTrackDesignSaveMode; extern ride_id_t gTrackDesignSaveRideIndex; -std::unique_ptr track_design_open(const utf8* path); +[[nodiscard]] std::unique_ptr track_design_open(const utf8* path); void track_design_mirror(TrackDesign* td6); diff --git a/src/openrct2/ride/TrackDesignRepository.h b/src/openrct2/ride/TrackDesignRepository.h index 8e9c1f4085..aeefb83c52 100644 --- a/src/openrct2/ride/TrackDesignRepository.h +++ b/src/openrct2/ride/TrackDesignRepository.h @@ -31,9 +31,9 @@ struct ITrackDesignRepository { virtual ~ITrackDesignRepository() = default; - virtual size_t GetCount() const abstract; - virtual size_t GetCountForObjectEntry(uint8_t rideType, const std::string& entry) const abstract; - virtual std::vector GetItemsForObjectEntry( + [[nodiscard]] virtual size_t GetCount() const abstract; + [[nodiscard]] virtual size_t GetCountForObjectEntry(uint8_t rideType, const std::string& entry) const abstract; + [[nodiscard]] virtual std::vector GetItemsForObjectEntry( uint8_t rideType, const std::string& entry) const abstract; virtual void Scan(int32_t language) abstract; @@ -42,8 +42,9 @@ struct ITrackDesignRepository virtual std::string Install(const std::string& path, const std::string& name) abstract; }; -std::unique_ptr CreateTrackDesignRepository(const std::shared_ptr& env); -std::string GetNameFromTrackPath(const std::string& path); +[[nodiscard]] std::unique_ptr CreateTrackDesignRepository( + const std::shared_ptr& env); +[[nodiscard]] std::string GetNameFromTrackPath(const std::string& path); void track_repository_scan(); bool track_repository_delete(const utf8* path); diff --git a/src/openrct2/scenario/ScenarioRepository.h b/src/openrct2/scenario/ScenarioRepository.h index 0ee807a384..8d6898d464 100644 --- a/src/openrct2/scenario/ScenarioRepository.h +++ b/src/openrct2/scenario/ScenarioRepository.h @@ -74,11 +74,13 @@ struct IScenarioRepository int32_t language, const utf8* scenarioFileName, money64 companyValue, const utf8* name) abstract; }; -std::unique_ptr CreateScenarioRepository(const std::shared_ptr& env); -IScenarioRepository* GetScenarioRepository(); +[[nodiscard]] std::unique_ptr CreateScenarioRepository( + const std::shared_ptr& env); +[[nodiscard]] IScenarioRepository* GetScenarioRepository(); void scenario_repository_scan(); -size_t scenario_repository_get_count(); -const scenario_index_entry* scenario_repository_get_by_index(size_t index); -bool scenario_repository_try_record_highscore(const utf8* scenarioFileName, money64 companyValue, const utf8* name); +[[nodiscard]] size_t scenario_repository_get_count(); +[[nodiscard]] const scenario_index_entry* scenario_repository_get_by_index(size_t index); +[[nodiscard]] bool scenario_repository_try_record_highscore( + const utf8* scenarioFileName, money64 companyValue, const utf8* name); void scenario_translate(scenario_index_entry* scenarioEntry); diff --git a/src/openrct2/scripting/ScriptEngine.h b/src/openrct2/scripting/ScriptEngine.h index 9210a3622c..404e7daffd 100644 --- a/src/openrct2/scripting/ScriptEngine.h +++ b/src/openrct2/scripting/ScriptEngine.h @@ -220,12 +220,12 @@ namespace OpenRCT2::Scripting void AddNetworkPlugin(std::string_view code); - std::unique_ptr QueryOrExecuteCustomGameAction( + [[nodiscard]] std::unique_ptr QueryOrExecuteCustomGameAction( std::string_view id, std::string_view args, bool isExecute); bool RegisterCustomAction( const std::shared_ptr& plugin, std::string_view action, const DukValue& query, const DukValue& execute); void RunGameActionHooks(const GameAction& action, std::unique_ptr& result, bool isExecute); - std::unique_ptr CreateGameAction(const std::string& actionid, const DukValue& args); + [[nodiscard]] std::unique_ptr CreateGameAction(const std::string& actionid, const DukValue& args); void SaveSharedStorage(); @@ -249,8 +249,9 @@ namespace OpenRCT2::Scripting void AutoReloadPlugins(); void ProcessREPL(); void RemoveCustomGameActions(const std::shared_ptr& plugin); - std::unique_ptr DukToGameActionResult(const DukValue& d); - DukValue GameActionResultToDuk(const GameAction& action, const std::unique_ptr& result); + [[nodiscard]] std::unique_ptr DukToGameActionResult(const DukValue& d); + [[nodiscard]] DukValue GameActionResultToDuk( + const GameAction& action, const std::unique_ptr& result); static std::string_view ExpenditureTypeToString(ExpenditureType expenditureType); static ExpenditureType StringToExpenditureType(std::string_view expenditureType); diff --git a/src/openrct2/title/TitleSequence.h b/src/openrct2/title/TitleSequence.h index 447eef9390..62c64d1593 100644 --- a/src/openrct2/title/TitleSequence.h +++ b/src/openrct2/title/TitleSequence.h @@ -78,9 +78,9 @@ enum class TitleScript : uint8_t constexpr const utf8* TITLE_SEQUENCE_EXTENSION = ".parkseq"; constexpr uint8_t SAVE_INDEX_INVALID = UINT8_MAX; -std::unique_ptr CreateTitleSequence(); -std::unique_ptr LoadTitleSequence(const std::string& path); -std::unique_ptr TitleSequenceGetParkHandle(const TitleSequence& seq, size_t index); +[[nodiscard]] std::unique_ptr CreateTitleSequence(); +[[nodiscard]] std::unique_ptr LoadTitleSequence(const std::string& path); +[[nodiscard]] std::unique_ptr TitleSequenceGetParkHandle(const TitleSequence& seq, size_t index); bool TitleSequenceSave(const TitleSequence& seq); bool TitleSequenceAddPark(TitleSequence& seq, const utf8* path, const utf8* name); diff --git a/src/openrct2/ui/UiContext.h b/src/openrct2/ui/UiContext.h index 0f557defef..c2f38d56ac 100644 --- a/src/openrct2/ui/UiContext.h +++ b/src/openrct2/ui/UiContext.h @@ -138,7 +138,7 @@ namespace OpenRCT2 virtual void SetKeysPressed(uint32_t keysym, uint8_t scancode) abstract; // Drawing - virtual std::shared_ptr GetDrawingEngineFactory() abstract; + [[nodiscard]] virtual std::shared_ptr GetDrawingEngineFactory() abstract; virtual void DrawWeatherAnimation( OpenRCT2::Drawing::IWeatherDrawer* weatherDrawer, rct_drawpixelinfo* dpi, OpenRCT2::Drawing::DrawWeatherFunc drawFunc) abstract; @@ -158,6 +158,6 @@ namespace OpenRCT2 virtual ITitleSequencePlayer* GetTitleSequencePlayer() abstract; }; - std::shared_ptr CreateDummyUiContext(); + [[nodiscard]] std::shared_ptr CreateDummyUiContext(); } // namespace Ui } // namespace OpenRCT2 diff --git a/src/openrct2/world/Map.h b/src/openrct2/world/Map.h index ed0bdb7275..9427e13bf9 100644 --- a/src/openrct2/world/Map.h +++ b/src/openrct2/world/Map.h @@ -242,10 +242,10 @@ using CLEAR_FUNC = int32_t (*)(TileElement** tile_element, const CoordsXY& coord int32_t map_place_non_scenery_clear_func(TileElement** tile_element, const CoordsXY& coords, uint8_t flags, money32* price); int32_t map_place_scenery_clear_func(TileElement** tile_element, const CoordsXY& coords, uint8_t flags, money32* price); -std::unique_ptr MapCanConstructWithClearAt( +[[nodiscard]] std::unique_ptr MapCanConstructWithClearAt( const CoordsXYRangedZ& pos, CLEAR_FUNC clearFunc, QuarterTile quarterTile, uint8_t flags, uint8_t crossingMode = CREATE_CROSSING_MODE_NONE, bool isTree = false); -std::unique_ptr MapCanConstructAt(const CoordsXYRangedZ& pos, QuarterTile bl); +[[nodiscard]] std::unique_ptr MapCanConstructAt(const CoordsXYRangedZ& pos, QuarterTile bl); struct tile_element_iterator { diff --git a/test/tests/sawyercoding_test.cpp b/test/tests/sawyercoding_test.cpp index 1a72af0ddb..c449699192 100644 --- a/test/tests/sawyercoding_test.cpp +++ b/test/tests/sawyercoding_test.cpp @@ -118,56 +118,64 @@ TEST_F(SawyerCodingTest, invalid1) { OpenRCT2::MemoryStream ms(invalid1, sizeof(invalid1)); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), SawyerChunkException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), SawyerChunkException); } TEST_F(SawyerCodingTest, invalid2) { OpenRCT2::MemoryStream ms(invalid2, sizeof(invalid2)); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), SawyerChunkException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), SawyerChunkException); } TEST_F(SawyerCodingTest, invalid3) { OpenRCT2::MemoryStream ms(invalid3, sizeof(invalid3)); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), SawyerChunkException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), SawyerChunkException); } TEST_F(SawyerCodingTest, invalid4) { OpenRCT2::MemoryStream ms(invalid4, sizeof(invalid4)); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), SawyerChunkException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), SawyerChunkException); } TEST_F(SawyerCodingTest, invalid5) { OpenRCT2::MemoryStream ms(invalid5, sizeof(invalid5)); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), SawyerChunkException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), SawyerChunkException); } TEST_F(SawyerCodingTest, invalid6) { OpenRCT2::MemoryStream ms(invalid6, sizeof(invalid6)); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), SawyerChunkException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), SawyerChunkException); } TEST_F(SawyerCodingTest, invalid7) { OpenRCT2::MemoryStream ms(invalid7, sizeof(invalid7)); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), SawyerChunkException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), SawyerChunkException); } TEST_F(SawyerCodingTest, empty) { OpenRCT2::MemoryStream ms(empty, 0); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), IOException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), IOException); } // 1024 bytes of random data From e48dd2d32b312fc8733ebe9d76551963a2d8eb71 Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Mon, 23 Aug 2021 21:18:25 +0200 Subject: [PATCH 30/59] Remove utf-8 BOM from source files (#15270) --- src/openrct2/Context.h | 2 +- src/openrct2/world/TileElementsView.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/openrct2/Context.h b/src/openrct2/Context.h index 4cac112caf..56740f30b9 100644 --- a/src/openrct2/Context.h +++ b/src/openrct2/Context.h @@ -1,4 +1,4 @@ -/***************************************************************************** +/***************************************************************************** * Copyright (c) 2014-2020 OpenRCT2 developers * * For a complete list of all authors, please refer to contributors.md diff --git a/src/openrct2/world/TileElementsView.h b/src/openrct2/world/TileElementsView.h index d43e995999..5a357db762 100644 --- a/src/openrct2/world/TileElementsView.h +++ b/src/openrct2/world/TileElementsView.h @@ -1,4 +1,4 @@ -/***************************************************************************** +/***************************************************************************** * Copyright (c) 2014-2021 OpenRCT2 developers * * For a complete list of all authors, please refer to contributors.md From 201a94f7e6db732d1b9dcf7e824fe7c05aa87446 Mon Sep 17 00:00:00 2001 From: Duncan Date: Tue, 24 Aug 2021 16:26:52 +0100 Subject: [PATCH 31/59] Add overloads to take CoordsXYZ (#15253) --- src/openrct2/paint/Paint.h | 9 ++++++ src/openrct2/paint/PaintHelpers.cpp | 47 +++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/src/openrct2/paint/Paint.h b/src/openrct2/paint/Paint.h index 83db6e3c7b..7a6787d18e 100644 --- a/src/openrct2/paint/Paint.h +++ b/src/openrct2/paint/Paint.h @@ -295,6 +295,15 @@ paint_struct* PaintAddImageAsChildRotated( paint_session* session, uint8_t direction, uint32_t image_id, int32_t x_offset, int32_t y_offset, int32_t bound_box_length_x, int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset, int32_t bound_box_offset_x, int32_t bound_box_offset_y, int32_t bound_box_offset_z); +paint_struct* PaintAddImageAsChildRotated( + paint_session* session, const uint8_t direction, const uint32_t image_id, const CoordsXYZ& offset, + const CoordsXYZ& boundBoxSize, const CoordsXYZ& boundBoxOffset); +paint_struct* PaintAddImageAsParentRotated( + paint_session* session, const uint8_t direction, const uint32_t image_id, const CoordsXYZ& offset, + const CoordsXYZ& boundBoxSize); +paint_struct* PaintAddImageAsParentRotated( + paint_session* session, const uint8_t direction, const uint32_t image_id, const CoordsXYZ& offset, + const CoordsXYZ& boundBoxSize, const CoordsXYZ& boundBoxOffset); void paint_util_push_tunnel_rotated(paint_session* session, uint8_t direction, uint16_t height, uint8_t type); diff --git a/src/openrct2/paint/PaintHelpers.cpp b/src/openrct2/paint/PaintHelpers.cpp index 994c306c57..1868ef8afa 100644 --- a/src/openrct2/paint/PaintHelpers.cpp +++ b/src/openrct2/paint/PaintHelpers.cpp @@ -48,6 +48,37 @@ paint_struct* PaintAddImageAsParentRotated( } } +paint_struct* PaintAddImageAsParentRotated( + paint_session* session, const uint8_t direction, const uint32_t image_id, const CoordsXYZ& offset, + const CoordsXYZ& boundBoxSize, const CoordsXYZ& boundBoxOffset) +{ + if (direction & 1) + { + return PaintAddImageAsParent( + session, image_id, { offset.y, offset.x, offset.z }, { boundBoxSize.y, boundBoxSize.x, boundBoxSize.z }, + { boundBoxOffset.y, boundBoxOffset.x, boundBoxOffset.z }); + } + else + { + return PaintAddImageAsParent(session, image_id, offset, boundBoxSize, boundBoxOffset); + } +} + +paint_struct* PaintAddImageAsParentRotated( + paint_session* session, const uint8_t direction, const uint32_t image_id, const CoordsXYZ& offset, + const CoordsXYZ& boundBoxSize) +{ + if (direction & 1) + { + return PaintAddImageAsParent( + session, image_id, { offset.y, offset.x, offset.z }, { boundBoxSize.y, boundBoxSize.x, boundBoxSize.z }); + } + else + { + return PaintAddImageAsParent(session, image_id, offset, boundBoxSize); + } +} + paint_struct* PaintAddImageAsChildRotated( paint_session* session, uint8_t direction, uint32_t image_id, int32_t x_offset, int32_t y_offset, int32_t bound_box_length_x, int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset, @@ -67,6 +98,22 @@ paint_struct* PaintAddImageAsChildRotated( } } +paint_struct* PaintAddImageAsChildRotated( + paint_session* session, const uint8_t direction, const uint32_t image_id, const CoordsXYZ& offset, + const CoordsXYZ& boundBoxSize, const CoordsXYZ& boundBoxOffset) +{ + if (direction & 1) + { + return PaintAddImageAsChild( + session, image_id, { offset.y, offset.x, offset.z }, { boundBoxSize.y, boundBoxSize.x, boundBoxSize.z }, + { boundBoxOffset.y, boundBoxOffset.x, boundBoxOffset.z }); + } + else + { + return PaintAddImageAsChild(session, image_id, offset, boundBoxSize, boundBoxOffset); + } +} + void paint_util_push_tunnel_rotated(paint_session* session, uint8_t direction, uint16_t height, uint8_t type) { if (direction & 1) From d2aca03ff6e03420345fa3b7ba66f19e4e379597 Mon Sep 17 00:00:00 2001 From: Duncan Date: Tue, 24 Aug 2021 19:12:05 +0100 Subject: [PATCH 32/59] Fix #15271. Use formatter to pass description args to text input (#15272) * Fix #15271. Use formatter to pass description args to text input Originally passed the variables via global vars which were not updated to 32bit during recent refactors. This removes the global and makes the interface cleaner and corrects the type * Fix size of arguments --- src/openrct2-ui/windows/Banner.cpp | 2 +- src/openrct2-ui/windows/Cheats.cpp | 2 +- src/openrct2-ui/windows/ClearScenery.cpp | 7 +++-- src/openrct2-ui/windows/CustomCurrency.cpp | 4 +-- .../windows/EditorObjectiveOptions.cpp | 6 ++-- src/openrct2-ui/windows/Guest.cpp | 3 +- src/openrct2-ui/windows/GuestList.cpp | 2 +- src/openrct2-ui/windows/InstallTrack.cpp | 2 +- src/openrct2-ui/windows/Land.cpp | 7 +++-- src/openrct2-ui/windows/LandRights.cpp | 7 +++-- src/openrct2-ui/windows/LoadSave.cpp | 4 +-- src/openrct2-ui/windows/Map.cpp | 14 +++++---- src/openrct2-ui/windows/MapGen.cpp | 30 +++++++++++-------- src/openrct2-ui/windows/Multiplayer.cpp | 2 +- src/openrct2-ui/windows/NetworkStatus.cpp | 2 +- src/openrct2-ui/windows/Park.cpp | 4 +-- src/openrct2-ui/windows/Ride.cpp | 7 +++-- src/openrct2-ui/windows/SceneryScatter.cpp | 8 +++-- src/openrct2-ui/windows/ServerList.cpp | 2 +- src/openrct2-ui/windows/Sign.cpp | 3 +- src/openrct2-ui/windows/Staff.cpp | 2 +- src/openrct2-ui/windows/TextInput.cpp | 16 +++++----- src/openrct2-ui/windows/Themes.cpp | 4 +-- src/openrct2-ui/windows/TitleEditor.cpp | 11 +++---- src/openrct2-ui/windows/TrackDesignManage.cpp | 4 +-- src/openrct2-ui/windows/Water.cpp | 7 +++-- src/openrct2-ui/windows/Window.h | 4 +-- src/openrct2/interface/Window.cpp | 1 - src/openrct2/interface/Window.h | 1 - 29 files changed, 91 insertions(+), 77 deletions(-) diff --git a/src/openrct2-ui/windows/Banner.cpp b/src/openrct2-ui/windows/Banner.cpp index eae4fac74f..2ec3a3e9a6 100644 --- a/src/openrct2-ui/windows/Banner.cpp +++ b/src/openrct2-ui/windows/Banner.cpp @@ -201,7 +201,7 @@ public: } case WIDX_BANNER_TEXT: window_text_input_raw_open( - this, WIDX_BANNER_TEXT, STR_BANNER_TEXT, STR_ENTER_BANNER_TEXT, banner->GetText().c_str(), 32); + this, WIDX_BANNER_TEXT, STR_BANNER_TEXT, STR_ENTER_BANNER_TEXT, {}, banner->GetText().c_str(), 32); break; case WIDX_BANNER_NO_ENTRY: { diff --git a/src/openrct2-ui/windows/Cheats.cpp b/src/openrct2-ui/windows/Cheats.cpp index 5d5932ce5c..c763c26f2e 100644 --- a/src/openrct2-ui/windows/Cheats.cpp +++ b/src/openrct2-ui/windows/Cheats.cpp @@ -867,7 +867,7 @@ private: case WIDX_MONEY_SPINNER: money_to_string(_moneySpinnerValue, _moneySpinnerText, MONEY_STRING_MAXLENGTH, false); window_text_input_raw_open( - this, WIDX_MONEY_SPINNER, STR_ENTER_NEW_VALUE, STR_ENTER_NEW_VALUE, _moneySpinnerText, + this, WIDX_MONEY_SPINNER, STR_ENTER_NEW_VALUE, STR_ENTER_NEW_VALUE, {}, _moneySpinnerText, MONEY_STRING_MAXLENGTH); break; case WIDX_SET_MONEY: diff --git a/src/openrct2-ui/windows/ClearScenery.cpp b/src/openrct2-ui/windows/ClearScenery.cpp index 822bcf7e71..597f50f22b 100644 --- a/src/openrct2-ui/windows/ClearScenery.cpp +++ b/src/openrct2-ui/windows/ClearScenery.cpp @@ -178,9 +178,10 @@ static void window_clear_scenery_textinput(rct_window* w, rct_widgetindex widget 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); + Formatter ft; + ft.Add(MINIMUM_TOOL_SIZE); + ft.Add(MAXIMUM_TOOL_SIZE); + window_text_input_open(w, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, ft, STR_NONE, STR_NONE, 3); } /** diff --git a/src/openrct2-ui/windows/CustomCurrency.cpp b/src/openrct2-ui/windows/CustomCurrency.cpp index 6f10d2101a..ce1fbf068f 100644 --- a/src/openrct2-ui/windows/CustomCurrency.cpp +++ b/src/openrct2-ui/windows/CustomCurrency.cpp @@ -134,7 +134,7 @@ static void custom_currency_window_mousedown(rct_window* w, rct_widgetindex widg 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, + w, WIDX_SYMBOL_TEXT, STR_CUSTOM_CURRENCY_SYMBOL_INPUT_TITLE, STR_CUSTOM_CURRENCY_SYMBOL_INPUT_DESC, {}, CurrencyDescriptors[EnumValue(CurrencyType::Custom)].symbol_unicode, CURRENCY_SYMBOL_MAX_SIZE); break; } @@ -146,7 +146,7 @@ static void custom_currency_window_mouseup(rct_window* w, rct_widgetindex widget { case WIDX_RATE: window_text_input_open( - w, WIDX_RATE, STR_RATE_INPUT_TITLE, STR_RATE_INPUT_DESC, STR_FORMAT_INTEGER, + w, WIDX_RATE, STR_RATE_INPUT_TITLE, STR_RATE_INPUT_DESC, {}, STR_FORMAT_INTEGER, static_cast(CurrencyDescriptors[EnumValue(CurrencyType::Custom)].rate), CURRENCY_RATE_MAX_NUM_DIGITS); break; } diff --git a/src/openrct2-ui/windows/EditorObjectiveOptions.cpp b/src/openrct2-ui/windows/EditorObjectiveOptions.cpp index 60fac3b0ee..bd3c0357ae 100644 --- a/src/openrct2-ui/windows/EditorObjectiveOptions.cpp +++ b/src/openrct2-ui/windows/EditorObjectiveOptions.cpp @@ -371,16 +371,16 @@ static void window_editor_objective_options_main_mouseup(rct_window* w, rct_widg case WIDX_PARK_NAME: { auto& park = OpenRCT2::GetContext()->GetGameState()->GetPark(); - window_text_input_raw_open(w, WIDX_PARK_NAME, STR_PARK_NAME, STR_ENTER_PARK_NAME, park.Name.c_str(), 32); + window_text_input_raw_open(w, WIDX_PARK_NAME, STR_PARK_NAME, STR_ENTER_PARK_NAME, {}, park.Name.c_str(), 32); break; } case WIDX_SCENARIO_NAME: window_text_input_raw_open( - w, WIDX_SCENARIO_NAME, STR_SCENARIO_NAME, STR_ENTER_SCENARIO_NAME, gScenarioName.c_str(), 64); + w, WIDX_SCENARIO_NAME, STR_SCENARIO_NAME, STR_ENTER_SCENARIO_NAME, {}, gScenarioName.c_str(), 64); break; case WIDX_DETAILS: window_text_input_raw_open( - w, WIDX_DETAILS, STR_PARK_SCENARIO_DETAILS, STR_ENTER_SCENARIO_DESCRIPTION, gScenarioDetails.c_str(), 256); + w, WIDX_DETAILS, STR_PARK_SCENARIO_DETAILS, STR_ENTER_SCENARIO_DESCRIPTION, {}, gScenarioDetails.c_str(), 256); break; } } diff --git a/src/openrct2-ui/windows/Guest.cpp b/src/openrct2-ui/windows/Guest.cpp index b201bc6fb9..52da711226 100644 --- a/src/openrct2-ui/windows/Guest.cpp +++ b/src/openrct2-ui/windows/Guest.cpp @@ -602,7 +602,8 @@ void window_guest_overview_mouse_up(rct_window* w, rct_widgetindex widgetIndex) case WIDX_RENAME: { auto peepName = peep->GetName(); - window_text_input_raw_open(w, widgetIndex, STR_GUEST_RENAME_TITLE, STR_GUEST_RENAME_PROMPT, peepName.c_str(), 32); + window_text_input_raw_open( + w, widgetIndex, STR_GUEST_RENAME_TITLE, STR_GUEST_RENAME_PROMPT, {}, peepName.c_str(), 32); break; } case WIDX_LOCATE: diff --git a/src/openrct2-ui/windows/GuestList.cpp b/src/openrct2-ui/windows/GuestList.cpp index 3923ec3a47..d1b2d29c4b 100644 --- a/src/openrct2-ui/windows/GuestList.cpp +++ b/src/openrct2-ui/windows/GuestList.cpp @@ -301,7 +301,7 @@ public: else { window_text_input_raw_open( - this, WIDX_FILTER_BY_NAME, STR_GUESTS_FILTER_BY_NAME, STR_GUESTS_ENTER_NAME_TO_SEARCH, + this, WIDX_FILTER_BY_NAME, STR_GUESTS_FILTER_BY_NAME, STR_GUESTS_ENTER_NAME_TO_SEARCH, {}, _filterName.c_str(), 32); } break; diff --git a/src/openrct2-ui/windows/InstallTrack.cpp b/src/openrct2-ui/windows/InstallTrack.cpp index 86007be17c..739e722b5f 100644 --- a/src/openrct2-ui/windows/InstallTrack.cpp +++ b/src/openrct2-ui/windows/InstallTrack.cpp @@ -445,7 +445,7 @@ static void window_install_track_design(rct_window* w) log_info("%s already exists, prompting user for a different track design name", destPath); context_show_error(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, + w, WIDX_INSTALL, STR_SELECT_NEW_NAME_FOR_TRACK_DESIGN, STR_AN_EXISTING_TRACK_DESIGN_ALREADY_HAS_THIS_NAME, {}, _trackName.c_str(), 255); } else diff --git a/src/openrct2-ui/windows/Land.cpp b/src/openrct2-ui/windows/Land.cpp index ed9a67a473..70922089fc 100644 --- a/src/openrct2-ui/windows/Land.cpp +++ b/src/openrct2-ui/windows/Land.cpp @@ -59,9 +59,10 @@ private: void InputSize() { - TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; - TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; - window_text_input_open(this, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); + Formatter ft; + ft.Add(MINIMUM_TOOL_SIZE); + ft.Add(MAXIMUM_TOOL_SIZE); + window_text_input_open(this, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, ft, STR_NONE, STR_NONE, 3); } public: diff --git a/src/openrct2-ui/windows/LandRights.cpp b/src/openrct2-ui/windows/LandRights.cpp index 2f6025acb1..2f61248a42 100644 --- a/src/openrct2-ui/windows/LandRights.cpp +++ b/src/openrct2-ui/windows/LandRights.cpp @@ -203,9 +203,10 @@ static void window_land_rights_textinput(rct_window* w, rct_widgetindex widgetIn 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); + Formatter ft; + ft.Add(MINIMUM_TOOL_SIZE); + ft.Add(MAXIMUM_TOOL_SIZE); + window_text_input_open(w, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, ft, STR_NONE, STR_NONE, 3); } static void window_land_rights_update(rct_window* w) diff --git a/src/openrct2-ui/windows/LoadSave.cpp b/src/openrct2-ui/windows/LoadSave.cpp index 7a26d65808..2da04b1186 100644 --- a/src/openrct2-ui/windows/LoadSave.cpp +++ b/src/openrct2-ui/windows/LoadSave.cpp @@ -450,12 +450,12 @@ static void window_loadsave_mouseup(rct_window* w, rct_widgetindex widgetIndex) case WIDX_NEW_FILE: window_text_input_open( - w, WIDX_NEW_FILE, STR_NONE, STR_FILEBROWSER_FILE_NAME_PROMPT, STR_STRING, + w, WIDX_NEW_FILE, STR_NONE, STR_FILEBROWSER_FILE_NAME_PROMPT, {}, STR_STRING, reinterpret_cast(_defaultPath.c_str()), 64); break; case WIDX_NEW_FOLDER: - window_text_input_raw_open(w, WIDX_NEW_FOLDER, STR_NONE, STR_FILEBROWSER_FOLDER_NAME_PROMPT, "", 64); + window_text_input_raw_open(w, WIDX_NEW_FOLDER, STR_NONE, STR_FILEBROWSER_FOLDER_NAME_PROMPT, {}, "", 64); break; case WIDX_BROWSE: diff --git a/src/openrct2-ui/windows/Map.cpp b/src/openrct2-ui/windows/Map.cpp index 4429b7d17a..2891a7eada 100644 --- a/src/openrct2-ui/windows/Map.cpp +++ b/src/openrct2-ui/windows/Map.cpp @@ -985,16 +985,18 @@ static void window_map_show_default_scenario_editor_buttons(rct_window* w) 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); + Formatter ft; + ft.Add(MINIMUM_TOOL_SIZE); + ft.Add(MAXIMUM_TOOL_SIZE); + window_text_input_open(w, WIDX_LAND_TOOL, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, ft, 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); + Formatter ft; + ft.Add(MINIMUM_MAP_SIZE_PRACTICAL); + ft.Add(MAXIMUM_MAP_SIZE_PRACTICAL); + window_text_input_open(w, WIDX_MAP_SIZE_SPINNER, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, ft, STR_NONE, STR_NONE, 4); } static void window_map_draw_tab_images(rct_window* w, rct_drawpixelinfo* dpi) diff --git a/src/openrct2-ui/windows/MapGen.cpp b/src/openrct2-ui/windows/MapGen.cpp index bff808e558..7c18c563f7 100644 --- a/src/openrct2-ui/windows/MapGen.cpp +++ b/src/openrct2-ui/windows/MapGen.cpp @@ -494,7 +494,7 @@ static void window_mapgen_base_mouseup(rct_window* w, rct_widgetindex widgetInde window_mapgen_shared_mouseup(w, widgetIndex); mapgen_settings mapgenSettings; - + Formatter ft; switch (widgetIndex) { case WIDX_MAP_GENERATE: @@ -508,22 +508,23 @@ static void window_mapgen_base_mouseup(rct_window* w, rct_widgetindex widgetInde gfx_invalidate_screen(); break; case WIDX_MAP_SIZE: - TextInputDescriptionArgs[0] = MINIMUM_MAP_SIZE_PRACTICAL; - TextInputDescriptionArgs[1] = MAXIMUM_MAP_SIZE_PRACTICAL; + ft.Add(MINIMUM_MAP_SIZE_PRACTICAL); + ft.Add(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); + window_text_input_open( + w, WIDX_MAP_SIZE, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, ft, STR_FORMAT_INTEGER, _mapSize - 2, 4); break; case WIDX_BASE_HEIGHT: - TextInputDescriptionArgs[0] = static_cast((BASESIZE_MIN - 12) / 2); - TextInputDescriptionArgs[1] = static_cast((BASESIZE_MAX - 12) / 2); + ft.Add((BASESIZE_MIN - 12) / 2); + ft.Add((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); + w, WIDX_BASE_HEIGHT, STR_BASE_HEIGHT, STR_ENTER_BASE_HEIGHT, ft, STR_FORMAT_INTEGER, (_baseHeight - 12) / 2, 3); break; case WIDX_WATER_LEVEL: - TextInputDescriptionArgs[0] = static_cast((WATERLEVEL_MIN - 12) / 2); - TextInputDescriptionArgs[1] = static_cast((WATERLEVEL_MAX - 12) / 2); + ft.Add((WATERLEVEL_MIN - 12) / 2); + ft.Add((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); + w, WIDX_WATER_LEVEL, STR_WATER_LEVEL, STR_ENTER_WATER_LEVEL, ft, STR_FORMAT_INTEGER, (_waterLevel - 12) / 2, 3); break; } } @@ -808,12 +809,15 @@ static void window_mapgen_simplex_mouseup(rct_window* w, rct_widgetindex widgetI switch (widgetIndex) { case WIDX_SIMPLEX_MAP_SIZE: - TextInputDescriptionArgs[0] = MINIMUM_MAP_SIZE_PRACTICAL; - TextInputDescriptionArgs[1] = MAXIMUM_MAP_SIZE_PRACTICAL; + { + Formatter ft; + ft.Add(MINIMUM_MAP_SIZE_PRACTICAL); + ft.Add(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); + w, WIDX_SIMPLEX_MAP_SIZE, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, ft, STR_FORMAT_INTEGER, _mapSize - 2, 4); break; + } case WIDX_SIMPLEX_GENERATE: mapgenSettings.mapSize = _mapSize; diff --git a/src/openrct2-ui/windows/Multiplayer.cpp b/src/openrct2-ui/windows/Multiplayer.cpp index bd0b16afd3..ed64397ffd 100644 --- a/src/openrct2-ui/windows/Multiplayer.cpp +++ b/src/openrct2-ui/windows/Multiplayer.cpp @@ -700,7 +700,7 @@ static void window_multiplayer_groups_mouseup(rct_window* w, rct_widgetindex wid case WIDX_RENAME_GROUP:; int32_t 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, groupName, 32); + window_text_input_raw_open(w, widgetIndex, STR_GROUP_NAME, STR_ENTER_NEW_NAME_FOR_THIS_GROUP, {}, groupName, 32); break; } } diff --git a/src/openrct2-ui/windows/NetworkStatus.cpp b/src/openrct2-ui/windows/NetworkStatus.cpp index 5866110b8a..984a9458bc 100644 --- a/src/openrct2-ui/windows/NetworkStatus.cpp +++ b/src/openrct2-ui/windows/NetworkStatus.cpp @@ -95,7 +95,7 @@ rct_window* window_network_status_open_password() if (window == nullptr) return nullptr; - 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); return window; } diff --git a/src/openrct2-ui/windows/Park.cpp b/src/openrct2-ui/windows/Park.cpp index 18d1f100fb..d4993fac98 100644 --- a/src/openrct2-ui/windows/Park.cpp +++ b/src/openrct2-ui/windows/Park.cpp @@ -516,7 +516,7 @@ static void window_park_entrance_mouseup(rct_window* w, rct_widgetindex widgetIn { auto& park = OpenRCT2::GetContext()->GetGameState()->GetPark(); window_text_input_raw_open( - w, WIDX_RENAME, STR_PARK_NAME, STR_ENTER_PARK_NAME, park.Name.c_str(), USER_STRING_MAX_LENGTH); + w, WIDX_RENAME, STR_PARK_NAME, STR_ENTER_PARK_NAME, {}, park.Name.c_str(), USER_STRING_MAX_LENGTH); break; } case WIDX_CLOSE_LIGHT: @@ -1389,7 +1389,7 @@ static void window_park_objective_mouseup(rct_window* w, rct_widgetindex widgetI 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); + w, WIDX_ENTER_NAME, STR_ENTER_NAME, STR_PLEASE_ENTER_YOUR_NAME_FOR_THE_SCENARIO_CHART, {}, 0, 0, 32); break; } } diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index e44d140d7a..cf59a96752 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -1719,7 +1719,7 @@ static void window_ride_rename(rct_window* w) { auto rideName = ride->GetName(); window_text_input_raw_open( - w, WIDX_RENAME, STR_RIDE_ATTRACTION_NAME, STR_ENTER_NEW_NAME_FOR_THIS_RIDE_ATTRACTION, rideName.c_str(), 32); + w, WIDX_RENAME, STR_RIDE_ATTRACTION_NAME, STR_ENTER_NEW_NAME_FOR_THIS_RIDE_ATTRACTION, {}, rideName.c_str(), 32); } } @@ -6433,7 +6433,8 @@ static void window_ride_income_mouseup(rct_window* w, rct_widgetindex widgetInde { money_to_string(static_cast(ride->price[0]), _moneyInputText, MONEY_STRING_MAXLENGTH, true); window_text_input_raw_open( - w, WIDX_PRIMARY_PRICE, STR_ENTER_NEW_VALUE, STR_ENTER_NEW_VALUE, _moneyInputText, MONEY_STRING_MAXLENGTH); + w, WIDX_PRIMARY_PRICE, STR_ENTER_NEW_VALUE, STR_ENTER_NEW_VALUE, {}, _moneyInputText, + MONEY_STRING_MAXLENGTH); } break; } @@ -6446,7 +6447,7 @@ static void window_ride_income_mouseup(rct_window* w, rct_widgetindex widgetInde money_to_string(price32, _moneyInputText, MONEY_STRING_MAXLENGTH, true); window_text_input_raw_open( - w, WIDX_SECONDARY_PRICE, STR_ENTER_NEW_VALUE, STR_ENTER_NEW_VALUE, _moneyInputText, MONEY_STRING_MAXLENGTH); + w, WIDX_SECONDARY_PRICE, STR_ENTER_NEW_VALUE, STR_ENTER_NEW_VALUE, {}, _moneyInputText, MONEY_STRING_MAXLENGTH); } break; case WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK: diff --git a/src/openrct2-ui/windows/SceneryScatter.cpp b/src/openrct2-ui/windows/SceneryScatter.cpp index 0a6aba1bff..b2f9ff10f5 100644 --- a/src/openrct2-ui/windows/SceneryScatter.cpp +++ b/src/openrct2-ui/windows/SceneryScatter.cpp @@ -171,15 +171,17 @@ static void window_scenery_scatter_textinput(rct_window* w, rct_widgetindex widg static void window_scenery_scatter_inputsize(rct_window* w, rct_widgetindex widgetindex) { uint8_t maxlen = 0; + Formatter ft; + switch (widgetindex) { case WIDX_PREVIEW: - TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; - TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; + ft.Add(MINIMUM_TOOL_SIZE); + ft.Add(MAXIMUM_TOOL_SIZE); maxlen = 3; break; } - window_text_input_open(w, widgetindex, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, maxlen); + window_text_input_open(w, widgetindex, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, ft, STR_NONE, STR_NONE, maxlen); } static void window_scenery_scatter_invalidate(rct_window* w) diff --git a/src/openrct2-ui/windows/ServerList.cpp b/src/openrct2-ui/windows/ServerList.cpp index ffe97ff1a5..0a8556219b 100644 --- a/src/openrct2-ui/windows/ServerList.cpp +++ b/src/openrct2-ui/windows/ServerList.cpp @@ -194,7 +194,7 @@ static void window_server_list_mouseup(rct_window* w, rct_widgetindex widgetInde server_list_fetch_servers_begin(); break; case WIDX_ADD_SERVER: - window_text_input_open(w, widgetIndex, STR_ADD_SERVER, STR_ENTER_HOSTNAME_OR_IP_ADDRESS, STR_NONE, 0, 128); + window_text_input_open(w, widgetIndex, STR_ADD_SERVER, STR_ENTER_HOSTNAME_OR_IP_ADDRESS, {}, STR_NONE, 0, 128); break; case WIDX_START_SERVER: context_open_window(WC_SERVER_START); diff --git a/src/openrct2-ui/windows/Sign.cpp b/src/openrct2-ui/windows/Sign.cpp index f6efda0d8c..f9e62a7477 100644 --- a/src/openrct2-ui/windows/Sign.cpp +++ b/src/openrct2-ui/windows/Sign.cpp @@ -65,7 +65,8 @@ private: if (banner != nullptr) { auto bannerText = banner->GetText(); - window_text_input_raw_open(this, WIDX_SIGN_TEXT, STR_SIGN_TEXT_TITLE, STR_SIGN_TEXT_PROMPT, bannerText.c_str(), 32); + window_text_input_raw_open( + this, WIDX_SIGN_TEXT, STR_SIGN_TEXT_TITLE, STR_SIGN_TEXT_PROMPT, {}, bannerText.c_str(), 32); } } diff --git a/src/openrct2-ui/windows/Staff.cpp b/src/openrct2-ui/windows/Staff.cpp index e52024d075..d67cfb5dea 100644 --- a/src/openrct2-ui/windows/Staff.cpp +++ b/src/openrct2-ui/windows/Staff.cpp @@ -440,7 +440,7 @@ void window_staff_overview_mouseup(rct_window* w, rct_widgetindex widgetIndex) { auto peepName = peep->GetName(); window_text_input_raw_open( - w, widgetIndex, STR_STAFF_TITLE_STAFF_MEMBER_NAME, STR_STAFF_PROMPT_ENTER_NAME, peepName.c_str(), 32); + w, widgetIndex, STR_STAFF_TITLE_STAFF_MEMBER_NAME, STR_STAFF_PROMPT_ENTER_NAME, {}, peepName.c_str(), 32); break; } } diff --git a/src/openrct2-ui/windows/TextInput.cpp b/src/openrct2-ui/windows/TextInput.cpp index e942ecd3e9..da2c137154 100644 --- a/src/openrct2-ui/windows/TextInput.cpp +++ b/src/openrct2-ui/windows/TextInput.cpp @@ -47,6 +47,7 @@ private: std::string _description; rct_string_id _descriptionStringId = STR_NONE; + Formatter _descriptionArgs; std::function _callback; std::function _cancelCallback; @@ -89,10 +90,11 @@ public: } } - void SetTitle(rct_string_id title, rct_string_id description) + void SetTitle(rct_string_id title, rct_string_id description, const Formatter& decriptionArgs) { _titleStringId = title; _descriptionStringId = description; + _descriptionArgs = decriptionArgs; } void SetTitle(std::string_view title, std::string_view description) @@ -209,10 +211,8 @@ public: } else { - auto ft = Formatter(); - ft.Add(TextInputDescriptionArgs); DrawTextWrapped( - &dpi, { windowPos.x + WW / 2, screenCoords.y }, WW, _descriptionStringId, ft, + &dpi, { windowPos.x + WW / 2, screenCoords.y }, WW, _descriptionStringId, _descriptionArgs, { colours[1], TextAlignment::CENTRE }); } @@ -373,7 +373,7 @@ private: void window_text_input_raw_open( rct_window* call_w, rct_widgetindex call_widget, rct_string_id title, rct_string_id description, - const_utf8string existing_text, int32_t maxLength) + const Formatter& descriptionArgs, const_utf8string existing_text, int32_t maxLength) { window_close_by_class(WC_TEXTINPUT); @@ -382,7 +382,7 @@ void window_text_input_raw_open( if (w != nullptr) { w->SetParentWindow(call_w, call_widget); - w->SetTitle(title, description); + w->SetTitle(title, description, descriptionArgs); w->SetText(existing_text, maxLength); } } @@ -403,10 +403,10 @@ void window_text_input_open( 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, int32_t maxLength) + const Formatter& descriptionArgs, rct_string_id existing_text, uintptr_t existing_args, int32_t maxLength) { auto existingText = format_string(existing_text, &existing_args); - window_text_input_raw_open(call_w, call_widget, title, description, existingText.c_str(), maxLength); + window_text_input_raw_open(call_w, call_widget, title, description, descriptionArgs, existingText.c_str(), maxLength); } void window_text_input_key(rct_window* w, char keychar) diff --git a/src/openrct2-ui/windows/Themes.cpp b/src/openrct2-ui/windows/Themes.cpp index 6805425552..fed6d74985 100644 --- a/src/openrct2-ui/windows/Themes.cpp +++ b/src/openrct2-ui/windows/Themes.cpp @@ -359,7 +359,7 @@ static void window_themes_mouseup(rct_window* w, rct_widgetindex widgetIndex) activeAvailableThemeIndex = ThemeManagerGetAvailableThemeIndex(); activeThemeName = ThemeManagerGetAvailableThemeName(activeAvailableThemeIndex); window_text_input_open( - w, widgetIndex, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_THEMES_PROMPT_ENTER_THEME_NAME, STR_STRING, + w, widgetIndex, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_THEMES_PROMPT_ENTER_THEME_NAME, {}, STR_STRING, reinterpret_cast(activeThemeName), 64); break; case WIDX_THEMES_DELETE_BUTTON: @@ -382,7 +382,7 @@ static void window_themes_mouseup(rct_window* w, rct_widgetindex widgetIndex) activeAvailableThemeIndex = ThemeManagerGetAvailableThemeIndex(); activeThemeName = ThemeManagerGetAvailableThemeName(activeAvailableThemeIndex); window_text_input_open( - w, widgetIndex, STR_TRACK_MANAGE_RENAME, STR_THEMES_PROMPT_ENTER_THEME_NAME, STR_STRING, + w, widgetIndex, STR_TRACK_MANAGE_RENAME, STR_THEMES_PROMPT_ENTER_THEME_NAME, {}, STR_STRING, reinterpret_cast(activeThemeName), 64); } break; diff --git a/src/openrct2-ui/windows/TitleEditor.cpp b/src/openrct2-ui/windows/TitleEditor.cpp index 4b9e4fe2a8..fb29c329e9 100644 --- a/src/openrct2-ui/windows/TitleEditor.cpp +++ b/src/openrct2-ui/windows/TitleEditor.cpp @@ -280,14 +280,15 @@ static void window_title_editor_mouseup(rct_window* w, rct_widgetindex widgetInd if (!commandEditorOpen) { window_text_input_open( - w, widgetIndex, STR_TITLE_EDITOR_ACTION_CREATE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, STR_NONE, 0, 64); + w, widgetIndex, STR_TITLE_EDITOR_ACTION_CREATE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, {}, STR_NONE, 0, + 64); } break; case WIDX_TITLE_EDITOR_DUPLICATE_BUTTON: if (!commandEditorOpen && _editingTitleSequence != nullptr) { window_text_input_open( - w, widgetIndex, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, STR_STRING, + w, widgetIndex, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, {}, STR_STRING, reinterpret_cast(_sequenceName), 64); } break; @@ -302,7 +303,7 @@ static void window_title_editor_mouseup(rct_window* w, rct_widgetindex widgetInd if (window_title_editor_check_can_edit() && _editingTitleSequence != nullptr) { window_text_input_open( - w, widgetIndex, STR_TRACK_MANAGE_RENAME, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, STR_STRING, + w, widgetIndex, STR_TRACK_MANAGE_RENAME, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, {}, STR_STRING, reinterpret_cast(_sequenceName), 64); } break; @@ -338,7 +339,7 @@ static void window_title_editor_mouseup(rct_window* w, rct_widgetindex widgetInd 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, + w, widgetIndex, STR_FILEBROWSER_RENAME_SAVE_TITLE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SAVE, {}, STR_STRING, reinterpret_cast(_editingTitleSequence->Saves[w->selected_list_item].c_str()), 52 - 1); } } @@ -1140,7 +1141,7 @@ static void window_title_editor_add_park_callback(int32_t result, const utf8* pa _renameSavePath = _strdup(filename); 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, + w, WIDX_TITLE_EDITOR_RENAME_SAVE, STR_FILEBROWSER_RENAME_SAVE_TITLE, STR_ERROR_EXISTING_NAME, {}, STR_STRING, reinterpret_cast(_renameSavePath), 52 - 1); return; } diff --git a/src/openrct2-ui/windows/TrackDesignManage.cpp b/src/openrct2-ui/windows/TrackDesignManage.cpp index 26d3bf50d5..14696ba31d 100644 --- a/src/openrct2-ui/windows/TrackDesignManage.cpp +++ b/src/openrct2-ui/windows/TrackDesignManage.cpp @@ -138,8 +138,8 @@ static void window_track_manage_mouseup(rct_window* w, rct_widgetindex widgetInd break; case WIDX_RENAME: window_text_input_raw_open( - w, widgetIndex, STR_TRACK_DESIGN_RENAME_TITLE, STR_TRACK_DESIGN_RENAME_DESC, _trackDesignFileReference->name, - 127); + w, widgetIndex, STR_TRACK_DESIGN_RENAME_TITLE, STR_TRACK_DESIGN_RENAME_DESC, {}, + _trackDesignFileReference->name, 127); break; case WIDX_DELETE: window_track_delete_prompt_open(); diff --git a/src/openrct2-ui/windows/Water.cpp b/src/openrct2-ui/windows/Water.cpp index d841579ac9..96b27f8e5a 100644 --- a/src/openrct2-ui/windows/Water.cpp +++ b/src/openrct2-ui/windows/Water.cpp @@ -177,9 +177,10 @@ public: private: void InputSize() { - TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; - TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; - window_text_input_open(this, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); + Formatter ft; + ft.Add(MINIMUM_TOOL_SIZE); + ft.Add(MAXIMUM_TOOL_SIZE); + window_text_input_open(this, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, ft, STR_NONE, STR_NONE, 3); } }; diff --git a/src/openrct2-ui/windows/Window.h b/src/openrct2-ui/windows/Window.h index 3e2f6dfca3..03844e94eb 100644 --- a/src/openrct2-ui/windows/Window.h +++ b/src/openrct2-ui/windows/Window.h @@ -154,10 +154,10 @@ void window_network_status_close(); void window_text_input_key(rct_window* w, char keychar); 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, int32_t maxLength); + const Formatter& descriptionArgs, rct_string_id existing_text, uintptr_t existing_args, int32_t maxLength); void window_text_input_raw_open( rct_window* call_w, rct_widgetindex call_widget, rct_string_id title, rct_string_id description, - const_utf8string existing_text, int32_t maxLength); + const Formatter& descriptionArgs, const_utf8string existing_text, int32_t maxLength); void window_text_input_open( std::string_view title, std::string_view description, std::string_view initialValue, size_t maxLength, diff --git a/src/openrct2/interface/Window.cpp b/src/openrct2/interface/Window.cpp index 000d6e4d3b..4e2c6aa70d 100644 --- a/src/openrct2/interface/Window.cpp +++ b/src/openrct2/interface/Window.cpp @@ -41,7 +41,6 @@ std::list> g_window_list; rct_window* gWindowAudioExclusive; -uint16_t TextInputDescriptionArgs[4]; widget_identifier gCurrentTextBox = { { 255, 0 }, 0 }; char gTextBoxInput[TEXT_INPUT_SIZE] = { 0 }; int32_t gMaxTextBoxInputLength = 0; diff --git a/src/openrct2/interface/Window.h b/src/openrct2/interface/Window.h index 82aa4589f9..26102c41bb 100644 --- a/src/openrct2/interface/Window.h +++ b/src/openrct2/interface/Window.h @@ -41,7 +41,6 @@ enum class RideConstructionState : uint8_t; #define TEXT_INPUT_SIZE 1024 #define TOP_TOOLBAR_HEIGHT 27 -extern uint16_t TextInputDescriptionArgs[4]; extern char gTextBoxInput[TEXT_INPUT_SIZE]; extern int32_t gMaxTextBoxInputLength; extern int32_t gTextBoxFrameNo; From 55add9883f07d49f88b16fe764a897cdc24ba8bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Tue, 24 Aug 2021 13:57:13 -0700 Subject: [PATCH 33/59] Implement DirectionFlipXAxis --- src/openrct2/interface/Viewport.cpp | 4 +--- src/openrct2/paint/Paint.cpp | 7 ++----- src/openrct2/world/Location.hpp | 8 ++++++++ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/openrct2/interface/Viewport.cpp b/src/openrct2/interface/Viewport.cpp index 6aa028ae56..4f68f8ba27 100644 --- a/src/openrct2/interface/Viewport.cpp +++ b/src/openrct2/interface/Viewport.cpp @@ -1148,11 +1148,9 @@ void rct_viewport::Invalidate() const CoordsXY viewport_coord_to_map_coord(const ScreenCoordsXY& coords, int32_t z) { - constexpr uint8_t inverseRotationMapping[NumOrthogonalDirections] = { 0, 3, 2, 1 }; - // Reverse of translate_3d_to_2d_with_z CoordsXY ret = { coords.y - coords.x / 2 + z, coords.y + coords.x / 2 + z }; - auto inverseRotation = inverseRotationMapping[get_current_rotation()]; + auto inverseRotation = DirectionFlipXAxis(get_current_rotation()); return ret.Rotate(inverseRotation); } diff --git a/src/openrct2/paint/Paint.cpp b/src/openrct2/paint/Paint.cpp index 45b8a63e88..a27565383e 100644 --- a/src/openrct2/paint/Paint.cpp +++ b/src/openrct2/paint/Paint.cpp @@ -145,7 +145,7 @@ static paint_struct* CreateNormalPaintStruct( return nullptr; } - const uint8_t swappedRotation = (session->CurrentRotation * 3) % 4; // swaps 1 and 3 + const auto swappedRotation = DirectionFlipXAxis(session->CurrentRotation); auto swappedRotCoord = CoordsXYZ{ offset.Rotate(swappedRotation), offset.z }; swappedRotCoord += session->SpritePosition; @@ -231,10 +231,7 @@ template void PaintSessionGenerateRotate(paint_session* sessi void PaintSessionGenerate(paint_session* session) { session->CurrentRotation = get_current_rotation(); - - // Extracted from viewport_coord_to_map_coord - constexpr uint8_t inverseRotationMapping[NumOrthogonalDirections] = { 0, 3, 2, 1 }; - switch (inverseRotationMapping[session->CurrentRotation]) + switch (DirectionFlipXAxis(session->CurrentRotation)) { case 0: PaintSessionGenerateRotate<0>(session); diff --git a/src/openrct2/world/Location.hpp b/src/openrct2/world/Location.hpp index 560bcb91e8..120cb502d7 100644 --- a/src/openrct2/world/Location.hpp +++ b/src/openrct2/world/Location.hpp @@ -545,6 +545,14 @@ constexpr Direction ALL_DIRECTIONS[] = { 0, 1, 2, 3 }; } } +/* + * Flips the X axis so 1 and 3 are swapped 0 and 2 will stay the same. + */ +inline constexpr Direction DirectionFlipXAxis(Direction direction) +{ + return (direction * 3) % 4; +} + struct CoordsXYZD : public CoordsXYZ { Direction direction{}; From eccbbdbe5942e372b6ffc89ec2a78ed30a1496f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Tue, 24 Aug 2021 15:07:25 -0700 Subject: [PATCH 34/59] Use inline for direction functions in Location.hpp --- src/openrct2/world/Location.hpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/openrct2/world/Location.hpp b/src/openrct2/world/Location.hpp index 120cb502d7..c9f90a921b 100644 --- a/src/openrct2/world/Location.hpp +++ b/src/openrct2/world/Location.hpp @@ -496,12 +496,12 @@ constexpr Direction ALL_DIRECTIONS[] = { 0, 1, 2, 3 }; * Given a direction, return the direction that points the other way, * on the same axis. */ -[[maybe_unused]] static constexpr Direction direction_reverse(Direction dir) +inline constexpr Direction direction_reverse(Direction dir) { return dir ^ 2; } -[[maybe_unused]] static constexpr bool direction_valid(Direction dir) +inline constexpr bool direction_valid(Direction dir) { return dir < NumOrthogonalDirections; } @@ -510,7 +510,7 @@ constexpr Direction ALL_DIRECTIONS[] = { 0, 1, 2, 3 }; * Given a direction, return the next cardinal direction, wrapping around if necessary. * (TODO: Figure out if this is CW or CCW) */ -[[maybe_unused]] static constexpr Direction direction_next(Direction dir) +inline constexpr Direction direction_next(Direction dir) { return (dir + 1) & 0x03; } @@ -519,7 +519,7 @@ constexpr Direction ALL_DIRECTIONS[] = { 0, 1, 2, 3 }; * Given a direction, return the previous cardinal direction, wrapping around if necessary. * (TODO: Figure out if this is CW or CCW) */ -[[maybe_unused]] static constexpr Direction direction_prev(Direction dir) +inline constexpr Direction direction_prev(Direction dir) { return (dir - 1) & 0x03; } @@ -527,7 +527,7 @@ constexpr Direction ALL_DIRECTIONS[] = { 0, 1, 2, 3 }; /** * Given two positions, return the cardinal direction which is closest to the direction from 'from' to 'to'. */ -[[maybe_unused]] static constexpr Direction DirectionFromTo(const CoordsXY& from, const CoordsXY& to) +inline constexpr Direction DirectionFromTo(const CoordsXY& from, const CoordsXY& to) { int16_t x_diff = to.x - from.x; int16_t y_diff = to.y - from.y; From 008f10624226fe63aefb0cf51855ae8b8e928ba9 Mon Sep 17 00:00:00 2001 From: Duncan Date: Wed, 25 Aug 2021 11:08:57 +0100 Subject: [PATCH 35/59] Add constants for golf flags (#15072) * Add constants for golf flags * Reorg SubPositionData for minigolf * Add enum for golf states * Add golf animation enum * Fix names of animations * Correct spleing * Revert stray change --- src/openrct2/peep/Guest.cpp | 4 +- src/openrct2/rct1/S4Importer.cpp | 2 +- src/openrct2/rct2/S6Exporter.cpp | 2 +- src/openrct2/rct2/S6Importer.cpp | 2 +- src/openrct2/ride/Ride.cpp | 2 +- src/openrct2/ride/Vehicle.cpp | 83 +- src/openrct2/ride/Vehicle.h | 38 +- src/openrct2/ride/VehicleSubpositionData.cpp | 2185 +++++++++--------- src/openrct2/ride/gentle/MiniGolf.cpp | 28 +- 9 files changed, 1197 insertions(+), 1149 deletions(-) diff --git a/src/openrct2/peep/Guest.cpp b/src/openrct2/peep/Guest.cpp index d57c25d151..fe53f8a73e 100644 --- a/src/openrct2/peep/Guest.cpp +++ b/src/openrct2/peep/Guest.cpp @@ -3905,7 +3905,7 @@ void Guest::UpdateRideFreeVehicleCheck() if (ride_entry->vehicles[0].flags & VEHICLE_ENTRY_FLAG_MINI_GOLF) { - vehicle->mini_golf_flags &= ~(1 << 5); + vehicle->mini_golf_flags &= ~MiniGolfFlag::Flag5; for (size_t i = 0; i < ride->num_vehicles; ++i) { @@ -3920,7 +3920,7 @@ void Guest::UpdateRideFreeVehicleCheck() if (second_vehicle->num_peeps == 0) continue; - if (second_vehicle->mini_golf_flags & (1 << 5)) + if (second_vehicle->mini_golf_flags & MiniGolfFlag::Flag5) continue; return; diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index 22b2015af1..19eabae6d7 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -2771,7 +2771,7 @@ template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase SetVehicleColours(dst, src); - dst->mini_golf_current_animation = src->mini_golf_current_animation; + dst->mini_golf_current_animation = MiniGolfAnimation(src->mini_golf_current_animation); dst->mini_golf_flags = src->mini_golf_flags; dst->MoveTo({ src->x, src->y, src->z }); diff --git a/src/openrct2/rct2/S6Exporter.cpp b/src/openrct2/rct2/S6Exporter.cpp index 79d752261b..0639cde023 100644 --- a/src/openrct2/rct2/S6Exporter.cpp +++ b/src/openrct2/rct2/S6Exporter.cpp @@ -1188,7 +1188,7 @@ template<> void S6Exporter::ExportEntity(RCT2SpriteVehicle* dst, const Vehicle* dst->lost_time_out = src->lost_time_out; dst->vertical_drop_countdown = src->vertical_drop_countdown; dst->var_D3 = src->var_D3; - dst->mini_golf_current_animation = src->mini_golf_current_animation; + dst->mini_golf_current_animation = EnumValue(src->mini_golf_current_animation); dst->mini_golf_flags = src->mini_golf_flags; dst->ride_subtype = OpenRCT2EntryIndexToRCTEntryIndex(src->ride_subtype); dst->colours_extended = src->colours_extended; diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index 2717601fee..53986843d9 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -1672,7 +1672,7 @@ template<> void S6Importer::ImportEntity(const RCT12SpriteBase& baseSrc dst->lost_time_out = src->lost_time_out; dst->vertical_drop_countdown = src->vertical_drop_countdown; dst->var_D3 = src->var_D3; - dst->mini_golf_current_animation = src->mini_golf_current_animation; + dst->mini_golf_current_animation = MiniGolfAnimation(src->mini_golf_current_animation); dst->mini_golf_flags = src->mini_golf_flags; dst->ride_subtype = RCTEntryIndexToOpenRCT2EntryIndex(src->ride_subtype); dst->colours_extended = src->colours_extended; diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index f979b1dacf..66f6867d3b 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -3124,7 +3124,7 @@ static Vehicle* vehicle_create_car( { subposition = VehicleTrackSubposition::MiniGolfStart9; vehicle->var_D3 = 0; - vehicle->mini_golf_current_animation = 0; + vehicle->mini_golf_current_animation = MiniGolfAnimation::Walk; vehicle->mini_golf_flags = 0; } if (vehicleEntry->flags & VEHICLE_ENTRY_FLAG_REVERSER_BOGIE) diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index 5416990bb0..32e8995f08 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -8765,18 +8765,18 @@ loc_6DC462: goto loc_6DC985; loc_6DC476: - if (mini_golf_flags & (1 << 2)) + if (mini_golf_flags & MiniGolfFlag::Flag2) { uint8_t nextFrame = animation_frame + 1; - if (nextFrame < mini_golf_peep_animation_lengths[mini_golf_current_animation]) + if (nextFrame < mini_golf_peep_animation_lengths[EnumValue(mini_golf_current_animation)]) { animation_frame = nextFrame; goto loc_6DC985; } - mini_golf_flags &= ~(1 << 2); + mini_golf_flags &= ~MiniGolfFlag::Flag2; } - if (mini_golf_flags & (1 << 0)) + if (mini_golf_flags & MiniGolfFlag::Flag0) { auto vehicleIdx = IsHead() ? next_vehicle_on_ride : prev_vehicle_on_ride; Vehicle* vEDI = GetEntity(vehicleIdx); @@ -8784,7 +8784,7 @@ loc_6DC476: { return; } - if (!(vEDI->mini_golf_flags & (1 << 0)) || (vEDI->mini_golf_flags & (1 << 2))) + if (!(vEDI->mini_golf_flags & MiniGolfFlag::Flag0) || (vEDI->mini_golf_flags & MiniGolfFlag::Flag2)) { goto loc_6DC985; } @@ -8792,11 +8792,11 @@ loc_6DC476: { goto loc_6DC985; } - vEDI->mini_golf_flags &= ~(1 << 0); - mini_golf_flags &= ~(1 << 0); + vEDI->mini_golf_flags &= ~MiniGolfFlag::Flag0; + mini_golf_flags &= ~MiniGolfFlag::Flag0; } - if (mini_golf_flags & (1 << 1)) + if (mini_golf_flags & MiniGolfFlag::Flag1) { auto vehicleIdx = IsHead() ? next_vehicle_on_ride : prev_vehicle_on_ride; Vehicle* vEDI = GetEntity(vehicleIdx); @@ -8804,7 +8804,7 @@ loc_6DC476: { return; } - if (!(vEDI->mini_golf_flags & (1 << 1)) || (vEDI->mini_golf_flags & (1 << 2))) + if (!(vEDI->mini_golf_flags & MiniGolfFlag::Flag1) || (vEDI->mini_golf_flags & MiniGolfFlag::Flag2)) { goto loc_6DC985; } @@ -8812,11 +8812,11 @@ loc_6DC476: { goto loc_6DC985; } - vEDI->mini_golf_flags &= ~(1 << 1); - mini_golf_flags &= ~(1 << 1); + vEDI->mini_golf_flags &= ~MiniGolfFlag::Flag1; + mini_golf_flags &= ~MiniGolfFlag::Flag1; } - if (mini_golf_flags & (1 << 3)) + if (mini_golf_flags & MiniGolfFlag::Flag3) { Vehicle* vEDI = this; @@ -8829,15 +8829,15 @@ loc_6DC476: } if (vEDI->IsHead()) continue; - if (!(vEDI->mini_golf_flags & (1 << 4))) + if (!(vEDI->mini_golf_flags & MiniGolfFlag::Flag4)) continue; if (vEDI->TrackLocation != TrackLocation) continue; goto loc_6DC985; } - mini_golf_flags |= (1 << 4); - mini_golf_flags &= ~(1 << 3); + mini_golf_flags |= MiniGolfFlag::Flag4; + mini_golf_flags &= ~MiniGolfFlag::Flag3; } // There are two bytes before the move info list @@ -8921,12 +8921,12 @@ loc_6DC743: { break; } - switch (moveInfo->y) + switch (MiniGolfState(moveInfo->y)) { - case 0: // loc_6DC7B4 + case MiniGolfState::Unk0: // loc_6DC7B4 if (!IsHead()) { - mini_golf_flags |= (1 << 3); + mini_golf_flags |= MiniGolfFlag::Flag3; } else { @@ -8944,53 +8944,56 @@ loc_6DC743: } track_progress++; break; - case 1: // loc_6DC7ED + case MiniGolfState::Unk1: // loc_6DC7ED + log_error("Unused move info..."); + assert(false); var_D3 = static_cast(moveInfo->z); track_progress++; break; - case 2: // loc_6DC800 - mini_golf_flags |= (1 << 0); + case MiniGolfState::Unk2: // loc_6DC800 + mini_golf_flags |= MiniGolfFlag::Flag0; track_progress++; break; - case 3: // loc_6DC810 - mini_golf_flags |= (1 << 1); + case MiniGolfState::Unk3: // loc_6DC810 + mini_golf_flags |= MiniGolfFlag::Flag1; track_progress++; break; - case 4: // loc_6DC820 - trackPos.z = moveInfo->z; + case MiniGolfState::Unk4: // loc_6DC820 + { + auto animation = MiniGolfAnimation(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 (peep[0] != SPRITE_INDEX_NULL) + auto* curPeep = TryGetEntity(peep[0]); + if (curPeep != nullptr) { - if (trackPos.z == 2) + if (animation == MiniGolfAnimation::SwingLeft) { - auto* curPeep = GetEntity(peep[0]); - if (curPeep != nullptr && curPeep->Id & 7) + if (curPeep->Id & 7) { - trackPos.z = 7; + animation = MiniGolfAnimation::Swing; } } - if (trackPos.z == 6) + if (animation == MiniGolfAnimation::PuttLeft) { - auto* curPeep = GetEntity(peep[0]); - if (curPeep != nullptr && curPeep->Id & 7) + if (curPeep->Id & 7) { - trackPos.z = 8; + animation = MiniGolfAnimation::Putt; } } } - mini_golf_current_animation = static_cast(trackPos.z); + mini_golf_current_animation = animation; animation_frame = 0; track_progress++; break; - case 5: // loc_6DC87A - mini_golf_flags |= (1 << 2); + } + case MiniGolfState::Unk5: // loc_6DC87A + mini_golf_flags |= MiniGolfFlag::Flag2; track_progress++; break; - case 6: // loc_6DC88A - mini_golf_flags &= ~(1 << 4); - mini_golf_flags |= (1 << 5); + case MiniGolfState::Unk6: // loc_6DC88A + mini_golf_flags &= ~MiniGolfFlag::Flag4; + mini_golf_flags |= MiniGolfFlag::Flag5; track_progress++; break; default: diff --git a/src/openrct2/ride/Vehicle.h b/src/openrct2/ride/Vehicle.h index dbfbd1b297..018ac852ea 100644 --- a/src/openrct2/ride/Vehicle.h +++ b/src/openrct2/ride/Vehicle.h @@ -51,6 +51,8 @@ struct SoundIdVolume; constexpr const uint16_t VehicleTrackDirectionMask = 0b0000000000000011; constexpr const uint16_t VehicleTrackTypeMask = 0b1111111111111100; +enum class MiniGolfAnimation : uint8_t; + struct Vehicle : SpriteBase { static constexpr auto cEntityType = EntityType::Vehicle; @@ -197,7 +199,7 @@ struct Vehicle : SpriteBase uint16_t lost_time_out; int8_t vertical_drop_countdown; uint8_t var_D3; - uint8_t mini_golf_current_animation; + MiniGolfAnimation mini_golf_current_animation; uint8_t mini_golf_flags; ObjectEntryIndex ride_subtype; uint8_t colours_extended; @@ -375,6 +377,40 @@ struct train_ref Vehicle* tail; }; +namespace MiniGolfFlag +{ + constexpr uint8_t Flag0 = (1 << 0); + constexpr uint8_t Flag1 = (1 << 1); + constexpr uint8_t Flag2 = (1 << 2); + constexpr uint8_t Flag3 = (1 << 3); + constexpr uint8_t Flag4 = (1 << 4); + constexpr uint8_t Flag5 = (1 << 5); // transitioning between hole +} // namespace MiniGolfFlag + +enum class MiniGolfState : int16_t +{ + Unk0, + Unk1, // Unused + Unk2, + Unk3, + Unk4, + Unk5, + Unk6, +}; + +enum class MiniGolfAnimation : uint8_t +{ + Walk, + PlaceBallDown, + SwingLeft, + PickupBall, + Jump, + PlaceBallUp, + PuttLeft, + Swing, + Putt, +}; + enum : uint32_t { VEHICLE_ENTRY_FLAG_POWERED_RIDE_UNRESTRICTED_GRAVITY = 1 diff --git a/src/openrct2/ride/VehicleSubpositionData.cpp b/src/openrct2/ride/VehicleSubpositionData.cpp index 66d99434e9..c2f43b5858 100644 --- a/src/openrct2/ride/VehicleSubpositionData.cpp +++ b/src/openrct2/ride/VehicleSubpositionData.cpp @@ -15,6 +15,15 @@ static constexpr const rct_vehicle_info VAR##_data[] = __VA_ARGS__; \ static constexpr const rct_vehicle_info_list VAR = { static_cast(std::size(VAR##_data)), VAR##_data }; +#define MINI_GOLF_STATE(STATE) \ + { \ + LOCATION_NULL, EnumValue(MiniGolfState::STATE), 0, 0, 0, 0 \ + } +#define MINI_GOLF_ANIMATION(VALUE) \ + { \ + LOCATION_NULL, EnumValue(MiniGolfState::Unk4), EnumValue(MiniGolfAnimation::VALUE), 0, 0, 0 \ + } + // clang-format off CREATE_VEHICLE_INFO(TrackVehicleInfo_8BE57A, { { 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 }, @@ -18527,191 +18536,191 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9395FF, { }) CREATE_VEHICLE_INFO(TrackVehicleInfo_939691, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { -15, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { -15, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk6), { -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 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93C082, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 16, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 16, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk6), { 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 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93EA73, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 46, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 46, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk6), { 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 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_941464, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 15, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 15, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk6), { 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 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93A46E, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { -27, 16, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93CE5F, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 16, 58, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93F850, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 58, 15, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_942241, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 15, -27, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93B2AE, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { -23, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), + { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93DC9F, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 16, 54, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), + { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_940690, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 54, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), + { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_943081, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 15, -23, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), + { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_943E56, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, @@ -18719,18 +18728,18 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_943E56, { { -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 }, + { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -17, 49, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -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 }, MINI_GOLF_STATE(Unk3), { -17, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_946B14, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, @@ -18738,18 +18747,18 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_946B14, { { 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 }, + { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 49, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, MINI_GOLF_STATE(Unk3), { 60, 48, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9497D2, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, @@ -18757,18 +18766,18 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9497D2, { { 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 }, + { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 48, -18, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, MINI_GOLF_STATE(Unk3), { 48, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94C490, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, @@ -18776,18 +18785,18 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94C490, { { 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 }, + { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -18, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -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 }, MINI_GOLF_STATE(Unk3), { -29, -17, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9454B5, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, @@ -18795,18 +18804,18 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9454B5, { { -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 }, + { -13, -16, 0, 0, 0, 0 }, { -15, -16, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -17, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -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 }, MINI_GOLF_STATE(Unk3), { -17, -28, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_948173, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, @@ -18814,18 +18823,18 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_948173, { { 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 }, + { -16, 44, 0, 8, 0, 0 }, { -16, 46, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -17, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -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 }, MINI_GOLF_STATE(Unk3), { -28, 48, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94AE31, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, @@ -18833,18 +18842,18 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94AE31, { { 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 }, + { 44, 47, 0, 16, 0, 0 }, { 46, 47, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 48, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, MINI_GOLF_STATE(Unk3), { 48, 59, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94DAEF, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, @@ -18852,15 +18861,15 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94DAEF, { { 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 }, + { 47, -13, 0, 24, 0, 0 }, { 47, -15, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 48, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, MINI_GOLF_STATE(Unk3), { 59, -17, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9398A6, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, @@ -18868,13 +18877,13 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9398A6, { { -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 }, + { -17, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93C297, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, @@ -18882,13 +18891,13 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_93C297, { { 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 }, + { 16, 48, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93EC88, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, @@ -18896,13 +18905,13 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_93EC88, { { 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 }, + { 48, 15, 0, 16, 0, 0 }, { 47, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_941679, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, @@ -18910,13 +18919,13 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_941679, { { 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 }, + { 15, -17, 0, 24, 0, 0 }, { 15, -16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93A68C, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, @@ -18925,13 +18934,13 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_93A68C, { { -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 }, + { -28, 15, 0, 0, 0, 0 }, { -27, 15, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93D07D, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, @@ -18940,13 +18949,13 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_93D07D, { { 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 }, + { 15, 59, 0, 8, 0, 0 }, { 15, 58, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93FA6E, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, @@ -18955,13 +18964,13 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_93FA6E, { { 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 }, + { 59, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94245F, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, @@ -18970,64 +18979,64 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94245F, { { 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 }, + { 16, -28, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93B4CC, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -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 }, + { -23, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93DEBD, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), { 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, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 16, 54, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9408AE, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 54, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94329F, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), { 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, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 15, -23, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_944104, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 0, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -12, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -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 }, @@ -19036,16 +19045,16 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_944104, { { -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 }, + { -17, 47, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -17, 49, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -17, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -17, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_946DC2, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 31, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 16, 43, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, @@ -19054,16 +19063,16 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_946DC2, { { 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 }, + { 47, 48, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { 49, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 60, 48, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 60, 48, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_949A80, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 31, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 37, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 43, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, @@ -19072,16 +19081,16 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_949A80, { { 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 }, + { 48, -16, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { 48, -18, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 48, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 48, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94C73E, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 0, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -6, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 15, -12, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, @@ -19090,16 +19099,16 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94C73E, { { 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 }, + { -16, -17, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -18, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -29, -17, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -29, -17, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_945763, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 0, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -12, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -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 }, @@ -19108,16 +19117,16 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_945763, { { -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 }, + { -17, -15, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -17, -28, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -17, -28, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_948421, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 31, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 16, 43, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, @@ -19126,16 +19135,16 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_948421, { { 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 }, + { -15, 48, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -28, 48, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -28, 48, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94B0DF, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 31, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 37, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 43, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, @@ -19144,16 +19153,16 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94B0DF, { { 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 }, + { 48, 46, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 48, 59, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 48, 59, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94DD9D, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 0, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -6, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 15, -12, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, @@ -19162,594 +19171,594 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94DD9D, { { 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 }, + { 46, -17, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 59, -17, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 59, -17, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_939A85, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, + { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 3, 16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 3, 16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 3, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 3, 16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -15, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -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 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93C476, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 28, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 28, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 28, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 28, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 16, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93EE67, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, + { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 28, 15, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 28, 15, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 28, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 28, 15, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 46, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_941858, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 3, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 3, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 3, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 3, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 15, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93A898, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, + { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 2, 16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 2, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 2, 16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { -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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -4, 22, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -4, 22, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { -4, 22, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { -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 }, + { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93D289, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 29, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 29, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 29, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 22, 35, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 22, 35, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 22, 35, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93FC7A, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, + { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 29, 15, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 29, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 29, 15, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 35, 9, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 35, 9, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 35, 9, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94266B, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 2, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 2, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 2, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 9, -4, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 9, -4, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 9, -4, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93B648, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, + { -23, 16, 0, 0, 0, 0 }, { -23, 14, 0, 24, 0, 0 }, { -23, 12, 0, 24, 0, 0 }, { -23, 10, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -23, 10, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { -23, 10, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { -23, 10, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { -23, 10, 0, 8, 0, 0 }, + { -23, 12, 0, 8, 0, 0 }, { -23, 14, 0, 8, 0, 0 }, { -23, 16, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -23, 16, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, + { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93E039, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, + { 16, 54, 0, 8, 0, 0 }, { 14, 54, 0, 0, 0, 0 }, { 12, 54, 0, 0, 0, 0 }, { 10, 54, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 10, 54, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 10, 54, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 10, 54, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 10, 54, 0, 16, 0, 0 }, + { 12, 54, 0, 16, 0, 0 }, { 14, 54, 0, 16, 0, 0 }, { 16, 54, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 16, 54, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, + { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_940A2A, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, + { 54, 15, 0, 16, 0, 0 }, { 54, 17, 0, 8, 0, 0 }, { 54, 19, 0, 8, 0, 0 }, { 54, 21, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 54, 21, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 54, 21, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 54, 21, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 54, 21, 0, 24, 0, 0 }, + { 54, 19, 0, 24, 0, 0 }, { 54, 17, 0, 24, 0, 0 }, { 54, 15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 54, 15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, + { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94341B, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, + { 15, -23, 0, 24, 0, 0 }, { 17, -23, 0, 16, 0, 0 }, { 19, -23, 0, 16, 0, 0 }, { 21, -23, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 21, -23, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 21, -23, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 21, -23, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 21, -23, 0, 0, 0, 0 }, + { 19, -23, 0, 0, 0, 0 }, { 17, -23, 0, 0, 0, 0 }, { 15, -23, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 15, -23, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, + { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9443A0, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -17, 43, 0, 8, 0, 0 }, { -17, 45, 0, 8, 0, 0 }, { -17, 47, 0, 8, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -17, 49, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -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 }, + MINI_GOLF_STATE(Unk3), { -17, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94705E, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 43, 48, 0, 16, 0, 0 }, { 45, 48, 0, 16, 0, 0 }, { 47, 48, 0, 16, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 49, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, + MINI_GOLF_STATE(Unk3), { 60, 48, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_949D1C, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 48, -12, 0, 24, 0, 0 }, { 48, -14, 0, 24, 0, 0 }, { 48, -16, 0, 24, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 48, -18, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, + MINI_GOLF_STATE(Unk3), { 48, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94C9DA, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -12, -17, 0, 0, 0, 0 }, { -14, -17, 0, 0, 0, 0 }, { -16, -17, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -18, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -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 }, + MINI_GOLF_STATE(Unk3), { -29, -17, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9459FF, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -16, -9, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -16, -9, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { -16, -9, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -17, -11, 0, 24, 0, 0 }, { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -17, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -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 }, + MINI_GOLF_STATE(Unk3), { -17, -28, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9486BD, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -9, 47, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -9, 47, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { -9, 47, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -11, 48, 0, 0, 0, 0 }, { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -17, 48, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -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 }, + MINI_GOLF_STATE(Unk3), { -28, 48, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94B37B, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 47, 40, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 47, 40, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 47, 40, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 48, 42, 0, 8, 0, 0 }, { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 48, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, + MINI_GOLF_STATE(Unk3), { 48, 59, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94E039, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 40, -16, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 40, -16, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 40, -16, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 42, -17, 0, 16, 0, 0 }, { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 48, -17, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, + MINI_GOLF_STATE(Unk3), { 59, -17, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_939CD9, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { -16, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93C6CA, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 16, 47, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93F0BB, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 27, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 47, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_941AAC, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 4, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 15, -16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93AB73, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { -5, 20, 0, 0, 0, 0 }, { -5, 21, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -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 }, + { -26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93D564, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 20, 36, 0, 8, 0, 0 }, { 21, 36, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 16, 57, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93FF55, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 36, 11, 0, 16, 0, 0 }, { 36, 10, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 57, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_942946, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 11, -5, 0, 24, 0, 0 }, { 10, -5, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 15, -26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93B8DB, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { -3, 12, 0, 0, 0, 0 }, { -5, 12, 0, 0, 0, 0 }, { -7, 11, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -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 }, + { -19, 11, 0, 0, 0, 0 }, { -20, 11, 0, 0, 0, 0 }, { -21, 11, 0, 0, 0, 0 }, { -22, 11, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { -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 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93E2CC, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 12, 34, 0, 8, 0, 0 }, { 12, 36, 0, 8, 0, 0 }, { 11, 38, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 11, 50, 0, 8, 0, 0 }, { 11, 51, 0, 8, 0, 0 }, { 11, 52, 0, 8, 0, 0 }, { 11, 53, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), }) CREATE_VEHICLE_INFO(TrackVehicleInfo_940CBD, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 34, 19, 0, 16, 0, 0 }, { 36, 19, 0, 16, 0, 0 }, { 38, 20, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 50, 20, 0, 16, 0, 0 }, { 51, 20, 0, 16, 0, 0 }, { 52, 20, 0, 16, 0, 0 }, { 53, 20, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9436AE, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 19, -3, 0, 24, 0, 0 }, { 19, -5, 0, 24, 0, 0 }, { 20, -7, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 20, -19, 0, 24, 0, 0 }, { 20, -20, 0, 24, 0, 0 }, { 20, -21, 0, 24, 0, 0 }, { 20, -22, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9446DE, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 10, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -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 }, @@ -19757,24 +19766,24 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9446DE, { { -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, 41, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -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 }, + { -17, 49, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -17, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -17, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94739C, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 21, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, @@ -19782,24 +19791,24 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94739C, { { 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 }, + { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 49, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 48, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 60, 48, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94A05A, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 21, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, @@ -19807,24 +19816,24 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94A05A, { { 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, -10, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 48, -18, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 48, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 48, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94CD18, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 10, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, @@ -19832,24 +19841,24 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94CD18, { { 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 }, + { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -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 }, + { -18, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, -17, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -29, -17, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_945D3D, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 10, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -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 }, @@ -19857,24 +19866,24 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_945D3D, { { -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, -9, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -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 }, + { -17, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -17, -28, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -17, -28, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9489FB, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 21, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, @@ -19882,24 +19891,24 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9489FB, { { 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 }, + { -9, 47, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -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 }, + { -17, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -28, 48, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -28, 48, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94B6B9, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 21, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, @@ -19907,24 +19916,24 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94B6B9, { { 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, 40, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 48, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 48, 59, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 48, 59, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94E377, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 10, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, @@ -19932,515 +19941,515 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94E377, { { 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 }, + { 40, -16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 48, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 59, -17, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 59, -17, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_939EAF, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, + { -9, 12, 0, 24, 0, 0 }, { -9, 11, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), + { -9, 11, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { -9, 11, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + { -9, 11, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { -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 }, + { -25, 12, 0, 0, 0, 0 }, { -25, 14, 0, 8, 0, 0 }, { -25, 16, 0, 8, 0, 0 }, { -25, 18, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -25, 18, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { -25, 18, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { -25, 18, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { -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 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { -15, 16, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -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 }, + { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93C8A0, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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, 40, 0, 0, 0, 0 }, { 11, 40, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), + { 11, 40, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 11, 40, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + { 11, 40, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 12, 56, 0, 8, 0, 0 }, { 14, 56, 0, 16, 0, 0 }, { 16, 56, 0, 16, 0, 0 }, { 18, 56, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 18, 56, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 18, 56, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 18, 56, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 16, 46, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, + { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93F291, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, + { 40, 19, 0, 8, 0, 0 }, { 40, 20, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), + { 40, 20, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 40, 20, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + { 40, 20, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 56, 19, 0, 16, 0, 0 }, { 56, 17, 0, 24, 0, 0 }, { 56, 15, 0, 24, 0, 0 }, { 56, 13, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 56, 13, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 56, 13, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 56, 13, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 46, 15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, + { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_941C82, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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, -9, 0, 16, 0, 0 }, { 20, -9, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), + { 20, -9, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 20, -9, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + { 20, -9, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 19, -25, 0, 24, 0, 0 }, { 17, -25, 0, 0, 0, 0 }, { 15, -25, 0, 0, 0, 0 }, { 13, -25, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 13, -25, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 13, -25, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 13, -25, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 15, -15, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, + { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93ADA3, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, + { -19, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -19, 12, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { -19, 12, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { -19, 12, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { -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 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { -27, 16, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93D794, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, + { 12, 50, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 12, 50, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 12, 50, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 12, 50, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 16, 58, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_940185, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, + { 50, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 50, 19, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 50, 19, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 50, 19, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 58, 15, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_942B76, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, + { 19, -19, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 19, -19, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 19, -19, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 19, -19, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 15, -27, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93BAB1, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), + MINI_GOLF_STATE(Unk3), { 20, 11, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 20, 11, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk2), { 20, 11, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -23, 21, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -23, 21, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { -23, 21, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -23, 20, 0, 24, 0, 0 }, { -23, 18, 0, 24, 0, 0 }, { -23, 16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -23, 16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, + { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93E4A2, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), + MINI_GOLF_STATE(Unk3), { 11, 11, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 11, 11, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk2), { 11, 11, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 21, 54, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 21, 54, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 21, 54, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 20, 54, 0, 0, 0, 0 }, { 18, 54, 0, 0, 0, 0 }, { 16, 54, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 16, 54, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, + { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_940E93, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), + MINI_GOLF_STATE(Unk3), { 11, 20, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 11, 20, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk2), { 11, 20, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 54, 10, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 54, 10, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 54, 10, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 54, 11, 0, 8, 0, 0 }, { 54, 13, 0, 8, 0, 0 }, { 54, 15, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 54, 15, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, + { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_943884, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), + MINI_GOLF_STATE(Unk3), { 20, 20, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 20, 20, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk2), { 20, 20, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 10, -23, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 10, -23, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 10, -23, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 11, -23, 0, 16, 0, 0 }, { 13, -23, 0, 16, 0, 0 }, { 15, -23, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 15, -23, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, + { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_944AA3, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -17, 43, 0, 8, 0, 0 }, { -17, 45, 0, 8, 0, 0 }, { -17, 47, 0, 8, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -17, 49, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -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 }, + MINI_GOLF_STATE(Unk3), { -17, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_947761, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 43, 48, 0, 16, 0, 0 }, { 45, 48, 0, 16, 0, 0 }, { 47, 48, 0, 16, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 49, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, + MINI_GOLF_STATE(Unk3), { 60, 48, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94A41F, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 48, -12, 0, 24, 0, 0 }, { 48, -14, 0, 24, 0, 0 }, { 48, -16, 0, 24, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 48, -18, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, + MINI_GOLF_STATE(Unk3), { 48, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94D0DD, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -12, -17, 0, 0, 0, 0 }, { -14, -17, 0, 0, 0, 0 }, { -16, -17, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -18, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -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 }, + MINI_GOLF_STATE(Unk3), { -29, -17, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_946102, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -16, -9, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -16, -9, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { -16, -9, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -17, -11, 0, 24, 0, 0 }, { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -17, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -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 }, + MINI_GOLF_STATE(Unk3), { -17, -28, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_948DC0, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -9, 47, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -9, 47, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { -9, 47, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -11, 48, 0, 0, 0, 0 }, { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -17, 48, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -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 }, + MINI_GOLF_STATE(Unk3), { -28, 48, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94BA7E, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 47, 40, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 47, 40, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 47, 40, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 48, 42, 0, 8, 0, 0 }, { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 48, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, + MINI_GOLF_STATE(Unk3), { 48, 59, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94E73C, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 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 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 40, -16, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 40, -16, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 40, -16, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 42, -17, 0, 16, 0, 0 }, { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 48, -17, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 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 }, + MINI_GOLF_STATE(Unk3), { 59, -17, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93A1F6, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { -7, 11, 0, 0, 0, 0 }, { -8, 11, 0, 0, 0, 0 }, { -9, 11, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -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 }, + { -21, 16, 0, 0, 0, 0 }, { -22, 17, 0, 0, 0, 0 }, { -23, 17, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -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 }, + { -19, 18, 0, 0, 0, 0 }, { -18, 18, 0, 0, 0, 0 }, { -17, 18, 0, 0, 0, 0 }, { -16, 18, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93CBE7, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 38, 0, 8, 0, 0 }, { 11, 39, 0, 8, 0, 0 }, { 11, 40, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 16, 52, 0, 8, 0, 0 }, { 17, 53, 0, 8, 0, 0 }, { 17, 54, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 18, 50, 0, 8, 0, 0 }, { 18, 49, 0, 8, 0, 0 }, { 18, 48, 0, 8, 0, 0 }, { 18, 47, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93F5D8, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 38, 20, 0, 16, 0, 0 }, { 39, 20, 0, 16, 0, 0 }, { 40, 20, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 52, 15, 0, 16, 0, 0 }, { 53, 14, 0, 16, 0, 0 }, { 54, 14, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 50, 13, 0, 16, 0, 0 }, { 49, 13, 0, 16, 0, 0 }, { 48, 13, 0, 16, 0, 0 }, { 47, 13, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_941FC9, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, -7, 0, 24, 0, 0 }, { 20, -8, 0, 24, 0, 0 }, { 20, -9, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 15, -21, 0, 24, 0, 0 }, { 14, -22, 0, 24, 0, 0 }, { 14, -23, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 13, -19, 0, 24, 0, 0 }, { 13, -18, 0, 24, 0, 0 }, { 13, -17, 0, 24, 0, 0 }, { 13, -16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93B01B, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, @@ -20450,15 +20459,15 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_93B01B, { { -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 }, + { -23, 13, 0, 0, 0, 0 }, { -22, 12, 0, 0, 0, 0 }, { -21, 12, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -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 }, + { -25, 15, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93DA0C, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, @@ -20468,15 +20477,15 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_93DA0C, { { 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 }, + { 13, 54, 0, 8, 0, 0 }, { 12, 53, 0, 8, 0, 0 }, { 12, 52, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 15, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9403FD, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, @@ -20486,15 +20495,15 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9403FD, { { 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 }, + { 54, 18, 0, 16, 0, 0 }, { 53, 19, 0, 16, 0, 0 }, { 52, 19, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 56, 16, 0, 16, 0, 0 }, { 57, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_942DEE, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, @@ -20504,406 +20513,406 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_942DEE, { { 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 }, + { 18, -23, 0, 24, 0, 0 }, { 19, -22, 0, 24, 0, 0 }, { 19, -21, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 16, -25, 0, 24, 0, 0 }, { 15, -26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93BDCB, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 16, 12, 0, 0, 0, 0 }, { 17, 11, 0, 0, 0, 0 }, { 18, 11, 0, 0, 0, 0 }, { 19, 11, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { -7, 20, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -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 }, + { -27, 20, 0, 0, 0, 0 }, { -26, 20, 0, 0, 0, 0 }, { -25, 20, 0, 0, 0, 0 }, { -24, 20, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { -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 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93E7BC, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 12, 15, 0, 8, 0, 0 }, { 11, 14, 0, 8, 0, 0 }, { 11, 13, 0, 8, 0, 0 }, { 11, 12, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), { 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, 38, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 20, 58, 0, 8, 0, 0 }, { 20, 57, 0, 8, 0, 0 }, { 20, 56, 0, 8, 0, 0 }, { 20, 55, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9411AD, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 15, 19, 0, 16, 0, 0 }, { 14, 20, 0, 16, 0, 0 }, { 13, 20, 0, 16, 0, 0 }, { 12, 20, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), { 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 }, + { 38, 11, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 58, 11, 0, 16, 0, 0 }, { 57, 11, 0, 16, 0, 0 }, { 56, 11, 0, 16, 0, 0 }, { 55, 11, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_943B9E, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 19, 16, 0, 24, 0, 0 }, { 20, 17, 0, 24, 0, 0 }, { 20, 18, 0, 24, 0, 0 }, { 20, 19, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), { 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, -7, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 11, -27, 0, 24, 0, 0 }, { 11, -26, 0, 24, 0, 0 }, { 11, -25, 0, 24, 0, 0 }, { 11, -24, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_944E3B, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 10, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -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 }, + { -25, 15, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -15, 20, 0, 0, 0, 0 }, { -12, 20, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -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 }, + { 13, 20, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { -6, 20, 0, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { -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 }, + { -15, 38, 0, 0, 0, 0 }, { -16, 40, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -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 }, + { -17, 47, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -17, 49, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -17, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -17, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_947AF9, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 21, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 15, 56, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 20, 46, 0, 8, 0, 0 }, { 20, 43, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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, 18, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 20, 37, 0, 8, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 38, 46, 0, 8, 0, 0 }, { 40, 47, 0, 8, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 47, 48, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { 49, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 60, 48, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 60, 48, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94A7B7, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 21, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 56, 16, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 46, 11, 0, 16, 0, 0 }, { 43, 11, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 18, 11, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 37, 11, 0, 16, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 46, -7, 0, 16, 0, 0 }, { 47, -9, 0, 16, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 48, -16, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { 48, -18, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 48, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 48, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94D475, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 10, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 16, -25, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 11, -15, 0, 24, 0, 0 }, { 11, -12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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, 13, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 11, -6, 0, 24, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { -7, -15, 0, 24, 0, 0 }, { -9, -16, 0, 24, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -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 }, + { -16, -17, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -18, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -29, -17, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -29, -17, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94649A, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 10, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -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 }, + { -25, 17, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -15, 12, 0, 0, 0, 0 }, { -12, 12, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -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 }, + { 13, 12, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { -6, 12, 0, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { -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 }, + { -15, -6, 0, 0, 0, 0 }, { -16, -8, 0, 0, 0, 0 }, { -16, -9, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -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 }, + { -17, -15, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -17, -28, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -17, -28, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_949158, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 21, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 17, 56, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 12, 46, 0, 8, 0, 0 }, { 12, 43, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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, 18, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 12, 37, 0, 8, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { -6, 46, 0, 8, 0, 0 }, { -8, 47, 0, 8, 0, 0 }, { -9, 47, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -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 }, + { -15, 48, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -28, 48, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -28, 48, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94BE16, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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 }, + { 21, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 56, 14, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 46, 19, 0, 16, 0, 0 }, { 43, 19, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 18, 19, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 37, 19, 0, 16, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 46, 37, 0, 16, 0, 0 }, { 47, 39, 0, 16, 0, 0 }, { 47, 40, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 48, 46, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 48, 59, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 48, 59, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94EAD4, { - { -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 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 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, 10, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 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 }, + MINI_GOLF_ANIMATION(Walk), { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 14, -25, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 19, -15, 0, 24, 0, 0 }, { 19, -12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 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, 13, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 19, -6, 0, 24, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { 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 }, + { 37, -15, 0, 24, 0, 0 }, { 39, -16, 0, 24, 0, 0 }, { 40, -16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 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 }, + { 46, -17, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 59, -17, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 59, -17, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_95275E, { diff --git a/src/openrct2/ride/gentle/MiniGolf.cpp b/src/openrct2/ride/gentle/MiniGolf.cpp index 88cadb74d8..0983862082 100644 --- a/src/openrct2/ride/gentle/MiniGolf.cpp +++ b/src/openrct2/ride/gentle/MiniGolf.cpp @@ -393,7 +393,7 @@ static constexpr const uint8_t mini_golf_peep_animation_frames_swing_left[] = { }; /** rct2: 0x0093348D */ -static constexpr const uint8_t mini_golf_peep_animation_frames_place_ball_upwards[] = { +static constexpr const uint8_t mini_golf_peep_animation_frames_pickup_ball[] = { 12, 13, 14, 15, 14, 13, 12, }; @@ -403,17 +403,17 @@ static constexpr const uint8_t mini_golf_peep_animation_frames_jump[] = { }; /** rct2: 0x009334A5 */ -static constexpr const uint8_t mini_golf_peep_animation_frames_pickup_ball[] = { +static constexpr const uint8_t mini_golf_peep_animation_frames_place_ball_upwards[] = { 15, 14, 13, 12, }; /** rct2: 0x009334C5 */ -static constexpr const uint8_t mini_golf_peep_animation_frames_put[] = { +static constexpr const uint8_t mini_golf_peep_animation_frames_putt[] = { 35, 36, 36, 36, 36, 36, 35, 35, 35, 35, }; /** rct2: 0x009334AA */ -static constexpr const uint8_t mini_golf_peep_animation_frames_put_left[] = { +static constexpr const uint8_t mini_golf_peep_animation_frames_putt_left[] = { 10, 11, 11, 11, 11, 11, 10, 10, 10, 10, }; @@ -422,24 +422,24 @@ static constexpr const uint8_t* 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_jump, + mini_golf_peep_animation_frames_place_ball_upwards, + mini_golf_peep_animation_frames_putt_left, mini_golf_peep_animation_frames_swing, - mini_golf_peep_animation_frames_put, + mini_golf_peep_animation_frames_putt, }; const size_t mini_golf_peep_animation_lengths[] = { std::size(mini_golf_peep_animation_frames_walk), std::size(mini_golf_peep_animation_frames_place_ball_downwards), std::size(mini_golf_peep_animation_frames_swing_left), - std::size(mini_golf_peep_animation_frames_place_ball_upwards), - std::size(mini_golf_peep_animation_frames_jump), std::size(mini_golf_peep_animation_frames_pickup_ball), - std::size(mini_golf_peep_animation_frames_put_left), + std::size(mini_golf_peep_animation_frames_jump), + std::size(mini_golf_peep_animation_frames_place_ball_upwards), + std::size(mini_golf_peep_animation_frames_putt_left), std::size(mini_golf_peep_animation_frames_swing), - std::size(mini_golf_peep_animation_frames_put), + std::size(mini_golf_peep_animation_frames_putt), }; // clang-format on @@ -1237,7 +1237,7 @@ void vehicle_visual_mini_golf_player( if (peep == nullptr) return; - uint8_t frame = mini_golf_peep_animation_frames[vehicle->mini_golf_current_animation][vehicle->animation_frame]; + uint8_t frame = mini_golf_peep_animation_frames[EnumValue(vehicle->mini_golf_current_animation)][vehicle->animation_frame]; uint32_t ebx = (frame << 2) + (imageDirection >> 3); uint32_t image_id = rideEntry->vehicles[0].base_image_id + 1 + ebx; @@ -1251,7 +1251,7 @@ void vehicle_visual_mini_golf_player( void vehicle_visual_mini_golf_ball( paint_session* session, int32_t x, int32_t imageDirection, int32_t y, int32_t z, const Vehicle* vehicle) { - if (vehicle->mini_golf_current_animation != 1) + if (vehicle->mini_golf_current_animation != MiniGolfAnimation::PlaceBallDown) { return; } From 8fa4823055760d44d786f48fc85e79eb3c0e975b Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Wed, 25 Aug 2021 15:37:44 +0300 Subject: [PATCH 36/59] Pass rct_drawpixelinfo as explicit argument, make DrawSpriteArgs const --- src/openrct2/CmdlineSprite.cpp | 4 +-- src/openrct2/drawing/Drawing.Sprite.BMP.cpp | 34 +++++++++--------- src/openrct2/drawing/Drawing.Sprite.RLE.cpp | 38 ++++++++++----------- src/openrct2/drawing/Drawing.Sprite.cpp | 10 +++--- src/openrct2/drawing/Drawing.h | 14 ++++---- 5 files changed, 48 insertions(+), 52 deletions(-) diff --git a/src/openrct2/CmdlineSprite.cpp b/src/openrct2/CmdlineSprite.cpp index a0ecfed2db..1d2459f7ee 100644 --- a/src/openrct2/CmdlineSprite.cpp +++ b/src/openrct2/CmdlineSprite.cpp @@ -199,8 +199,8 @@ static bool SpriteImageExport(const rct_g1_element& spriteElement, const char* o dpi.zoom_level = 0; DrawSpriteArgs args( - &dpi, ImageId(), PaletteMap::GetDefault(), spriteElement, 0, 0, spriteElement.width, spriteElement.height, pixels); - gfx_sprite_to_buffer(args); + ImageId(), PaletteMap::GetDefault(), spriteElement, 0, 0, spriteElement.width, spriteElement.height, pixels); + gfx_sprite_to_buffer(dpi, args); auto const pixels8 = dpi.bits; auto const pixelsLen = (dpi.width + dpi.pitch) * dpi.height; diff --git a/src/openrct2/drawing/Drawing.Sprite.BMP.cpp b/src/openrct2/drawing/Drawing.Sprite.BMP.cpp index 8c4f1d6e75..3a2925f09c 100644 --- a/src/openrct2/drawing/Drawing.Sprite.BMP.cpp +++ b/src/openrct2/drawing/Drawing.Sprite.BMP.cpp @@ -9,16 +9,15 @@ #include "Drawing.h" -template static void FASTCALL DrawBMPSpriteMagnify(DrawSpriteArgs& args) +template static void FASTCALL DrawBMPSpriteMagnify(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { auto& g1 = args.SourceImage; auto src = g1.offset + ((static_cast(g1.width) * args.SrcY) + args.SrcX); auto dst = args.DestinationBits; auto& paletteMap = args.PalMap; - auto dpi = args.DPI; - auto zoomLevel = dpi->zoom_level; + auto zoomLevel = dpi.zoom_level; size_t srcLineWidth = g1.width; - size_t dstLineWidth = (static_cast(dpi->width) / zoomLevel) + dpi->pitch; + size_t dstLineWidth = (static_cast(dpi.width) / zoomLevel) + dpi.pitch; uint8_t zoom = 1 / zoomLevel; auto width = args.Width / zoomLevel; auto height = args.Height / zoomLevel; @@ -36,7 +35,7 @@ template static void FASTCALL DrawBMPSpriteMagnify(DrawSpr } } -template static void FASTCALL DrawBMPSpriteMinify(DrawSpriteArgs& args) +template static void FASTCALL DrawBMPSpriteMinify(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { auto& g1 = args.SourceImage; auto src = g1.offset + ((static_cast(g1.width) * args.SrcY) + args.SrcX); @@ -44,10 +43,9 @@ template static void FASTCALL DrawBMPSpriteMinify(DrawSpri auto& paletteMap = args.PalMap; auto width = args.Width; auto height = args.Height; - auto dpi = args.DPI; - auto zoomLevel = dpi->zoom_level; + auto zoomLevel = dpi.zoom_level; size_t srcLineWidth = g1.width * zoomLevel; - size_t dstLineWidth = (static_cast(dpi->width) / zoomLevel) + dpi->pitch; + size_t dstLineWidth = (static_cast(dpi.width) / zoomLevel) + dpi.pitch; uint8_t zoom = 1 * zoomLevel; for (; height > 0; height -= zoom) { @@ -62,15 +60,15 @@ template static void FASTCALL DrawBMPSpriteMinify(DrawSpri } } -template static void FASTCALL DrawBMPSprite(DrawSpriteArgs& args) +template static void FASTCALL DrawBMPSprite(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { - if (args.DPI->zoom_level < 0) + if (dpi.zoom_level < 0) { - DrawBMPSpriteMagnify(args); + DrawBMPSpriteMagnify(dpi, args); } else { - DrawBMPSpriteMinify(args); + DrawBMPSpriteMinify(dpi, args); } } @@ -80,7 +78,7 @@ template static void FASTCALL DrawBMPSprite(DrawSpriteArgs * rct2: 0x0067A690 * @param imageId Only flags are used. */ -void FASTCALL gfx_bmp_sprite_to_buffer(DrawSpriteArgs& args) +void FASTCALL gfx_bmp_sprite_to_buffer(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { auto imageId = args.Image; @@ -90,29 +88,29 @@ void FASTCALL gfx_bmp_sprite_to_buffer(DrawSpriteArgs& args) if (imageId.IsBlended()) { // Copy non-transparent bitmap data but blend src and dst pixel using the palette map. - DrawBMPSprite(args); + DrawBMPSprite(dpi, args); } else { // Copy non-transparent bitmap data but re-colour using the palette map. - DrawBMPSprite(args); + DrawBMPSprite(dpi, args); } } else if (imageId.IsBlended()) { // Image is only a transparency mask. Just colour the pixels using the palette map. // Used for glass. - DrawBMPSprite(args); + DrawBMPSprite(dpi, args); return; } else if (!(args.SourceImage.flags & G1_FLAG_BMP)) { // Copy raw bitmap data to target - DrawBMPSprite(args); + DrawBMPSprite(dpi, args); } else { // Copy raw bitmap data to target but exclude transparent pixels - DrawBMPSprite(args); + DrawBMPSprite(dpi, args); } } diff --git a/src/openrct2/drawing/Drawing.Sprite.RLE.cpp b/src/openrct2/drawing/Drawing.Sprite.RLE.cpp index 1e5d49a712..45e27c8e96 100644 --- a/src/openrct2/drawing/Drawing.Sprite.RLE.cpp +++ b/src/openrct2/drawing/Drawing.Sprite.RLE.cpp @@ -12,9 +12,9 @@ #include #include -template static void FASTCALL DrawRLESpriteMagnify(DrawSpriteArgs& args) +template +static void FASTCALL DrawRLESpriteMagnify(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { - auto dpi = args.DPI; auto src0 = args.SourceImage.offset; auto dst0 = args.DestinationBits; auto srcX = args.SrcX; @@ -23,7 +23,7 @@ template static void FASTCALL DrawRLESpriteM auto height = args.Height; auto& paletteMap = args.PalMap; auto zoom = 1 << TZoom; - auto dstLineWidth = (static_cast(dpi->width) << TZoom) + dpi->pitch; + auto dstLineWidth = (static_cast(dpi.width) << TZoom) + dpi.pitch; // Move up to the first line of the image if source_y_start is negative. Why does this even occur? if (srcY < 0) @@ -83,9 +83,9 @@ template static void FASTCALL DrawRLESpriteM } } -template static void FASTCALL DrawRLESpriteMinify(DrawSpriteArgs& args) +template +static void FASTCALL DrawRLESpriteMinify(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { - auto dpi = args.DPI; auto src0 = args.SourceImage.offset; auto dst0 = args.DestinationBits; auto srcX = args.SrcX; @@ -93,7 +93,7 @@ template static void FASTCALL DrawRLESpriteM auto width = args.Width; auto height = args.Height; auto zoom = 1 << TZoom; - auto dstLineWidth = (static_cast(dpi->width) >> TZoom) + dpi->pitch; + auto dstLineWidth = (static_cast(dpi.width) >> TZoom) + dpi.pitch; // Move up to the first line of the image if source_y_start is negative. Why does this even occur? if (srcY < 0) @@ -178,28 +178,28 @@ template static void FASTCALL DrawRLESpriteM } } -template static void FASTCALL DrawRLESprite(DrawSpriteArgs& args) +template static void FASTCALL DrawRLESprite(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { - auto zoom_level = static_cast(args.DPI->zoom_level); + auto zoom_level = static_cast(dpi.zoom_level); switch (zoom_level) { case -2: - DrawRLESpriteMagnify(args); + DrawRLESpriteMagnify(dpi, args); break; case -1: - DrawRLESpriteMagnify(args); + DrawRLESpriteMagnify(dpi, args); break; case 0: - DrawRLESpriteMinify(args); + DrawRLESpriteMinify(dpi, args); break; case 1: - DrawRLESpriteMinify(args); + DrawRLESpriteMinify(dpi, args); break; case 2: - DrawRLESpriteMinify(args); + DrawRLESpriteMinify(dpi, args); break; case 3: - DrawRLESpriteMinify(args); + DrawRLESpriteMinify(dpi, args); break; default: assert(false); @@ -213,25 +213,25 @@ template static void FASTCALL DrawRLESprite(DrawSpriteArgs * rct2: 0x0067AA18 * @param imageId Only flags are used. */ -void FASTCALL gfx_rle_sprite_to_buffer(DrawSpriteArgs& args) +void FASTCALL gfx_rle_sprite_to_buffer(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { if (args.Image.HasPrimary()) { if (args.Image.IsBlended()) { - DrawRLESprite(args); + DrawRLESprite(dpi, args); } else { - DrawRLESprite(args); + DrawRLESprite(dpi, args); } } else if (args.Image.IsBlended()) { - DrawRLESprite(args); + DrawRLESprite(dpi, args); } else { - DrawRLESprite(args); + DrawRLESprite(dpi, args); } } diff --git a/src/openrct2/drawing/Drawing.Sprite.cpp b/src/openrct2/drawing/Drawing.Sprite.cpp index 50fe767c8b..786ec46fba 100644 --- a/src/openrct2/drawing/Drawing.Sprite.cpp +++ b/src/openrct2/drawing/Drawing.Sprite.cpp @@ -575,19 +575,19 @@ void FASTCALL gfx_draw_sprite_palette_set_software( // Move the pointer to the start point of the destination dest_pointer += ((dpi->width / zoom_level) + dpi->pitch) * dest_start_y + dest_start_x; - DrawSpriteArgs args(dpi, imageId, paletteMap, *g1, source_start_x, source_start_y, width, height, dest_pointer); - gfx_sprite_to_buffer(args); + DrawSpriteArgs args(imageId, paletteMap, *g1, source_start_x, source_start_y, width, height, dest_pointer); + gfx_sprite_to_buffer(*dpi, args); } -void FASTCALL gfx_sprite_to_buffer(DrawSpriteArgs& args) +void FASTCALL gfx_sprite_to_buffer(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { if (args.SourceImage.flags & G1_FLAG_RLE_COMPRESSION) { - gfx_rle_sprite_to_buffer(args); + gfx_rle_sprite_to_buffer(dpi, args); } else if (!(args.SourceImage.flags & G1_FLAG_1)) { - gfx_bmp_sprite_to_buffer(args); + gfx_bmp_sprite_to_buffer(dpi, args); } } diff --git a/src/openrct2/drawing/Drawing.h b/src/openrct2/drawing/Drawing.h index 1ea01e08e7..47cb785d20 100644 --- a/src/openrct2/drawing/Drawing.h +++ b/src/openrct2/drawing/Drawing.h @@ -543,7 +543,6 @@ public: struct DrawSpriteArgs { - rct_drawpixelinfo* DPI; ImageId Image; const PaletteMap& PalMap; const rct_g1_element& SourceImage; @@ -554,10 +553,9 @@ struct DrawSpriteArgs uint8_t* DestinationBits; DrawSpriteArgs( - rct_drawpixelinfo* dpi, ImageId image, const PaletteMap& palMap, const rct_g1_element& sourceImage, int32_t srcX, - int32_t srcY, int32_t width, int32_t height, uint8_t* destinationBits) - : DPI(dpi) - , Image(image) + ImageId image, const PaletteMap& palMap, const rct_g1_element& sourceImage, int32_t srcX, int32_t srcY, int32_t width, + int32_t height, uint8_t* destinationBits) + : Image(image) , PalMap(palMap) , SourceImage(sourceImage) , SrcX(srcX) @@ -713,9 +711,9 @@ void gfx_object_free_images(uint32_t baseImageId, uint32_t count); void gfx_object_check_all_images_freed(); size_t ImageListGetUsedCount(); size_t ImageListGetMaximum(); -void FASTCALL gfx_sprite_to_buffer(DrawSpriteArgs& args); -void FASTCALL gfx_bmp_sprite_to_buffer(DrawSpriteArgs& args); -void FASTCALL gfx_rle_sprite_to_buffer(DrawSpriteArgs& args); +void FASTCALL gfx_sprite_to_buffer(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args); +void FASTCALL gfx_bmp_sprite_to_buffer(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args); +void FASTCALL gfx_rle_sprite_to_buffer(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args); void FASTCALL gfx_draw_sprite(rct_drawpixelinfo* dpi, ImageId image_id, const ScreenCoordsXY& coords); void FASTCALL gfx_draw_sprite(rct_drawpixelinfo* dpi, int32_t image_id, const ScreenCoordsXY& coords, uint32_t tertiary_colour); void FASTCALL From c209021229a32109e0909daac563e8cab7c78a94 Mon Sep 17 00:00:00 2001 From: Duncan Date: Wed, 25 Aug 2021 14:03:48 +0100 Subject: [PATCH 37/59] Remove unused serialiser trait (#15279) --- src/openrct2/core/DataSerialiserTraits.h | 28 ------------------------ 1 file changed, 28 deletions(-) diff --git a/src/openrct2/core/DataSerialiserTraits.h b/src/openrct2/core/DataSerialiserTraits.h index 7284f69851..3953709582 100644 --- a/src/openrct2/core/DataSerialiserTraits.h +++ b/src/openrct2/core/DataSerialiserTraits.h @@ -584,34 +584,6 @@ template<> struct DataSerializerTraits_t stream->Write(msg, strlen(msg)); } }; -template<> struct DataSerializerTraits_t -{ - static void encode(OpenRCT2::IStream* stream, const rct12_xyzd8& coord) - { - stream->WriteValue(ByteSwapBE(coord.x)); - stream->WriteValue(ByteSwapBE(coord.y)); - stream->WriteValue(ByteSwapBE(coord.z)); - stream->WriteValue(ByteSwapBE(coord.direction)); - } - - static void decode(OpenRCT2::IStream* stream, rct12_xyzd8& coord) - { - auto x = ByteSwapBE(stream->ReadValue()); - auto y = ByteSwapBE(stream->ReadValue()); - auto z = ByteSwapBE(stream->ReadValue()); - auto d = ByteSwapBE(stream->ReadValue()); - coord = rct12_xyzd8{ x, y, z, d }; - } - - static void log(OpenRCT2::IStream* stream, const rct12_xyzd8& coord) - { - char msg[128] = {}; - snprintf( - msg, sizeof(msg), "rct12_xyzd8(x = %d, y = %d, z = %d, direction = %d)", coord.x, coord.y, coord.z, - coord.direction); - stream->Write(msg, strlen(msg)); - } -}; template<> struct DataSerializerTraits_t { From b97c46421ea5059d4aba07c9ed38d58fcc5c38d5 Mon Sep 17 00:00:00 2001 From: Duncan Date: Wed, 25 Aug 2021 20:44:24 +0100 Subject: [PATCH 38/59] Move all RCT1 to RCT1 namespace (#15283) --- src/openrct2/config/Config.cpp | 2 +- src/openrct2/rct1/RCT1.h | 2407 ++++++------- src/openrct2/rct1/S4Importer.cpp | 5453 +++++++++++++++--------------- src/openrct2/rct1/T4Importer.cpp | 478 +-- src/openrct2/rct1/Tables.cpp | 18 +- src/openrct2/sprites.h | 2 +- 6 files changed, 4187 insertions(+), 4173 deletions(-) diff --git a/src/openrct2/config/Config.cpp b/src/openrct2/config/Config.cpp index 783697a7b7..84baec7c5e 100644 --- a/src/openrct2/config/Config.cpp +++ b/src/openrct2/config/Config.cpp @@ -1001,7 +1001,7 @@ bool RCT1DataPresentAtLocation(const utf8* path) bool CsgIsUsable(const rct_gx& csg) { - return csg.header.total_size == RCT1_LL_CSG1_DAT_FILE_SIZE && csg.header.num_entries == RCT1_NUM_LL_CSG_ENTRIES; + return csg.header.total_size == RCT1::RCT1_LL_CSG1_DAT_FILE_SIZE && csg.header.num_entries == RCT1::RCT1_NUM_LL_CSG_ENTRIES; } bool CsgAtLocationIsUsable(const utf8* path) diff --git a/src/openrct2/rct1/RCT1.h b/src/openrct2/rct1/RCT1.h index a516081618..e2b0293b91 100644 --- a/src/openrct2/rct1/RCT1.h +++ b/src/openrct2/rct1/RCT1.h @@ -18,1273 +18,1276 @@ #include "../world/Climate.h" #include "../world/MapAnimation.h" -constexpr const uint16_t RCT1_MAX_TILE_ELEMENTS = 0xC000; -constexpr const uint16_t RCT1_MAX_SPRITES = 5000; -constexpr const uint8_t RCT1_MAX_TRAINS_PER_RIDE = 12; -constexpr const uint8_t RCT1_MAX_MAP_SIZE = 128; -constexpr const uint8_t RCT1_MAX_STAFF = 116; -constexpr const uint8_t RCT1_RESEARCH_FLAGS_SEPARATOR = 0xFF; -constexpr const uint16_t RCT1_MAX_ANIMATED_OBJECTS = 1000; -constexpr const uint8_t RCT1_MAX_BANNERS = 100; -constexpr int32_t RCT1_COORDS_Z_STEP = 4; -constexpr const uint32_t RCT1_NUM_LL_CSG_ENTRIES = 69917; -constexpr const uint32_t RCT1_LL_CSG1_DAT_FILE_SIZE = 41402869; -constexpr const uint32_t RCT1_NUM_TERRAIN_SURFACES = 16; -constexpr const uint32_t RCT1_NUM_TERRAIN_EDGES = 15; - -struct ParkLoadResult; +namespace RCT1 +{ + constexpr const uint16_t RCT1_MAX_TILE_ELEMENTS = 0xC000; + constexpr const uint16_t RCT1_MAX_SPRITES = 5000; + constexpr const uint8_t RCT1_MAX_TRAINS_PER_RIDE = 12; + constexpr const uint8_t RCT1_MAX_MAP_SIZE = 128; + constexpr const uint8_t RCT1_MAX_STAFF = 116; + constexpr const uint8_t RCT1_RESEARCH_FLAGS_SEPARATOR = 0xFF; + constexpr const uint16_t RCT1_MAX_ANIMATED_OBJECTS = 1000; + constexpr const uint8_t RCT1_MAX_BANNERS = 100; + constexpr int32_t RCT1_COORDS_Z_STEP = 4; + constexpr const uint32_t RCT1_NUM_LL_CSG_ENTRIES = 69917; + constexpr const uint32_t RCT1_LL_CSG1_DAT_FILE_SIZE = 41402869; + constexpr const uint32_t RCT1_NUM_TERRAIN_SURFACES = 16; + constexpr const uint32_t RCT1_NUM_TERRAIN_EDGES = 15; #pragma pack(push, 1) -struct rct1_entrance -{ - uint16_t x; - uint16_t y; - uint16_t z; - uint8_t direction; -}; -assert_struct_size(rct1_entrance, 7); - -/** - * RCT1 ride structure - * size: 0x260 - */ -struct rct1_ride -{ - uint8_t type; // 0x000 - uint8_t vehicle_type; // 0x001 - uint16_t lifecycle_flags; // 0x002 - uint8_t operating_mode; // 0x004 - uint8_t colour_scheme; // 0x005 - struct + struct rct1_entrance { - colour_t body; - colour_t trim; - } vehicle_colours[RCT1_MAX_TRAINS_PER_RIDE]; // 0x006 - colour_t track_primary_colour; // 0x01E - colour_t track_secondary_colour; // 0x01F - colour_t track_support_colour; // 0x020 - uint8_t status; // 0x021 - uint16_t name; // 0x022 - uint16_t name_argument_ride; // 0x024 - uint16_t name_argument_number; // 0x026 - RCT12xy8 overall_view; // 0x028 - RCT12xy8 station_starts[RCT12_MAX_STATIONS_PER_RIDE]; // 0x02A - uint8_t station_height[RCT12_MAX_STATIONS_PER_RIDE]; // 0x032 - uint8_t station_length[RCT12_MAX_STATIONS_PER_RIDE]; // 0x036 - uint8_t station_light[RCT12_MAX_STATIONS_PER_RIDE]; // 0x03A - uint8_t station_depart[RCT12_MAX_STATIONS_PER_RIDE]; // 0x03E - RCT12xy8 entrance[RCT12_MAX_STATIONS_PER_RIDE]; // 0x042 - RCT12xy8 exit[RCT12_MAX_STATIONS_PER_RIDE]; // 0x04A - uint16_t last_peep_in_queue[RCT12_MAX_STATIONS_PER_RIDE]; // 0x052 - uint8_t num_peeps_in_queue[RCT12_MAX_STATIONS_PER_RIDE]; // 0x05A - uint16_t vehicles[RCT1_MAX_TRAINS_PER_RIDE]; // 0x05E - uint8_t depart_flags; // 0x076 - uint8_t num_stations; // 0x077 - uint8_t num_trains; // 0x078 - uint8_t num_cars_per_train; // 0x079 - uint8_t proposed_num_vehicles; // 0x07A - uint8_t proposed_num_cars_per_train; // 0x07B - uint8_t max_trains; // 0x07C - uint8_t min_max_cars_per_train; // 0x07D - uint8_t min_waiting_time; // 0x07E - uint8_t max_waiting_time; // 0x07F - uint8_t operation_option; // 0x080 - uint8_t boat_hire_return_direction; // 0x081 - RCT12xy8 boat_hire_return_position; // 0x082 - uint8_t data_logging_index; // 0x084 - uint8_t special_track_elements; // 0x085 - uint16_t unk_86; // 0x086 - int32_t max_speed; // 0x088 - int32_t average_speed; // 0x08C - uint8_t current_test_segment; // 0x090 - uint8_t average_speed_test_timeout; // 0x091 - uint8_t pad_0E2[0x2]; // 0x092 - int32_t length[RCT12_MAX_STATIONS_PER_RIDE]; // 0x094 - uint16_t time[RCT12_MAX_STATIONS_PER_RIDE]; // 0x0A4 - fixed16_2dp max_positive_vertical_g; // 0x0AC - fixed16_2dp max_negative_vertical_g; // 0x0AE - fixed16_2dp max_lateral_g; // 0x0B0 - fixed16_2dp previous_vertical_g; // 0x0B2 - fixed16_2dp previous_lateral_g; // 0x0B4 - uint8_t pad_B6[0x2]; // 0x0B6 - uint32_t testing_flags; // 0x0B8 - // x y map location of the current track piece during a test - // this is to prevent counting special tracks multiple times - RCT12xy8 cur_test_track_location; // 0x0BC - // Next 3 variables are related (XXXX XYYY ZZZa aaaa) - uint16_t turn_count_default; // 0x0BE X = current turn count - uint16_t turn_count_banked; // 0x0C0 - uint16_t turn_count_sloped; // 0x0C2 X = number turns > 3 elements - union - { - uint8_t num_inversions; // 0x0C4 - uint8_t num_holes; + uint16_t x; + uint16_t y; + uint16_t z; + uint8_t direction; }; - uint8_t num_drops; // 0x0C5 - uint8_t start_drop_height; // 0x0C6 - uint8_t highest_drop_height; // 0x0C7 - int32_t sheltered_length; // 0x0C8 - uint8_t unk_CC[2]; // 0x0CC - uint8_t num_sheltered_sections; // 0x0CE - // see cur_test_track_location - uint8_t cur_test_track_z; // 0x0CF - int16_t unk_D0; // 0x0D0 - int16_t unk_D2; // 0x0D2 - // Customer count in the last 10 * 960 game ticks (sliding window) - uint16_t num_customers[CUSTOMER_HISTORY_SIZE]; // 0xD4 - money16 price; // 0x0E8 - RCT12xy8 chairlift_bullwheel_location[2]; // 0x0EA - uint8_t chairlift_bullwheel_z[2]; // 0x0EE - union + assert_struct_size(rct1_entrance, 7); + + /** + * RCT1 ride structure + * size: 0x260 + */ + struct rct1_ride { - RatingTuple ratings; + uint8_t type; // 0x000 + uint8_t vehicle_type; // 0x001 + uint16_t lifecycle_flags; // 0x002 + uint8_t operating_mode; // 0x004 + uint8_t colour_scheme; // 0x005 struct { - ride_rating excitement; // 0x0F0 - ride_rating intensity; // 0x0F2 - ride_rating nausea; // 0x0F4 - }; - }; - uint16_t value; // 0x0F6 - uint16_t chairlift_bullwheel_rotation; // 0x0F8 - uint8_t satisfaction; // 0x0FA - uint8_t satisfaction_time_out; // 0x0FB - uint8_t satisfaction_next; // 0x0FC - uint8_t window_invalidate_flags; // 0x0FD - uint8_t unk_FE[2]; // 0x0FE - uint32_t total_customers; // 0x100 - money32 total_profit; // 0x104 - uint8_t popularity; // 0x108 - uint8_t popularity_time_out; // 0x109 - uint8_t popularity_next; // 0x10A - uint8_t num_riders; // 0x10B - uint8_t music_tune_id; // 0x10C - uint8_t slide_in_use; // 0x10D - union - { - uint16_t slide_peep; // 0x10E - uint16_t maze_tiles; // 0x10E - }; - uint8_t pad_110[0xE]; // 0x110 - uint8_t slide_peep_t_shirt_colour; // 0x11E - uint8_t pad_11F[0x7]; // 0x11F - uint8_t spiral_slide_progress; // 0x126 - uint8_t pad_127[0x9]; // 0x127 - int16_t build_date; // 0x130 - money16 upkeep_cost; // 0x131 - uint16_t race_winner; // 0x132 - uint8_t unk_134[2]; // 0x134 - uint32_t music_position; // 0x138 - uint8_t breakdown_reason_pending; // 0x13C - uint8_t mechanic_status; // 0x13D - uint16_t mechanic; // 0x13E - uint8_t inspection_station; // 0x140 - uint8_t broken_vehicle; // 0x141 - uint8_t broken_car; // 0x142 - uint8_t breakdown_reason; // 0x143 - money16 price_secondary; // 0x144 - union - { - struct + colour_t body; + colour_t trim; + } vehicle_colours[RCT1_MAX_TRAINS_PER_RIDE]; // 0x006 + colour_t track_primary_colour; // 0x01E + colour_t track_secondary_colour; // 0x01F + colour_t track_support_colour; // 0x020 + uint8_t status; // 0x021 + uint16_t name; // 0x022 + uint16_t name_argument_ride; // 0x024 + uint16_t name_argument_number; // 0x026 + RCT12xy8 overall_view; // 0x028 + RCT12xy8 station_starts[RCT12_MAX_STATIONS_PER_RIDE]; // 0x02A + uint8_t station_height[RCT12_MAX_STATIONS_PER_RIDE]; // 0x032 + uint8_t station_length[RCT12_MAX_STATIONS_PER_RIDE]; // 0x036 + uint8_t station_light[RCT12_MAX_STATIONS_PER_RIDE]; // 0x03A + uint8_t station_depart[RCT12_MAX_STATIONS_PER_RIDE]; // 0x03E + RCT12xy8 entrance[RCT12_MAX_STATIONS_PER_RIDE]; // 0x042 + RCT12xy8 exit[RCT12_MAX_STATIONS_PER_RIDE]; // 0x04A + uint16_t last_peep_in_queue[RCT12_MAX_STATIONS_PER_RIDE]; // 0x052 + uint8_t num_peeps_in_queue[RCT12_MAX_STATIONS_PER_RIDE]; // 0x05A + uint16_t vehicles[RCT1_MAX_TRAINS_PER_RIDE]; // 0x05E + uint8_t depart_flags; // 0x076 + uint8_t num_stations; // 0x077 + uint8_t num_trains; // 0x078 + uint8_t num_cars_per_train; // 0x079 + uint8_t proposed_num_vehicles; // 0x07A + uint8_t proposed_num_cars_per_train; // 0x07B + uint8_t max_trains; // 0x07C + uint8_t min_max_cars_per_train; // 0x07D + uint8_t min_waiting_time; // 0x07E + uint8_t max_waiting_time; // 0x07F + uint8_t operation_option; // 0x080 + uint8_t boat_hire_return_direction; // 0x081 + RCT12xy8 boat_hire_return_position; // 0x082 + uint8_t data_logging_index; // 0x084 + uint8_t special_track_elements; // 0x085 + uint16_t unk_86; // 0x086 + int32_t max_speed; // 0x088 + int32_t average_speed; // 0x08C + uint8_t current_test_segment; // 0x090 + uint8_t average_speed_test_timeout; // 0x091 + uint8_t pad_0E2[0x2]; // 0x092 + int32_t length[RCT12_MAX_STATIONS_PER_RIDE]; // 0x094 + uint16_t time[RCT12_MAX_STATIONS_PER_RIDE]; // 0x0A4 + fixed16_2dp max_positive_vertical_g; // 0x0AC + fixed16_2dp max_negative_vertical_g; // 0x0AE + fixed16_2dp max_lateral_g; // 0x0B0 + fixed16_2dp previous_vertical_g; // 0x0B2 + fixed16_2dp previous_lateral_g; // 0x0B4 + uint8_t pad_B6[0x2]; // 0x0B6 + uint32_t testing_flags; // 0x0B8 + // x y map location of the current track piece during a test + // this is to prevent counting special tracks multiple times + RCT12xy8 cur_test_track_location; // 0x0BC + // Next 3 variables are related (XXXX XYYY ZZZa aaaa) + uint16_t turn_count_default; // 0x0BE X = current turn count + uint16_t turn_count_banked; // 0x0C0 + uint16_t turn_count_sloped; // 0x0C2 X = number turns > 3 elements + union { - uint8_t reliability_subvalue; // 0x146, 0 - 255, acts like the decimals for reliability_percentage - uint8_t reliability_percentage; // 0x147, Starts at 100 and decreases from there. + uint8_t num_inversions; // 0x0C4 + uint8_t num_holes; }; - uint16_t reliability; // 0x146 - }; - uint8_t unreliability_factor; // 0x148 - uint8_t downtime; // 0x149 - uint8_t inspection_interval; // 0x14A - uint8_t last_inspection; // 0x14B - uint8_t unk_14C[20]; // 0x14C - money32 income_per_hour; // 0x160 - money32 profit; // 0x164 - uint8_t queue_time[RCT12_MAX_STATIONS_PER_RIDE]; // 0x168 - colour_t track_colour_main[4]; // 0x16C - colour_t track_colour_additional[4]; // 0x170 - colour_t track_colour_supports[4]; // 0x174 - uint8_t music; // 0x178 - uint8_t entrance_style; // 0x179 - uint8_t unk_17A[230]; // 0x17A -}; -assert_struct_size(rct1_ride, 0x260); - -struct rct1_unk_sprite : RCT12SpriteBase -{ - uint8_t pad_1F[3]; // 0x1f - rct_string_id name_string_idx; // 0x22 - uint16_t var_24; - uint16_t frame; // 0x26 - uint8_t var_28[3]; - uint8_t var_2B; - uint8_t pad_2C[0x45]; - uint8_t var_71; -}; - -struct rct1_vehicle : RCT12SpriteBase -{ - uint8_t Pitch; // 0x1F - uint8_t bank_rotation; // 0x20 - uint8_t pad_21[3]; - int32_t remaining_distance; // 0x24 - int32_t velocity; // 0x28 - int32_t acceleration; // 0x2C - uint8_t ride; // 0x30 - uint8_t vehicle_type; // 0x31 - rct_vehicle_colour colours; // 0x32 - union - { - uint16_t track_progress; // 0x34 - struct + uint8_t num_drops; // 0x0C5 + uint8_t start_drop_height; // 0x0C6 + uint8_t highest_drop_height; // 0x0C7 + int32_t sheltered_length; // 0x0C8 + uint8_t unk_CC[2]; // 0x0CC + uint8_t num_sheltered_sections; // 0x0CE + // see cur_test_track_location + uint8_t cur_test_track_z; // 0x0CF + int16_t unk_D0; // 0x0D0 + int16_t unk_D2; // 0x0D2 + // Customer count in the last 10 * 960 game ticks (sliding window) + uint16_t num_customers[CUSTOMER_HISTORY_SIZE]; // 0xD4 + money16 price; // 0x0E8 + RCT12xy8 chairlift_bullwheel_location[2]; // 0x0EA + uint8_t chairlift_bullwheel_z[2]; // 0x0EE + union { - int8_t var_34; - uint8_t var_35; + RatingTuple ratings; + struct + { + ride_rating excitement; // 0x0F0 + ride_rating intensity; // 0x0F2 + ride_rating nausea; // 0x0F4 + }; }; - }; - union - { - int16_t TrackTypeAndDirection; // 0x36 - RCT12xy8 boat_location; // 0x36 - }; - uint16_t track_x; // 0x38 - uint16_t track_y; // 0x3A - uint16_t track_z; // 0x3C - uint16_t next_vehicle_on_train; // 0x3E - - // The previous vehicle on the same train or the last vehicle on the previous or only train. - uint16_t prev_vehicle_on_ride; // 0x40 - - // The next vehicle on the same train or the first vehicle on the next or only train - uint16_t next_vehicle_on_ride; // 0x42 - - uint16_t var_44; - uint16_t mass; // 0x46 - uint16_t update_flags; // 0x48 - uint8_t SwingSprite; - uint8_t current_station; // 0x4B - union - { - int16_t SwingPosition; // 0x4C - int16_t current_time; // 0x4C - struct + uint16_t value; // 0x0F6 + uint16_t chairlift_bullwheel_rotation; // 0x0F8 + uint8_t satisfaction; // 0x0FA + uint8_t satisfaction_time_out; // 0x0FB + uint8_t satisfaction_next; // 0x0FC + uint8_t window_invalidate_flags; // 0x0FD + uint8_t unk_FE[2]; // 0x0FE + uint32_t total_customers; // 0x100 + money32 total_profit; // 0x104 + uint8_t popularity; // 0x108 + uint8_t popularity_time_out; // 0x109 + uint8_t popularity_next; // 0x10A + uint8_t num_riders; // 0x10B + uint8_t music_tune_id; // 0x10C + uint8_t slide_in_use; // 0x10D + union { - int8_t ferris_wheel_var_0; // 0x4C - int8_t ferris_wheel_var_1; // 0x4D + uint16_t slide_peep; // 0x10E + uint16_t maze_tiles; // 0x10E }; - }; - int16_t SwingSpeed; - uint8_t status; // 0x50 - uint8_t sub_state; // 0x51 - uint16_t peep[32]; // 0x52 - uint8_t peep_tshirt_colours[32]; // 0x92 - uint8_t num_seats; // 0xB2 - uint8_t num_peeps; // 0xB3 - uint8_t next_free_seat; // 0xB4 - uint8_t restraints_position; // 0xB5 0 == Close, 255 == Open - int16_t spin_speed; - uint16_t sound2_flags; - uint8_t spin_sprite; - uint8_t sound1_id; // 0xBB - uint8_t sound1_volume; // 0xBC - uint8_t sound2_id; // 0xBD - uint8_t sound2_volume; // 0xBE - int8_t sound_vector_factor; - union - { - uint16_t var_C0; - uint16_t time_waiting; // 0xC0 - uint16_t cable_lift_target; // 0xC0 - }; - uint8_t speed; // 0xC2 - uint8_t powered_acceleration; // 0xC3 - uint8_t var_C4; - uint8_t animation_frame; - uint8_t pad_C6[0x2]; - uint16_t animationState; - uint16_t var_CA; - uint8_t scream_sound_id; // 0xCC - uint8_t TrackSubposition; - union - { - uint8_t var_CE; - uint8_t num_laps; // 0xCE - }; - union - { - uint8_t var_CF; - uint8_t brake_speed; // 0xCF - }; - uint16_t lost_time_out; // 0xD0 - int8_t vertical_drop_countdown; // 0xD1 - uint8_t var_D3; - uint8_t mini_golf_current_animation; - uint8_t mini_golf_flags; // 0xD5 - uint8_t ride_subtype; // 0xD6 - uint8_t colours_extended; // 0xD7 - - uint16_t GetTrackType() const - { - return TrackTypeAndDirection >> 2; - } - - uint8_t GetTrackDirection() const - { - return TrackTypeAndDirection & RCT12VehicleTrackDirectionMask; - } -}; - -struct rct1_peep : RCT12SpriteBase -{ - uint8_t pad_1F[3]; - rct_string_id name_string_idx; // 0x22 - uint16_t next_x; // 0x24 - uint16_t next_y; // 0x26 - uint8_t next_z; // 0x28 - uint8_t next_flags; // 0x29 - uint8_t outside_of_park; // 0x2A - uint8_t state; // 0x2B - uint8_t sub_state; // 0x2C - uint8_t sprite_type; // 0x2D - uint8_t type; // 0x2E - union - { - uint8_t staff_type; // 0x2F - uint8_t no_of_rides; // 0x2F - }; - uint8_t tshirt_colour; // 0x30 - uint8_t trousers_colour; // 0x31 - uint16_t destination_x; // 0x32 Location that the peep is trying to get to - uint16_t destination_y; // 0x34 - uint8_t destination_tolerance; // 0x36 How close to destination before next action/state 0 = exact - uint8_t var_37; - uint8_t energy; // 0x38 - uint8_t energy_target; // 0x39 - uint8_t happiness; // 0x3A - uint8_t happiness_target; // 0x3B - uint8_t nausea; // 0x3C - uint8_t nausea_target; // 0x3D - uint8_t hunger; // 0x3E - uint8_t thirst; // 0x3F - uint8_t toilet; // 0x40 - uint8_t mass; // 0x41 - uint8_t time_to_consume; - uint8_t intensity; // 0x43 The max intensity is stored in the first 4 bits, and the min intensity in the second 4 bits - uint8_t nausea_tolerance; // 0x44 - uint8_t window_invalidate_flags; // 0x45 - money16 paid_on_drink; // 0x46 - uint8_t ride_types_been_on[16]; // 0x48 - uint8_t pad_5F[0x10]; // 0x58 - RCT12RideId current_ride; // 0x68 - uint8_t current_ride_station; // 0x69 - uint8_t current_train; // 0x6A - union - { - struct + uint8_t pad_110[0xE]; // 0x110 + uint8_t slide_peep_t_shirt_colour; // 0x11E + uint8_t pad_11F[0x7]; // 0x11F + uint8_t spiral_slide_progress; // 0x126 + uint8_t pad_127[0x9]; // 0x127 + int16_t build_date; // 0x130 + money16 upkeep_cost; // 0x131 + uint16_t race_winner; // 0x132 + uint8_t unk_134[2]; // 0x134 + uint32_t music_position; // 0x138 + uint8_t breakdown_reason_pending; // 0x13C + uint8_t mechanic_status; // 0x13D + uint16_t mechanic; // 0x13E + uint8_t inspection_station; // 0x140 + uint8_t broken_vehicle; // 0x141 + uint8_t broken_car; // 0x142 + uint8_t breakdown_reason; // 0x143 + money16 price_secondary; // 0x144 + union { - uint8_t current_car; // 0x6B - uint8_t current_seat; // 0x6C + struct + { + uint8_t reliability_subvalue; // 0x146, 0 - 255, acts like the decimals for reliability_percentage + uint8_t reliability_percentage; // 0x147, Starts at 100 and decreases from there. + }; + uint16_t reliability; // 0x146 }; - uint16_t time_to_sitdown; // 0x6B - struct + uint8_t unreliability_factor; // 0x148 + uint8_t downtime; // 0x149 + uint8_t inspection_interval; // 0x14A + uint8_t last_inspection; // 0x14B + uint8_t unk_14C[20]; // 0x14C + money32 income_per_hour; // 0x160 + money32 profit; // 0x164 + uint8_t queue_time[RCT12_MAX_STATIONS_PER_RIDE]; // 0x168 + colour_t track_colour_main[4]; // 0x16C + colour_t track_colour_additional[4]; // 0x170 + colour_t track_colour_supports[4]; // 0x174 + uint8_t music; // 0x178 + uint8_t entrance_style; // 0x179 + uint8_t unk_17A[230]; // 0x17A + }; + assert_struct_size(rct1_ride, 0x260); + + struct rct1_unk_sprite : RCT12SpriteBase + { + uint8_t pad_1F[3]; // 0x1f + rct_string_id name_string_idx; // 0x22 + uint16_t var_24; + uint16_t frame; // 0x26 + uint8_t var_28[3]; + uint8_t var_2B; + uint8_t pad_2C[0x45]; + uint8_t var_71; + }; + + struct rct1_vehicle : RCT12SpriteBase + { + uint8_t Pitch; // 0x1F + uint8_t bank_rotation; // 0x20 + uint8_t pad_21[3]; + int32_t remaining_distance; // 0x24 + int32_t velocity; // 0x28 + int32_t acceleration; // 0x2C + uint8_t ride; // 0x30 + uint8_t vehicle_type; // 0x31 + rct_vehicle_colour colours; // 0x32 + union { - uint8_t time_to_stand; // 0x6B - uint8_t standing_flags; // 0x6C + uint16_t track_progress; // 0x34 + struct + { + int8_t var_34; + uint8_t var_35; + }; }; + union + { + int16_t TrackTypeAndDirection; // 0x36 + RCT12xy8 boat_location; // 0x36 + }; + uint16_t track_x; // 0x38 + uint16_t track_y; // 0x3A + uint16_t track_z; // 0x3C + uint16_t next_vehicle_on_train; // 0x3E + + // The previous vehicle on the same train or the last vehicle on the previous or only train. + uint16_t prev_vehicle_on_ride; // 0x40 + + // The next vehicle on the same train or the first vehicle on the next or only train + uint16_t next_vehicle_on_ride; // 0x42 + + uint16_t var_44; + uint16_t mass; // 0x46 + uint16_t update_flags; // 0x48 + uint8_t SwingSprite; + uint8_t current_station; // 0x4B + union + { + int16_t SwingPosition; // 0x4C + int16_t current_time; // 0x4C + struct + { + int8_t ferris_wheel_var_0; // 0x4C + int8_t ferris_wheel_var_1; // 0x4D + }; + }; + int16_t SwingSpeed; + uint8_t status; // 0x50 + uint8_t sub_state; // 0x51 + uint16_t peep[32]; // 0x52 + uint8_t peep_tshirt_colours[32]; // 0x92 + uint8_t num_seats; // 0xB2 + uint8_t num_peeps; // 0xB3 + uint8_t next_free_seat; // 0xB4 + uint8_t restraints_position; // 0xB5 0 == Close, 255 == Open + int16_t spin_speed; + uint16_t sound2_flags; + uint8_t spin_sprite; + uint8_t sound1_id; // 0xBB + uint8_t sound1_volume; // 0xBC + uint8_t sound2_id; // 0xBD + uint8_t sound2_volume; // 0xBE + int8_t sound_vector_factor; + union + { + uint16_t var_C0; + uint16_t time_waiting; // 0xC0 + uint16_t cable_lift_target; // 0xC0 + }; + uint8_t speed; // 0xC2 + uint8_t powered_acceleration; // 0xC3 + uint8_t var_C4; + uint8_t animation_frame; + uint8_t pad_C6[0x2]; + uint16_t animationState; + uint16_t var_CA; + uint8_t scream_sound_id; // 0xCC + uint8_t TrackSubposition; + union + { + uint8_t var_CE; + uint8_t num_laps; // 0xCE + }; + union + { + uint8_t var_CF; + uint8_t brake_speed; // 0xCF + }; + uint16_t lost_time_out; // 0xD0 + int8_t vertical_drop_countdown; // 0xD1 + uint8_t var_D3; + uint8_t mini_golf_current_animation; + uint8_t mini_golf_flags; // 0xD5 + uint8_t ride_subtype; // 0xD6 + uint8_t colours_extended; // 0xD7 + + uint16_t GetTrackType() const + { + return TrackTypeAndDirection >> 2; + } + + uint8_t GetTrackDirection() const + { + return TrackTypeAndDirection & RCT12VehicleTrackDirectionMask; + } }; - // Normally 0, 1 for carrying sliding board on spiral slide ride, 2 for carrying lawn mower - uint8_t special_sprite; // 0x6D - uint8_t action_sprite_type; // 0x6E - // Seems to be used like a local variable, as it's always set before calling SwitchNextActionSpriteType, which reads this - // again - uint8_t next_action_sprite_type; // 0x6F - uint8_t action_sprite_image_offset; // 0x70 - uint8_t action; // 0x71 - uint8_t action_frame; // 0x72 - uint8_t step_progress; - union + + struct rct1_peep : RCT12SpriteBase { - uint16_t mechanic_time_since_call; // time getting to ride to fix - uint16_t next_in_queue; // 0x74 + uint8_t pad_1F[3]; + rct_string_id name_string_idx; // 0x22 + uint16_t next_x; // 0x24 + uint16_t next_y; // 0x26 + uint8_t next_z; // 0x28 + uint8_t next_flags; // 0x29 + uint8_t outside_of_park; // 0x2A + uint8_t state; // 0x2B + uint8_t sub_state; // 0x2C + uint8_t sprite_type; // 0x2D + uint8_t type; // 0x2E + union + { + uint8_t staff_type; // 0x2F + uint8_t no_of_rides; // 0x2F + }; + uint8_t tshirt_colour; // 0x30 + uint8_t trousers_colour; // 0x31 + uint16_t destination_x; // 0x32 Location that the peep is trying to get to + uint16_t destination_y; // 0x34 + uint8_t destination_tolerance; // 0x36 How close to destination before next action/state 0 = exact + uint8_t var_37; + uint8_t energy; // 0x38 + uint8_t energy_target; // 0x39 + uint8_t happiness; // 0x3A + uint8_t happiness_target; // 0x3B + uint8_t nausea; // 0x3C + uint8_t nausea_target; // 0x3D + uint8_t hunger; // 0x3E + uint8_t thirst; // 0x3F + uint8_t toilet; // 0x40 + uint8_t mass; // 0x41 + uint8_t time_to_consume; + uint8_t intensity; // 0x43 The max intensity is stored in the first 4 bits, and the min intensity in the second 4 bits + uint8_t nausea_tolerance; // 0x44 + uint8_t window_invalidate_flags; // 0x45 + money16 paid_on_drink; // 0x46 + uint8_t ride_types_been_on[16]; // 0x48 + uint8_t pad_5F[0x10]; // 0x58 + RCT12RideId current_ride; // 0x68 + uint8_t current_ride_station; // 0x69 + uint8_t current_train; // 0x6A + union + { + struct + { + uint8_t current_car; // 0x6B + uint8_t current_seat; // 0x6C + }; + uint16_t time_to_sitdown; // 0x6B + struct + { + uint8_t time_to_stand; // 0x6B + uint8_t standing_flags; // 0x6C + }; + }; + // Normally 0, 1 for carrying sliding board on spiral slide ride, 2 for carrying lawn mower + uint8_t special_sprite; // 0x6D + uint8_t action_sprite_type; // 0x6E + // Seems to be used like a local variable, as it's always set before calling SwitchNextActionSpriteType, which reads + // this again + uint8_t next_action_sprite_type; // 0x6F + uint8_t action_sprite_image_offset; // 0x70 + uint8_t action; // 0x71 + uint8_t action_frame; // 0x72 + uint8_t step_progress; + union + { + uint16_t mechanic_time_since_call; // time getting to ride to fix + uint16_t next_in_queue; // 0x74 + }; + uint8_t pad_76; + uint8_t pad_77; + union + { + uint8_t maze_last_edge; // 0x78 + uint8_t direction; // Direction ? + }; + RCT12RideId interaction_ride_index; + uint16_t time_in_queue; // 0x7A + uint8_t 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_t id; // 0x9C + money32 cash_in_pocket; // 0xA0 + money32 cash_spent; // 0xA4 + int32_t park_entry_time; // 0xA8 + int8_t rejoin_queue_timeout; // 0xAC + RCT12RideId previous_ride; // 0xAD + uint16_t previous_ride_time_out; // 0xAE + RCT12PeepThought thoughts[RCT12_PEEP_MAX_THOUGHTS]; // 0xB0 + uint8_t pad_C4; + union + { + uint8_t staff_id; // 0xC5 + RCT12RideId guest_heading_to_ride_id; // 0xC5 + }; + union + { + uint8_t staff_orders; // 0xC6 + uint8_t peep_is_lost_countdown; // 0xC6 + }; + RCT12RideId photo1_ride_ref; // 0xC7 + uint32_t peep_flags; // 0xC8 + rct12_xyzd8 pathfind_goal; // 0xCC + rct12_xyzd8 pathfind_history[4]; // 0xD0 + uint8_t no_action_frame_num; // 0xE0 + // 0x3F Litter Count split into lots of 3 with time, 0xC0 Time since last recalc + uint8_t litter_count; // 0xE1 + union + { + uint8_t time_on_ride; // 0xE2 + uint8_t staff_mowing_timeout; // 0xE2 + }; + // 0x3F Sick Count split into lots of 3 with time, 0xC0 Time since last recalc + uint8_t disgusting_count; // 0xE3 + money16 paid_to_enter; // 0xE4 + money16 paid_on_rides; // 0xE6 + money16 paid_on_food; // 0xE8 + money16 paid_on_souvenirs; // 0xEA + uint8_t no_of_food; // 0xEC + uint8_t no_of_drinks; // 0xED + uint8_t no_of_souvenirs; // 0xEE + uint8_t vandalism_seen; // 0xEF + uint8_t voucher_type; // 0xF0 + RCT12RideId voucher_arguments; // 0xF1 ride_id or string_offset_id + uint8_t surroundings_thought_timeout; // 0xF2 + uint8_t angriness; // 0xF3 + uint8_t time_lost; + uint8_t days_in_queue; // 0xF5 + uint8_t balloon_colour; // 0xF6 + uint8_t umbrella_colour; // 0xF7 + uint8_t hat_colour; // 0xF8 + RCT12RideId favourite_ride; // 0xF9 + uint8_t favourite_ride_rating; // 0xFA + uint8_t pad_FB; + uint32_t item_standard_flags; // 0xFC + uint64_t GetItemFlags() const + { + return item_standard_flags; + } }; - uint8_t pad_76; - uint8_t pad_77; - union + assert_struct_size(rct1_peep, 0x100); + + enum RCT1_PEEP_SPRITE_TYPE { - uint8_t maze_last_edge; // 0x78 - uint8_t direction; // Direction ? + 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_TOILET = 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 }; - RCT12RideId interaction_ride_index; - uint16_t time_in_queue; // 0x7A - uint8_t 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_t id; // 0x9C - money32 cash_in_pocket; // 0xA0 - money32 cash_spent; // 0xA4 - int32_t park_entry_time; // 0xA8 - int8_t rejoin_queue_timeout; // 0xAC - RCT12RideId previous_ride; // 0xAD - uint16_t previous_ride_time_out; // 0xAE - RCT12PeepThought thoughts[RCT12_PEEP_MAX_THOUGHTS]; // 0xB0 - uint8_t pad_C4; - union + + union rct1_sprite { - uint8_t staff_id; // 0xC5 - RCT12RideId guest_heading_to_ride_id; // 0xC5 + uint8_t pad_00[0x100]; + rct1_unk_sprite unknown; + rct1_vehicle vehicle; + rct1_peep peep; + RCT12SpriteLitter litter; + RCT12SpriteBalloon balloon; + RCT12SpriteDuck duck; + RCT12SpriteJumpingFountain jumping_fountain; + RCT12SpriteMoneyEffect money_effect; + RCT12SpriteCrashedVehicleParticle crashed_vehicle_particle; + RCT12SpriteCrashSplash crash_splash; + RCT12SpriteSteamParticle steam_particle; }; - union + assert_struct_size(rct1_sprite, 0x100); + + struct rct1_research_item { - uint8_t staff_orders; // 0xC6 - uint8_t peep_is_lost_countdown; // 0xC6 + uint8_t item; + uint8_t related_ride; + uint8_t type; + uint8_t flags; + uint8_t category; }; - RCT12RideId photo1_ride_ref; // 0xC7 - uint32_t peep_flags; // 0xC8 - rct12_xyzd8 pathfind_goal; // 0xCC - rct12_xyzd8 pathfind_history[4]; // 0xD0 - uint8_t no_action_frame_num; // 0xE0 - // 0x3F Litter Count split into lots of 3 with time, 0xC0 Time since last recalc - uint8_t litter_count; // 0xE1 - union + assert_struct_size(rct1_research_item, 5); + + /** + * RCT1,AA,LL scenario / saved game structure. + * size: 0x1F850C + */ + struct rct1_s4 { - uint8_t time_on_ride; // 0xE2 - uint8_t staff_mowing_timeout; // 0xE2 + uint16_t month; + uint16_t day; + uint32_t ticks; + uint32_t random_a; + uint32_t random_b; + RCT12TileElement tile_elements[RCT1_MAX_TILE_ELEMENTS]; + uint32_t unk_counter; + rct1_sprite sprites[RCT1_MAX_SPRITES]; + uint16_t next_sprite_index; + uint16_t first_vehicle_sprite_index; + uint16_t first_peep_sprite_index; + uint16_t first_duck_sprite_index; + uint16_t first_litter_sprite_index; + uint16_t first_oversized_ride_car_sprite_index; + uint16_t sprites_available; + uint16_t num_vehicle_sprites; + uint16_t num_peep_sprites; + uint16_t num_duck_sprites; + uint16_t num_litter_sprites; + uint16_t num_oversized_ride_car_sprites; + uint32_t park_name_string_index; + uint32_t unk_198830; + money32 cash; + money32 loan; + uint32_t park_flags; + money16 park_entrance_fee; + rct1_entrance park_entrance; + uint8_t unk_198849; + rct12_peep_spawn peep_spawn[RCT12_MAX_PEEP_SPAWNS]; + uint8_t unk_198856; + uint8_t research_level; + uint32_t unk_198858; + uint32_t available_rides[8]; + uint32_t available_vehicles[8]; + uint32_t ride_feature_1[128]; + uint32_t ride_feature_2[128]; + uint16_t guests_in_park; + uint16_t unk_198C9E; + money32 expenditure[RCT12_EXPENDITURE_TABLE_MONTH_COUNT][RCT12_EXPENDITURE_TYPE_COUNT]; + uint32_t guests_in_park_2; + uint8_t unk_199024; + colour_t handman_colour; + colour_t mechanic_colour; + colour_t security_guard_colour; + uint8_t available_scenery[128]; + uint16_t available_banners; + uint8_t unk_1990AA[94]; + uint16_t park_rating; + uint8_t park_rating_history[32]; + uint8_t guests_in_park_history[32]; + uint8_t research_priority; + uint8_t research_progress_stage; + uint8_t last_research_item; + uint8_t last_research_ride; + uint8_t last_research_type; + uint8_t last_research_flags; + rct1_research_item research_items[200]; + uint8_t next_research_item; + uint8_t next_research_ride; + uint8_t next_research_type; + uint8_t next_research_flags; + uint16_t research_progress; + uint8_t next_research_category; + uint8_t next_research_expected_day; + uint8_t next_research_expected_month; + uint8_t guest_initial_happiness; + uint16_t park_size; + uint16_t guest_generation_probability; + money16 total_ride_value_for_money; + money32 max_loan; + money16 guest_initial_cash; + uint8_t guest_initial_hunger; + uint8_t guest_initial_thirst; + uint8_t scenario_objective_type; + uint8_t scenario_objective_years; + uint16_t unk_199552; + money32 scenario_objective_currency; + uint16_t scenario_objective_num_guests; + uint8_t marketing_status[20]; + uint8_t marketing_assoc[20]; + uint8_t unk_199582[2]; + money32 cash_history[RCT12_FINANCE_GRAPH_SIZE]; + money32 total_expenditure; + money32 profit; + uint8_t unk_199788[8]; + money32 weekly_profit_history[RCT12_FINANCE_GRAPH_SIZE]; + money32 park_value; + money32 park_value_history[RCT12_FINANCE_GRAPH_SIZE]; + money32 completed_company_value; + uint32_t num_admissions; + money32 admission_total_income; + money32 company_value; + uint8_t thought_timer[16]; + rct12_award awards[RCT12_MAX_AWARDS]; + money16 land_price; + money16 construction_rights_price; + uint16_t unk_199BCC; + uint16_t unk_199BCE; + uint32_t unk_199BD0; + char username[64]; + uint32_t game_version; + money32 objective_completion_company_value; + uint32_t finance_checksum; + uint16_t num_rides; + uint16_t cheat_detection_neg_num_rides; + uint16_t cheat_detection_max_owned_tiles; + uint16_t cheat_detection_neg_max_owned_tiles; + uint32_t finance_checksum_3; + uint32_t scenario_slot_index_checksum; + char scenario_winner[32]; + uint32_t finance_checksum_2; + char copyright_notice[40]; + uint16_t cheat_detection_sv6_sc4[4]; + uint16_t unk_199C84; + uint16_t unk_199C86; + uint16_t map_size_units; + uint16_t map_size_unk_b; + uint16_t map_size; + uint16_t map_size_max_xy; + uint32_t same_price_flags; + uint16_t unk_199C94; + uint8_t unk_199C96[3]; + uint8_t water_colour; + uint16_t unk_199C9A; + rct1_research_item research_items_LL[180]; + uint8_t unk_19A020[5468]; + RCT12Banner banners[RCT1_MAX_BANNERS]; + char string_table[RCT12_MAX_USER_STRINGS][RCT12_USER_STRING_MAX_LENGTH]; + uint32_t game_time_counter; + rct1_ride rides[RCT12_MAX_RIDES_IN_PARK]; + uint16_t unk_game_time_counter; + int16_t view_x; + int16_t view_y; + uint8_t view_zoom; + uint8_t view_rotation; + RCT12MapAnimation map_animations[RCT1_MAX_ANIMATED_OBJECTS]; + uint32_t num_map_animations; + uint8_t unk_1CADBC[12]; + uint16_t scrolling_text_step; + uint32_t unk_1CADCA; + uint16_t unk_1CADCE; + uint8_t unk_1CADD0[116]; + RCT12RideMeasurement ride_measurements[8]; + uint32_t next_guest_index; + uint16_t game_counter_5; + uint8_t patrol_areas[(RCT1_MAX_STAFF + RCT12_STAFF_TYPE_COUNT) * RCT12_PATROL_AREA_SIZE]; + uint8_t staff_modes[RCT1_MAX_STAFF]; + uint8_t unk_1F431E[4]; + uint8_t unk_1F4322[8]; + uint8_t climate; + uint8_t unk_1F432B; + uint16_t climate_timer; + uint8_t weather; + uint8_t target_weather; + uint8_t temperature; + uint8_t target_temperature; + uint8_t thunder_frequency; + uint8_t target_thunder_frequency; + uint8_t weather_gloom; + uint8_t target_weather_gloom; + uint8_t rain; + uint8_t target_rain; + rct12_news_item messages[RCT12_MAX_NEWS_ITEMS]; + char scenario_name[62]; + uint16_t scenario_slot_index; + uint32_t scenario_flags; + uint8_t unk_1F8358[432]; + uint32_t expansion_pack_checksum; }; - // 0x3F Sick Count split into lots of 3 with time, 0xC0 Time since last recalc - uint8_t disgusting_count; // 0xE3 - money16 paid_to_enter; // 0xE4 - money16 paid_on_rides; // 0xE6 - money16 paid_on_food; // 0xE8 - money16 paid_on_souvenirs; // 0xEA - uint8_t no_of_food; // 0xEC - uint8_t no_of_drinks; // 0xED - uint8_t no_of_souvenirs; // 0xEE - uint8_t vandalism_seen; // 0xEF - uint8_t voucher_type; // 0xF0 - RCT12RideId voucher_arguments; // 0xF1 ride_id or string_offset_id - uint8_t surroundings_thought_timeout; // 0xF2 - uint8_t angriness; // 0xF3 - uint8_t time_lost; - uint8_t days_in_queue; // 0xF5 - uint8_t balloon_colour; // 0xF6 - uint8_t umbrella_colour; // 0xF7 - uint8_t hat_colour; // 0xF8 - RCT12RideId favourite_ride; // 0xF9 - uint8_t favourite_ride_rating; // 0xFA - uint8_t pad_FB; - uint32_t item_standard_flags; // 0xFC - uint64_t GetItemFlags() const + assert_struct_size(rct1_s4, 0x1F850C); + + /** + * Track design structure. Only for base RCT1 + * size: 0x2006 + */ + struct rct_track_td4 { - return item_standard_flags; - } -}; -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_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_TOILET = 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 -}; - -union rct1_sprite -{ - uint8_t pad_00[0x100]; - rct1_unk_sprite unknown; - rct1_vehicle vehicle; - rct1_peep peep; - RCT12SpriteLitter litter; - RCT12SpriteBalloon balloon; - RCT12SpriteDuck duck; - RCT12SpriteJumpingFountain jumping_fountain; - RCT12SpriteMoneyEffect money_effect; - RCT12SpriteCrashedVehicleParticle crashed_vehicle_particle; - RCT12SpriteCrashSplash crash_splash; - RCT12SpriteSteamParticle steam_particle; -}; -assert_struct_size(rct1_sprite, 0x100); - -struct rct1_research_item -{ - uint8_t item; - uint8_t related_ride; - uint8_t type; - uint8_t flags; - uint8_t category; -}; -assert_struct_size(rct1_research_item, 5); - -/** - * RCT1,AA,LL scenario / saved game structure. - * size: 0x1F850C - */ -struct rct1_s4 -{ - uint16_t month; - uint16_t day; - uint32_t ticks; - uint32_t random_a; - uint32_t random_b; - RCT12TileElement tile_elements[RCT1_MAX_TILE_ELEMENTS]; - uint32_t unk_counter; - rct1_sprite sprites[RCT1_MAX_SPRITES]; - uint16_t next_sprite_index; - uint16_t first_vehicle_sprite_index; - uint16_t first_peep_sprite_index; - uint16_t first_duck_sprite_index; - uint16_t first_litter_sprite_index; - uint16_t first_oversized_ride_car_sprite_index; - uint16_t sprites_available; - uint16_t num_vehicle_sprites; - uint16_t num_peep_sprites; - uint16_t num_duck_sprites; - uint16_t num_litter_sprites; - uint16_t num_oversized_ride_car_sprites; - uint32_t park_name_string_index; - uint32_t unk_198830; - money32 cash; - money32 loan; - uint32_t park_flags; - money16 park_entrance_fee; - rct1_entrance park_entrance; - uint8_t unk_198849; - rct12_peep_spawn peep_spawn[RCT12_MAX_PEEP_SPAWNS]; - uint8_t unk_198856; - uint8_t research_level; - uint32_t unk_198858; - uint32_t available_rides[8]; - uint32_t available_vehicles[8]; - uint32_t ride_feature_1[128]; - uint32_t ride_feature_2[128]; - uint16_t guests_in_park; - uint16_t unk_198C9E; - money32 expenditure[RCT12_EXPENDITURE_TABLE_MONTH_COUNT][RCT12_EXPENDITURE_TYPE_COUNT]; - uint32_t guests_in_park_2; - uint8_t unk_199024; - colour_t handman_colour; - colour_t mechanic_colour; - colour_t security_guard_colour; - uint8_t available_scenery[128]; - uint16_t available_banners; - uint8_t unk_1990AA[94]; - uint16_t park_rating; - uint8_t park_rating_history[32]; - uint8_t guests_in_park_history[32]; - uint8_t research_priority; - uint8_t research_progress_stage; - uint8_t last_research_item; - uint8_t last_research_ride; - uint8_t last_research_type; - uint8_t last_research_flags; - rct1_research_item research_items[200]; - uint8_t next_research_item; - uint8_t next_research_ride; - uint8_t next_research_type; - uint8_t next_research_flags; - uint16_t research_progress; - uint8_t next_research_category; - uint8_t next_research_expected_day; - uint8_t next_research_expected_month; - uint8_t guest_initial_happiness; - uint16_t park_size; - uint16_t guest_generation_probability; - money16 total_ride_value_for_money; - money32 max_loan; - money16 guest_initial_cash; - uint8_t guest_initial_hunger; - uint8_t guest_initial_thirst; - uint8_t scenario_objective_type; - uint8_t scenario_objective_years; - uint16_t unk_199552; - money32 scenario_objective_currency; - uint16_t scenario_objective_num_guests; - uint8_t marketing_status[20]; - uint8_t marketing_assoc[20]; - uint8_t unk_199582[2]; - money32 cash_history[RCT12_FINANCE_GRAPH_SIZE]; - money32 total_expenditure; - money32 profit; - uint8_t unk_199788[8]; - money32 weekly_profit_history[RCT12_FINANCE_GRAPH_SIZE]; - money32 park_value; - money32 park_value_history[RCT12_FINANCE_GRAPH_SIZE]; - money32 completed_company_value; - uint32_t num_admissions; - money32 admission_total_income; - money32 company_value; - uint8_t thought_timer[16]; - rct12_award awards[RCT12_MAX_AWARDS]; - money16 land_price; - money16 construction_rights_price; - uint16_t unk_199BCC; - uint16_t unk_199BCE; - uint32_t unk_199BD0; - char username[64]; - uint32_t game_version; - money32 objective_completion_company_value; - uint32_t finance_checksum; - uint16_t num_rides; - uint16_t cheat_detection_neg_num_rides; - uint16_t cheat_detection_max_owned_tiles; - uint16_t cheat_detection_neg_max_owned_tiles; - uint32_t finance_checksum_3; - uint32_t scenario_slot_index_checksum; - char scenario_winner[32]; - uint32_t finance_checksum_2; - char copyright_notice[40]; - uint16_t cheat_detection_sv6_sc4[4]; - uint16_t unk_199C84; - uint16_t unk_199C86; - uint16_t map_size_units; - uint16_t map_size_unk_b; - uint16_t map_size; - uint16_t map_size_max_xy; - uint32_t same_price_flags; - uint16_t unk_199C94; - uint8_t unk_199C96[3]; - uint8_t water_colour; - uint16_t unk_199C9A; - rct1_research_item research_items_LL[180]; - uint8_t unk_19A020[5468]; - RCT12Banner banners[RCT1_MAX_BANNERS]; - char string_table[RCT12_MAX_USER_STRINGS][RCT12_USER_STRING_MAX_LENGTH]; - uint32_t game_time_counter; - rct1_ride rides[RCT12_MAX_RIDES_IN_PARK]; - uint16_t unk_game_time_counter; - int16_t view_x; - int16_t view_y; - uint8_t view_zoom; - uint8_t view_rotation; - RCT12MapAnimation map_animations[RCT1_MAX_ANIMATED_OBJECTS]; - uint32_t num_map_animations; - uint8_t unk_1CADBC[12]; - uint16_t scrolling_text_step; - uint32_t unk_1CADCA; - uint16_t unk_1CADCE; - uint8_t unk_1CADD0[116]; - RCT12RideMeasurement ride_measurements[8]; - uint32_t next_guest_index; - uint16_t game_counter_5; - uint8_t patrol_areas[(RCT1_MAX_STAFF + RCT12_STAFF_TYPE_COUNT) * RCT12_PATROL_AREA_SIZE]; - uint8_t staff_modes[RCT1_MAX_STAFF]; - uint8_t unk_1F431E[4]; - uint8_t unk_1F4322[8]; - uint8_t climate; - uint8_t unk_1F432B; - uint16_t climate_timer; - uint8_t weather; - uint8_t target_weather; - uint8_t temperature; - uint8_t target_temperature; - uint8_t thunder_frequency; - uint8_t target_thunder_frequency; - uint8_t weather_gloom; - uint8_t target_weather_gloom; - uint8_t rain; - uint8_t target_rain; - rct12_news_item messages[RCT12_MAX_NEWS_ITEMS]; - char scenario_name[62]; - uint16_t scenario_slot_index; - uint32_t scenario_flags; - uint8_t unk_1F8358[432]; - uint32_t expansion_pack_checksum; -}; -assert_struct_size(rct1_s4, 0x1F850C); - -/** - * Track design structure. Only for base RCT1 - * size: 0x2006 - */ -struct rct_track_td4 -{ - uint8_t type; // 0x00 - uint8_t vehicle_type; - uint32_t flags; // 0x02 - uint8_t mode; // 0x06 - uint8_t version_and_colour_scheme; // 0x07 0b0000_VVCC - rct_vehicle_colour vehicle_colours[RCT1_MAX_TRAINS_PER_RIDE]; // 0x08 - uint8_t track_spine_colour_v0; // 0x20 - uint8_t track_rail_colour_v0; // 0x21 - uint8_t track_support_colour_v0; // 0x22 - uint8_t depart_flags; // 0x23 - uint8_t number_of_trains; // 0x24 - uint8_t number_of_cars_per_train; // 0x25 - uint8_t min_waiting_time; // 0x26 - uint8_t max_waiting_time; // 0x27 - union - { - uint8_t operation_setting; - uint8_t launch_speed; - uint8_t num_laps; - uint8_t max_people; + uint8_t type; // 0x00 + uint8_t vehicle_type; + uint32_t flags; // 0x02 + uint8_t mode; // 0x06 + uint8_t version_and_colour_scheme; // 0x07 0b0000_VVCC + rct_vehicle_colour vehicle_colours[RCT1_MAX_TRAINS_PER_RIDE]; // 0x08 + uint8_t track_spine_colour_v0; // 0x20 + uint8_t track_rail_colour_v0; // 0x21 + uint8_t track_support_colour_v0; // 0x22 + uint8_t depart_flags; // 0x23 + uint8_t number_of_trains; // 0x24 + uint8_t number_of_cars_per_train; // 0x25 + uint8_t min_waiting_time; // 0x26 + uint8_t max_waiting_time; // 0x27 + union + { + uint8_t operation_setting; + uint8_t launch_speed; + uint8_t num_laps; + uint8_t max_people; + }; + int8_t max_speed; // 0x29 + int8_t average_speed; // 0x2A + uint16_t ride_length; // 0x2B + uint8_t max_positive_vertical_g; // 0x2D + int8_t max_negative_vertical_g; // 0x2C + uint8_t max_lateral_g; // 0x2F + union + { + uint8_t num_inversions; // 0x30 + uint8_t num_holes; // 0x30 + }; + uint8_t num_drops; // 0x31 + uint8_t highest_drop_height; // 0x32 + uint8_t excitement; // 0x33 + uint8_t intensity; // 0x34 + uint8_t nausea; // 0x35 + money16 upkeep_cost; // 0x36 }; - int8_t max_speed; // 0x29 - int8_t average_speed; // 0x2A - uint16_t ride_length; // 0x2B - uint8_t max_positive_vertical_g; // 0x2D - int8_t max_negative_vertical_g; // 0x2C - uint8_t max_lateral_g; // 0x2F - union + + assert_struct_size(rct_track_td4, 0x38); + + /** + * Track design structure for Added Attractions / Loopy Landscapes + * size: 0x2006 + */ + struct rct_track_td4_aa : public rct_track_td4 { - uint8_t num_inversions; // 0x30 - uint8_t num_holes; // 0x30 + uint8_t track_spine_colour[RCT12_NUM_COLOUR_SCHEMES]; // 0x38 + uint8_t track_rail_colour[RCT12_NUM_COLOUR_SCHEMES]; // 0x3C + uint8_t track_support_colour[RCT12_NUM_COLOUR_SCHEMES]; // 0x40 + uint8_t flags2; // 0x44 + + uint8_t pad_45[0x7F]; // 0x45 }; - uint8_t num_drops; // 0x31 - uint8_t highest_drop_height; // 0x32 - uint8_t excitement; // 0x33 - uint8_t intensity; // 0x34 - uint8_t nausea; // 0x35 - money16 upkeep_cost; // 0x36 -}; -assert_struct_size(rct_track_td4, 0x38); - -/** - * Track design structure for Added Attractions / Loopy Landscapes - * size: 0x2006 - */ -struct rct_track_td4_aa : public rct_track_td4 -{ - uint8_t track_spine_colour[RCT12_NUM_COLOUR_SCHEMES]; // 0x38 - uint8_t track_rail_colour[RCT12_NUM_COLOUR_SCHEMES]; // 0x3C - uint8_t track_support_colour[RCT12_NUM_COLOUR_SCHEMES]; // 0x40 - uint8_t flags2; // 0x44 - - uint8_t pad_45[0x7F]; // 0x45 -}; - -assert_struct_size(rct_track_td4_aa, 0xC4); + assert_struct_size(rct_track_td4_aa, 0xC4); #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_RAILWAY, - 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_TOP_SPIN, - 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_TWIST, - RCT1_RIDE_TYPE_HAUNTED_HOUSE, - RCT1_RIDE_TYPE_POPCORN_STALL, - RCT1_RIDE_TYPE_CIRCUS, - 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_TOFFEE_APPLE_STALL, - 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_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_RAILWAY, + 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_TOP_SPIN, + 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_TWIST, + RCT1_RIDE_TYPE_HAUNTED_HOUSE, + RCT1_RIDE_TYPE_POPCORN_STALL, + RCT1_RIDE_TYPE_CIRCUS, + 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_TOFFEE_APPLE_STALL, + 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_COUNT -}; + RCT1_RIDE_TYPE_COUNT + }; -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, + 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_COUNT -}; + RCT1_VEHICLE_TYPE_COUNT + }; -enum -{ - RCT1_TRACK_ELEM_BOOSTER = 100 -}; + enum + { + RCT1_TRACK_ELEM_BOOSTER = 100 + }; -enum -{ - RCT1_RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE = 2, - RCT1_RIDE_MODE_POWERED_LAUNCH = 3, -}; + enum + { + RCT1_RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE = 2, + RCT1_RIDE_MODE_POWERED_LAUNCH = 3, + }; -enum -{ - RCT1_RIDE_DEPART_PLAY_MUSIC = 1 << 5, -}; + enum + { + 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, -}; + 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, + }; -enum -{ - RCT1_FOOTPATH_TYPE_QUEUE_BLUE, - RCT1_FOOTPATH_TYPE_QUEUE_RED, - RCT1_FOOTPATH_TYPE_QUEUE_YELLOW, - RCT1_FOOTPATH_TYPE_QUEUE_GREEN, + enum + { + 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, -}; + enum + { + 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, -}; + 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, + }; -enum -{ - RCT1_WALL_TYPE_MESH_FENCE = 0, - RCT1_WALL_TYPE_MESH_FENCE_WITH_GATE = 1, - RCT1_WALL_TYPE_ROMAN = 2, - RCT1_WALL_TYPE_EGYPTIAN = 3, - RCT1_WALL_TYPE_HEDGE = 4, - RCT1_WALL_TYPE_HEDGE_WITH_GATE = 5, - RCT1_WALL_TYPE_BLUE_PLAYING_CARDS = 6, - RCT1_WALL_TYPE_RED_PLAYING_CARDS = 7, - RCT1_WALL_TYPE_WHITE_RAILING = 8, - RCT1_WALL_TYPE_WHITE_RAILING_WITH_GATE = 9, - RCT1_WALL_TYPE_MARTIAN = 10, - RCT1_WALL_TYPE_GLASS_SMOOTH = 11, - RCT1_WALL_TYPE_WOODEN_PANEL_FENCE = 12, - RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_GATE = 13, - RCT1_WALL_TYPE_WOODEN_POST_FENCE = 14, - RCT1_WALL_TYPE_RED_WOODEN_POST_FENCE = 15, - RCT1_WALL_TYPE_BARBED_WIRE = 16, - RCT1_WALL_TYPE_BARBED_WIRE_WITH_GATE = 17, - RCT1_WALL_TYPE_PRIMITIVE_TALL_WOOD_FENCE = 18, - RCT1_WALL_TYPE_PRIMITIVE_SHORT_WOOD_FENCE = 19, - RCT1_WALL_TYPE_IRON_RAILING = 20, - RCT1_WALL_TYPE_IRON_RAILING_WITH_GATE = 21, - RCT1_WALL_TYPE_GLASS_PANELS = 22, - RCT1_WALL_TYPE_BONE_FENCE = 23, - RCT1_WALL_TYPE_BRICK = 24, - RCT1_WALL_TYPE_BRICK_WITH_GATE = 25, - RCT1_WALL_TYPE_WHITE_WOODEN_PANEL_FENCE = 26, - RCT1_WALL_TYPE_RED_WOODEN_PANEL_FENCE = 27, - RCT1_WALL_TYPE_STONE = 28, - RCT1_WALL_TYPE_STONE_WITH_GATE = 29, - RCT1_WALL_TYPE_WOODEN_FENCE = 30, - RCT1_WALL_TYPE_JUNGLE = 31, - RCT1_WALL_TYPE_CONIFER_HEDGE = 32, - RCT1_WALL_TYPE_CONIFER_HEDGE_WITH_GATE = 33, - RCT1_WALL_TYPE_SMALL_BROWN_CASTLE = 34, - RCT1_WALL_TYPE_SMALL_GREY_CASTLE = 35, - RCT1_WALL_TYPE_ROMAN_COLUMN = 36, - RCT1_WALL_TYPE_LARGE_BROWN_CASTLE = 37, - RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_CROSS = 38, - RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_GATE = 39, - RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_WINDOW = 40, - RCT1_WALL_TYPE_MEDIUM_BROWN_CASTLE = 41, - RCT1_WALL_TYPE_LARGE_GREY_CASTLE = 42, - RCT1_WALL_TYPE_LARGE_GREY_CASTLE_CROSS = 43, - RCT1_WALL_TYPE_LARGE_GREY_CASTLE_GATE = 44, - RCT1_WALL_TYPE_LARGE_GREY_CASTLE_WINDOW = 45, - RCT1_WALL_TYPE_MEDIUM_GREY_CASTLE = 46, - RCT1_WALL_TYPE_CREEPY = 47, - RCT1_WALL_TYPE_CREEPY_GATE = 48, - RCT1_WALL_TYPE_BARBED_WIRE_WITH_SNOW = 49, - RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_SNOW = 50, - RCT1_WALL_TYPE_WOODEN_POST_FENCE_WITH_SNOW = 51, -}; + enum + { + RCT1_WALL_TYPE_MESH_FENCE = 0, + RCT1_WALL_TYPE_MESH_FENCE_WITH_GATE = 1, + RCT1_WALL_TYPE_ROMAN = 2, + RCT1_WALL_TYPE_EGYPTIAN = 3, + RCT1_WALL_TYPE_HEDGE = 4, + RCT1_WALL_TYPE_HEDGE_WITH_GATE = 5, + RCT1_WALL_TYPE_BLUE_PLAYING_CARDS = 6, + RCT1_WALL_TYPE_RED_PLAYING_CARDS = 7, + RCT1_WALL_TYPE_WHITE_RAILING = 8, + RCT1_WALL_TYPE_WHITE_RAILING_WITH_GATE = 9, + RCT1_WALL_TYPE_MARTIAN = 10, + RCT1_WALL_TYPE_GLASS_SMOOTH = 11, + RCT1_WALL_TYPE_WOODEN_PANEL_FENCE = 12, + RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_GATE = 13, + RCT1_WALL_TYPE_WOODEN_POST_FENCE = 14, + RCT1_WALL_TYPE_RED_WOODEN_POST_FENCE = 15, + RCT1_WALL_TYPE_BARBED_WIRE = 16, + RCT1_WALL_TYPE_BARBED_WIRE_WITH_GATE = 17, + RCT1_WALL_TYPE_PRIMITIVE_TALL_WOOD_FENCE = 18, + RCT1_WALL_TYPE_PRIMITIVE_SHORT_WOOD_FENCE = 19, + RCT1_WALL_TYPE_IRON_RAILING = 20, + RCT1_WALL_TYPE_IRON_RAILING_WITH_GATE = 21, + RCT1_WALL_TYPE_GLASS_PANELS = 22, + RCT1_WALL_TYPE_BONE_FENCE = 23, + RCT1_WALL_TYPE_BRICK = 24, + RCT1_WALL_TYPE_BRICK_WITH_GATE = 25, + RCT1_WALL_TYPE_WHITE_WOODEN_PANEL_FENCE = 26, + RCT1_WALL_TYPE_RED_WOODEN_PANEL_FENCE = 27, + RCT1_WALL_TYPE_STONE = 28, + RCT1_WALL_TYPE_STONE_WITH_GATE = 29, + RCT1_WALL_TYPE_WOODEN_FENCE = 30, + RCT1_WALL_TYPE_JUNGLE = 31, + RCT1_WALL_TYPE_CONIFER_HEDGE = 32, + RCT1_WALL_TYPE_CONIFER_HEDGE_WITH_GATE = 33, + RCT1_WALL_TYPE_SMALL_BROWN_CASTLE = 34, + RCT1_WALL_TYPE_SMALL_GREY_CASTLE = 35, + RCT1_WALL_TYPE_ROMAN_COLUMN = 36, + RCT1_WALL_TYPE_LARGE_BROWN_CASTLE = 37, + RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_CROSS = 38, + RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_GATE = 39, + RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_WINDOW = 40, + RCT1_WALL_TYPE_MEDIUM_BROWN_CASTLE = 41, + RCT1_WALL_TYPE_LARGE_GREY_CASTLE = 42, + RCT1_WALL_TYPE_LARGE_GREY_CASTLE_CROSS = 43, + RCT1_WALL_TYPE_LARGE_GREY_CASTLE_GATE = 44, + RCT1_WALL_TYPE_LARGE_GREY_CASTLE_WINDOW = 45, + RCT1_WALL_TYPE_MEDIUM_GREY_CASTLE = 46, + RCT1_WALL_TYPE_CREEPY = 47, + RCT1_WALL_TYPE_CREEPY_GATE = 48, + RCT1_WALL_TYPE_BARBED_WIRE_WITH_SNOW = 49, + RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_SNOW = 50, + RCT1_WALL_TYPE_WOODEN_POST_FENCE_WITH_SNOW = 51, + }; -enum -{ - RCT1_RESEARCH_END_AVAILABLE = 0xFF, - RCT1_RESEARCH_END_RESEARCHABLE = 0xFE, - RCT1_RESEARCH_END = 0xFD, -}; + enum + { + RCT1_RESEARCH_END_AVAILABLE = 0xFF, + RCT1_RESEARCH_END_RESEARCHABLE = 0xFE, + RCT1_RESEARCH_END = 0xFD, + }; -enum -{ - RCT1_RESEARCH_TYPE_THEME, - RCT1_RESEARCH_TYPE_RIDE, - RCT1_RESEARCH_TYPE_VEHICLE, - RCT1_RESEARCH_TYPE_SPECIAL, -}; + enum + { + RCT1_RESEARCH_TYPE_THEME, + RCT1_RESEARCH_TYPE_RIDE, + RCT1_RESEARCH_TYPE_VEHICLE, + RCT1_RESEARCH_TYPE_SPECIAL, + }; -enum -{ - RCT1_RESEARCH_CATEGORY_ROLLERCOASTERS = 1 << 0, - RCT1_RESEARCH_CATEGORY_THRILL_RIDES = 1 << 1, - RCT1_RESEARCH_CATEGORY_GENTLE_TRANSPORT_RIDES = 1 << 2, - RCT1_RESEARCH_CATEGORY_SHOPS = 1 << 3, - RCT1_RESEARCH_CATEGORY_SCENERY_THEMING = 1 << 4, - RCT1_RESEARCH_CATEGORY_RIDE_IMPROVEMENTS = 1 << 5, -}; + enum + { + RCT1_RESEARCH_CATEGORY_ROLLERCOASTERS = 1 << 0, + RCT1_RESEARCH_CATEGORY_THRILL_RIDES = 1 << 1, + RCT1_RESEARCH_CATEGORY_GENTLE_TRANSPORT_RIDES = 1 << 2, + RCT1_RESEARCH_CATEGORY_SHOPS = 1 << 3, + RCT1_RESEARCH_CATEGORY_SCENERY_THEMING = 1 << 4, + RCT1_RESEARCH_CATEGORY_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, -}; + // 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, + }; -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, -}; + 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, + }; -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_DEPRECATED = (1 << 15), // Deprecated now we use a persistent 'real names' setting -}; + 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_DEPRECATED = (1 << 15), // Deprecated now we use a persistent 'real names' + // setting + }; -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, - MINIATURE_RAILWAY_AMERICAN_TENDER = 104, - MINIATURE_RAILWAY_AMERICAN_LOCOMOTIVE = 105, -}; + 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, + MINIATURE_RAILWAY_AMERICAN_TENDER = 104, + MINIATURE_RAILWAY_AMERICAN_LOCOMOTIVE = 105, + }; -enum -{ - COPY_COLOUR_1 = -1, - COPY_COLOUR_2 = -2, -}; + enum + { + COPY_COLOUR_1 = -1, + COPY_COLOUR_2 = -2, + }; -enum -{ - RCT1_WATER_CYAN, - RCT1_WATER_ORANGE -}; + enum + { + RCT1_WATER_CYAN, + RCT1_WATER_ORANGE + }; -enum -{ - RCT1_SCENERY_TULIPS_1 = 65, - RCT1_SCENERY_TULIPS_2 = 68, + enum + { + RCT1_SCENERY_TULIPS_1 = 65, + RCT1_SCENERY_TULIPS_2 = 68, - RCT1_SCENERY_GEOMETRIC_SCULPTURE_1 = 157, // TGE1 - RCT1_SCENERY_GEOMETRIC_SCULPTURE_2 = 162, // TGE2 - RCT1_SCENERY_GEOMETRIC_SCULPTURE_3 = 168, // TGE3 - RCT1_SCENERY_GEOMETRIC_SCULPTURE_4 = 170, // TGE4 - RCT1_SCENERY_GEOMETRIC_SCULPTURE_5 = 171, // TGE5 + RCT1_SCENERY_GEOMETRIC_SCULPTURE_1 = 157, // TGE1 + RCT1_SCENERY_GEOMETRIC_SCULPTURE_2 = 162, // TGE2 + RCT1_SCENERY_GEOMETRIC_SCULPTURE_3 = 168, // TGE3 + RCT1_SCENERY_GEOMETRIC_SCULPTURE_4 = 170, // TGE4 + RCT1_SCENERY_GEOMETRIC_SCULPTURE_5 = 171, // TGE5 - RCT1_SCENERY_SMALL_RED_GARDENS = 176, // TG19 -}; + RCT1_SCENERY_SMALL_RED_GARDENS = 176, // TG19 + }; -enum -{ - RCT1_LANDSCAPE_DOOR_CLOSED = 0, - RCT1_LANDSCAPE_DOOR_HALF_OPEN = 2, - RCT1_LANDSCAPE_DOOR_OPEN = 3, -}; + enum + { + RCT1_LANDSCAPE_DOOR_CLOSED = 0, + RCT1_LANDSCAPE_DOOR_HALF_OPEN = 2, + RCT1_LANDSCAPE_DOOR_OPEN = 3, + }; -enum -{ - RCT1_PATH_SUPPORT_TYPE_TRUSS, - RCT1_PATH_SUPPORT_TYPE_COATED_WOOD, - RCT1_PATH_SUPPORT_TYPE_SPACE, - RCT1_PATH_SUPPORT_TYPE_BAMBOO, -}; + enum + { + RCT1_PATH_SUPPORT_TYPE_TRUSS, + RCT1_PATH_SUPPORT_TYPE_COATED_WOOD, + RCT1_PATH_SUPPORT_TYPE_SPACE, + RCT1_PATH_SUPPORT_TYPE_BAMBOO, + }; + + track_type_t RCT1TrackTypeToOpenRCT2(RCT12TrackType origTrackType, uint8_t rideType); +} // namespace RCT1 void load_from_sv4(const char* path); void load_from_sc4(const char* path); - -track_type_t RCT1TrackTypeToOpenRCT2(RCT12TrackType origTrackType, uint8_t rideType); diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index 19eabae6d7..bc4e621ef5 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -75,2983 +75,2990 @@ static constexpr const ObjectEntryIndex OBJECT_ENTRY_INDEX_IGNORE = 254; using namespace OpenRCT2; -class EntryList +namespace RCT1 { -private: - std::vector _entries; - -public: - size_t GetCount() const + class EntryList { - return _entries.size(); - } + private: + std::vector _entries; - const std::vector& GetEntries() const - { - return _entries; - } - - ObjectEntryIndex GetOrAddEntry(const char* entryName) - { - auto entryIndex = Collections::IndexOf(_entries, entryName, true); - if (entryIndex == SIZE_MAX) + public: + size_t GetCount() const { - entryIndex = _entries.size(); - _entries.push_back(entryName); - } - return static_cast(entryIndex); - } - - void AddRange(std::initializer_list initializerList) - { - for (auto entry : initializerList) - { - GetOrAddEntry(entry); - } - } -}; - -class S4Importer final : public IParkImporter -{ -private: - std::string _s4Path; - rct1_s4 _s4 = {}; - uint8_t _gameVersion = 0; - uint8_t _parkValueConversionFactor = 0; - bool _isScenario = false; - - // Lists of dynamic object entries - EntryList _rideEntries; - EntryList _smallSceneryEntries; - EntryList _largeSceneryEntries; - EntryList _wallEntries; - EntryList _pathEntries; - EntryList _pathAdditionEntries; - EntryList _sceneryGroupEntries; - EntryList _waterEntry; - - // Lookup tables for converting from RCT1 hard coded types to the new dynamic object entries - ObjectEntryIndex _rideTypeToRideEntryMap[RCT1_RIDE_TYPE_COUNT]{}; - ObjectEntryIndex _vehicleTypeToRideEntryMap[RCT1_VEHICLE_TYPE_COUNT]{}; - ObjectEntryIndex _smallSceneryTypeToEntryMap[256]{}; - ObjectEntryIndex _largeSceneryTypeToEntryMap[256]{}; - ObjectEntryIndex _wallTypeToEntryMap[256]{}; - ObjectEntryIndex _pathTypeToEntryMap[24]{}; - ObjectEntryIndex _pathAdditionTypeToEntryMap[16]{}; - ObjectEntryIndex _sceneryThemeTypeToEntryMap[24]{}; - - // Research - std::bitset _researchRideEntryUsed{}; - std::bitset _researchRideTypeUsed{}; - - // Scenario repository - used for determining scenario name - IScenarioRepository* _scenarioRepository = GetScenarioRepository(); - -public: - ParkLoadResult Load(const utf8* path) override - { - const utf8* extension = Path::GetExtension(path); - if (String::Equals(extension, ".sc4", true)) - { - return LoadScenario(path); - } - else if (String::Equals(extension, ".sv4", true)) - { - return LoadSavedGame(path); - } - else - { - throw std::runtime_error("Invalid RCT1 park extension."); - } - } - - ParkLoadResult LoadSavedGame(const utf8* path, bool skipObjectCheck = false) override - { - auto fs = FileStream(path, FILE_MODE_OPEN); - auto result = LoadFromStream(&fs, false, skipObjectCheck, path); - return result; - } - - ParkLoadResult LoadScenario(const utf8* path, bool skipObjectCheck = false) override - { - auto fs = FileStream(path, FILE_MODE_OPEN); - auto result = LoadFromStream(&fs, true, skipObjectCheck, path); - return result; - } - - ParkLoadResult LoadFromStream( - IStream* stream, bool isScenario, [[maybe_unused]] bool skipObjectCheck, const utf8* path) override - { - _s4 = *ReadAndDecodeS4(stream, isScenario); - _s4Path = path; - _isScenario = isScenario; - _gameVersion = sawyercoding_detect_rct1_version(_s4.game_version) & FILE_VERSION_MASK; - - // Only determine what objects we required to import this saved game - InitialiseEntryMaps(); - CreateAvailableObjectMappings(); - return ParkLoadResult(GetRequiredObjects()); - } - - void Import() override - { - Initialise(); - - CreateAvailableObjectMappings(); - LoadObjects(); - - ImportRides(); - ImportRideMeasurements(); - ImportSprites(); - ImportTileElements(); - ImportPeepSpawns(); - ImportFinance(); - ImportResearch(); - ImportParkName(); - ImportParkFlags(); - ImportClimate(); - ImportScenarioNameDetails(); - ImportScenarioObjective(); - ImportSavedView(); - FixLandOwnership(); - FixUrbanPark(); - CountBlockSections(); - SetDefaultNames(); - determine_ride_entrance_and_exit_locations(); - - map_count_remaining_land_rights(); - research_determine_first_of_type(); - } - - bool GetDetails(scenario_index_entry* dst) override - { - *dst = {}; - - source_desc desc; - // If no entry is found, this is a custom scenario. - bool isOfficial = ScenarioSources::TryGetById(_s4.scenario_slot_index, &desc); - - dst->category = desc.category; - dst->source_game = ScenarioSource{ desc.source }; - dst->source_index = desc.index; - dst->sc_id = desc.id; - - dst->objective_type = _s4.scenario_objective_type; - dst->objective_arg_1 = _s4.scenario_objective_years; - // RCT1 used another way of calculating park value. - if (_s4.scenario_objective_type == OBJECTIVE_PARK_VALUE_BY) - dst->objective_arg_2 = CorrectRCT1ParkValue(_s4.scenario_objective_currency); - else - dst->objective_arg_2 = _s4.scenario_objective_currency; - dst->objective_arg_3 = _s4.scenario_objective_num_guests; - // This does not seem to be saved in the objective arguments, so look up the ID from the available rides instead. - if (_s4.scenario_objective_type == OBJECTIVE_BUILD_THE_BEST) - { - dst->objective_arg_3 = GetBuildTheBestRideId(); + return _entries.size(); } - auto name = rct2_to_utf8(_s4.scenario_name, RCT2LanguageId::EnglishUK); - std::string details; - - // TryGetById won't set this property if the scenario is not recognised, - // but localisation needs it. - if (!isOfficial) + const std::vector& GetEntries() const { - desc.title = name.c_str(); + return _entries; } - String::Set(dst->internal_name, sizeof(dst->internal_name), desc.title); - - rct_string_id localisedStringIds[3]; - if (language_get_localised_scenario_strings(desc.title, localisedStringIds)) + ObjectEntryIndex GetOrAddEntry(const char* entryName) { - if (localisedStringIds[0] != STR_NONE) + auto entryIndex = Collections::IndexOf(_entries, entryName, true); + if (entryIndex == SIZE_MAX) { - name = String::ToStd(language_get_string(localisedStringIds[0])); + entryIndex = _entries.size(); + _entries.push_back(entryName); } - if (localisedStringIds[2] != STR_NONE) + return static_cast(entryIndex); + } + + void AddRange(std::initializer_list initializerList) + { + for (auto entry : initializerList) { - details = String::ToStd(language_get_string(localisedStringIds[2])); + GetOrAddEntry(entry); } } + }; - String::Set(dst->name, sizeof(dst->name), name.c_str()); - String::Set(dst->details, sizeof(dst->details), details.c_str()); - - return true; - } - - money32 CorrectRCT1ParkValue(money32 oldParkValue) + class S4Importer final : public IParkImporter { - if (oldParkValue == MONEY32_UNDEFINED) - { - return MONEY32_UNDEFINED; - } + private: + std::string _s4Path; + rct1_s4 _s4 = {}; + uint8_t _gameVersion = 0; + uint8_t _parkValueConversionFactor = 0; + bool _isScenario = false; - if (_parkValueConversionFactor == 0) + // Lists of dynamic object entries + EntryList _rideEntries; + EntryList _smallSceneryEntries; + EntryList _largeSceneryEntries; + EntryList _wallEntries; + EntryList _pathEntries; + EntryList _pathAdditionEntries; + EntryList _sceneryGroupEntries; + EntryList _waterEntry; + + // Lookup tables for converting from RCT1 hard coded types to the new dynamic object entries + ObjectEntryIndex _rideTypeToRideEntryMap[RCT1_RIDE_TYPE_COUNT]{}; + ObjectEntryIndex _vehicleTypeToRideEntryMap[RCT1_VEHICLE_TYPE_COUNT]{}; + ObjectEntryIndex _smallSceneryTypeToEntryMap[256]{}; + ObjectEntryIndex _largeSceneryTypeToEntryMap[256]{}; + ObjectEntryIndex _wallTypeToEntryMap[256]{}; + ObjectEntryIndex _pathTypeToEntryMap[24]{}; + ObjectEntryIndex _pathAdditionTypeToEntryMap[16]{}; + ObjectEntryIndex _sceneryThemeTypeToEntryMap[24]{}; + + // Research + std::bitset _researchRideEntryUsed{}; + std::bitset _researchRideTypeUsed{}; + + // Scenario repository - used for determining scenario name + IScenarioRepository* _scenarioRepository = GetScenarioRepository(); + + public: + ParkLoadResult Load(const utf8* path) override { - if (_s4.park_value != 0) + const utf8* extension = Path::GetExtension(path); + if (String::Equals(extension, ".sc4", true)) { - // Use the ratio between the old and new park value to calcute the ratio to - // use for the park value history and the goal. - auto& park = GetContext()->GetGameState()->GetPark(); - _parkValueConversionFactor = (park.CalculateParkValue() * 10) / _s4.park_value; + return LoadScenario(path); + } + else if (String::Equals(extension, ".sv4", true)) + { + return LoadSavedGame(path); } else { - // In new games, the park value isn't set. - _parkValueConversionFactor = 100; + throw std::runtime_error("Invalid RCT1 park extension."); } } - return (oldParkValue * _parkValueConversionFactor) / 10; - } - -private: - std::unique_ptr ReadAndDecodeS4(IStream* stream, bool isScenario) - { - auto s4 = std::make_unique(); - size_t dataSize = stream->GetLength() - stream->GetPosition(); - auto data = stream->ReadArray(dataSize); - auto decodedData = std::make_unique(sizeof(rct1_s4)); - - size_t decodedSize; - int32_t fileType = sawyercoding_detect_file_type(data.get(), dataSize); - if (isScenario && (fileType & FILE_VERSION_MASK) != FILE_VERSION_RCT1) + ParkLoadResult LoadSavedGame(const utf8* path, bool skipObjectCheck = false) override { - decodedSize = sawyercoding_decode_sc4(data.get(), decodedData.get(), dataSize, sizeof(rct1_s4)); - } - else - { - decodedSize = sawyercoding_decode_sv4(data.get(), decodedData.get(), dataSize, sizeof(rct1_s4)); + auto fs = FileStream(path, FILE_MODE_OPEN); + auto result = LoadFromStream(&fs, false, skipObjectCheck, path); + return result; } - if (decodedSize == sizeof(rct1_s4)) + ParkLoadResult LoadScenario(const utf8* path, bool skipObjectCheck = false) override { - std::memcpy(s4.get(), decodedData.get(), sizeof(rct1_s4)); - return s4; + auto fs = FileStream(path, FILE_MODE_OPEN); + auto result = LoadFromStream(&fs, true, skipObjectCheck, path); + return result; } - else + + ParkLoadResult LoadFromStream( + IStream* stream, bool isScenario, [[maybe_unused]] bool skipObjectCheck, const utf8* path) override { - throw std::runtime_error("Unable to decode park."); + _s4 = *ReadAndDecodeS4(stream, isScenario); + _s4Path = path; + _isScenario = isScenario; + _gameVersion = sawyercoding_detect_rct1_version(_s4.game_version) & FILE_VERSION_MASK; + + // Only determine what objects we required to import this saved game + InitialiseEntryMaps(); + CreateAvailableObjectMappings(); + return ParkLoadResult(GetRequiredObjects()); } - } - void Initialise() - { - // Avoid reusing the value used for last import - _parkValueConversionFactor = 0; - - uint16_t mapSize = _s4.map_size == 0 ? RCT1_MAX_MAP_SIZE : _s4.map_size; - - String::Set(gScenarioFileName, sizeof(gScenarioFileName), GetRCT1ScenarioName().c_str()); - - // Do map initialisation, same kind of stuff done when loading scenario editor - auto context = OpenRCT2::GetContext(); - context->GetObjectManager().UnloadAll(); - context->GetGameState()->InitAll(mapSize); - gEditorStep = EditorStep::ObjectSelection; - gParkFlags |= PARK_FLAGS_SHOW_REAL_GUEST_NAMES; - gScenarioCategory = SCENARIO_CATEGORY_OTHER; - } - - std::string GetRCT1ScenarioName() - { - const scenario_index_entry* scenarioEntry = _scenarioRepository->GetByInternalName(_s4.scenario_name); - if (scenarioEntry == nullptr) + void Import() override { - return ""; + Initialise(); + + CreateAvailableObjectMappings(); + LoadObjects(); + + ImportRides(); + ImportRideMeasurements(); + ImportSprites(); + ImportTileElements(); + ImportPeepSpawns(); + ImportFinance(); + ImportResearch(); + ImportParkName(); + ImportParkFlags(); + ImportClimate(); + ImportScenarioNameDetails(); + ImportScenarioObjective(); + ImportSavedView(); + FixLandOwnership(); + FixUrbanPark(); + CountBlockSections(); + SetDefaultNames(); + determine_ride_entrance_and_exit_locations(); + + map_count_remaining_land_rights(); + research_determine_first_of_type(); } - else + + bool GetDetails(scenario_index_entry* dst) override { - return path_get_filename(scenarioEntry->path); - } - } + *dst = {}; - void InitialiseEntryMaps() - { - std::fill(std::begin(_rideTypeToRideEntryMap), std::end(_rideTypeToRideEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_vehicleTypeToRideEntryMap), std::end(_vehicleTypeToRideEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_smallSceneryTypeToEntryMap), std::end(_smallSceneryTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_largeSceneryTypeToEntryMap), std::end(_largeSceneryTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_wallTypeToEntryMap), std::end(_wallTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_pathTypeToEntryMap), std::end(_pathTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_pathAdditionTypeToEntryMap), std::end(_pathAdditionTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_sceneryThemeTypeToEntryMap), std::end(_sceneryThemeTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - } + source_desc desc; + // If no entry is found, this is a custom scenario. + bool isOfficial = ScenarioSources::TryGetById(_s4.scenario_slot_index, &desc); - /** - * Scans the map and research list for all the object types used and builds lists and - * lookup tables for converting from hard coded RCT1 object types to dynamic object entries. - */ - void CreateAvailableObjectMappings() - { - AddDefaultEntries(); - AddAvailableEntriesFromResearchList(); - AddAvailableEntriesFromMap(); - AddAvailableEntriesFromRides(); - AddAvailableEntriesFromSceneryGroups(); - AddEntryForWater(); - } + dst->category = desc.category; + dst->source_game = ScenarioSource{ desc.source }; + dst->source_index = desc.index; + dst->sc_id = desc.id; - void AddDefaultEntries() - { - // Add default scenery groups - _sceneryGroupEntries.AddRange({ - "SCGTREES", - "SCGSHRUB", - "SCGGARDN", - "SCGFENCE", - "SCGWALLS", - "SCGPATHX", - }); - - // Add default footpaths - _pathEntries.AddRange({ - "TARMAC ", - "TARMACG ", - "TARMACB ", - "PATHCRZY", - "PATHSPCE", - "PATHDIRT", - "PATHASH ", - "ROAD ", - }); - } - - void AddAvailableEntriesFromResearchList() - { - size_t researchListCount; - const rct1_research_item* researchList = GetResearchList(&researchListCount); - std::bitset rideTypeInResearch = GetRideTypesPresentInResearchList( - researchList, researchListCount); - for (size_t i = 0; i < researchListCount; i++) - { - const rct1_research_item* researchItem = &researchList[i]; - - if (researchItem->flags == RCT1_RESEARCH_FLAGS_SEPARATOR) + dst->objective_type = _s4.scenario_objective_type; + dst->objective_arg_1 = _s4.scenario_objective_years; + // RCT1 used another way of calculating park value. + if (_s4.scenario_objective_type == OBJECTIVE_PARK_VALUE_BY) + dst->objective_arg_2 = CorrectRCT1ParkValue(_s4.scenario_objective_currency); + else + dst->objective_arg_2 = _s4.scenario_objective_currency; + dst->objective_arg_3 = _s4.scenario_objective_num_guests; + // This does not seem to be saved in the objective arguments, so look up the ID from the available rides instead. + if (_s4.scenario_objective_type == OBJECTIVE_BUILD_THE_BEST) { - if (researchItem->item == RCT1_RESEARCH_END) + dst->objective_arg_3 = GetBuildTheBestRideId(); + } + + auto name = rct2_to_utf8(_s4.scenario_name, RCT2LanguageId::EnglishUK); + std::string details; + + // TryGetById won't set this property if the scenario is not recognised, + // but localisation needs it. + if (!isOfficial) + { + desc.title = name.c_str(); + } + + String::Set(dst->internal_name, sizeof(dst->internal_name), desc.title); + + rct_string_id localisedStringIds[3]; + if (language_get_localised_scenario_strings(desc.title, localisedStringIds)) + { + if (localisedStringIds[0] != STR_NONE) { - break; + name = String::ToStd(language_get_string(localisedStringIds[0])); } - if (researchItem->item == RCT1_RESEARCH_END_AVAILABLE || researchItem->item == RCT1_RESEARCH_END_RESEARCHABLE) + if (localisedStringIds[2] != STR_NONE) { - continue; + details = String::ToStd(language_get_string(localisedStringIds[2])); } } - switch (researchItem->type) - { - case RCT1_RESEARCH_TYPE_THEME: - AddEntriesForSceneryTheme(researchItem->item); - break; - case RCT1_RESEARCH_TYPE_RIDE: - AddEntryForRideType(researchItem->item); - break; - case RCT1_RESEARCH_TYPE_VEHICLE: - // For some bizarre reason, RCT1 research lists contain vehicles that aren't actually researched. - // Extra bizarrely, this does not seem to apply to Loopy Landscapes saves/scenarios. - if (rideTypeInResearch[researchItem->related_ride] || _gameVersion == FILE_VERSION_RCT1_LL) - { - AddEntryForVehicleType(researchItem->related_ride, researchItem->item); - } - break; - } + String::Set(dst->name, sizeof(dst->name), name.c_str()); + String::Set(dst->details, sizeof(dst->details), details.c_str()); + + return true; } - } - void AddAvailableEntriesFromMap() - { - size_t maxTiles = RCT1_MAX_MAP_SIZE * RCT1_MAX_MAP_SIZE; - size_t tileIndex = 0; - RCT12TileElement* tileElement = _s4.tile_elements; - - while (tileIndex < maxTiles) + money32 CorrectRCT1ParkValue(money32 oldParkValue) { - switch (tileElement->GetType()) + if (oldParkValue == MONEY32_UNDEFINED) { - case TILE_ELEMENT_TYPE_PATH: - { - uint8_t pathType = tileElement->AsPath()->GetRCT1PathType(); - uint8_t pathAdditionsType = tileElement->AsPath()->GetAddition(); - - AddEntryForPath(pathType); - AddEntryForPathAddition(pathAdditionsType); - break; - } - case TILE_ELEMENT_TYPE_SMALL_SCENERY: - AddEntryForSmallScenery(tileElement->AsSmallScenery()->GetEntryIndex()); - break; - case TILE_ELEMENT_TYPE_LARGE_SCENERY: - AddEntryForLargeScenery(tileElement->AsLargeScenery()->GetEntryIndex()); - break; - case TILE_ELEMENT_TYPE_WALL: - { - for (int32_t edge = 0; edge < 4; edge++) - { - int32_t type = tileElement->AsWall()->GetRCT1WallType(edge); - - if (type != -1) - { - AddEntryForWall(type); - } - } - break; - } + return MONEY32_UNDEFINED; } - if ((tileElement++)->IsLastForTile()) + if (_parkValueConversionFactor == 0) { - tileIndex++; - } - } - } - - void AddAvailableEntriesFromRides() - { - for (size_t i = 0; i < std::size(_s4.rides); i++) - { - auto ride = &_s4.rides[i]; - if (ride->type != RCT1_RIDE_TYPE_NULL) - { - if (RCT1::RideTypeUsesVehicles(ride->type)) - AddEntryForVehicleType(ride->type, ride->vehicle_type); + if (_s4.park_value != 0) + { + // Use the ratio between the old and new park value to calcute the ratio to + // use for the park value history and the goal. + auto& park = GetContext()->GetGameState()->GetPark(); + _parkValueConversionFactor = (park.CalculateParkValue() * 10) / _s4.park_value; + } else - AddEntryForRideType(ride->type); + { + // In new games, the park value isn't set. + _parkValueConversionFactor = 100; + } + } + + return (oldParkValue * _parkValueConversionFactor) / 10; + } + + private: + std::unique_ptr ReadAndDecodeS4(IStream* stream, bool isScenario) + { + auto s4 = std::make_unique(); + size_t dataSize = stream->GetLength() - stream->GetPosition(); + auto data = stream->ReadArray(dataSize); + auto decodedData = std::make_unique(sizeof(rct1_s4)); + + size_t decodedSize; + int32_t fileType = sawyercoding_detect_file_type(data.get(), dataSize); + if (isScenario && (fileType & FILE_VERSION_MASK) != FILE_VERSION_RCT1) + { + decodedSize = sawyercoding_decode_sc4(data.get(), decodedData.get(), dataSize, sizeof(rct1_s4)); + } + else + { + decodedSize = sawyercoding_decode_sv4(data.get(), decodedData.get(), dataSize, sizeof(rct1_s4)); + } + + if (decodedSize == sizeof(rct1_s4)) + { + std::memcpy(s4.get(), decodedData.get(), sizeof(rct1_s4)); + return s4; + } + else + { + throw std::runtime_error("Unable to decode park."); } } - } - void AddAvailableEntriesFromSceneryGroups() - { - for (int32_t sceneryTheme = 0; sceneryTheme <= RCT1_SCENERY_THEME_PAGODA; sceneryTheme++) + void Initialise() { - if (sceneryTheme != 0 && _sceneryThemeTypeToEntryMap[sceneryTheme] == OBJECT_ENTRY_INDEX_NULL) - continue; + // Avoid reusing the value used for last import + _parkValueConversionFactor = 0; - std::vector objects = RCT1::GetSceneryObjects(sceneryTheme); - for (const char* objectName : objects) + uint16_t mapSize = _s4.map_size == 0 ? RCT1_MAX_MAP_SIZE : _s4.map_size; + + String::Set(gScenarioFileName, sizeof(gScenarioFileName), GetRCT1ScenarioName().c_str()); + + // Do map initialisation, same kind of stuff done when loading scenario editor + auto context = OpenRCT2::GetContext(); + context->GetObjectManager().UnloadAll(); + context->GetGameState()->InitAll(mapSize); + gEditorStep = EditorStep::ObjectSelection; + gParkFlags |= PARK_FLAGS_SHOW_REAL_GUEST_NAMES; + gScenarioCategory = SCENARIO_CATEGORY_OTHER; + } + + std::string GetRCT1ScenarioName() + { + const scenario_index_entry* scenarioEntry = _scenarioRepository->GetByInternalName(_s4.scenario_name); + if (scenarioEntry == nullptr) { - auto& objectRepository = OpenRCT2::GetContext()->GetObjectRepository(); - auto foundObject = objectRepository.FindObjectLegacy(objectName); - if (foundObject != nullptr) - { - ObjectType objectType = foundObject->ObjectEntry.GetType(); - switch (objectType) - { - case ObjectType::SmallScenery: - case ObjectType::LargeScenery: - case ObjectType::Walls: - case ObjectType::Paths: - case ObjectType::PathBits: - { - EntryList* entries = GetEntryList(objectType); + return ""; + } + else + { + return path_get_filename(scenarioEntry->path); + } + } - // Check if there are spare entries available - size_t maxEntries = static_cast(object_entry_group_counts[EnumValue(objectType)]); - if (entries != nullptr && entries->GetCount() < maxEntries) - { - entries->GetOrAddEntry(objectName); - } - break; + void InitialiseEntryMaps() + { + std::fill(std::begin(_rideTypeToRideEntryMap), std::end(_rideTypeToRideEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_vehicleTypeToRideEntryMap), std::end(_vehicleTypeToRideEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_smallSceneryTypeToEntryMap), std::end(_smallSceneryTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_largeSceneryTypeToEntryMap), std::end(_largeSceneryTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_wallTypeToEntryMap), std::end(_wallTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_pathTypeToEntryMap), std::end(_pathTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_pathAdditionTypeToEntryMap), std::end(_pathAdditionTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_sceneryThemeTypeToEntryMap), std::end(_sceneryThemeTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + } + + /** + * Scans the map and research list for all the object types used and builds lists and + * lookup tables for converting from hard coded RCT1 object types to dynamic object entries. + */ + void CreateAvailableObjectMappings() + { + AddDefaultEntries(); + AddAvailableEntriesFromResearchList(); + AddAvailableEntriesFromMap(); + AddAvailableEntriesFromRides(); + AddAvailableEntriesFromSceneryGroups(); + AddEntryForWater(); + } + + void AddDefaultEntries() + { + // Add default scenery groups + _sceneryGroupEntries.AddRange({ + "SCGTREES", + "SCGSHRUB", + "SCGGARDN", + "SCGFENCE", + "SCGWALLS", + "SCGPATHX", + }); + + // Add default footpaths + _pathEntries.AddRange({ + "TARMAC ", + "TARMACG ", + "TARMACB ", + "PATHCRZY", + "PATHSPCE", + "PATHDIRT", + "PATHASH ", + "ROAD ", + }); + } + + void AddAvailableEntriesFromResearchList() + { + size_t researchListCount; + const rct1_research_item* researchList = GetResearchList(&researchListCount); + std::bitset rideTypeInResearch = GetRideTypesPresentInResearchList( + researchList, researchListCount); + for (size_t i = 0; i < researchListCount; i++) + { + const rct1_research_item* researchItem = &researchList[i]; + + if (researchItem->flags == RCT1_RESEARCH_FLAGS_SEPARATOR) + { + if (researchItem->item == RCT1_RESEARCH_END) + { + break; + } + if (researchItem->item == RCT1_RESEARCH_END_AVAILABLE + || researchItem->item == RCT1_RESEARCH_END_RESEARCHABLE) + { + continue; + } + } + + switch (researchItem->type) + { + case RCT1_RESEARCH_TYPE_THEME: + AddEntriesForSceneryTheme(researchItem->item); + break; + case RCT1_RESEARCH_TYPE_RIDE: + AddEntryForRideType(researchItem->item); + break; + case RCT1_RESEARCH_TYPE_VEHICLE: + // For some bizarre reason, RCT1 research lists contain vehicles that aren't actually researched. + // Extra bizarrely, this does not seem to apply to Loopy Landscapes saves/scenarios. + if (rideTypeInResearch[researchItem->related_ride] || _gameVersion == FILE_VERSION_RCT1_LL) + { + AddEntryForVehicleType(researchItem->related_ride, researchItem->item); + } + break; + } + } + } + + void AddAvailableEntriesFromMap() + { + size_t maxTiles = RCT1_MAX_MAP_SIZE * RCT1_MAX_MAP_SIZE; + size_t tileIndex = 0; + RCT12TileElement* tileElement = _s4.tile_elements; + + while (tileIndex < maxTiles) + { + switch (tileElement->GetType()) + { + case TILE_ELEMENT_TYPE_PATH: + { + uint8_t pathType = tileElement->AsPath()->GetRCT1PathType(); + uint8_t pathAdditionsType = tileElement->AsPath()->GetAddition(); + + AddEntryForPath(pathType); + AddEntryForPathAddition(pathAdditionsType); + break; + } + case TILE_ELEMENT_TYPE_SMALL_SCENERY: + AddEntryForSmallScenery(tileElement->AsSmallScenery()->GetEntryIndex()); + break; + case TILE_ELEMENT_TYPE_LARGE_SCENERY: + AddEntryForLargeScenery(tileElement->AsLargeScenery()->GetEntryIndex()); + break; + case TILE_ELEMENT_TYPE_WALL: + { + for (int32_t edge = 0; edge < 4; edge++) + { + int32_t type = tileElement->AsWall()->GetRCT1WallType(edge); + + if (type != -1) + { + AddEntryForWall(type); + } + } + break; + } + } + + if ((tileElement++)->IsLastForTile()) + { + tileIndex++; + } + } + } + + void AddAvailableEntriesFromRides() + { + for (size_t i = 0; i < std::size(_s4.rides); i++) + { + auto ride = &_s4.rides[i]; + if (ride->type != RCT1_RIDE_TYPE_NULL) + { + if (RCT1::RideTypeUsesVehicles(ride->type)) + AddEntryForVehicleType(ride->type, ride->vehicle_type); + else + AddEntryForRideType(ride->type); + } + } + } + + void AddAvailableEntriesFromSceneryGroups() + { + for (int32_t sceneryTheme = 0; sceneryTheme <= RCT1_SCENERY_THEME_PAGODA; sceneryTheme++) + { + if (sceneryTheme != 0 && _sceneryThemeTypeToEntryMap[sceneryTheme] == OBJECT_ENTRY_INDEX_NULL) + continue; + + std::vector objects = RCT1::GetSceneryObjects(sceneryTheme); + for (const char* objectName : objects) + { + auto& objectRepository = OpenRCT2::GetContext()->GetObjectRepository(); + auto foundObject = objectRepository.FindObjectLegacy(objectName); + if (foundObject != nullptr) + { + ObjectType objectType = foundObject->ObjectEntry.GetType(); + switch (objectType) + { + case ObjectType::SmallScenery: + case ObjectType::LargeScenery: + case ObjectType::Walls: + case ObjectType::Paths: + case ObjectType::PathBits: + { + EntryList* entries = GetEntryList(objectType); + + // Check if there are spare entries available + size_t maxEntries = static_cast(object_entry_group_counts[EnumValue(objectType)]); + if (entries != nullptr && entries->GetCount() < maxEntries) + { + entries->GetOrAddEntry(objectName); + } + break; + } + default: + // This switch processes only ObjectTypes valid for scenery + break; } - default: - // This switch processes only ObjectTypes valid for scenery - break; } } } } - } - void AddEntryForWater() - { - const char* entryName; - - if (_gameVersion < FILE_VERSION_RCT1_LL) + void AddEntryForWater() { - entryName = RCT1::GetWaterObject(RCT1_WATER_CYAN); - } - else - { - entryName = RCT1::GetWaterObject(_s4.water_colour); - } + const char* entryName; - _waterEntry.GetOrAddEntry(entryName); - } - - void AddEntryForRideType(uint8_t rideType) - { - assert(rideType < std::size(_rideTypeToRideEntryMap)); - if (_rideTypeToRideEntryMap[rideType] == OBJECT_ENTRY_INDEX_NULL) - { - const char* entryName = RCT1::GetRideTypeObject(rideType); - if (!String::Equals(entryName, " ")) + if (_gameVersion < FILE_VERSION_RCT1_LL) { - auto entryIndex = _rideEntries.GetOrAddEntry(entryName); - _rideTypeToRideEntryMap[rideType] = entryIndex; - } - } - } - - void AddEntryForVehicleType(uint8_t rideType, uint8_t vehicleType) - { - assert(vehicleType < std::size(_vehicleTypeToRideEntryMap)); - if (_vehicleTypeToRideEntryMap[vehicleType] == OBJECT_ENTRY_INDEX_NULL) - { - const char* entryName = RCT1::GetVehicleObject(vehicleType); - if (!String::Equals(entryName, " ")) - { - auto entryIndex = _rideEntries.GetOrAddEntry(entryName); - _vehicleTypeToRideEntryMap[vehicleType] = entryIndex; - - if (rideType != RIDE_TYPE_NULL) - AddEntryForRideType(rideType); - } - } - } - - void AddEntryForSmallScenery(ObjectEntryIndex smallSceneryType) - { - assert(smallSceneryType < std::size(_smallSceneryTypeToEntryMap)); - if (_smallSceneryTypeToEntryMap[smallSceneryType] == OBJECT_ENTRY_INDEX_NULL) - { - const char* entryName = RCT1::GetSmallSceneryObject(smallSceneryType); - auto entryIndex = _smallSceneryEntries.GetOrAddEntry(entryName); - - _smallSceneryTypeToEntryMap[smallSceneryType] = entryIndex; - } - } - - void AddEntryForLargeScenery(ObjectEntryIndex largeSceneryType) - { - assert(largeSceneryType < std::size(_largeSceneryTypeToEntryMap)); - if (_largeSceneryTypeToEntryMap[largeSceneryType] == OBJECT_ENTRY_INDEX_NULL) - { - const char* entryName = RCT1::GetLargeSceneryObject(largeSceneryType); - auto entryIndex = _largeSceneryEntries.GetOrAddEntry(entryName); - - _largeSceneryTypeToEntryMap[largeSceneryType] = entryIndex; - } - } - - void AddEntryForWall(ObjectEntryIndex wallType) - { - assert(wallType < std::size(_wallTypeToEntryMap)); - if (_wallTypeToEntryMap[wallType] == OBJECT_ENTRY_INDEX_NULL) - { - const char* entryName = RCT1::GetWallObject(wallType); - auto entryIndex = _wallEntries.GetOrAddEntry(entryName); - - _wallTypeToEntryMap[wallType] = entryIndex; - } - } - - void AddEntryForPath(ObjectEntryIndex pathType) - { - assert(pathType < std::size(_pathTypeToEntryMap)); - if (_pathTypeToEntryMap[pathType] == OBJECT_ENTRY_INDEX_NULL) - { - const char* entryName = RCT1::GetPathObject(pathType); - if (!String::Equals(entryName, " ")) - { - auto entryIndex = _pathEntries.GetOrAddEntry(entryName); - _pathTypeToEntryMap[pathType] = entryIndex; - } - } - } - - void AddEntryForPathAddition(ObjectEntryIndex pathAdditionType) - { - if (pathAdditionType == RCT1_PATH_ADDITION_NONE) - return; - - if (_pathAdditionTypeToEntryMap[pathAdditionType] == OBJECT_ENTRY_INDEX_NULL) - { - uint8_t normalisedPathAdditionType = RCT1::NormalisePathAddition(pathAdditionType); - if (_pathAdditionTypeToEntryMap[normalisedPathAdditionType] == OBJECT_ENTRY_INDEX_NULL) - { - const char* entryName = RCT1::GetPathAddtionObject(normalisedPathAdditionType); - auto entryIndex = _pathAdditionEntries.GetOrAddEntry(entryName); - - _pathAdditionTypeToEntryMap[normalisedPathAdditionType] = entryIndex; - } - - _pathAdditionTypeToEntryMap[pathAdditionType] = _pathAdditionTypeToEntryMap[normalisedPathAdditionType]; - } - } - - void AddEntriesForSceneryTheme(ObjectEntryIndex sceneryThemeType) - { - if (sceneryThemeType == RCT1_SCENERY_THEME_GENERAL || sceneryThemeType == RCT1_SCENERY_THEME_JUMPING_FOUNTAINS - || sceneryThemeType == RCT1_SCENERY_THEME_GARDEN_CLOCK) - { - _sceneryThemeTypeToEntryMap[sceneryThemeType] = OBJECT_ENTRY_INDEX_IGNORE; - } - else - { - const char* entryName = RCT1::GetSceneryGroupObject(sceneryThemeType); - if (_sceneryGroupEntries.GetCount() >= MAX_SCENERY_GROUP_OBJECTS) - { - Console::WriteLine("Warning: More than %d (max scenery groups) in RCT1 park.", MAX_SCENERY_GROUP_OBJECTS); - Console::WriteLine(" [%s] scenery group not added.", entryName); + entryName = RCT1::GetWaterObject(RCT1_WATER_CYAN); } else { - auto entryIndex = _sceneryGroupEntries.GetOrAddEntry(entryName); - _sceneryThemeTypeToEntryMap[sceneryThemeType] = entryIndex; + entryName = RCT1::GetWaterObject(_s4.water_colour); } - } - } - void ImportRides() - { - for (int32_t i = 0; i < RCT12_MAX_RIDES_IN_PARK; i++) + _waterEntry.GetOrAddEntry(entryName); + } + + void AddEntryForRideType(uint8_t rideType) { - if (_s4.rides[i].type != RIDE_TYPE_NULL) + assert(rideType < std::size(_rideTypeToRideEntryMap)); + if (_rideTypeToRideEntryMap[rideType] == OBJECT_ENTRY_INDEX_NULL) { - ImportRide(GetOrAllocateRide(i), &_s4.rides[i], i); + const char* entryName = RCT1::GetRideTypeObject(rideType); + if (!String::Equals(entryName, " ")) + { + auto entryIndex = _rideEntries.GetOrAddEntry(entryName); + _rideTypeToRideEntryMap[rideType] = entryIndex; + } } } - } - void ImportRide(Ride* dst, rct1_ride* src, ride_id_t rideIndex) - { - *dst = {}; - dst->id = rideIndex; + void AddEntryForVehicleType(uint8_t rideType, uint8_t vehicleType) + { + assert(vehicleType < std::size(_vehicleTypeToRideEntryMap)); + if (_vehicleTypeToRideEntryMap[vehicleType] == OBJECT_ENTRY_INDEX_NULL) + { + const char* entryName = RCT1::GetVehicleObject(vehicleType); + if (!String::Equals(entryName, " ")) + { + auto entryIndex = _rideEntries.GetOrAddEntry(entryName); + _vehicleTypeToRideEntryMap[vehicleType] = entryIndex; - // This is a peculiarity of this exact version number, which only Heide-Park seems to use. - if (_s4.game_version == 110018 && src->type == RCT1_RIDE_TYPE_INVERTED_ROLLER_COASTER) - { - dst->type = RIDE_TYPE_COMPACT_INVERTED_COASTER; - } - else - { - dst->type = RCT1::GetRideType(src->type, src->vehicle_type); + if (rideType != RIDE_TYPE_NULL) + AddEntryForRideType(rideType); + } + } } - if (RCT1::RideTypeUsesVehicles(src->type)) + void AddEntryForSmallScenery(ObjectEntryIndex smallSceneryType) { - dst->subtype = _vehicleTypeToRideEntryMap[src->vehicle_type]; - } - else - { - dst->subtype = _rideTypeToRideEntryMap[src->type]; + assert(smallSceneryType < std::size(_smallSceneryTypeToEntryMap)); + if (_smallSceneryTypeToEntryMap[smallSceneryType] == OBJECT_ENTRY_INDEX_NULL) + { + const char* entryName = RCT1::GetSmallSceneryObject(smallSceneryType); + auto entryIndex = _smallSceneryEntries.GetOrAddEntry(entryName); + + _smallSceneryTypeToEntryMap[smallSceneryType] = entryIndex; + } } - rct_ride_entry* rideEntry = get_ride_entry(dst->subtype); - // This can happen with hacked parks - if (rideEntry == nullptr) + void AddEntryForLargeScenery(ObjectEntryIndex largeSceneryType) { - log_warning("Discarding ride with invalid ride entry"); - dst->type = RIDE_TYPE_NULL; - return; + assert(largeSceneryType < std::size(_largeSceneryTypeToEntryMap)); + if (_largeSceneryTypeToEntryMap[largeSceneryType] == OBJECT_ENTRY_INDEX_NULL) + { + const char* entryName = RCT1::GetLargeSceneryObject(largeSceneryType); + auto entryIndex = _largeSceneryEntries.GetOrAddEntry(entryName); + + _largeSceneryTypeToEntryMap[largeSceneryType] = entryIndex; + } } - // Ride name - if (is_user_string_id(src->name)) + void AddEntryForWall(ObjectEntryIndex wallType) { - dst->custom_name = GetUserString(src->name); + assert(wallType < std::size(_wallTypeToEntryMap)); + if (_wallTypeToEntryMap[wallType] == OBJECT_ENTRY_INDEX_NULL) + { + const char* entryName = RCT1::GetWallObject(wallType); + auto entryIndex = _wallEntries.GetOrAddEntry(entryName); + + _wallTypeToEntryMap[wallType] = entryIndex; + } } - dst->status = static_cast(src->status); - - // Flags - dst->lifecycle_flags = src->lifecycle_flags; - // These flags were not in the base game - if (_gameVersion == FILE_VERSION_RCT1) + void AddEntryForPath(ObjectEntryIndex pathType) { - dst->lifecycle_flags &= ~RIDE_LIFECYCLE_MUSIC; - dst->lifecycle_flags &= ~RIDE_LIFECYCLE_INDESTRUCTIBLE; - dst->lifecycle_flags &= ~RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK; + assert(pathType < std::size(_pathTypeToEntryMap)); + if (_pathTypeToEntryMap[pathType] == OBJECT_ENTRY_INDEX_NULL) + { + const char* entryName = RCT1::GetPathObject(pathType); + if (!String::Equals(entryName, " ")) + { + auto entryIndex = _pathEntries.GetOrAddEntry(entryName); + _pathTypeToEntryMap[pathType] = entryIndex; + } + } } - // Station - if (src->overall_view.isNull()) + void AddEntryForPathAddition(ObjectEntryIndex pathAdditionType) { - dst->overall_view.setNull(); - } - else - { - dst->overall_view = TileCoordsXY{ src->overall_view.x, src->overall_view.y }.ToCoordsXY(); + if (pathAdditionType == RCT1_PATH_ADDITION_NONE) + return; + + if (_pathAdditionTypeToEntryMap[pathAdditionType] == OBJECT_ENTRY_INDEX_NULL) + { + uint8_t normalisedPathAdditionType = RCT1::NormalisePathAddition(pathAdditionType); + if (_pathAdditionTypeToEntryMap[normalisedPathAdditionType] == OBJECT_ENTRY_INDEX_NULL) + { + const char* entryName = RCT1::GetPathAddtionObject(normalisedPathAdditionType); + auto entryIndex = _pathAdditionEntries.GetOrAddEntry(entryName); + + _pathAdditionTypeToEntryMap[normalisedPathAdditionType] = entryIndex; + } + + _pathAdditionTypeToEntryMap[pathAdditionType] = _pathAdditionTypeToEntryMap[normalisedPathAdditionType]; + } } - for (int32_t i = 0; i < RCT12_MAX_STATIONS_PER_RIDE; i++) + void AddEntriesForSceneryTheme(ObjectEntryIndex sceneryThemeType) { - if (src->station_starts[i].isNull()) + if (sceneryThemeType == RCT1_SCENERY_THEME_GENERAL || sceneryThemeType == RCT1_SCENERY_THEME_JUMPING_FOUNTAINS + || sceneryThemeType == RCT1_SCENERY_THEME_GARDEN_CLOCK) + { + _sceneryThemeTypeToEntryMap[sceneryThemeType] = OBJECT_ENTRY_INDEX_IGNORE; + } + else + { + const char* entryName = RCT1::GetSceneryGroupObject(sceneryThemeType); + if (_sceneryGroupEntries.GetCount() >= MAX_SCENERY_GROUP_OBJECTS) + { + Console::WriteLine("Warning: More than %d (max scenery groups) in RCT1 park.", MAX_SCENERY_GROUP_OBJECTS); + Console::WriteLine(" [%s] scenery group not added.", entryName); + } + else + { + auto entryIndex = _sceneryGroupEntries.GetOrAddEntry(entryName); + _sceneryThemeTypeToEntryMap[sceneryThemeType] = entryIndex; + } + } + } + + void ImportRides() + { + for (int32_t i = 0; i < RCT12_MAX_RIDES_IN_PARK; i++) + { + if (_s4.rides[i].type != RIDE_TYPE_NULL) + { + ImportRide(GetOrAllocateRide(i), &_s4.rides[i], i); + } + } + } + + void ImportRide(Ride* dst, rct1_ride* src, ride_id_t rideIndex) + { + *dst = {}; + dst->id = rideIndex; + + // This is a peculiarity of this exact version number, which only Heide-Park seems to use. + if (_s4.game_version == 110018 && src->type == RCT1_RIDE_TYPE_INVERTED_ROLLER_COASTER) + { + dst->type = RIDE_TYPE_COMPACT_INVERTED_COASTER; + } + else + { + dst->type = RCT1::GetRideType(src->type, src->vehicle_type); + } + + if (RCT1::RideTypeUsesVehicles(src->type)) + { + dst->subtype = _vehicleTypeToRideEntryMap[src->vehicle_type]; + } + else + { + dst->subtype = _rideTypeToRideEntryMap[src->type]; + } + + rct_ride_entry* rideEntry = get_ride_entry(dst->subtype); + // This can happen with hacked parks + if (rideEntry == nullptr) + { + log_warning("Discarding ride with invalid ride entry"); + dst->type = RIDE_TYPE_NULL; + return; + } + + // Ride name + if (is_user_string_id(src->name)) + { + dst->custom_name = GetUserString(src->name); + } + + dst->status = static_cast(src->status); + + // Flags + dst->lifecycle_flags = src->lifecycle_flags; + // These flags were not in the base game + if (_gameVersion == FILE_VERSION_RCT1) + { + dst->lifecycle_flags &= ~RIDE_LIFECYCLE_MUSIC; + dst->lifecycle_flags &= ~RIDE_LIFECYCLE_INDESTRUCTIBLE; + dst->lifecycle_flags &= ~RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK; + } + + // Station + if (src->overall_view.isNull()) + { + dst->overall_view.setNull(); + } + else + { + dst->overall_view = TileCoordsXY{ src->overall_view.x, src->overall_view.y }.ToCoordsXY(); + } + + for (int32_t i = 0; i < RCT12_MAX_STATIONS_PER_RIDE; i++) + { + if (src->station_starts[i].isNull()) + { + dst->stations[i].Start.setNull(); + } + else + { + auto tileStartLoc = TileCoordsXY{ src->station_starts[i].x, src->station_starts[i].y }; + dst->stations[i].Start = tileStartLoc.ToCoordsXY(); + } + dst->stations[i].SetBaseZ(src->station_height[i] * RCT1_COORDS_Z_STEP); + dst->stations[i].Length = src->station_length[i]; + dst->stations[i].Depart = src->station_light[i]; + + dst->stations[i].TrainAtStation = src->station_depart[i]; + + // Direction is fixed later. + if (src->entrance[i].isNull()) + ride_clear_entrance_location(dst, i); + else + ride_set_entrance_location( + dst, i, { src->entrance[i].x, src->entrance[i].y, src->station_height[i] / 2, 0 }); + + if (src->exit[i].isNull()) + ride_clear_exit_location(dst, i); + else + ride_set_exit_location(dst, i, { src->exit[i].x, src->exit[i].y, src->station_height[i] / 2, 0 }); + + dst->stations[i].QueueTime = src->queue_time[i]; + dst->stations[i].LastPeepInQueue = src->last_peep_in_queue[i]; + dst->stations[i].QueueLength = src->num_peeps_in_queue[i]; + + dst->stations[i].SegmentTime = src->time[i]; + dst->stations[i].SegmentLength = src->length[i]; + } + // All other values take 0 as their default. Since they're already memset to that, no need to do it again. + for (int32_t i = RCT12_MAX_STATIONS_PER_RIDE; i < MAX_STATIONS; i++) { dst->stations[i].Start.setNull(); - } - else - { - auto tileStartLoc = TileCoordsXY{ src->station_starts[i].x, src->station_starts[i].y }; - dst->stations[i].Start = tileStartLoc.ToCoordsXY(); - } - dst->stations[i].SetBaseZ(src->station_height[i] * RCT1_COORDS_Z_STEP); - dst->stations[i].Length = src->station_length[i]; - dst->stations[i].Depart = src->station_light[i]; - - dst->stations[i].TrainAtStation = src->station_depart[i]; - - // Direction is fixed later. - if (src->entrance[i].isNull()) + dst->stations[i].TrainAtStation = RideStation::NO_TRAIN; ride_clear_entrance_location(dst, i); - else - ride_set_entrance_location(dst, i, { src->entrance[i].x, src->entrance[i].y, src->station_height[i] / 2, 0 }); - - if (src->exit[i].isNull()) ride_clear_exit_location(dst, i); + dst->stations[i].LastPeepInQueue = SPRITE_INDEX_NULL; + } + + dst->num_stations = src->num_stations; + + // Vehicle links (indexes converted later) + for (int32_t i = 0; i < RCT1_MAX_TRAINS_PER_RIDE; i++) + { + dst->vehicles[i] = src->vehicles[i]; + } + for (int32_t i = RCT1_MAX_TRAINS_PER_RIDE; i <= MAX_VEHICLES_PER_RIDE; i++) + { + dst->vehicles[i] = SPRITE_INDEX_NULL; + } + + dst->num_vehicles = src->num_trains; + dst->num_cars_per_train = src->num_cars_per_train + rideEntry->zero_cars; + dst->proposed_num_vehicles = src->num_trains; + dst->max_trains = src->max_trains; + dst->proposed_num_cars_per_train = src->num_cars_per_train + rideEntry->zero_cars; + dst->special_track_elements = src->special_track_elements; + dst->num_sheltered_sections = src->num_sheltered_sections; + dst->sheltered_length = src->sheltered_length; + + // Operation + dst->depart_flags = src->depart_flags; + dst->min_waiting_time = src->min_waiting_time; + dst->max_waiting_time = src->max_waiting_time; + dst->operation_option = src->operation_option; + dst->num_circuits = 1; + dst->SetMinCarsPerTrain(rideEntry->min_cars_in_train); + dst->SetMaxCarsPerTrain(rideEntry->max_cars_in_train); + + // RCT1 used 5mph / 8 km/h for every lift hill + dst->lift_hill_speed = 5; + + if (_gameVersion == FILE_VERSION_RCT1) + { + // Original RCT had no music settings, take default style + dst->music = GetRideTypeDescriptor(dst->type).DefaultMusic; + + // Only merry-go-round and dodgems had music and used + // the same flag as synchronise stations for the option to enable it + if (src->type == RCT1_RIDE_TYPE_MERRY_GO_ROUND || src->type == RCT1_RIDE_TYPE_DODGEMS) + { + if (src->depart_flags & RCT1_RIDE_DEPART_PLAY_MUSIC) + { + dst->depart_flags &= ~RCT1_RIDE_DEPART_PLAY_MUSIC; + dst->lifecycle_flags |= RIDE_LIFECYCLE_MUSIC; + } + } + } else - ride_set_exit_location(dst, i, { src->exit[i].x, src->exit[i].y, src->station_height[i] / 2, 0 }); - - dst->stations[i].QueueTime = src->queue_time[i]; - dst->stations[i].LastPeepInQueue = src->last_peep_in_queue[i]; - dst->stations[i].QueueLength = src->num_peeps_in_queue[i]; - - dst->stations[i].SegmentTime = src->time[i]; - dst->stations[i].SegmentLength = src->length[i]; - } - // All other values take 0 as their default. Since they're already memset to that, no need to do it again. - for (int32_t i = RCT12_MAX_STATIONS_PER_RIDE; i < MAX_STATIONS; i++) - { - dst->stations[i].Start.setNull(); - dst->stations[i].TrainAtStation = RideStation::NO_TRAIN; - ride_clear_entrance_location(dst, i); - ride_clear_exit_location(dst, i); - dst->stations[i].LastPeepInQueue = SPRITE_INDEX_NULL; - } - - dst->num_stations = src->num_stations; - - // Vehicle links (indexes converted later) - for (int32_t i = 0; i < RCT1_MAX_TRAINS_PER_RIDE; i++) - { - dst->vehicles[i] = src->vehicles[i]; - } - for (int32_t i = RCT1_MAX_TRAINS_PER_RIDE; i <= MAX_VEHICLES_PER_RIDE; i++) - { - dst->vehicles[i] = SPRITE_INDEX_NULL; - } - - dst->num_vehicles = src->num_trains; - dst->num_cars_per_train = src->num_cars_per_train + rideEntry->zero_cars; - dst->proposed_num_vehicles = src->num_trains; - dst->max_trains = src->max_trains; - dst->proposed_num_cars_per_train = src->num_cars_per_train + rideEntry->zero_cars; - dst->special_track_elements = src->special_track_elements; - dst->num_sheltered_sections = src->num_sheltered_sections; - dst->sheltered_length = src->sheltered_length; - - // Operation - dst->depart_flags = src->depart_flags; - dst->min_waiting_time = src->min_waiting_time; - dst->max_waiting_time = src->max_waiting_time; - dst->operation_option = src->operation_option; - dst->num_circuits = 1; - dst->SetMinCarsPerTrain(rideEntry->min_cars_in_train); - dst->SetMaxCarsPerTrain(rideEntry->max_cars_in_train); - - // RCT1 used 5mph / 8 km/h for every lift hill - dst->lift_hill_speed = 5; - - if (_gameVersion == FILE_VERSION_RCT1) - { - // Original RCT had no music settings, take default style - dst->music = GetRideTypeDescriptor(dst->type).DefaultMusic; - - // Only merry-go-round and dodgems had music and used - // the same flag as synchronise stations for the option to enable it - if (src->type == RCT1_RIDE_TYPE_MERRY_GO_ROUND || src->type == RCT1_RIDE_TYPE_DODGEMS) { - if (src->depart_flags & RCT1_RIDE_DEPART_PLAY_MUSIC) - { - dst->depart_flags &= ~RCT1_RIDE_DEPART_PLAY_MUSIC; - dst->lifecycle_flags |= RIDE_LIFECYCLE_MUSIC; - } + dst->music = src->music; } - } - else - { - dst->music = src->music; - } - if (src->operating_mode == RCT1_RIDE_MODE_POWERED_LAUNCH) - { - // Launched rides never passed through the station in RCT1. - dst->mode = RideMode::PoweredLaunch; - } - else - { - dst->mode = static_cast(src->operating_mode); - } - - SetRideColourScheme(dst, src); - - // Maintenance - dst->build_date = static_cast(src->build_date); - dst->inspection_interval = src->inspection_interval; - dst->last_inspection = src->last_inspection; - dst->reliability = src->reliability; - dst->unreliability_factor = src->unreliability_factor; - dst->downtime = src->downtime; - dst->breakdown_reason = src->breakdown_reason; - dst->mechanic_status = src->mechanic_status; - dst->mechanic = src->mechanic; - dst->breakdown_reason_pending = src->breakdown_reason_pending; - dst->inspection_station = src->inspection_station; - dst->broken_car = src->broken_car; - dst->broken_vehicle = src->broken_vehicle; - - // Measurement data - dst->excitement = src->excitement; - dst->intensity = src->intensity; - dst->nausea = src->nausea; - - dst->max_speed = src->max_speed; - dst->average_speed = src->average_speed; - - dst->max_positive_vertical_g = src->max_positive_vertical_g; - dst->max_negative_vertical_g = src->max_negative_vertical_g; - dst->max_lateral_g = src->max_lateral_g; - dst->previous_lateral_g = src->previous_lateral_g; - dst->previous_vertical_g = src->previous_vertical_g; - dst->turn_count_banked = src->turn_count_banked; - dst->turn_count_default = src->turn_count_default; - dst->turn_count_sloped = src->turn_count_sloped; - dst->drops = src->num_drops; - dst->start_drop_height = src->start_drop_height / 2; - dst->highest_drop_height = src->highest_drop_height / 2; - if (dst->type == RIDE_TYPE_MINI_GOLF) - dst->holes = src->num_inversions & 0x1F; - else - dst->inversions = src->num_inversions & 0x1F; - dst->sheltered_eighths = src->num_inversions >> 5; - dst->boat_hire_return_direction = src->boat_hire_return_direction; - dst->boat_hire_return_position = { src->boat_hire_return_position.x, src->boat_hire_return_position.y }; - dst->chairlift_bullwheel_rotation = src->chairlift_bullwheel_rotation; - for (int i = 0; i < 2; i++) - { - dst->ChairliftBullwheelLocation[i] = { src->chairlift_bullwheel_location[i].x, - src->chairlift_bullwheel_location[i].y, src->chairlift_bullwheel_z[i] / 2 }; - } - - if (src->cur_test_track_location.isNull()) - { - dst->CurTestTrackLocation.setNull(); - } - else - { - dst->CurTestTrackLocation = { src->cur_test_track_location.x, src->cur_test_track_location.y, - src->cur_test_track_z / 2 }; - } - dst->testing_flags = src->testing_flags; - dst->current_test_segment = src->current_test_segment; - dst->current_test_station = STATION_INDEX_NULL; - dst->average_speed_test_timeout = src->average_speed_test_timeout; - dst->slide_in_use = src->slide_in_use; - dst->slide_peep_t_shirt_colour = RCT1::GetColour(src->slide_peep_t_shirt_colour); - dst->spiral_slide_progress = src->spiral_slide_progress; - // Doubles as slide_peep - dst->maze_tiles = src->maze_tiles; - - // Finance / customers - dst->upkeep_cost = src->upkeep_cost; - dst->price[0] = src->price; - dst->price[1] = src->price_secondary; - dst->income_per_hour = ToMoney64(src->income_per_hour); - dst->total_customers = src->total_customers; - dst->profit = ToMoney64(src->profit); - dst->total_profit = ToMoney64(src->total_profit); - dst->value = src->value; - for (size_t i = 0; i < std::size(src->num_customers); i++) - { - dst->num_customers[i] = src->num_customers[i]; - } - - dst->satisfaction = src->satisfaction; - dst->satisfaction_time_out = src->satisfaction_time_out; - dst->satisfaction_next = src->satisfaction_next; - dst->popularity = src->popularity; - dst->popularity_next = src->popularity_next; - dst->popularity_time_out = src->popularity_time_out; - - dst->num_riders = src->num_riders; - - dst->music_tune_id = 255; - } - - void SetRideColourScheme(Ride* dst, rct1_ride* src) - { - // Colours - dst->colour_scheme_type = src->colour_scheme; - if (_gameVersion == FILE_VERSION_RCT1) - { - dst->track_colour[0].main = RCT1::GetColour(src->track_primary_colour); - dst->track_colour[0].additional = RCT1::GetColour(src->track_secondary_colour); - dst->track_colour[0].supports = RCT1::GetColour(src->track_support_colour); - - // Balloons were always blue in the original RCT. - if (src->type == RCT1_RIDE_TYPE_BALLOON_STALL) + if (src->operating_mode == RCT1_RIDE_MODE_POWERED_LAUNCH) { - dst->track_colour[0].main = COLOUR_LIGHT_BLUE; + // Launched rides never passed through the station in RCT1. + dst->mode = RideMode::PoweredLaunch; } - else if (src->type == RCT1_RIDE_TYPE_RIVER_RAPIDS) - { - dst->track_colour[0].main = COLOUR_WHITE; - } - } - else - { - for (int i = 0; i < RCT12_NUM_COLOUR_SCHEMES; i++) - { - dst->track_colour[i].main = RCT1::GetColour(src->track_colour_main[i]); - dst->track_colour[i].additional = RCT1::GetColour(src->track_colour_additional[i]); - dst->track_colour[i].supports = RCT1::GetColour(src->track_colour_supports[i]); - } - // Entrance styles were introduced with AA. They correspond directly with those in RCT2. - dst->entrance_style = src->entrance_style; - } - - if (_gameVersion < FILE_VERSION_RCT1_LL && dst->type == RIDE_TYPE_MERRY_GO_ROUND) - { - // The merry-go-round in pre-LL versions was always yellow with red - dst->vehicle_colours[0].Body = COLOUR_YELLOW; - dst->vehicle_colours[0].Trim = COLOUR_BRIGHT_RED; - } - else - { - for (int i = 0; i < RCT1_MAX_TRAINS_PER_RIDE; i++) - { - // RCT1 had no third colour - RCT1::RCT1VehicleColourSchemeCopyDescriptor colourSchemeCopyDescriptor = RCT1::GetColourSchemeCopyDescriptor( - src->vehicle_type); - if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_1) - { - dst->vehicle_colours[i].Body = RCT1::GetColour(src->vehicle_colours[i].body); - } - else if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_2) - { - dst->vehicle_colours[i].Body = RCT1::GetColour(src->vehicle_colours[i].trim); - } - else - { - dst->vehicle_colours[i].Body = colourSchemeCopyDescriptor.colour1; - } - - if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_1) - { - dst->vehicle_colours[i].Trim = RCT1::GetColour(src->vehicle_colours[i].body); - } - else if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_2) - { - dst->vehicle_colours[i].Trim = RCT1::GetColour(src->vehicle_colours[i].trim); - } - else - { - dst->vehicle_colours[i].Trim = colourSchemeCopyDescriptor.colour2; - } - - if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_1) - { - dst->vehicle_colours[i].Ternary = RCT1::GetColour(src->vehicle_colours[i].body); - } - else if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_2) - { - dst->vehicle_colours[i].Ternary = RCT1::GetColour(src->vehicle_colours[i].trim); - } - else - { - dst->vehicle_colours[i].Ternary = colourSchemeCopyDescriptor.colour3; - } - } - } - - // In RCT1 and AA, the maze was always hedges. - // LL has 4 types, like RCT2. For LL, only guard against invalid values. - if (dst->type == RIDE_TYPE_MAZE) - { - if (_gameVersion < FILE_VERSION_RCT1_LL || src->track_colour_supports[0] > 3) - dst->track_colour[0].supports = MAZE_WALL_TYPE_HEDGE; else - dst->track_colour[0].supports = src->track_colour_supports[0]; - } - } - - void ImportRideMeasurements() - { - for (const auto& src : _s4.ride_measurements) - { - if (src.ride_index != RCT12_RIDE_ID_NULL) { - auto ride = get_ride(RCT12RideIdToOpenRCT2RideId(src.ride_index)); - if (ride != nullptr) + dst->mode = static_cast(src->operating_mode); + } + + SetRideColourScheme(dst, src); + + // Maintenance + dst->build_date = static_cast(src->build_date); + dst->inspection_interval = src->inspection_interval; + dst->last_inspection = src->last_inspection; + dst->reliability = src->reliability; + dst->unreliability_factor = src->unreliability_factor; + dst->downtime = src->downtime; + dst->breakdown_reason = src->breakdown_reason; + dst->mechanic_status = src->mechanic_status; + dst->mechanic = src->mechanic; + dst->breakdown_reason_pending = src->breakdown_reason_pending; + dst->inspection_station = src->inspection_station; + dst->broken_car = src->broken_car; + dst->broken_vehicle = src->broken_vehicle; + + // Measurement data + dst->excitement = src->excitement; + dst->intensity = src->intensity; + dst->nausea = src->nausea; + + dst->max_speed = src->max_speed; + dst->average_speed = src->average_speed; + + dst->max_positive_vertical_g = src->max_positive_vertical_g; + dst->max_negative_vertical_g = src->max_negative_vertical_g; + dst->max_lateral_g = src->max_lateral_g; + dst->previous_lateral_g = src->previous_lateral_g; + dst->previous_vertical_g = src->previous_vertical_g; + dst->turn_count_banked = src->turn_count_banked; + dst->turn_count_default = src->turn_count_default; + dst->turn_count_sloped = src->turn_count_sloped; + dst->drops = src->num_drops; + dst->start_drop_height = src->start_drop_height / 2; + dst->highest_drop_height = src->highest_drop_height / 2; + if (dst->type == RIDE_TYPE_MINI_GOLF) + dst->holes = src->num_inversions & 0x1F; + else + dst->inversions = src->num_inversions & 0x1F; + dst->sheltered_eighths = src->num_inversions >> 5; + dst->boat_hire_return_direction = src->boat_hire_return_direction; + dst->boat_hire_return_position = { src->boat_hire_return_position.x, src->boat_hire_return_position.y }; + dst->chairlift_bullwheel_rotation = src->chairlift_bullwheel_rotation; + for (int i = 0; i < 2; i++) + { + dst->ChairliftBullwheelLocation[i] = { src->chairlift_bullwheel_location[i].x, + src->chairlift_bullwheel_location[i].y, + src->chairlift_bullwheel_z[i] / 2 }; + } + + if (src->cur_test_track_location.isNull()) + { + dst->CurTestTrackLocation.setNull(); + } + else + { + dst->CurTestTrackLocation = { src->cur_test_track_location.x, src->cur_test_track_location.y, + src->cur_test_track_z / 2 }; + } + dst->testing_flags = src->testing_flags; + dst->current_test_segment = src->current_test_segment; + dst->current_test_station = STATION_INDEX_NULL; + dst->average_speed_test_timeout = src->average_speed_test_timeout; + dst->slide_in_use = src->slide_in_use; + dst->slide_peep_t_shirt_colour = RCT1::GetColour(src->slide_peep_t_shirt_colour); + dst->spiral_slide_progress = src->spiral_slide_progress; + // Doubles as slide_peep + dst->maze_tiles = src->maze_tiles; + + // Finance / customers + dst->upkeep_cost = src->upkeep_cost; + dst->price[0] = src->price; + dst->price[1] = src->price_secondary; + dst->income_per_hour = ToMoney64(src->income_per_hour); + dst->total_customers = src->total_customers; + dst->profit = ToMoney64(src->profit); + dst->total_profit = ToMoney64(src->total_profit); + dst->value = src->value; + for (size_t i = 0; i < std::size(src->num_customers); i++) + { + dst->num_customers[i] = src->num_customers[i]; + } + + dst->satisfaction = src->satisfaction; + dst->satisfaction_time_out = src->satisfaction_time_out; + dst->satisfaction_next = src->satisfaction_next; + dst->popularity = src->popularity; + dst->popularity_next = src->popularity_next; + dst->popularity_time_out = src->popularity_time_out; + + dst->num_riders = src->num_riders; + + dst->music_tune_id = 255; + } + + void SetRideColourScheme(Ride* dst, rct1_ride* src) + { + // Colours + dst->colour_scheme_type = src->colour_scheme; + if (_gameVersion == FILE_VERSION_RCT1) + { + dst->track_colour[0].main = RCT1::GetColour(src->track_primary_colour); + dst->track_colour[0].additional = RCT1::GetColour(src->track_secondary_colour); + dst->track_colour[0].supports = RCT1::GetColour(src->track_support_colour); + + // Balloons were always blue in the original RCT. + if (src->type == RCT1_RIDE_TYPE_BALLOON_STALL) { - ride->measurement = std::make_unique(); - ImportRideMeasurement(*ride->measurement, src); + dst->track_colour[0].main = COLOUR_LIGHT_BLUE; + } + else if (src->type == RCT1_RIDE_TYPE_RIVER_RAPIDS) + { + dst->track_colour[0].main = COLOUR_WHITE; + } + } + else + { + for (int i = 0; i < RCT12_NUM_COLOUR_SCHEMES; i++) + { + dst->track_colour[i].main = RCT1::GetColour(src->track_colour_main[i]); + dst->track_colour[i].additional = RCT1::GetColour(src->track_colour_additional[i]); + dst->track_colour[i].supports = RCT1::GetColour(src->track_colour_supports[i]); + } + // Entrance styles were introduced with AA. They correspond directly with those in RCT2. + dst->entrance_style = src->entrance_style; + } + + if (_gameVersion < FILE_VERSION_RCT1_LL && dst->type == RIDE_TYPE_MERRY_GO_ROUND) + { + // The merry-go-round in pre-LL versions was always yellow with red + dst->vehicle_colours[0].Body = COLOUR_YELLOW; + dst->vehicle_colours[0].Trim = COLOUR_BRIGHT_RED; + } + else + { + for (int i = 0; i < RCT1_MAX_TRAINS_PER_RIDE; i++) + { + // RCT1 had no third colour + RCT1::RCT1VehicleColourSchemeCopyDescriptor colourSchemeCopyDescriptor = RCT1:: + GetColourSchemeCopyDescriptor(src->vehicle_type); + if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_1) + { + dst->vehicle_colours[i].Body = RCT1::GetColour(src->vehicle_colours[i].body); + } + else if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_2) + { + dst->vehicle_colours[i].Body = RCT1::GetColour(src->vehicle_colours[i].trim); + } + else + { + dst->vehicle_colours[i].Body = colourSchemeCopyDescriptor.colour1; + } + + if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_1) + { + dst->vehicle_colours[i].Trim = RCT1::GetColour(src->vehicle_colours[i].body); + } + else if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_2) + { + dst->vehicle_colours[i].Trim = RCT1::GetColour(src->vehicle_colours[i].trim); + } + else + { + dst->vehicle_colours[i].Trim = colourSchemeCopyDescriptor.colour2; + } + + if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_1) + { + dst->vehicle_colours[i].Ternary = RCT1::GetColour(src->vehicle_colours[i].body); + } + else if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_2) + { + dst->vehicle_colours[i].Ternary = RCT1::GetColour(src->vehicle_colours[i].trim); + } + else + { + dst->vehicle_colours[i].Ternary = colourSchemeCopyDescriptor.colour3; + } + } + } + + // In RCT1 and AA, the maze was always hedges. + // LL has 4 types, like RCT2. For LL, only guard against invalid values. + if (dst->type == RIDE_TYPE_MAZE) + { + if (_gameVersion < FILE_VERSION_RCT1_LL || src->track_colour_supports[0] > 3) + dst->track_colour[0].supports = MAZE_WALL_TYPE_HEDGE; + else + dst->track_colour[0].supports = src->track_colour_supports[0]; + } + } + + void ImportRideMeasurements() + { + for (const auto& src : _s4.ride_measurements) + { + if (src.ride_index != RCT12_RIDE_ID_NULL) + { + auto ride = get_ride(RCT12RideIdToOpenRCT2RideId(src.ride_index)); + if (ride != nullptr) + { + ride->measurement = std::make_unique(); + ImportRideMeasurement(*ride->measurement, src); + } } } } - } - void ImportRideMeasurement(RideMeasurement& dst, const RCT12RideMeasurement& src) - { - dst.flags = src.flags; - dst.last_use_tick = src.last_use_tick; - dst.num_items = src.num_items; - dst.current_item = src.current_item; - dst.vehicle_index = src.vehicle_index; - dst.current_station = src.current_station; - for (size_t i = 0; i < std::size(src.velocity); i++) + void ImportRideMeasurement(RideMeasurement& dst, const RCT12RideMeasurement& src) { - dst.velocity[i] = src.velocity[i] / 2; - dst.altitude[i] = src.altitude[i] / 2; - dst.vertical[i] = src.vertical[i] / 2; - dst.lateral[i] = src.lateral[i] / 2; - } - } - - void ImportEntity(const RCT12SpriteBase& src); - template void ImportEntity(const RCT12SpriteBase& src); - - void ImportSprites() - { - for (int i = 0; i < RCT1_MAX_SPRITES; i++) - { - ImportEntity(_s4.sprites[i].unknown); - } - FixImportStaff(); - } - - void SetVehicleColours(Vehicle* dst, const rct1_vehicle* src) - { - rct1_ride* srcRide = &_s4.rides[src->ride]; - uint8_t vehicleTypeIndex = srcRide->vehicle_type; - RCT1::RCT1VehicleColourSchemeCopyDescriptor colourSchemeCopyDescriptor = RCT1::GetColourSchemeCopyDescriptor( - vehicleTypeIndex); - - // RCT1 had no third colour - if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_1) - { - dst->colours.body_colour = RCT1::GetColour(src->colours.body_colour); - } - else if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_2) - { - dst->colours.body_colour = RCT1::GetColour(src->colours.trim_colour); - } - else - { - dst->colours.body_colour = colourSchemeCopyDescriptor.colour1; - } - - if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_1) - { - dst->colours.trim_colour = RCT1::GetColour(src->colours.body_colour); - } - else if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_2) - { - dst->colours.trim_colour = RCT1::GetColour(src->colours.trim_colour); - } - else - { - dst->colours.trim_colour = colourSchemeCopyDescriptor.colour2; - } - - if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_1) - { - dst->colours_extended = RCT1::GetColour(src->colours.body_colour); - } - else if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_2) - { - dst->colours_extended = RCT1::GetColour(src->colours.trim_colour); - } - else - { - dst->colours_extended = colourSchemeCopyDescriptor.colour3; - } - } - - void FixImportStaff() - { - // The RCT2/OpenRCT2 structures are bigger than in RCT1, so initialise them to zero - std::fill(std::begin(gStaffModes), std::end(gStaffModes), StaffMode::None); - std::fill(std::begin(gStaffPatrolAreas), std::end(gStaffPatrolAreas), 0); - - for (int32_t i = 0; i < RCT1_MAX_STAFF; i++) - { - gStaffModes[i] = static_cast(_s4.staff_modes[i]); - } - - for (auto peep : EntityList()) - { - ImportStaffPatrolArea(peep); - } - // Only the individual patrol areas have been converted, so generate the combined patrol areas of each staff type - staff_update_greyed_patrol_areas(); - } - - void ImportPeep(Peep* dst, const rct1_peep* src) - { - // Peep vs. staff (including which kind) - dst->SpriteType = RCT1::GetPeepSpriteType(src->sprite_type); - dst->Action = static_cast(src->action); - dst->SpecialSprite = src->special_sprite; - dst->NextActionSpriteType = static_cast(src->next_action_sprite_type); - dst->ActionSpriteImageOffset = src->action_sprite_image_offset; - dst->WalkingFrameNum = src->no_action_frame_num; - dst->ActionSpriteType = static_cast(src->action_sprite_type); - dst->ActionFrame = src->action_frame; - - const rct_sprite_bounds* spriteBounds = &GetSpriteBounds(dst->SpriteType, dst->ActionSpriteType); - dst->sprite_width = spriteBounds->sprite_width; - dst->sprite_height_negative = spriteBounds->sprite_height_negative; - dst->sprite_height_positive = spriteBounds->sprite_height_positive; - - dst->MoveTo({ src->x, src->y, src->z }); - - dst->sprite_direction = src->sprite_direction; - - // Peep name - if (is_user_string_id(src->name_string_idx)) - { - dst->SetName(GetUserString(src->name_string_idx)); - } - - dst->State = static_cast(src->state); - dst->SubState = src->sub_state; - dst->NextLoc = { src->next_x, src->next_y, src->next_z * RCT1_COORDS_Z_STEP }; - dst->NextFlags = src->next_flags; - dst->Var37 = src->var_37; - dst->StepProgress = src->step_progress; - dst->TshirtColour = RCT1::GetColour(src->tshirt_colour); - dst->TrousersColour = RCT1::GetColour(src->trousers_colour); - dst->DestinationX = src->destination_x; - dst->DestinationY = src->destination_y; - dst->DestinationTolerance = src->destination_tolerance; - dst->PeepDirection = src->direction; - dst->Energy = src->energy; - dst->EnergyTarget = src->energy_target; - dst->Mass = src->mass; - dst->WindowInvalidateFlags = 0; - dst->CurrentRide = RCT12RideIdToOpenRCT2RideId(src->current_ride); - dst->CurrentRideStation = src->current_ride_station; - dst->CurrentTrain = src->current_train; - dst->CurrentCar = src->current_car; - dst->CurrentSeat = src->current_seat; - dst->InteractionRideIndex = RCT12RideIdToOpenRCT2RideId(src->interaction_ride_index); - dst->Id = src->id; - dst->PathCheckOptimisation = 0; - dst->PeepFlags = 0; - dst->PathfindGoal.x = 0xFF; - dst->PathfindGoal.y = 0xFF; - dst->PathfindGoal.z = 0xFF; - dst->PathfindGoal.direction = INVALID_DIRECTION; - } - - void ImportStaffPatrolArea(Staff* staffmember) - { - // The patrol areas in RCT1 are encoded as follows, for coordinates x and y, separately for every staff member: - // - Chop off the 7 lowest bits of the x and y coordinates, which leaves 5 bits per coordinate. - // This step also "produces" the 4x4 patrol squares. - // - Append the two bitstrings to a 10-bit value like so: yyyyyxxxxx - // - Use this 10-bit value as an index into an 8-bit array. The array is sized such that every 4x4 square - // used for the patrols on the map has a bit in that array. If a bit is 1, that square is part of the patrol. - // The correct bit position in that array is found like this: yyyyyxx|xxx - // index in the array ----^ ^--- bit position in the 8-bit value - // We do the opposite in this function to recover the x and y values. - - int32_t peepOffset = staffmember->StaffId * RCT12_PATROL_AREA_SIZE; - for (int32_t i = 0; i < RCT12_PATROL_AREA_SIZE; i++) - { - if (_s4.patrol_areas[peepOffset + i] == 0) + dst.flags = src.flags; + dst.last_use_tick = src.last_use_tick; + dst.num_items = src.num_items; + dst.current_item = src.current_item; + dst.vehicle_index = src.vehicle_index; + dst.current_station = src.current_station; + for (size_t i = 0; i < std::size(src.velocity); i++) { - // No patrol for this area - continue; + dst.velocity[i] = src.velocity[i] / 2; + dst.altitude[i] = src.altitude[i] / 2; + dst.vertical[i] = src.vertical[i] / 2; + dst.lateral[i] = src.lateral[i] / 2; + } + } + + void ImportEntity(const RCT12SpriteBase& src); + template void ImportEntity(const RCT12SpriteBase& src); + + void ImportSprites() + { + for (int i = 0; i < RCT1_MAX_SPRITES; i++) + { + ImportEntity(_s4.sprites[i].unknown); + } + FixImportStaff(); + } + + void SetVehicleColours(Vehicle* dst, const rct1_vehicle* src) + { + rct1_ride* srcRide = &_s4.rides[src->ride]; + uint8_t vehicleTypeIndex = srcRide->vehicle_type; + RCT1::RCT1VehicleColourSchemeCopyDescriptor colourSchemeCopyDescriptor = RCT1::GetColourSchemeCopyDescriptor( + vehicleTypeIndex); + + // RCT1 had no third colour + if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_1) + { + dst->colours.body_colour = RCT1::GetColour(src->colours.body_colour); + } + else if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_2) + { + dst->colours.body_colour = RCT1::GetColour(src->colours.trim_colour); + } + else + { + dst->colours.body_colour = colourSchemeCopyDescriptor.colour1; } - // Loop over the bits of the uint8_t - for (int32_t j = 0; j < 8; j++) + if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_1) { - int8_t bit = (_s4.patrol_areas[peepOffset + i] >> j) & 1; - if (bit == 0) + dst->colours.trim_colour = RCT1::GetColour(src->colours.body_colour); + } + else if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_2) + { + dst->colours.trim_colour = RCT1::GetColour(src->colours.trim_colour); + } + else + { + dst->colours.trim_colour = colourSchemeCopyDescriptor.colour2; + } + + if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_1) + { + dst->colours_extended = RCT1::GetColour(src->colours.body_colour); + } + else if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_2) + { + dst->colours_extended = RCT1::GetColour(src->colours.trim_colour); + } + else + { + dst->colours_extended = colourSchemeCopyDescriptor.colour3; + } + } + + void FixImportStaff() + { + // The RCT2/OpenRCT2 structures are bigger than in RCT1, so initialise them to zero + std::fill(std::begin(gStaffModes), std::end(gStaffModes), StaffMode::None); + std::fill(std::begin(gStaffPatrolAreas), std::end(gStaffPatrolAreas), 0); + + for (int32_t i = 0; i < RCT1_MAX_STAFF; i++) + { + gStaffModes[i] = static_cast(_s4.staff_modes[i]); + } + + for (auto peep : EntityList()) + { + ImportStaffPatrolArea(peep); + } + // Only the individual patrol areas have been converted, so generate the combined patrol areas of each staff type + staff_update_greyed_patrol_areas(); + } + + void ImportPeep(Peep* dst, const rct1_peep* src) + { + // Peep vs. staff (including which kind) + dst->SpriteType = RCT1::GetPeepSpriteType(src->sprite_type); + dst->Action = static_cast(src->action); + dst->SpecialSprite = src->special_sprite; + dst->NextActionSpriteType = static_cast(src->next_action_sprite_type); + dst->ActionSpriteImageOffset = src->action_sprite_image_offset; + dst->WalkingFrameNum = src->no_action_frame_num; + dst->ActionSpriteType = static_cast(src->action_sprite_type); + dst->ActionFrame = src->action_frame; + + const rct_sprite_bounds* spriteBounds = &GetSpriteBounds(dst->SpriteType, dst->ActionSpriteType); + dst->sprite_width = spriteBounds->sprite_width; + dst->sprite_height_negative = spriteBounds->sprite_height_negative; + dst->sprite_height_positive = spriteBounds->sprite_height_positive; + + dst->MoveTo({ src->x, src->y, src->z }); + + dst->sprite_direction = src->sprite_direction; + + // Peep name + if (is_user_string_id(src->name_string_idx)) + { + dst->SetName(GetUserString(src->name_string_idx)); + } + + dst->State = static_cast(src->state); + dst->SubState = src->sub_state; + dst->NextLoc = { src->next_x, src->next_y, src->next_z * RCT1_COORDS_Z_STEP }; + dst->NextFlags = src->next_flags; + dst->Var37 = src->var_37; + dst->StepProgress = src->step_progress; + dst->TshirtColour = RCT1::GetColour(src->tshirt_colour); + dst->TrousersColour = RCT1::GetColour(src->trousers_colour); + dst->DestinationX = src->destination_x; + dst->DestinationY = src->destination_y; + dst->DestinationTolerance = src->destination_tolerance; + dst->PeepDirection = src->direction; + dst->Energy = src->energy; + dst->EnergyTarget = src->energy_target; + dst->Mass = src->mass; + dst->WindowInvalidateFlags = 0; + dst->CurrentRide = RCT12RideIdToOpenRCT2RideId(src->current_ride); + dst->CurrentRideStation = src->current_ride_station; + dst->CurrentTrain = src->current_train; + dst->CurrentCar = src->current_car; + dst->CurrentSeat = src->current_seat; + dst->InteractionRideIndex = RCT12RideIdToOpenRCT2RideId(src->interaction_ride_index); + dst->Id = src->id; + dst->PathCheckOptimisation = 0; + dst->PeepFlags = 0; + dst->PathfindGoal.x = 0xFF; + dst->PathfindGoal.y = 0xFF; + dst->PathfindGoal.z = 0xFF; + dst->PathfindGoal.direction = INVALID_DIRECTION; + } + + void ImportStaffPatrolArea(Staff* staffmember) + { + // The patrol areas in RCT1 are encoded as follows, for coordinates x and y, separately for every staff member: + // - Chop off the 7 lowest bits of the x and y coordinates, which leaves 5 bits per coordinate. + // This step also "produces" the 4x4 patrol squares. + // - Append the two bitstrings to a 10-bit value like so: yyyyyxxxxx + // - Use this 10-bit value as an index into an 8-bit array. The array is sized such that every 4x4 square + // used for the patrols on the map has a bit in that array. If a bit is 1, that square is part of the patrol. + // The correct bit position in that array is found like this: yyyyyxx|xxx + // index in the array ----^ ^--- bit position in the 8-bit value + // We do the opposite in this function to recover the x and y values. + + int32_t peepOffset = staffmember->StaffId * RCT12_PATROL_AREA_SIZE; + for (int32_t i = 0; i < RCT12_PATROL_AREA_SIZE; i++) + { + if (_s4.patrol_areas[peepOffset + i] == 0) { // No patrol for this area continue; } - // val contains the 5 highest bits of both the x and y coordinates - int32_t val = j | (i << 3); - int32_t x = val & 0x1F; - x <<= 7; - int32_t y = val & 0x3E0; - y <<= 2; - staff_set_patrol_area(staffmember->StaffId, { x, y }, true); - } - } - } - void ImportEntityCommonProperties(SpriteBase* dst, const RCT12SpriteBase* src) - { - dst->sprite_direction = src->sprite_direction; - dst->sprite_width = src->sprite_width; - dst->sprite_height_negative = src->sprite_height_negative; - dst->sprite_height_positive = src->sprite_height_positive; - dst->x = src->x; - dst->y = src->y; - dst->z = src->z; - } - - void ImportPeepSpawns() - { - gPeepSpawns.clear(); - for (size_t i = 0; i < RCT12_MAX_PEEP_SPAWNS; i++) - { - if (_s4.peep_spawn[i].x != RCT12_PEEP_SPAWN_UNDEFINED) - { - PeepSpawn spawn = { _s4.peep_spawn[i].x, _s4.peep_spawn[i].y, _s4.peep_spawn[i].z * 16, - _s4.peep_spawn[i].direction }; - gPeepSpawns.push_back(spawn); - } - } - } - - void ImportFinance() - { - gParkEntranceFee = _s4.park_entrance_fee; - gLandPrice = _s4.land_price; - gConstructionRightsPrice = _s4.construction_rights_price; - - gCash = ToMoney64(_s4.cash); - gBankLoan = ToMoney64(_s4.loan); - gMaxBankLoan = ToMoney64(_s4.max_loan); - // It's more like 1.33%, but we can only use integers. Can be fixed once we have our own save format. - gBankLoanInterestRate = 1; - gInitialCash = ToMoney64(_s4.cash); - - gCompanyValue = ToMoney64(_s4.company_value); - gParkValue = ToMoney64(CorrectRCT1ParkValue(_s4.park_value)); - gCurrentProfit = ToMoney64(_s4.profit); - - for (size_t i = 0; i < RCT12_FINANCE_GRAPH_SIZE; i++) - { - gCashHistory[i] = ToMoney64(_s4.cash_history[i]); - gParkValueHistory[i] = ToMoney64(CorrectRCT1ParkValue(_s4.park_value_history[i])); - gWeeklyProfitHistory[i] = ToMoney64(_s4.weekly_profit_history[i]); - } - - for (size_t i = 0; i < RCT12_EXPENDITURE_TABLE_MONTH_COUNT; i++) - { - for (size_t j = 0; j < RCT12_EXPENDITURE_TYPE_COUNT; j++) - { - gExpenditureTable[i][j] = ToMoney64(_s4.expenditure[i][j]); - } - } - gCurrentExpenditure = ToMoney64(_s4.total_expenditure); - - gScenarioCompletedCompanyValue = RCT12CompletedCompanyValueToOpenRCT2(_s4.completed_company_value); - gTotalAdmissions = _s4.num_admissions; - gTotalIncomeFromAdmissions = ToMoney64(_s4.admission_total_income); - - // TODO marketing campaigns not working - static_assert( - std::numeric_limits::max() > ADVERTISING_CAMPAIGN_COUNT, - "Advertising enum bigger than capacity of iterator"); - for (uint8_t i = 0; i < ADVERTISING_CAMPAIGN_COUNT; i++) - { - if (_s4.marketing_status[i] & CAMPAIGN_ACTIVE_FLAG) - { - MarketingCampaign campaign; - campaign.Type = i; - campaign.WeeksLeft = _s4.marketing_status[i] & ~CAMPAIGN_ACTIVE_FLAG; - if (campaign.Type == ADVERTISING_CAMPAIGN_RIDE_FREE || campaign.Type == ADVERTISING_CAMPAIGN_RIDE) + // Loop over the bits of the uint8_t + for (int32_t j = 0; j < 8; j++) { - campaign.RideId = RCT12RideIdToOpenRCT2RideId(_s4.marketing_assoc[i]); - } - else if (campaign.Type == ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE) - { - campaign.ShopItemType = ShopItem(_s4.marketing_assoc[i]); - } - gMarketingCampaigns.push_back(campaign); - } - } - } - - void LoadObjects() - { - auto& objectManager = OpenRCT2::GetContext()->GetObjectManager(); - objectManager.LoadDefaultObjects(); - - LoadObjects(ObjectType::Ride, _rideEntries); - LoadObjects(ObjectType::SmallScenery, _smallSceneryEntries); - LoadObjects(ObjectType::LargeScenery, _largeSceneryEntries); - LoadObjects(ObjectType::Walls, _wallEntries); - LoadObjects(ObjectType::Paths, _pathEntries); - LoadObjects(ObjectType::PathBits, _pathAdditionEntries); - LoadObjects(ObjectType::SceneryGroup, _sceneryGroupEntries); - LoadObjects( - ObjectType::Banners, - std::vector({ - "BN1 ", - "BN2 ", - "BN3 ", - "BN4 ", - "BN5 ", - "BN6 ", - "BN7 ", - "BN8 ", - "BN9 ", - })); - LoadObjects(ObjectType::ParkEntrance, std::vector({ "PKENT1 " })); - LoadObjects(ObjectType::Water, _waterEntry); - } - - void LoadObjects(ObjectType objectType, const EntryList& entries) - { - LoadObjects(objectType, entries.GetEntries()); - } - - void LoadObjects(ObjectType objectType, const std::vector& entries) - { - auto& objectManager = OpenRCT2::GetContext()->GetObjectManager(); - - uint32_t entryIndex = 0; - for (const char* objectName : entries) - { - rct_object_entry entry; - entry.flags = 0x00008000 + EnumValue(objectType); - std::copy_n(objectName, 8, entry.name); - entry.checksum = 0; - - Object* object = objectManager.LoadObject(&entry); - if (object == nullptr && objectType != ObjectType::SceneryGroup) - { - log_error("Failed to load %s.", objectName); - throw std::runtime_error("Failed to load object."); - } - - entryIndex++; - } - } - - void AppendRequiredObjects(std::vector& entries, ObjectType objectType, const EntryList& entryList) - { - AppendRequiredObjects(entries, objectType, entryList.GetEntries()); - } - - void AppendRequiredObjects( - std::vector& entries, ObjectType objectType, const std::vector& objectNames) - { - for (const auto objectName : objectNames) - { - rct_object_entry entry{}; - entry.flags = ((static_cast(ObjectSourceGame::RCT2) << 4) & 0xF0) | (EnumValue(objectType) & 0x0F); - entry.SetName(objectName); - entries.push_back(entry); - } - } - - std::vector GetRequiredObjects() - { - std::vector result; - AppendRequiredObjects(result, ObjectType::Ride, _rideEntries); - AppendRequiredObjects(result, ObjectType::SmallScenery, _smallSceneryEntries); - AppendRequiredObjects(result, ObjectType::LargeScenery, _largeSceneryEntries); - AppendRequiredObjects(result, ObjectType::Walls, _wallEntries); - AppendRequiredObjects(result, ObjectType::Paths, _pathEntries); - AppendRequiredObjects(result, ObjectType::PathBits, _pathAdditionEntries); - AppendRequiredObjects(result, ObjectType::SceneryGroup, _sceneryGroupEntries); - AppendRequiredObjects( - result, ObjectType::Banners, - std::vector({ - "BN1 ", - "BN2 ", - "BN3 ", - "BN4 ", - "BN5 ", - "BN6 ", - "BN7 ", - "BN8 ", - "BN9 ", - })); - AppendRequiredObjects(result, ObjectType::ParkEntrance, std::vector({ "PKENT1 " })); - AppendRequiredObjects(result, ObjectType::Water, _waterEntry); - return result; - } - - void ImportTileElements() - { - gMapBaseZ = 7; - - // Build tile pointer cache (needed to get the first element at a certain location) - auto tilePointerIndex = TilePointerIndex(RCT1_MAX_MAP_SIZE, _s4.tile_elements); - - std::vector tileElements; - for (TileCoordsXY coords = { 0, 0 }; coords.y < MAXIMUM_MAP_SIZE_TECHNICAL; coords.y++) - { - for (coords.x = 0; coords.x < MAXIMUM_MAP_SIZE_TECHNICAL; coords.x++) - { - if (coords.x >= RCT1_MAX_MAP_SIZE || coords.y >= RCT1_MAX_MAP_SIZE) - { - auto& dstElement = tileElements.emplace_back(); - dstElement.ClearAs(TILE_ELEMENT_TYPE_SURFACE); - dstElement.SetLastForTile(true); - } - else - { - // This is the equivalent of map_get_first_element_at(x, y), but on S4 data. - RCT12TileElement* srcElement = tilePointerIndex.GetFirstElementAt(coords); - do + int8_t bit = (_s4.patrol_areas[peepOffset + i] >> j) & 1; + if (bit == 0) { - if (srcElement->base_height == RCT12_MAX_ELEMENT_HEIGHT) - continue; - - // Reserve 8 elements for import - auto originalSize = tileElements.size(); - tileElements.resize(originalSize + 16); - auto dstElement = tileElements.data() + originalSize; - auto numAddedElements = ImportTileElement(dstElement, srcElement); - tileElements.resize(originalSize + numAddedElements); - } while (!(srcElement++)->IsLastForTile()); - - // Set last element flag in case the original last element was never added - if (tileElements.size() > 0) - { - tileElements.back().SetLastForTile(true); - } - } - } - } - - SetTileElements(std::move(tileElements)); - FixEntrancePositions(); - } - - size_t ImportTileElement(TileElement* dst, const RCT12TileElement* src) - { - // Todo: allow for changing definition of OpenRCT2 tile element types - replace with a map - uint8_t tileElementType = src->GetType(); - dst->ClearAs(tileElementType); - dst->SetDirection(src->GetDirection()); - - // All saved in "flags" - dst->SetOccupiedQuadrants(src->GetOccupiedQuadrants()); - // Skipping IsGhost, which appears to use a different flag in RCT1. - // This flag will be set by the caller. - dst->SetLastForTile(false); - - dst->SetBaseZ(src->base_height * RCT1_COORDS_Z_STEP); - dst->SetClearanceZ(src->clearance_height * RCT1_COORDS_Z_STEP); - - switch (tileElementType) - { - case TILE_ELEMENT_TYPE_SURFACE: - { - auto dst2 = dst->AsSurface(); - auto src2 = src->AsSurface(); - - dst2->SetSlope(src2->GetSlope()); - dst2->SetSurfaceStyle(RCT1::GetTerrain(src2->GetSurfaceStyle())); - dst2->SetEdgeStyle(RCT1::GetTerrainEdge(src2->GetEdgeStyle())); - dst2->SetGrassLength(src2->GetGrassLength()); - dst2->SetOwnership(src2->GetOwnership()); - dst2->SetParkFences(src2->GetParkFences()); - dst2->SetWaterHeight(src2->GetWaterHeight()); - dst2->SetHasTrackThatNeedsWater(src2->HasTrackThatNeedsWater()); - - return 1; - } - case TILE_ELEMENT_TYPE_PATH: - { - auto dst2 = dst->AsPath(); - auto src2 = src->AsPath(); - - dst2->SetQueueBannerDirection(src2->GetQueueBannerDirection()); - dst2->SetSloped(src2->IsSloped()); - dst2->SetSlopeDirection(src2->GetSlopeDirection()); - dst2->SetRideIndex(RCT12RideIdToOpenRCT2RideId(src2->GetRideIndex())); - dst2->SetStationIndex(src2->GetStationIndex()); - dst2->SetWide(src2->IsWide()); - dst2->SetHasQueueBanner(src2->HasQueueBanner()); - dst2->SetEdges(src2->GetEdges()); - dst2->SetCorners(src2->GetCorners()); - dst2->SetAddition(src2->GetAddition()); - dst2->SetAdditionIsGhost(false); - dst2->SetAdditionStatus(src2->GetAdditionStatus()); - - // Type - uint8_t pathType = src2->GetRCT1PathType(); - auto entryIndex = _pathTypeToEntryMap[pathType]; - - dst2->SetDirection(0); - dst2->SetIsBroken(false); - dst2->SetIsBlockedByVehicle(false); - - dst2->SetSurfaceEntryIndex(entryIndex); - dst2->SetShouldDrawPathOverSupports(true); - if (RCT1::PathIsQueue(pathType)) - { - dst2->SetIsQueue(true); - } - if (_gameVersion != FILE_VERSION_RCT1_LL) - { - dst2->SetRailingEntryIndex(0); - } - else - { - ObjectEntryIndex railingsEntryIndex; - switch (src2->GetRCT1SupportType()) - { - case RCT1_PATH_SUPPORT_TYPE_COATED_WOOD: - railingsEntryIndex = 3; - break; - case RCT1_PATH_SUPPORT_TYPE_SPACE: - railingsEntryIndex = 4; - break; - case RCT1_PATH_SUPPORT_TYPE_BAMBOO: - railingsEntryIndex = 5; - break; - case RCT1_PATH_SUPPORT_TYPE_TRUSS: - default: - railingsEntryIndex = 0; - } - dst2->SetRailingEntryIndex(railingsEntryIndex); - } - - // Additions - ObjectEntryIndex additionType = dst2->GetAddition(); - if (additionType != RCT1_PATH_ADDITION_NONE) - { - ObjectEntryIndex normalisedType = RCT1::NormalisePathAddition(additionType); - entryIndex = _pathAdditionTypeToEntryMap[normalisedType]; - if (additionType != normalisedType) - { - dst2->SetIsBroken(true); - } - dst2->SetAddition(entryIndex + 1); - } - return 1; - } - case TILE_ELEMENT_TYPE_TRACK: - { - auto dst2 = dst->AsTrack(); - auto src2 = src->AsTrack(); - const auto* ride = get_ride(RCT12RideIdToOpenRCT2RideId(src2->GetRideIndex())); - auto rideType = (ride != nullptr) ? ride->type : RIDE_TYPE_NULL; - - dst2->SetTrackType(RCT1TrackTypeToOpenRCT2(src2->GetTrackType(), rideType)); - dst2->SetSequenceIndex(src2->GetSequenceIndex()); - dst2->SetRideIndex(RCT12RideIdToOpenRCT2RideId(src2->GetRideIndex())); - dst2->SetColourScheme(src2->GetColourScheme()); - dst2->SetHasChain(src2->HasChain()); - dst2->SetHasCableLift(false); - dst2->SetInverted(src2->IsInverted()); - dst2->SetStationIndex(src2->GetStationIndex()); - dst2->SetHasGreenLight(src2->HasGreenLight()); - dst2->SetIsIndestructible(src2->IsIndestructible()); - if (rideType == RIDE_TYPE_GHOST_TRAIN) - { - dst2->SetDoorAState(src2->GetDoorAState()); - dst2->SetDoorBState(src2->GetDoorBState()); - } - else - { - dst2->SetSeatRotation(DEFAULT_SEAT_ROTATION); - } - // Skipping IsHighlighted() - - auto trackType = dst2->GetTrackType(); - if (TrackTypeHasSpeedSetting(trackType)) - { - dst2->SetBrakeBoosterSpeed(src2->GetBrakeBoosterSpeed()); - } - else if (trackType == TrackElemType::OnRidePhoto) - { - dst2->SetPhotoTimeout(src2->GetPhotoTimeout()); - } - - // This has to be done last, since the maze entry shares fields with the colour and sequence fields. - if (rideType == RIDE_TYPE_MAZE) - { - dst2->SetMazeEntry(src2->GetMazeEntry()); - } - - return 1; - } - case TILE_ELEMENT_TYPE_SMALL_SCENERY: - { - auto dst2 = dst->AsSmallScenery(); - auto src2 = src->AsSmallScenery(); - - auto entryIndex = _smallSceneryTypeToEntryMap[src2->GetEntryIndex()]; - dst2->SetEntryIndex(entryIndex); - dst2->SetAge(src2->GetAge()); - dst2->SetSceneryQuadrant(src2->GetSceneryQuadrant()); - dst2->SetPrimaryColour(RCT1::GetColour(src2->GetPrimaryColour())); - if (src2->NeedsSupports()) - dst2->SetNeedsSupports(); - - // Copied from [rct2: 0x006A2956] - switch (src2->GetEntryIndex()) - { - case RCT1_SCENERY_GEOMETRIC_SCULPTURE_1: - case RCT1_SCENERY_GEOMETRIC_SCULPTURE_2: - case RCT1_SCENERY_GEOMETRIC_SCULPTURE_3: - case RCT1_SCENERY_GEOMETRIC_SCULPTURE_4: - case RCT1_SCENERY_GEOMETRIC_SCULPTURE_5: - dst2->SetSecondaryColour(COLOUR_WHITE); - break; - case RCT1_SCENERY_TULIPS_1: - case RCT1_SCENERY_TULIPS_2: - dst2->SetPrimaryColour(COLOUR_BRIGHT_RED); - dst2->SetSecondaryColour(COLOUR_YELLOW); - break; - case RCT1_SCENERY_SMALL_RED_GARDENS: - dst2->SetPrimaryColour(COLOUR_BRIGHT_RED); - break; - } - - return 1; - } - case TILE_ELEMENT_TYPE_ENTRANCE: - { - auto dst2 = dst->AsEntrance(); - auto src2 = src->AsEntrance(); - - dst2->SetEntranceType(src2->GetEntranceType()); - dst2->SetRideIndex(RCT12RideIdToOpenRCT2RideId(src2->GetRideIndex())); - dst2->SetStationIndex(src2->GetStationIndex()); - dst2->SetSequenceIndex(src2->GetSequenceIndex()); - - if (src2->GetEntranceType() == ENTRANCE_TYPE_PARK_ENTRANCE) - { - auto pathType = src2->GetPathType(); - if (pathType == 0) - { - pathType = RCT1_FOOTPATH_TYPE_TARMAC_GRAY; - } - auto entryIndex = _pathTypeToEntryMap[pathType]; - dst2->SetPathType(entryIndex & 0x7F); - } - - return 1; - } - case TILE_ELEMENT_TYPE_WALL: - { - auto src2 = src->AsWall(); - auto slope = src2->GetRCT1Slope(); - size_t numAddedElements = 0; - - for (int32_t edge = 0; edge < 4; edge++) - { - int32_t type = src2->GetRCT1WallType(edge); - if (type == -1) + // No patrol for this area continue; - - colour_t colourA = RCT1::GetColour(src2->GetRCT1WallColour()); - colour_t colourB = COLOUR_BLACK; - colour_t colourC = COLOUR_BLACK; - ConvertWall(type, &colourA, &colourB); - - type = _wallTypeToEntryMap[type]; - auto baseZ = src->base_height * RCT1_COORDS_Z_STEP; - auto clearanceZ = src->clearance_height * RCT1_COORDS_Z_STEP; - auto edgeSlope = LandSlopeToWallSlope[slope][edge & 3]; - if (edgeSlope & (EDGE_SLOPE_UPWARDS | EDGE_SLOPE_DOWNWARDS)) - { - clearanceZ += LAND_HEIGHT_STEP; } - if (edgeSlope & EDGE_SLOPE_ELEVATED) + // val contains the 5 highest bits of both the x and y coordinates + int32_t val = j | (i << 3); + int32_t x = val & 0x1F; + x <<= 7; + int32_t y = val & 0x3E0; + y <<= 2; + staff_set_patrol_area(staffmember->StaffId, { x, y }, true); + } + } + } + + void ImportEntityCommonProperties(SpriteBase* dst, const RCT12SpriteBase* src) + { + dst->sprite_direction = src->sprite_direction; + dst->sprite_width = src->sprite_width; + dst->sprite_height_negative = src->sprite_height_negative; + dst->sprite_height_positive = src->sprite_height_positive; + dst->x = src->x; + dst->y = src->y; + dst->z = src->z; + } + + void ImportPeepSpawns() + { + gPeepSpawns.clear(); + for (size_t i = 0; i < RCT12_MAX_PEEP_SPAWNS; i++) + { + if (_s4.peep_spawn[i].x != RCT12_PEEP_SPAWN_UNDEFINED) + { + PeepSpawn spawn = { _s4.peep_spawn[i].x, _s4.peep_spawn[i].y, _s4.peep_spawn[i].z * 16, + _s4.peep_spawn[i].direction }; + gPeepSpawns.push_back(spawn); + } + } + } + + void ImportFinance() + { + gParkEntranceFee = _s4.park_entrance_fee; + gLandPrice = _s4.land_price; + gConstructionRightsPrice = _s4.construction_rights_price; + + gCash = ToMoney64(_s4.cash); + gBankLoan = ToMoney64(_s4.loan); + gMaxBankLoan = ToMoney64(_s4.max_loan); + // It's more like 1.33%, but we can only use integers. Can be fixed once we have our own save format. + gBankLoanInterestRate = 1; + gInitialCash = ToMoney64(_s4.cash); + + gCompanyValue = ToMoney64(_s4.company_value); + gParkValue = ToMoney64(CorrectRCT1ParkValue(_s4.park_value)); + gCurrentProfit = ToMoney64(_s4.profit); + + for (size_t i = 0; i < RCT12_FINANCE_GRAPH_SIZE; i++) + { + gCashHistory[i] = ToMoney64(_s4.cash_history[i]); + gParkValueHistory[i] = ToMoney64(CorrectRCT1ParkValue(_s4.park_value_history[i])); + gWeeklyProfitHistory[i] = ToMoney64(_s4.weekly_profit_history[i]); + } + + for (size_t i = 0; i < RCT12_EXPENDITURE_TABLE_MONTH_COUNT; i++) + { + for (size_t j = 0; j < RCT12_EXPENDITURE_TYPE_COUNT; j++) + { + gExpenditureTable[i][j] = ToMoney64(_s4.expenditure[i][j]); + } + } + gCurrentExpenditure = ToMoney64(_s4.total_expenditure); + + gScenarioCompletedCompanyValue = RCT12CompletedCompanyValueToOpenRCT2(_s4.completed_company_value); + gTotalAdmissions = _s4.num_admissions; + gTotalIncomeFromAdmissions = ToMoney64(_s4.admission_total_income); + + // TODO marketing campaigns not working + static_assert( + std::numeric_limits::max() > ADVERTISING_CAMPAIGN_COUNT, + "Advertising enum bigger than capacity of iterator"); + for (uint8_t i = 0; i < ADVERTISING_CAMPAIGN_COUNT; i++) + { + if (_s4.marketing_status[i] & CAMPAIGN_ACTIVE_FLAG) + { + MarketingCampaign campaign; + campaign.Type = i; + campaign.WeeksLeft = _s4.marketing_status[i] & ~CAMPAIGN_ACTIVE_FLAG; + if (campaign.Type == ADVERTISING_CAMPAIGN_RIDE_FREE || campaign.Type == ADVERTISING_CAMPAIGN_RIDE) { - edgeSlope &= ~EDGE_SLOPE_ELEVATED; - baseZ += LAND_HEIGHT_STEP; - clearanceZ += LAND_HEIGHT_STEP; + campaign.RideId = RCT12RideIdToOpenRCT2RideId(_s4.marketing_assoc[i]); } + else if (campaign.Type == ADVERTISING_CAMPAIGN_FOOD_OR_DRINK_FREE) + { + campaign.ShopItemType = ShopItem(_s4.marketing_assoc[i]); + } + gMarketingCampaigns.push_back(campaign); + } + } + } - dst->SetType(TILE_ELEMENT_TYPE_WALL); - dst->SetDirection(edge); - dst->SetBaseZ(baseZ); - dst->SetClearanceZ(clearanceZ); - // Will be set later. - dst->SetLastForTile(false); + void LoadObjects() + { + auto& objectManager = OpenRCT2::GetContext()->GetObjectManager(); + objectManager.LoadDefaultObjects(); - auto* wallElement = dst->AsWall(); - wallElement->SetEntryIndex(type); - wallElement->SetPrimaryColour(colourA); - wallElement->SetSecondaryColour(colourB); - wallElement->SetTertiaryColour(colourC); - wallElement->SetBannerIndex(BANNER_INDEX_NULL); - wallElement->SetAcrossTrack(false); - wallElement->SetAnimationIsBackwards(false); - wallElement->SetSlope(edgeSlope); + LoadObjects(ObjectType::Ride, _rideEntries); + LoadObjects(ObjectType::SmallScenery, _smallSceneryEntries); + LoadObjects(ObjectType::LargeScenery, _largeSceneryEntries); + LoadObjects(ObjectType::Walls, _wallEntries); + LoadObjects(ObjectType::Paths, _pathEntries); + LoadObjects(ObjectType::PathBits, _pathAdditionEntries); + LoadObjects(ObjectType::SceneryGroup, _sceneryGroupEntries); + LoadObjects( + ObjectType::Banners, + std::vector({ + "BN1 ", + "BN2 ", + "BN3 ", + "BN4 ", + "BN5 ", + "BN6 ", + "BN7 ", + "BN8 ", + "BN9 ", + })); + LoadObjects(ObjectType::ParkEntrance, std::vector({ "PKENT1 " })); + LoadObjects(ObjectType::Water, _waterEntry); + } - dst++; - numAddedElements++; + void LoadObjects(ObjectType objectType, const EntryList& entries) + { + LoadObjects(objectType, entries.GetEntries()); + } + + void LoadObjects(ObjectType objectType, const std::vector& entries) + { + auto& objectManager = OpenRCT2::GetContext()->GetObjectManager(); + + uint32_t entryIndex = 0; + for (const char* objectName : entries) + { + rct_object_entry entry; + entry.flags = 0x00008000 + EnumValue(objectType); + std::copy_n(objectName, 8, entry.name); + entry.checksum = 0; + + Object* object = objectManager.LoadObject(&entry); + if (object == nullptr && objectType != ObjectType::SceneryGroup) + { + log_error("Failed to load %s.", objectName); + throw std::runtime_error("Failed to load object."); } - return numAddedElements; + entryIndex++; } - case TILE_ELEMENT_TYPE_LARGE_SCENERY: + } + + void AppendRequiredObjects(std::vector& entries, ObjectType objectType, const EntryList& entryList) + { + AppendRequiredObjects(entries, objectType, entryList.GetEntries()); + } + + void AppendRequiredObjects( + std::vector& entries, ObjectType objectType, const std::vector& objectNames) + { + for (const auto objectName : objectNames) { - auto dst2 = dst->AsLargeScenery(); - auto src2 = src->AsLargeScenery(); - - auto type = src2->GetEntryIndex(); - dst2->SetEntryIndex(_largeSceneryTypeToEntryMap[type]); - dst2->SetSequenceIndex(src2->GetSequenceIndex()); - dst2->SetPrimaryColour(RCT1::GetColour(src2->GetPrimaryColour())); - dst2->SetSecondaryColour(RCT1::GetColour(src2->GetSecondaryColour())); - - return 1; + rct_object_entry entry{}; + entry.flags = ((static_cast(ObjectSourceGame::RCT2) << 4) & 0xF0) | (EnumValue(objectType) & 0x0F); + entry.SetName(objectName); + entries.push_back(entry); } - case TILE_ELEMENT_TYPE_BANNER: + } + + std::vector GetRequiredObjects() + { + std::vector result; + AppendRequiredObjects(result, ObjectType::Ride, _rideEntries); + AppendRequiredObjects(result, ObjectType::SmallScenery, _smallSceneryEntries); + AppendRequiredObjects(result, ObjectType::LargeScenery, _largeSceneryEntries); + AppendRequiredObjects(result, ObjectType::Walls, _wallEntries); + AppendRequiredObjects(result, ObjectType::Paths, _pathEntries); + AppendRequiredObjects(result, ObjectType::PathBits, _pathAdditionEntries); + AppendRequiredObjects(result, ObjectType::SceneryGroup, _sceneryGroupEntries); + AppendRequiredObjects( + result, ObjectType::Banners, + std::vector({ + "BN1 ", + "BN2 ", + "BN3 ", + "BN4 ", + "BN5 ", + "BN6 ", + "BN7 ", + "BN8 ", + "BN9 ", + })); + AppendRequiredObjects(result, ObjectType::ParkEntrance, std::vector({ "PKENT1 " })); + AppendRequiredObjects(result, ObjectType::Water, _waterEntry); + return result; + } + + void ImportTileElements() + { + gMapBaseZ = 7; + + // Build tile pointer cache (needed to get the first element at a certain location) + auto tilePointerIndex = TilePointerIndex(RCT1_MAX_MAP_SIZE, _s4.tile_elements); + + std::vector tileElements; + for (TileCoordsXY coords = { 0, 0 }; coords.y < MAXIMUM_MAP_SIZE_TECHNICAL; coords.y++) { - auto dst2 = dst->AsBanner(); - auto src2 = src->AsBanner(); - - dst2->SetPosition(src2->GetPosition()); - dst2->SetAllowedEdges(src2->GetAllowedEdges()); - - auto index = src2->GetIndex(); - if (index < std::size(_s4.banners)) + for (coords.x = 0; coords.x < MAXIMUM_MAP_SIZE_TECHNICAL; coords.x++) { - auto srcBanner = &_s4.banners[index]; - auto dstBanner = GetOrCreateBanner(index); - if (dstBanner == nullptr) + if (coords.x >= RCT1_MAX_MAP_SIZE || coords.y >= RCT1_MAX_MAP_SIZE) { - dst2->SetIndex(BANNER_INDEX_NULL); + auto& dstElement = tileElements.emplace_back(); + dstElement.ClearAs(TILE_ELEMENT_TYPE_SURFACE); + dstElement.SetLastForTile(true); } else { - ImportBanner(dstBanner, srcBanner); - dst2->SetIndex(index); + // This is the equivalent of map_get_first_element_at(x, y), but on S4 data. + RCT12TileElement* srcElement = tilePointerIndex.GetFirstElementAt(coords); + do + { + if (srcElement->base_height == RCT12_MAX_ELEMENT_HEIGHT) + continue; + + // Reserve 8 elements for import + auto originalSize = tileElements.size(); + tileElements.resize(originalSize + 16); + auto dstElement = tileElements.data() + originalSize; + auto numAddedElements = ImportTileElement(dstElement, srcElement); + tileElements.resize(originalSize + numAddedElements); + } while (!(srcElement++)->IsLastForTile()); + + // Set last element flag in case the original last element was never added + if (tileElements.size() > 0) + { + tileElements.back().SetLastForTile(true); + } } } + } + + SetTileElements(std::move(tileElements)); + FixEntrancePositions(); + } + + size_t ImportTileElement(TileElement* dst, const RCT12TileElement* src) + { + // Todo: allow for changing definition of OpenRCT2 tile element types - replace with a map + uint8_t tileElementType = src->GetType(); + dst->ClearAs(tileElementType); + dst->SetDirection(src->GetDirection()); + + // All saved in "flags" + dst->SetOccupiedQuadrants(src->GetOccupiedQuadrants()); + // Skipping IsGhost, which appears to use a different flag in RCT1. + // This flag will be set by the caller. + dst->SetLastForTile(false); + + dst->SetBaseZ(src->base_height * RCT1_COORDS_Z_STEP); + dst->SetClearanceZ(src->clearance_height * RCT1_COORDS_Z_STEP); + + switch (tileElementType) + { + case TILE_ELEMENT_TYPE_SURFACE: + { + auto dst2 = dst->AsSurface(); + auto src2 = src->AsSurface(); + + dst2->SetSlope(src2->GetSlope()); + dst2->SetSurfaceStyle(RCT1::GetTerrain(src2->GetSurfaceStyle())); + dst2->SetEdgeStyle(RCT1::GetTerrainEdge(src2->GetEdgeStyle())); + dst2->SetGrassLength(src2->GetGrassLength()); + dst2->SetOwnership(src2->GetOwnership()); + dst2->SetParkFences(src2->GetParkFences()); + dst2->SetWaterHeight(src2->GetWaterHeight()); + dst2->SetHasTrackThatNeedsWater(src2->HasTrackThatNeedsWater()); + + return 1; + } + case TILE_ELEMENT_TYPE_PATH: + { + auto dst2 = dst->AsPath(); + auto src2 = src->AsPath(); + + dst2->SetQueueBannerDirection(src2->GetQueueBannerDirection()); + dst2->SetSloped(src2->IsSloped()); + dst2->SetSlopeDirection(src2->GetSlopeDirection()); + dst2->SetRideIndex(RCT12RideIdToOpenRCT2RideId(src2->GetRideIndex())); + dst2->SetStationIndex(src2->GetStationIndex()); + dst2->SetWide(src2->IsWide()); + dst2->SetHasQueueBanner(src2->HasQueueBanner()); + dst2->SetEdges(src2->GetEdges()); + dst2->SetCorners(src2->GetCorners()); + dst2->SetAddition(src2->GetAddition()); + dst2->SetAdditionIsGhost(false); + dst2->SetAdditionStatus(src2->GetAdditionStatus()); + + // Type + uint8_t pathType = src2->GetRCT1PathType(); + auto entryIndex = _pathTypeToEntryMap[pathType]; + + dst2->SetDirection(0); + dst2->SetIsBroken(false); + dst2->SetIsBlockedByVehicle(false); + + dst2->SetSurfaceEntryIndex(entryIndex); + dst2->SetShouldDrawPathOverSupports(true); + if (RCT1::PathIsQueue(pathType)) + { + dst2->SetIsQueue(true); + } + if (_gameVersion != FILE_VERSION_RCT1_LL) + { + dst2->SetRailingEntryIndex(0); + } + else + { + ObjectEntryIndex railingsEntryIndex; + switch (src2->GetRCT1SupportType()) + { + case RCT1_PATH_SUPPORT_TYPE_COATED_WOOD: + railingsEntryIndex = 3; + break; + case RCT1_PATH_SUPPORT_TYPE_SPACE: + railingsEntryIndex = 4; + break; + case RCT1_PATH_SUPPORT_TYPE_BAMBOO: + railingsEntryIndex = 5; + break; + case RCT1_PATH_SUPPORT_TYPE_TRUSS: + default: + railingsEntryIndex = 0; + } + dst2->SetRailingEntryIndex(railingsEntryIndex); + } + + // Additions + ObjectEntryIndex additionType = dst2->GetAddition(); + if (additionType != RCT1_PATH_ADDITION_NONE) + { + ObjectEntryIndex normalisedType = RCT1::NormalisePathAddition(additionType); + entryIndex = _pathAdditionTypeToEntryMap[normalisedType]; + if (additionType != normalisedType) + { + dst2->SetIsBroken(true); + } + dst2->SetAddition(entryIndex + 1); + } + return 1; + } + case TILE_ELEMENT_TYPE_TRACK: + { + auto dst2 = dst->AsTrack(); + auto src2 = src->AsTrack(); + const auto* ride = get_ride(RCT12RideIdToOpenRCT2RideId(src2->GetRideIndex())); + auto rideType = (ride != nullptr) ? ride->type : RIDE_TYPE_NULL; + + dst2->SetTrackType(RCT1TrackTypeToOpenRCT2(src2->GetTrackType(), rideType)); + dst2->SetSequenceIndex(src2->GetSequenceIndex()); + dst2->SetRideIndex(RCT12RideIdToOpenRCT2RideId(src2->GetRideIndex())); + dst2->SetColourScheme(src2->GetColourScheme()); + dst2->SetHasChain(src2->HasChain()); + dst2->SetHasCableLift(false); + dst2->SetInverted(src2->IsInverted()); + dst2->SetStationIndex(src2->GetStationIndex()); + dst2->SetHasGreenLight(src2->HasGreenLight()); + dst2->SetIsIndestructible(src2->IsIndestructible()); + if (rideType == RIDE_TYPE_GHOST_TRAIN) + { + dst2->SetDoorAState(src2->GetDoorAState()); + dst2->SetDoorBState(src2->GetDoorBState()); + } + else + { + dst2->SetSeatRotation(DEFAULT_SEAT_ROTATION); + } + // Skipping IsHighlighted() + + auto trackType = dst2->GetTrackType(); + if (TrackTypeHasSpeedSetting(trackType)) + { + dst2->SetBrakeBoosterSpeed(src2->GetBrakeBoosterSpeed()); + } + else if (trackType == TrackElemType::OnRidePhoto) + { + dst2->SetPhotoTimeout(src2->GetPhotoTimeout()); + } + + // This has to be done last, since the maze entry shares fields with the colour and sequence fields. + if (rideType == RIDE_TYPE_MAZE) + { + dst2->SetMazeEntry(src2->GetMazeEntry()); + } + + return 1; + } + case TILE_ELEMENT_TYPE_SMALL_SCENERY: + { + auto dst2 = dst->AsSmallScenery(); + auto src2 = src->AsSmallScenery(); + + auto entryIndex = _smallSceneryTypeToEntryMap[src2->GetEntryIndex()]; + dst2->SetEntryIndex(entryIndex); + dst2->SetAge(src2->GetAge()); + dst2->SetSceneryQuadrant(src2->GetSceneryQuadrant()); + dst2->SetPrimaryColour(RCT1::GetColour(src2->GetPrimaryColour())); + if (src2->NeedsSupports()) + dst2->SetNeedsSupports(); + + // Copied from [rct2: 0x006A2956] + switch (src2->GetEntryIndex()) + { + case RCT1_SCENERY_GEOMETRIC_SCULPTURE_1: + case RCT1_SCENERY_GEOMETRIC_SCULPTURE_2: + case RCT1_SCENERY_GEOMETRIC_SCULPTURE_3: + case RCT1_SCENERY_GEOMETRIC_SCULPTURE_4: + case RCT1_SCENERY_GEOMETRIC_SCULPTURE_5: + dst2->SetSecondaryColour(COLOUR_WHITE); + break; + case RCT1_SCENERY_TULIPS_1: + case RCT1_SCENERY_TULIPS_2: + dst2->SetPrimaryColour(COLOUR_BRIGHT_RED); + dst2->SetSecondaryColour(COLOUR_YELLOW); + break; + case RCT1_SCENERY_SMALL_RED_GARDENS: + dst2->SetPrimaryColour(COLOUR_BRIGHT_RED); + break; + } + + return 1; + } + case TILE_ELEMENT_TYPE_ENTRANCE: + { + auto dst2 = dst->AsEntrance(); + auto src2 = src->AsEntrance(); + + dst2->SetEntranceType(src2->GetEntranceType()); + dst2->SetRideIndex(RCT12RideIdToOpenRCT2RideId(src2->GetRideIndex())); + dst2->SetStationIndex(src2->GetStationIndex()); + dst2->SetSequenceIndex(src2->GetSequenceIndex()); + + if (src2->GetEntranceType() == ENTRANCE_TYPE_PARK_ENTRANCE) + { + auto pathType = src2->GetPathType(); + if (pathType == 0) + { + pathType = RCT1_FOOTPATH_TYPE_TARMAC_GRAY; + } + auto entryIndex = _pathTypeToEntryMap[pathType]; + dst2->SetPathType(entryIndex & 0x7F); + } + + return 1; + } + case TILE_ELEMENT_TYPE_WALL: + { + auto src2 = src->AsWall(); + auto slope = src2->GetRCT1Slope(); + size_t numAddedElements = 0; + + for (int32_t edge = 0; edge < 4; edge++) + { + int32_t type = src2->GetRCT1WallType(edge); + if (type == -1) + continue; + + colour_t colourA = RCT1::GetColour(src2->GetRCT1WallColour()); + colour_t colourB = COLOUR_BLACK; + colour_t colourC = COLOUR_BLACK; + ConvertWall(type, &colourA, &colourB); + + type = _wallTypeToEntryMap[type]; + auto baseZ = src->base_height * RCT1_COORDS_Z_STEP; + auto clearanceZ = src->clearance_height * RCT1_COORDS_Z_STEP; + auto edgeSlope = LandSlopeToWallSlope[slope][edge & 3]; + if (edgeSlope & (EDGE_SLOPE_UPWARDS | EDGE_SLOPE_DOWNWARDS)) + { + clearanceZ += LAND_HEIGHT_STEP; + } + if (edgeSlope & EDGE_SLOPE_ELEVATED) + { + edgeSlope &= ~EDGE_SLOPE_ELEVATED; + baseZ += LAND_HEIGHT_STEP; + clearanceZ += LAND_HEIGHT_STEP; + } + + dst->SetType(TILE_ELEMENT_TYPE_WALL); + dst->SetDirection(edge); + dst->SetBaseZ(baseZ); + dst->SetClearanceZ(clearanceZ); + // Will be set later. + dst->SetLastForTile(false); + + auto* wallElement = dst->AsWall(); + wallElement->SetEntryIndex(type); + wallElement->SetPrimaryColour(colourA); + wallElement->SetSecondaryColour(colourB); + wallElement->SetTertiaryColour(colourC); + wallElement->SetBannerIndex(BANNER_INDEX_NULL); + wallElement->SetAcrossTrack(false); + wallElement->SetAnimationIsBackwards(false); + wallElement->SetSlope(edgeSlope); + + dst++; + numAddedElements++; + } + + return numAddedElements; + } + case TILE_ELEMENT_TYPE_LARGE_SCENERY: + { + auto dst2 = dst->AsLargeScenery(); + auto src2 = src->AsLargeScenery(); + + auto type = src2->GetEntryIndex(); + dst2->SetEntryIndex(_largeSceneryTypeToEntryMap[type]); + dst2->SetSequenceIndex(src2->GetSequenceIndex()); + dst2->SetPrimaryColour(RCT1::GetColour(src2->GetPrimaryColour())); + dst2->SetSecondaryColour(RCT1::GetColour(src2->GetSecondaryColour())); + + return 1; + } + case TILE_ELEMENT_TYPE_BANNER: + { + auto dst2 = dst->AsBanner(); + auto src2 = src->AsBanner(); + + dst2->SetPosition(src2->GetPosition()); + dst2->SetAllowedEdges(src2->GetAllowedEdges()); + + auto index = src2->GetIndex(); + if (index < std::size(_s4.banners)) + { + auto srcBanner = &_s4.banners[index]; + auto dstBanner = GetOrCreateBanner(index); + if (dstBanner == nullptr) + { + dst2->SetIndex(BANNER_INDEX_NULL); + } + else + { + ImportBanner(dstBanner, srcBanner); + dst2->SetIndex(index); + } + } + else + { + dst2->SetIndex(BANNER_INDEX_NULL); + } + return 1; + } + default: + assert(false); + } + + return 0; + } + + void ImportResearch() + { + // All available objects must be loaded before this method is called as it + // requires them to correctly insert objects into the research list + + research_reset_items(); + + size_t researchListCount; + const rct1_research_item* researchList = GetResearchList(&researchListCount); + + // Initialise the "seen" tables + _researchRideEntryUsed.reset(); + _researchRideTypeUsed.reset(); + + // The first six scenery groups are always available + for (uint8_t i = 0; i < 6; i++) + { + research_insert_scenery_group_entry(i, true); + } + + bool researched = true; + std::bitset rideTypeInResearch = GetRideTypesPresentInResearchList( + researchList, researchListCount); + std::vector vehiclesWithMissingRideTypes; + for (size_t i = 0; i < researchListCount; i++) + { + const rct1_research_item* researchItem = &researchList[i]; + if (researchItem->flags == RCT1_RESEARCH_FLAGS_SEPARATOR) + { + if (researchItem->item == RCT1_RESEARCH_END_AVAILABLE) + { + researched = false; + continue; + } + // We don't import the random items yet. + else if (researchItem->item == RCT1_RESEARCH_END_RESEARCHABLE || researchItem->item == RCT1_RESEARCH_END) + { + break; + } + } + + switch (researchItem->type) + { + case RCT1_RESEARCH_TYPE_THEME: + { + uint8_t rct1SceneryTheme = researchItem->item; + auto sceneryGroupEntryIndex = _sceneryThemeTypeToEntryMap[rct1SceneryTheme]; + if (sceneryGroupEntryIndex != OBJECT_ENTRY_INDEX_IGNORE + && sceneryGroupEntryIndex != OBJECT_ENTRY_INDEX_NULL) + { + research_insert_scenery_group_entry(sceneryGroupEntryIndex, researched); + } + break; + } + case RCT1_RESEARCH_TYPE_RIDE: + { + uint8_t rct1RideType = researchItem->item; + _researchRideTypeUsed[rct1RideType] = true; + + auto ownRideEntryIndex = _rideTypeToRideEntryMap[rct1RideType]; + Guard::Assert( + ownRideEntryIndex != OBJECT_ENTRY_INDEX_NULL, "ownRideEntryIndex was OBJECT_ENTRY_INDEX_NULL"); + + bool foundOwnType = false; + // If the ride type does not use vehicles, no point looking for them in the research list. + if (RCT1::RideTypeUsesVehicles(rct1RideType)) + { + // Add all vehicles for this ride type that are researched or before this research item + for (size_t j = 0; j < researchListCount; j++) + { + const rct1_research_item* researchItem2 = &researchList[j]; + if (researchItem2->flags == RCT1_RESEARCH_FLAGS_SEPARATOR) + { + if (researchItem2->item == RCT1_RESEARCH_END_RESEARCHABLE + || researchItem2->item == RCT1_RESEARCH_END) + { + break; + } + + continue; + } + + if (researchItem2->type == RCT1_RESEARCH_TYPE_VEHICLE + && researchItem2->related_ride == rct1RideType) + { + auto rideEntryIndex2 = _vehicleTypeToRideEntryMap[researchItem2->item]; + bool isOwnType = (ownRideEntryIndex == rideEntryIndex2); + if (isOwnType) + { + foundOwnType = true; + } + + // Only add the vehicles that were listed before this ride, otherwise we might + // change the research order + if (j < i && (researched || isOwnType)) + { + InsertResearchVehicle(researchItem2, researched); + } + } + } + } + + if (!foundOwnType) + { + if (!_researchRideEntryUsed[ownRideEntryIndex]) + { + _researchRideEntryUsed[ownRideEntryIndex] = true; + research_insert_ride_entry(ownRideEntryIndex, researched); + } + } + + break; + } + case RCT1_RESEARCH_TYPE_VEHICLE: + { + // Only add vehicle if the related ride has been seen, this to make sure that vehicles + // are researched only after the ride has been researched. Otherwise, remove them from the research + // list, so that they are automatically co-invented when their master ride is invented. + if (_researchRideTypeUsed[researchItem->related_ride]) + { + InsertResearchVehicle(researchItem, researched); + } + else if (!rideTypeInResearch[researchItem->related_ride] && _gameVersion == FILE_VERSION_RCT1_LL) + { + vehiclesWithMissingRideTypes.push_back(*researchItem); + } + + break; + } + case RCT1_RESEARCH_TYPE_SPECIAL: + // Not supported + break; + } + } + for (const rct1_research_item& researchItem : vehiclesWithMissingRideTypes) + { + InsertResearchVehicle(&researchItem, false); + } + + // Research funding / priority + uint8_t activeResearchTypes = 0; + if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_ROLLERCOASTERS) + { + activeResearchTypes |= EnumToFlag(ResearchCategory::Rollercoaster); + } + if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_THRILL_RIDES) + { + activeResearchTypes |= EnumToFlag(ResearchCategory::Thrill); + activeResearchTypes |= EnumToFlag(ResearchCategory::Water); + } + if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_GENTLE_TRANSPORT_RIDES) + { + activeResearchTypes |= EnumToFlag(ResearchCategory::Gentle); + activeResearchTypes |= EnumToFlag(ResearchCategory::Transport); + } + if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_SHOPS) + { + activeResearchTypes |= EnumToFlag(ResearchCategory::Shop); + } + if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_SCENERY_THEMING) + { + activeResearchTypes |= EnumToFlag(ResearchCategory::SceneryGroup); + } + gResearchPriorities = activeResearchTypes; + gResearchFundingLevel = _s4.research_level; + + // This will mark items as researched/unresearched according to the research list. + // This needs to be called before importing progress, as it will reset it. + research_reset_current_item(); + + // Research history + gResearchProgress = _s4.research_progress; + gResearchProgressStage = _s4.research_progress_stage; + gResearchExpectedDay = _s4.next_research_expected_day; + gResearchExpectedMonth = _s4.next_research_expected_month; + + if (_s4.last_research_flags == 0xFF) + { + gResearchLastItem = std::nullopt; + } + else + { + ResearchItem researchItem = {}; + ConvertResearchEntry(&researchItem, _s4.last_research_item, _s4.last_research_type); + gResearchLastItem = researchItem; + } + + if (_s4.next_research_flags == 0xFF) + { + gResearchNextItem = std::nullopt; + gResearchProgressStage = RESEARCH_STAGE_INITIAL_RESEARCH; + gResearchProgress = 0; + } + else + { + ResearchItem researchItem = {}; + ConvertResearchEntry(&researchItem, _s4.next_research_item, _s4.next_research_type); + gResearchNextItem = researchItem; + } + } + + static std::bitset GetRideTypesPresentInResearchList( + const rct1_research_item* researchList, size_t researchListCount) + { + std::bitset ret = {}; + + for (size_t i = 0; i < researchListCount; i++) + { + const rct1_research_item* researchItem = &researchList[i]; + if (researchItem->flags == RCT1_RESEARCH_FLAGS_SEPARATOR) + { + if (researchItem->item == RCT1_RESEARCH_END_AVAILABLE + || researchItem->item == RCT1_RESEARCH_END_RESEARCHABLE) + { + continue; + } + else if (researchItem->item == RCT1_RESEARCH_END) + { + break; + } + } + + if (researchItem->type == RCT1_RESEARCH_TYPE_RIDE) + { + ret[researchItem->item] = true; + } + } + + return ret; + } + + void InsertResearchVehicle(const rct1_research_item* researchItem, bool researched) + { + uint8_t vehicle = researchItem->item; + auto rideEntryIndex = _vehicleTypeToRideEntryMap[vehicle]; + + if (!_researchRideEntryUsed[rideEntryIndex]) + { + _researchRideEntryUsed[rideEntryIndex] = true; + research_insert_ride_entry(rideEntryIndex, researched); + } + } + + void ImportParkName() + { + std::string parkName = std::string(_s4.scenario_name); + if (is_user_string_id(static_cast(_s4.park_name_string_index))) + { + std::string userString = GetUserString(_s4.park_name_string_index); + if (!userString.empty()) + { + parkName = userString; + } + } + + auto& park = GetContext()->GetGameState()->GetPark(); + park.Name = parkName; + } + + void ImportParkFlags() + { + // Date and srand + gScenarioTicks = _s4.ticks; + scenario_rand_seed(_s4.random_a, _s4.random_b); + gDateMonthsElapsed = static_cast(_s4.month); + gDateMonthTicks = _s4.day; + + // Park rating + gParkRating = _s4.park_rating; + for (size_t i = 0; i < 32; i++) + { + gParkRatingHistory[i] = _s4.park_rating_history[i]; + } + + // Awards + for (int32_t i = 0; i < RCT12_MAX_AWARDS; i++) + { + rct12_award* src = &_s4.awards[i]; + Award* dst = &gCurrentAwards[i]; + dst->Time = src->time; + dst->Type = src->type; + } + + // Number of guests history + for (size_t i = 0; i < 32; i++) + { + gGuestsInParkHistory[i] = _s4.guests_in_park_history[i]; + } + + // News items + for (size_t i = 0; i < RCT12_MAX_NEWS_ITEMS; i++) + { + const rct12_news_item* src = &_s4.messages[i]; + News::Item* dst = &gNewsItems[i]; + + dst->Type = static_cast(src->Type); + dst->Flags = src->Flags; + dst->Ticks = src->Ticks; + dst->MonthYear = src->MonthYear; + dst->Day = src->Day; + dst->Text = ConvertFormattedStringToOpenRCT2(std::string_view(src->Text, sizeof(src->Text))); + + if (dst->Type == News::ItemType::Research) + { + uint8_t researchItem = src->Assoc & 0x000000FF; + uint8_t researchType = (src->Assoc & 0x00FF0000) >> 16; + + ResearchItem tmpResearchItem = {}; + ConvertResearchEntry(&tmpResearchItem, researchItem, researchType); + dst->Assoc = tmpResearchItem.rawValue; + } else { - dst2->SetIndex(BANNER_INDEX_NULL); - } - return 1; - } - default: - assert(false); - } - - return 0; - } - - void ImportResearch() - { - // All available objects must be loaded before this method is called as it - // requires them to correctly insert objects into the research list - - research_reset_items(); - - size_t researchListCount; - const rct1_research_item* researchList = GetResearchList(&researchListCount); - - // Initialise the "seen" tables - _researchRideEntryUsed.reset(); - _researchRideTypeUsed.reset(); - - // The first six scenery groups are always available - for (uint8_t i = 0; i < 6; i++) - { - research_insert_scenery_group_entry(i, true); - } - - bool researched = true; - std::bitset rideTypeInResearch = GetRideTypesPresentInResearchList( - researchList, researchListCount); - std::vector vehiclesWithMissingRideTypes; - for (size_t i = 0; i < researchListCount; i++) - { - const rct1_research_item* researchItem = &researchList[i]; - if (researchItem->flags == RCT1_RESEARCH_FLAGS_SEPARATOR) - { - if (researchItem->item == RCT1_RESEARCH_END_AVAILABLE) - { - researched = false; - continue; - } - // We don't import the random items yet. - else if (researchItem->item == RCT1_RESEARCH_END_RESEARCHABLE || researchItem->item == RCT1_RESEARCH_END) - { - break; + dst->Assoc = src->Assoc; } } - switch (researchItem->type) + // Initial guest status + gGuestInitialCash = _s4.guest_initial_cash; + gGuestInitialHunger = _s4.guest_initial_hunger; + gGuestInitialThirst = _s4.guest_initial_thirst; + gGuestInitialHappiness = _s4.guest_initial_happiness; + + _guestGenerationProbability = _s4.guest_generation_probability; + + // Staff colours + gStaffHandymanColour = RCT1::GetColour(_s4.handman_colour); + gStaffMechanicColour = RCT1::GetColour(_s4.mechanic_colour); + gStaffSecurityColour = RCT1::GetColour(_s4.security_guard_colour); + + // Flags + gParkFlags = _s4.park_flags; + gParkFlags &= ~PARK_FLAGS_ANTI_CHEAT_DEPRECATED; + // Loopy Landscape parks can set a flag to lock the entry price to free. + // If this flag is not set, the player can ask money for both rides and entry. + if (!(_s4.park_flags & RCT1_PARK_FLAGS_PARK_ENTRY_LOCKED_AT_FREE)) { - case RCT1_RESEARCH_TYPE_THEME: + gParkFlags |= PARK_FLAGS_UNLOCK_ALL_PRICES; + } + + // RCT2 uses two flags for no money (due to the scenario editor). RCT1 used only one. + // Copy its value to make no money scenarios such as Arid Heights work properly. + if (_s4.park_flags & RCT1_PARK_FLAGS_NO_MONEY) + { + gParkFlags |= PARK_FLAGS_NO_MONEY_SCENARIO; + } + + gParkSize = _s4.park_size; + gTotalRideValueForMoney = _s4.total_ride_value_for_money; + } + + void ConvertResearchEntry(ResearchItem* dst, uint8_t srcItem, uint8_t srcType) + { + dst->SetNull(); + if (srcType == RCT1_RESEARCH_TYPE_RIDE) + { + auto entryIndex = _rideTypeToRideEntryMap[srcItem]; + + if (entryIndex != OBJECT_ENTRY_INDEX_NULL) { - uint8_t rct1SceneryTheme = researchItem->item; - auto sceneryGroupEntryIndex = _sceneryThemeTypeToEntryMap[rct1SceneryTheme]; - if (sceneryGroupEntryIndex != OBJECT_ENTRY_INDEX_IGNORE - && sceneryGroupEntryIndex != OBJECT_ENTRY_INDEX_NULL) + rct_ride_entry* rideEntry = get_ride_entry(entryIndex); + + if (rideEntry != nullptr) { - research_insert_scenery_group_entry(sceneryGroupEntryIndex, researched); + auto rideType = ride_entry_get_first_non_null_ride_type(rideEntry); + dst->entryIndex = entryIndex; + dst->baseRideType = rideType; + dst->type = Research::EntryType::Ride; + dst->flags = 0; + dst->category = GetRideTypeDescriptor(rideType).GetResearchCategory(); } - break; } - case RCT1_RESEARCH_TYPE_RIDE: + } + else if (srcType == RCT1_RESEARCH_TYPE_VEHICLE) + { + auto entryIndex = _vehicleTypeToRideEntryMap[srcItem]; + + if (entryIndex != OBJECT_ENTRY_INDEX_NULL) { - uint8_t rct1RideType = researchItem->item; - _researchRideTypeUsed[rct1RideType] = true; + rct_ride_entry* rideEntry = get_ride_entry(entryIndex); - auto ownRideEntryIndex = _rideTypeToRideEntryMap[rct1RideType]; - Guard::Assert( - ownRideEntryIndex != OBJECT_ENTRY_INDEX_NULL, "ownRideEntryIndex was OBJECT_ENTRY_INDEX_NULL"); - - bool foundOwnType = false; - // If the ride type does not use vehicles, no point looking for them in the research list. - if (RCT1::RideTypeUsesVehicles(rct1RideType)) + if (rideEntry != nullptr) { - // Add all vehicles for this ride type that are researched or before this research item - for (size_t j = 0; j < researchListCount; j++) + auto rideType = ride_entry_get_first_non_null_ride_type(rideEntry); + dst->entryIndex = entryIndex; + dst->baseRideType = rideType; + dst->type = Research::EntryType::Ride; + dst->flags = 0; + dst->category = GetRideTypeDescriptor(rideType).GetResearchCategory(); + } + } + } + else if (srcType == RCT1_RESEARCH_TYPE_THEME) + { + auto entryIndex = _sceneryThemeTypeToEntryMap[srcItem]; + + if (entryIndex != OBJECT_ENTRY_INDEX_IGNORE && entryIndex != OBJECT_ENTRY_INDEX_NULL) + { + dst->entryIndex = entryIndex; + dst->type = Research::EntryType::Scenery; + dst->category = ResearchCategory::SceneryGroup; + dst->flags = 0; + } + } + } + + void ImportClimate() + { + gClimate = ClimateType{ _s4.climate }; + gClimateUpdateTimer = _s4.climate_timer; + gClimateCurrent.Temperature = _s4.temperature; + gClimateCurrent.Weather = WeatherType{ _s4.weather }; + gClimateCurrent.WeatherEffect = WeatherEffectType::None; + gClimateCurrent.WeatherGloom = _s4.weather_gloom; + gClimateCurrent.Level = static_cast(_s4.rain); + gClimateNext.Temperature = _s4.target_temperature; + gClimateNext.Weather = WeatherType{ _s4.target_weather }; + gClimateNext.WeatherEffect = WeatherEffectType::None; + gClimateNext.WeatherGloom = _s4.target_weather_gloom; + gClimateNext.Level = static_cast(_s4.target_rain); + } + + void ImportScenarioNameDetails() + { + std::string name = String::ToStd(_s4.scenario_name); + std::string details; + + int32_t scNumber = _s4.scenario_slot_index; + if (scNumber != -1) + { + source_desc sourceDesc; + if (ScenarioSources::TryGetById(scNumber, &sourceDesc)) + { + rct_string_id localisedStringIds[3]; + if (language_get_localised_scenario_strings(sourceDesc.title, localisedStringIds)) + { + if (localisedStringIds[0] != STR_NONE) { - const rct1_research_item* researchItem2 = &researchList[j]; - if (researchItem2->flags == RCT1_RESEARCH_FLAGS_SEPARATOR) - { - if (researchItem2->item == RCT1_RESEARCH_END_RESEARCHABLE - || researchItem2->item == RCT1_RESEARCH_END) - { - break; - } - - continue; - } - - if (researchItem2->type == RCT1_RESEARCH_TYPE_VEHICLE - && researchItem2->related_ride == rct1RideType) - { - auto rideEntryIndex2 = _vehicleTypeToRideEntryMap[researchItem2->item]; - bool isOwnType = (ownRideEntryIndex == rideEntryIndex2); - if (isOwnType) - { - foundOwnType = true; - } - - // Only add the vehicles that were listed before this ride, otherwise we might - // change the research order - if (j < i && (researched || isOwnType)) - { - InsertResearchVehicle(researchItem2, researched); - } - } + name = String::ToStd(language_get_string(localisedStringIds[0])); + } + if (localisedStringIds[2] != STR_NONE) + { + details = String::ToStd(language_get_string(localisedStringIds[2])); } } - - if (!foundOwnType) - { - if (!_researchRideEntryUsed[ownRideEntryIndex]) - { - _researchRideEntryUsed[ownRideEntryIndex] = true; - research_insert_ride_entry(ownRideEntryIndex, researched); - } - } - - break; } - case RCT1_RESEARCH_TYPE_VEHICLE: - { - // Only add vehicle if the related ride has been seen, this to make sure that vehicles - // are researched only after the ride has been researched. Otherwise, remove them from the research list, - // so that they are automatically co-invented when their master ride is invented. - if (_researchRideTypeUsed[researchItem->related_ride]) - { - InsertResearchVehicle(researchItem, researched); - } - else if (!rideTypeInResearch[researchItem->related_ride] && _gameVersion == FILE_VERSION_RCT1_LL) - { - vehiclesWithMissingRideTypes.push_back(*researchItem); - } + } + gScenarioName = name; + gScenarioDetails = details; + } + + void ImportScenarioObjective() + { + gScenarioObjective.Type = _s4.scenario_objective_type; + gScenarioObjective.Year = _s4.scenario_objective_years; + gScenarioObjective.NumGuests = _s4.scenario_objective_num_guests; + + // RCT1 used a different way of calculating the park value. + // This is corrected here, but since scenario_objective_currency doubles as minimum excitement rating, + // we need to check the goal to avoid affecting scenarios like Volcania. + if (_s4.scenario_objective_type == OBJECTIVE_PARK_VALUE_BY) + gScenarioObjective.Currency = ToMoney64(CorrectRCT1ParkValue(_s4.scenario_objective_currency)); + else + gScenarioObjective.Currency = ToMoney64(_s4.scenario_objective_currency); + + // This does not seem to be saved in the objective arguments, so look up the ID from the available rides instead. + if (_s4.scenario_objective_type == OBJECTIVE_BUILD_THE_BEST) + gScenarioObjective.RideId = GetBuildTheBestRideId(); + } + + void ImportSavedView() + { + gSavedView = ScreenCoordsXY{ _s4.view_x, _s4.view_y }; + gSavedViewZoom = _s4.view_zoom; + gSavedViewRotation = _s4.view_rotation; + } + + void ConvertWall(const int32_t& type, colour_t* colourA, colour_t* colourB) + { + switch (type) + { + case RCT1_WALL_TYPE_WOODEN_PANEL_FENCE: + *colourA = COLOUR_DARK_BROWN; break; - } - case RCT1_RESEARCH_TYPE_SPECIAL: - // Not supported + case RCT1_WALL_TYPE_WHITE_WOODEN_PANEL_FENCE: + *colourA = COLOUR_WHITE; + break; + case RCT1_WALL_TYPE_RED_WOODEN_PANEL_FENCE: + *colourA = COLOUR_SALMON_PINK; + break; + case RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_SNOW: + *colourA = COLOUR_DARK_BROWN; + break; + case RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_GATE: + *colourB = *colourA; + *colourA = COLOUR_DARK_BROWN; + break; + case RCT1_WALL_TYPE_GLASS_SMOOTH: + case RCT1_WALL_TYPE_GLASS_PANELS: + *colourB = COLOUR_WHITE; + break; + case RCT1_WALL_TYPE_SMALL_GREY_CASTLE: + case RCT1_WALL_TYPE_LARGE_GREY_CASTLE: + case RCT1_WALL_TYPE_LARGE_GREY_CASTLE_CROSS: + case RCT1_WALL_TYPE_LARGE_GREY_CASTLE_GATE: + case RCT1_WALL_TYPE_LARGE_GREY_CASTLE_WINDOW: + case RCT1_WALL_TYPE_MEDIUM_GREY_CASTLE: + *colourA = COLOUR_GREY; break; } } - for (const rct1_research_item& researchItem : vehiclesWithMissingRideTypes) - { - InsertResearchVehicle(&researchItem, false); - } - // Research funding / priority - uint8_t activeResearchTypes = 0; - if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_ROLLERCOASTERS) + void ImportBanner(Banner* dst, const RCT12Banner* src) { - activeResearchTypes |= EnumToFlag(ResearchCategory::Rollercoaster); - } - if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_THRILL_RIDES) - { - activeResearchTypes |= EnumToFlag(ResearchCategory::Thrill); - activeResearchTypes |= EnumToFlag(ResearchCategory::Water); - } - if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_GENTLE_TRANSPORT_RIDES) - { - activeResearchTypes |= EnumToFlag(ResearchCategory::Gentle); - activeResearchTypes |= EnumToFlag(ResearchCategory::Transport); - } - if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_SHOPS) - { - activeResearchTypes |= EnumToFlag(ResearchCategory::Shop); - } - if (_s4.research_priority & RCT1_RESEARCH_CATEGORY_SCENERY_THEMING) - { - activeResearchTypes |= EnumToFlag(ResearchCategory::SceneryGroup); - } - gResearchPriorities = activeResearchTypes; - gResearchFundingLevel = _s4.research_level; + *dst = {}; + dst->type = RCTEntryIndexToOpenRCT2EntryIndex(src->type); - // This will mark items as researched/unresearched according to the research list. - // This needs to be called before importing progress, as it will reset it. - research_reset_current_item(); - - // Research history - gResearchProgress = _s4.research_progress; - gResearchProgressStage = _s4.research_progress_stage; - gResearchExpectedDay = _s4.next_research_expected_day; - gResearchExpectedMonth = _s4.next_research_expected_month; - - if (_s4.last_research_flags == 0xFF) - { - gResearchLastItem = std::nullopt; - } - else - { - ResearchItem researchItem = {}; - ConvertResearchEntry(&researchItem, _s4.last_research_item, _s4.last_research_type); - gResearchLastItem = researchItem; - } - - if (_s4.next_research_flags == 0xFF) - { - gResearchNextItem = std::nullopt; - gResearchProgressStage = RESEARCH_STAGE_INITIAL_RESEARCH; - gResearchProgress = 0; - } - else - { - ResearchItem researchItem = {}; - ConvertResearchEntry(&researchItem, _s4.next_research_item, _s4.next_research_type); - gResearchNextItem = researchItem; - } - } - - static std::bitset GetRideTypesPresentInResearchList( - const rct1_research_item* researchList, size_t researchListCount) - { - std::bitset ret = {}; - - for (size_t i = 0; i < researchListCount; i++) - { - const rct1_research_item* researchItem = &researchList[i]; - if (researchItem->flags == RCT1_RESEARCH_FLAGS_SEPARATOR) + dst->flags = 0; + if (src->flags & BANNER_FLAG_NO_ENTRY) { - if (researchItem->item == RCT1_RESEARCH_END_AVAILABLE || researchItem->item == RCT1_RESEARCH_END_RESEARCHABLE) - { + dst->flags |= BANNER_FLAG_NO_ENTRY; + } + + if (is_user_string_id(src->string_idx)) + { + dst->text = GetUserString(src->string_idx); + } + + dst->colour = RCT1::GetColour(src->colour); + dst->text_colour = src->text_colour; + dst->position.x = src->x; + dst->position.y = src->y; + } + + void FixEntrancePositions() + { + gParkEntrances.clear(); + tile_element_iterator it; + tile_element_iterator_begin(&it); + while (tile_element_iterator_next(&it) && gParkEntrances.size() < RCT12_MAX_PARK_ENTRANCES) + { + TileElement* element = it.element; + + if (element->GetType() != TILE_ELEMENT_TYPE_ENTRANCE) continue; - } - else if (researchItem->item == RCT1_RESEARCH_END) - { + if (element->AsEntrance()->GetEntranceType() != ENTRANCE_TYPE_PARK_ENTRANCE) + continue; + if ((element->AsEntrance()->GetSequenceIndex()) != 0) + continue; + + CoordsXYZD entrance = { TileCoordsXY(it.x, it.y).ToCoordsXY(), element->GetBaseZ(), element->GetDirection() }; + gParkEntrances.push_back(entrance); + } + } + + EntryList* GetEntryList(ObjectType objectType) + { + switch (objectType) + { + case ObjectType::Ride: + return &_rideEntries; + case ObjectType::SmallScenery: + return &_smallSceneryEntries; + case ObjectType::LargeScenery: + return &_largeSceneryEntries; + case ObjectType::Walls: + return &_wallEntries; + case ObjectType::Paths: + return &_pathEntries; + case ObjectType::PathBits: + return &_pathAdditionEntries; + case ObjectType::SceneryGroup: + return &_sceneryGroupEntries; + case ObjectType::Water: + return &_waterEntry; + default: + // This switch processes only ObjectType for for Entries break; - } } + return nullptr; + } - if (researchItem->type == RCT1_RESEARCH_TYPE_RIDE) + const rct1_research_item* GetResearchList(size_t* count) + { + // Loopy Landscapes stores research items in a different place + if (_gameVersion == FILE_VERSION_RCT1_LL) { - ret[researchItem->item] = true; - } - } - - return ret; - } - - void InsertResearchVehicle(const rct1_research_item* researchItem, bool researched) - { - uint8_t vehicle = researchItem->item; - auto rideEntryIndex = _vehicleTypeToRideEntryMap[vehicle]; - - if (!_researchRideEntryUsed[rideEntryIndex]) - { - _researchRideEntryUsed[rideEntryIndex] = true; - research_insert_ride_entry(rideEntryIndex, researched); - } - } - - void ImportParkName() - { - std::string parkName = std::string(_s4.scenario_name); - if (is_user_string_id(static_cast(_s4.park_name_string_index))) - { - std::string userString = GetUserString(_s4.park_name_string_index); - if (!userString.empty()) - { - parkName = userString; - } - } - - auto& park = GetContext()->GetGameState()->GetPark(); - park.Name = parkName; - } - - void ImportParkFlags() - { - // Date and srand - gScenarioTicks = _s4.ticks; - scenario_rand_seed(_s4.random_a, _s4.random_b); - gDateMonthsElapsed = static_cast(_s4.month); - gDateMonthTicks = _s4.day; - - // Park rating - gParkRating = _s4.park_rating; - for (size_t i = 0; i < 32; i++) - { - gParkRatingHistory[i] = _s4.park_rating_history[i]; - } - - // Awards - for (int32_t i = 0; i < RCT12_MAX_AWARDS; i++) - { - rct12_award* src = &_s4.awards[i]; - Award* dst = &gCurrentAwards[i]; - dst->Time = src->time; - dst->Type = src->type; - } - - // Number of guests history - for (size_t i = 0; i < 32; i++) - { - gGuestsInParkHistory[i] = _s4.guests_in_park_history[i]; - } - - // News items - for (size_t i = 0; i < RCT12_MAX_NEWS_ITEMS; i++) - { - const rct12_news_item* src = &_s4.messages[i]; - News::Item* dst = &gNewsItems[i]; - - dst->Type = static_cast(src->Type); - dst->Flags = src->Flags; - dst->Ticks = src->Ticks; - dst->MonthYear = src->MonthYear; - dst->Day = src->Day; - dst->Text = ConvertFormattedStringToOpenRCT2(std::string_view(src->Text, sizeof(src->Text))); - - if (dst->Type == News::ItemType::Research) - { - uint8_t researchItem = src->Assoc & 0x000000FF; - uint8_t researchType = (src->Assoc & 0x00FF0000) >> 16; - - ResearchItem tmpResearchItem = {}; - ConvertResearchEntry(&tmpResearchItem, researchItem, researchType); - dst->Assoc = tmpResearchItem.rawValue; + *count = std::size(_s4.research_items_LL); + return _s4.research_items_LL; } else { - dst->Assoc = src->Assoc; + *count = std::size(_s4.research_items); + return _s4.research_items; } } - // Initial guest status - gGuestInitialCash = _s4.guest_initial_cash; - gGuestInitialHunger = _s4.guest_initial_hunger; - gGuestInitialThirst = _s4.guest_initial_thirst; - gGuestInitialHappiness = _s4.guest_initial_happiness; - - _guestGenerationProbability = _s4.guest_generation_probability; - - // Staff colours - gStaffHandymanColour = RCT1::GetColour(_s4.handman_colour); - gStaffMechanicColour = RCT1::GetColour(_s4.mechanic_colour); - gStaffSecurityColour = RCT1::GetColour(_s4.security_guard_colour); - - // Flags - gParkFlags = _s4.park_flags; - gParkFlags &= ~PARK_FLAGS_ANTI_CHEAT_DEPRECATED; - // Loopy Landscape parks can set a flag to lock the entry price to free. - // If this flag is not set, the player can ask money for both rides and entry. - if (!(_s4.park_flags & RCT1_PARK_FLAGS_PARK_ENTRY_LOCKED_AT_FREE)) + std::string GetUserString(rct_string_id stringId) { - gParkFlags |= PARK_FLAGS_UNLOCK_ALL_PRICES; + const auto originalString = _s4.string_table[(stringId - USER_STRING_START) % 1024]; + auto originalStringView = std::string_view( + originalString, GetRCT2StringBufferLen(originalString, USER_STRING_MAX_LENGTH)); + auto asUtf8 = rct2_to_utf8(originalStringView, RCT2LanguageId::EnglishUK); + auto justText = RCT12RemoveFormattingUTF8(asUtf8); + return justText.data(); } - // RCT2 uses two flags for no money (due to the scenario editor). RCT1 used only one. - // Copy its value to make no money scenarios such as Arid Heights work properly. - if (_s4.park_flags & RCT1_PARK_FLAGS_NO_MONEY) + void FixLandOwnership() { - gParkFlags |= PARK_FLAGS_NO_MONEY_SCENARIO; - } - - gParkSize = _s4.park_size; - gTotalRideValueForMoney = _s4.total_ride_value_for_money; - } - - void ConvertResearchEntry(ResearchItem* dst, uint8_t srcItem, uint8_t srcType) - { - dst->SetNull(); - if (srcType == RCT1_RESEARCH_TYPE_RIDE) - { - auto entryIndex = _rideTypeToRideEntryMap[srcItem]; - - if (entryIndex != OBJECT_ENTRY_INDEX_NULL) + switch (_s4.scenario_slot_index) { - rct_ride_entry* rideEntry = get_ride_entry(entryIndex); + case SC_DYNAMITE_DUNES: + FixLandOwnershipTiles({ { 97, 18 }, { 99, 19 }, { 83, 34 } }); + break; + case SC_LEAFY_LAKE: + FixLandOwnershipTiles({ { 49, 66 } }); + break; + case SC_KATIES_DREAMLAND: + FixLandOwnershipTiles({ { 74, 70 }, { 75, 70 }, { 76, 70 }, { 77, 73 }, { 80, 77 } }); + break; + case SC_POKEY_PARK: + FixLandOwnershipTiles({ { 64, 102 } }); + break; + case SC_MYSTIC_MOUNTAIN: + FixLandOwnershipTiles({ { 98, 69 }, { 98, 70 }, { 103, 64 }, { 53, 79 }, { 86, 93 }, { 87, 93 } }); + break; + case SC_PACIFIC_PYRAMIDS: + FixLandOwnershipTiles({ { 93, 105 }, { 63, 34 }, { 76, 25 }, { 85, 31 }, { 96, 47 }, { 96, 48 } }); + break; + case SC_UTOPIA_PARK: + FixLandOwnershipTiles({ { 85, 73 } }); + break; + case SC_URBAN_PARK: + FixLandOwnershipTiles({ { 64, 77 }, { 61, 66 }, { 61, 67 }, { 39, 20 } }); + break; + } + } - if (rideEntry != nullptr) + /** + * In Urban Park, the entrance and exit of the merry-go-round are the wrong way round. This code fixes that. + * To avoid messing up saves (in which this problem is most likely solved by the user), only carry out this + * fix when loading from a scenario. + */ + void FixUrbanPark() + { + if (_s4.scenario_slot_index == SC_URBAN_PARK && _isScenario) + { + // First, make the queuing peep exit + for (auto peep : EntityList()) { - auto rideType = ride_entry_get_first_non_null_ride_type(rideEntry); - dst->entryIndex = entryIndex; - dst->baseRideType = rideType; - dst->type = Research::EntryType::Ride; - dst->flags = 0; - dst->category = GetRideTypeDescriptor(rideType).GetResearchCategory(); - } - } - } - else if (srcType == RCT1_RESEARCH_TYPE_VEHICLE) - { - auto entryIndex = _vehicleTypeToRideEntryMap[srcItem]; - - if (entryIndex != OBJECT_ENTRY_INDEX_NULL) - { - rct_ride_entry* rideEntry = get_ride_entry(entryIndex); - - if (rideEntry != nullptr) - { - auto rideType = ride_entry_get_first_non_null_ride_type(rideEntry); - dst->entryIndex = entryIndex; - dst->baseRideType = rideType; - dst->type = Research::EntryType::Ride; - dst->flags = 0; - dst->category = GetRideTypeDescriptor(rideType).GetResearchCategory(); - } - } - } - else if (srcType == RCT1_RESEARCH_TYPE_THEME) - { - auto entryIndex = _sceneryThemeTypeToEntryMap[srcItem]; - - if (entryIndex != OBJECT_ENTRY_INDEX_IGNORE && entryIndex != OBJECT_ENTRY_INDEX_NULL) - { - dst->entryIndex = entryIndex; - dst->type = Research::EntryType::Scenery; - dst->category = ResearchCategory::SceneryGroup; - dst->flags = 0; - } - } - } - - void ImportClimate() - { - gClimate = ClimateType{ _s4.climate }; - gClimateUpdateTimer = _s4.climate_timer; - gClimateCurrent.Temperature = _s4.temperature; - gClimateCurrent.Weather = WeatherType{ _s4.weather }; - gClimateCurrent.WeatherEffect = WeatherEffectType::None; - gClimateCurrent.WeatherGloom = _s4.weather_gloom; - gClimateCurrent.Level = static_cast(_s4.rain); - gClimateNext.Temperature = _s4.target_temperature; - gClimateNext.Weather = WeatherType{ _s4.target_weather }; - gClimateNext.WeatherEffect = WeatherEffectType::None; - gClimateNext.WeatherGloom = _s4.target_weather_gloom; - gClimateNext.Level = static_cast(_s4.target_rain); - } - - void ImportScenarioNameDetails() - { - std::string name = String::ToStd(_s4.scenario_name); - std::string details; - - int32_t scNumber = _s4.scenario_slot_index; - if (scNumber != -1) - { - source_desc sourceDesc; - if (ScenarioSources::TryGetById(scNumber, &sourceDesc)) - { - rct_string_id localisedStringIds[3]; - if (language_get_localised_scenario_strings(sourceDesc.title, localisedStringIds)) - { - if (localisedStringIds[0] != STR_NONE) + if (peep->State == PeepState::QueuingFront && peep->CurrentRide == 0) { - name = String::ToStd(language_get_string(localisedStringIds[0])); - } - if (localisedStringIds[2] != STR_NONE) - { - details = String::ToStd(language_get_string(localisedStringIds[2])); + peep->RemoveFromQueue(); + peep->SetState(PeepState::Falling); + break; } } + + // Now, swap the entrance and exit. + auto ride = get_ride(0); + if (ride != nullptr) + { + auto entranceCoords = ride->stations[0].Exit; + auto exitCoords = ride->stations[0].Entrance; + ride->stations[0].Entrance = entranceCoords; + ride->stations[0].Exit = exitCoords; + + auto entranceElement = map_get_ride_exit_element_at(entranceCoords.ToCoordsXYZD(), false); + entranceElement->SetEntranceType(ENTRANCE_TYPE_RIDE_ENTRANCE); + auto exitElement = map_get_ride_entrance_element_at(exitCoords.ToCoordsXYZD(), false); + exitElement->SetEntranceType(ENTRANCE_TYPE_RIDE_EXIT); + + // Trigger footpath update + footpath_queue_chain_reset(); + footpath_connect_edges( + entranceCoords.ToCoordsXY(), reinterpret_cast(entranceElement), + GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED); + footpath_update_queue_chains(); + } } } - gScenarioName = name; - gScenarioDetails = details; - } - - void ImportScenarioObjective() - { - gScenarioObjective.Type = _s4.scenario_objective_type; - gScenarioObjective.Year = _s4.scenario_objective_years; - gScenarioObjective.NumGuests = _s4.scenario_objective_num_guests; - - // RCT1 used a different way of calculating the park value. - // This is corrected here, but since scenario_objective_currency doubles as minimum excitement rating, - // we need to check the goal to avoid affecting scenarios like Volcania. - if (_s4.scenario_objective_type == OBJECTIVE_PARK_VALUE_BY) - gScenarioObjective.Currency = ToMoney64(CorrectRCT1ParkValue(_s4.scenario_objective_currency)); - else - gScenarioObjective.Currency = ToMoney64(_s4.scenario_objective_currency); - - // This does not seem to be saved in the objective arguments, so look up the ID from the available rides instead. - if (_s4.scenario_objective_type == OBJECTIVE_BUILD_THE_BEST) - gScenarioObjective.RideId = GetBuildTheBestRideId(); - } - - void ImportSavedView() - { - gSavedView = ScreenCoordsXY{ _s4.view_x, _s4.view_y }; - gSavedViewZoom = _s4.view_zoom; - gSavedViewRotation = _s4.view_rotation; - } - - void ConvertWall(const int32_t& type, colour_t* colourA, colour_t* colourB) - { - switch (type) + /** + * Counts the block sections. The reason this iterates over the map is to avoid getting into infinite loops, + * which can happen with hacked parks. + */ + void CountBlockSections() { - case RCT1_WALL_TYPE_WOODEN_PANEL_FENCE: - *colourA = COLOUR_DARK_BROWN; - break; - case RCT1_WALL_TYPE_WHITE_WOODEN_PANEL_FENCE: - *colourA = COLOUR_WHITE; - break; - case RCT1_WALL_TYPE_RED_WOODEN_PANEL_FENCE: - *colourA = COLOUR_SALMON_PINK; - break; - case RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_SNOW: - *colourA = COLOUR_DARK_BROWN; - break; - case RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_GATE: - *colourB = *colourA; - *colourA = COLOUR_DARK_BROWN; - break; - case RCT1_WALL_TYPE_GLASS_SMOOTH: - case RCT1_WALL_TYPE_GLASS_PANELS: - *colourB = COLOUR_WHITE; - break; - case RCT1_WALL_TYPE_SMALL_GREY_CASTLE: - case RCT1_WALL_TYPE_LARGE_GREY_CASTLE: - case RCT1_WALL_TYPE_LARGE_GREY_CASTLE_CROSS: - case RCT1_WALL_TYPE_LARGE_GREY_CASTLE_GATE: - case RCT1_WALL_TYPE_LARGE_GREY_CASTLE_WINDOW: - case RCT1_WALL_TYPE_MEDIUM_GREY_CASTLE: - *colourA = COLOUR_GREY; - break; - } - } + for (int32_t x = 0; x < RCT1_MAX_MAP_SIZE; x++) + { + for (int32_t y = 0; y < RCT1_MAX_MAP_SIZE; y++) + { + TileElement* tileElement = map_get_first_element_at(TileCoordsXY{ x, y }.ToCoordsXY()); + if (tileElement == nullptr) + continue; + do + { + if (tileElement->GetType() == TILE_ELEMENT_TYPE_TRACK) + { + // Lift hill tops are the only pieces present in RCT1 that can count as a block brake. + if (!tileElement->AsTrack()->HasChain()) + continue; - void ImportBanner(Banner* dst, const RCT12Banner* src) - { - *dst = {}; - dst->type = RCTEntryIndexToOpenRCT2EntryIndex(src->type); + auto trackType = tileElement->AsTrack()->GetTrackType(); + switch (trackType) + { + case TrackElemType::Up25ToFlat: + case TrackElemType::Up60ToFlat: + case TrackElemType::DiagUp25ToFlat: + case TrackElemType::DiagUp60ToFlat: + break; + default: + continue; + } - dst->flags = 0; - if (src->flags & BANNER_FLAG_NO_ENTRY) - { - dst->flags |= BANNER_FLAG_NO_ENTRY; + ride_id_t rideIndex = tileElement->AsTrack()->GetRideIndex(); + auto ride = get_ride(rideIndex); + if (ride != nullptr) + { + ride->num_block_brakes++; + } + } + } while (!(tileElement++)->IsLastForTile()); + } + } } - if (is_user_string_id(src->string_idx)) + /** + * This has to be done after importing tile elements, because it needs those to detect if a pre-existing ride + * name should be considered reserved. + */ + void SetDefaultNames() { - dst->text = GetUserString(src->string_idx); + for (auto& ride : GetRideManager()) + { + if (ride.custom_name.empty()) + { + ride.SetNameToDefault(); + } + } } - dst->colour = RCT1::GetColour(src->colour); - dst->text_colour = src->text_colour; - dst->position.x = src->x; - dst->position.y = src->y; - } - - void FixEntrancePositions() - { - gParkEntrances.clear(); - tile_element_iterator it; - tile_element_iterator_begin(&it); - while (tile_element_iterator_next(&it) && gParkEntrances.size() < RCT12_MAX_PARK_ENTRANCES) + ObjectEntryIndex GetBuildTheBestRideId() { - TileElement* element = it.element; + size_t researchListCount; + const rct1_research_item* researchList = GetResearchList(&researchListCount); + for (size_t i = 0; i < researchListCount; i++) + { + if (researchList[i].flags == 0xFF) + { + break; + } - if (element->GetType() != TILE_ELEMENT_TYPE_ENTRANCE) - continue; - if (element->AsEntrance()->GetEntranceType() != ENTRANCE_TYPE_PARK_ENTRANCE) - continue; - if ((element->AsEntrance()->GetSequenceIndex()) != 0) - continue; + if (researchList[i].type == RCT1_RESEARCH_TYPE_RIDE) + { + return RCT1::GetRideType(researchList[i].item, 0); + } + } - CoordsXYZD entrance = { TileCoordsXY(it.x, it.y).ToCoordsXY(), element->GetBaseZ(), element->GetDirection() }; - gParkEntrances.push_back(entrance); + return RIDE_TYPE_NULL; } - } + }; - EntryList* GetEntryList(ObjectType objectType) + // Very similar but not the same as S6Importer version (due to peeps) + constexpr EntityType GetEntityTypeFromRCT1Sprite(const RCT12SpriteBase& src) { - switch (objectType) + EntityType output = EntityType::Null; + switch (src.sprite_identifier) { - case ObjectType::Ride: - return &_rideEntries; - case ObjectType::SmallScenery: - return &_smallSceneryEntries; - case ObjectType::LargeScenery: - return &_largeSceneryEntries; - case ObjectType::Walls: - return &_wallEntries; - case ObjectType::Paths: - return &_pathEntries; - case ObjectType::PathBits: - return &_pathAdditionEntries; - case ObjectType::SceneryGroup: - return &_sceneryGroupEntries; - case ObjectType::Water: - return &_waterEntry; + case RCT12SpriteIdentifier::Vehicle: + output = EntityType::Vehicle; + break; + case RCT12SpriteIdentifier::Peep: + if (RCT12PeepType(static_cast(&src)->type) == RCT12PeepType::Guest) + { + output = EntityType::Guest; + } + else + { + output = EntityType::Staff; + } + break; + case RCT12SpriteIdentifier::Misc: + + switch (RCT12MiscEntityType(src.type)) + { + case RCT12MiscEntityType::SteamParticle: + output = EntityType::SteamParticle; + break; + case RCT12MiscEntityType::MoneyEffect: + output = EntityType::MoneyEffect; + break; + case RCT12MiscEntityType::CrashedVehicleParticle: + output = EntityType::CrashedVehicleParticle; + break; + case RCT12MiscEntityType::ExplosionCloud: + output = EntityType::ExplosionCloud; + break; + case RCT12MiscEntityType::CrashSplash: + output = EntityType::CrashSplash; + break; + case RCT12MiscEntityType::ExplosionFlare: + output = EntityType::ExplosionFlare; + break; + case RCT12MiscEntityType::JumpingFountainWater: + case RCT12MiscEntityType::JumpingFountainSnow: + output = EntityType::JumpingFountain; + break; + case RCT12MiscEntityType::Balloon: + output = EntityType::Balloon; + break; + case RCT12MiscEntityType::Duck: + output = EntityType::Duck; + break; + default: + break; + } + break; + case RCT12SpriteIdentifier::Litter: + output = EntityType::Litter; + break; default: - // This switch processes only ObjectType for for Entries break; } - return nullptr; + return output; } - const rct1_research_item* GetResearchList(size_t* count) + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) { - // Loopy Landscapes stores research items in a different place + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + const auto* ride = get_ride(src->ride); + if (ride == nullptr) + return; + + uint8_t vehicleEntryIndex = RCT1::GetVehicleSubEntryIndex(src->vehicle_type); + + dst->ride = src->ride; + dst->ride_subtype = RCTEntryIndexToOpenRCT2EntryIndex(ride->subtype); + + dst->vehicle_type = vehicleEntryIndex; + dst->SubType = Vehicle::Type(src->type); + dst->var_44 = src->var_44; + dst->remaining_distance = src->remaining_distance; + + // Properties from vehicle entry + dst->sprite_width = src->sprite_width; + dst->sprite_height_negative = src->sprite_height_negative; + dst->sprite_height_positive = src->sprite_height_positive; + dst->sprite_direction = src->sprite_direction; + + dst->sprite_left = src->sprite_left; + dst->sprite_top = src->sprite_top; + dst->sprite_right = src->sprite_right; + dst->sprite_bottom = src->sprite_bottom; + + dst->mass = src->mass; + dst->num_seats = src->num_seats; + dst->speed = src->speed; + dst->powered_acceleration = src->powered_acceleration; + dst->brake_speed = src->brake_speed; + + dst->velocity = src->velocity; + dst->acceleration = src->acceleration; + dst->SwingSprite = src->SwingSprite; + dst->SwingPosition = src->SwingPosition; + dst->SwingSpeed = src->SwingSpeed; + dst->restraints_position = src->restraints_position; + dst->spin_sprite = src->spin_sprite; + dst->sound_vector_factor = src->sound_vector_factor; + dst->spin_speed = src->spin_speed; + dst->sound2_flags = src->sound2_flags; + dst->sound1_id = OpenRCT2::Audio::SoundId::Null; + dst->sound2_id = OpenRCT2::Audio::SoundId::Null; + dst->var_C0 = src->var_C0; + dst->var_C4 = src->var_C4; + dst->animation_frame = src->animation_frame; + dst->animationState = src->animationState; + dst->var_CA = src->var_CA; + dst->var_CE = src->var_CE; + dst->var_D3 = src->var_D3; + dst->scream_sound_id = OpenRCT2::Audio::SoundId::Null; + dst->Pitch = src->Pitch; + dst->bank_rotation = src->bank_rotation; + + // Seat rotation was not in RCT1 + dst->target_seat_rotation = DEFAULT_SEAT_ROTATION; + dst->seat_rotation = DEFAULT_SEAT_ROTATION; + + // Vehicle links (indexes converted later) + dst->prev_vehicle_on_ride = src->prev_vehicle_on_ride; + dst->next_vehicle_on_ride = src->next_vehicle_on_ride; + dst->next_vehicle_on_train = src->next_vehicle_on_train; + + // Guests (indexes converted later) + for (int i = 0; i < 32; i++) + { + uint16_t spriteIndex = src->peep[i]; + dst->peep[i] = spriteIndex; + if (spriteIndex != SPRITE_INDEX_NULL) + { + dst->peep_tshirt_colours[i] = RCT1::GetColour(src->peep_tshirt_colours[i]); + } + } + + Vehicle::Status statusSrc = Vehicle::Status::MovingToEndOfStation; + if (src->status <= static_cast(Vehicle::Status::StoppedByBlockBrakes)) + { + statusSrc = static_cast(src->status); + } + dst->status = statusSrc; + dst->TrackSubposition = VehicleTrackSubposition{ src->TrackSubposition }; + dst->TrackLocation = { src->track_x, src->track_y, src->track_z }; + dst->current_station = src->current_station; + if (src->boat_location.isNull() || ride->mode != RideMode::BoatHire || statusSrc != Vehicle::Status::TravellingBoat) + { + dst->BoatLocation.setNull(); + dst->SetTrackDirection(src->GetTrackDirection()); + dst->SetTrackType(RCT1TrackTypeToOpenRCT2(src->GetTrackType(), ride->type)); + } + else + { + dst->BoatLocation = TileCoordsXY{ src->boat_location.x, src->boat_location.y }.ToCoordsXY(); + dst->SetTrackDirection(0); + dst->SetTrackType(0); + } + dst->track_progress = src->track_progress; + dst->vertical_drop_countdown = src->vertical_drop_countdown; + dst->sub_state = src->sub_state; + dst->update_flags = src->update_flags; + + SetVehicleColours(dst, src); + + dst->mini_golf_current_animation = MiniGolfAnimation(src->mini_golf_current_animation); + dst->mini_golf_flags = src->mini_golf_flags; + + dst->MoveTo({ src->x, src->y, src->z }); + + dst->num_peeps = src->num_peeps; + dst->next_free_seat = src->next_free_seat; + dst->IsCrashedVehicle = src->flags & RCT12_SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE; + } + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + ImportPeep(dst, src); + + dst->OutsideOfPark = static_cast(src->outside_of_park); + dst->TimeToConsume = src->time_to_consume; + dst->VandalismSeen = src->vandalism_seen; + dst->UmbrellaColour = RCT1::GetColour(src->umbrella_colour); + dst->HatColour = RCT1::GetColour(src->hat_colour); + + // Balloons were always blue in RCT1 without AA/LL + if (_gameVersion == FILE_VERSION_RCT1) + { + dst->BalloonColour = COLOUR_LIGHT_BLUE; + } + else + { + dst->BalloonColour = RCT1::GetColour(src->balloon_colour); + } + dst->Happiness = src->happiness; + dst->HappinessTarget = src->happiness_target; + dst->Nausea = src->nausea; + dst->NauseaTarget = src->nausea_target; + dst->Hunger = src->hunger; + dst->Thirst = src->thirst; + dst->Toilet = src->toilet; + dst->LitterCount = src->litter_count; + dst->DisgustingCount = src->disgusting_count; + dst->Intensity = static_cast(src->intensity); + dst->NauseaTolerance = static_cast(src->nausea_tolerance); + dst->GuestTimeOnRide = src->time_on_ride; + dst->DaysInQueue = src->days_in_queue; + dst->CashInPocket = src->cash_in_pocket; + dst->CashSpent = src->cash_spent; + dst->ParkEntryTime = src->park_entry_time; + dst->GuestNumRides = src->no_of_rides; + dst->AmountOfDrinks = src->no_of_drinks; + dst->AmountOfFood = src->no_of_food; + dst->AmountOfSouvenirs = src->no_of_souvenirs; + dst->PaidToEnter = src->paid_to_enter; + dst->PaidOnRides = src->paid_on_rides; + dst->PaidOnDrink = src->paid_on_drink; + dst->PaidOnFood = src->paid_on_food; + dst->PaidOnSouvenirs = src->paid_on_souvenirs; + dst->VoucherRideId = RCT12RideIdToOpenRCT2RideId(src->voucher_arguments); + dst->VoucherType = src->voucher_type; + dst->SurroundingsThoughtTimeout = src->surroundings_thought_timeout; + dst->Angriness = src->angriness; + dst->TimeLost = src->time_lost; + + OpenRCT2::RideUse::GetHistory().Set(dst->sprite_index, RCT12GetRidesBeenOn(src)); + OpenRCT2::RideUse::GetTypeHistory().Set(dst->sprite_index, RCT12GetRideTypesBeenOn(src)); + + dst->Photo1RideRef = RCT12RideIdToOpenRCT2RideId(src->photo1_ride_ref); + + for (size_t i = 0; i < std::size(src->thoughts); i++) + { + auto srcThought = &src->thoughts[i]; + auto dstThought = &dst->Thoughts[i]; + dstThought->type = static_cast(srcThought->type); + dstThought->item = srcThought->item; + dstThought->freshness = srcThought->freshness; + dstThought->fresh_timeout = srcThought->fresh_timeout; + } + + dst->PreviousRide = RCT12RideIdToOpenRCT2RideId(src->previous_ride); + dst->PreviousRideTimeOut = src->previous_ride_time_out; + dst->GuestHeadingToRideId = RCT12RideIdToOpenRCT2RideId(src->guest_heading_to_ride_id); + dst->GuestIsLostCountdown = src->peep_is_lost_countdown; + dst->GuestNextInQueue = src->next_in_queue; + // Guests' favourite ride was only saved in LL. + // Set it to N/A if the save comes from the original or AA. if (_gameVersion == FILE_VERSION_RCT1_LL) { - *count = std::size(_s4.research_items_LL); - return _s4.research_items_LL; + dst->FavouriteRide = RCT12RideIdToOpenRCT2RideId(src->favourite_ride); + dst->FavouriteRideRating = src->favourite_ride_rating; } else { - *count = std::size(_s4.research_items); - return _s4.research_items; + dst->FavouriteRide = RIDE_ID_NULL; + dst->FavouriteRideRating = 0; } - } - std::string GetUserString(rct_string_id stringId) - { - const auto originalString = _s4.string_table[(stringId - USER_STRING_START) % 1024]; - auto originalStringView = std::string_view( - originalString, GetRCT2StringBufferLen(originalString, USER_STRING_MAX_LENGTH)); - auto asUtf8 = rct2_to_utf8(originalStringView, RCT2LanguageId::EnglishUK); - auto justText = RCT12RemoveFormattingUTF8(asUtf8); - return justText.data(); - } + dst->SetItemFlags(src->GetItemFlags()); - void FixLandOwnership() - { - switch (_s4.scenario_slot_index) + if (dst->OutsideOfPark && dst->State != PeepState::LeavingPark) { - case SC_DYNAMITE_DUNES: - FixLandOwnershipTiles({ { 97, 18 }, { 99, 19 }, { 83, 34 } }); - break; - case SC_LEAFY_LAKE: - FixLandOwnershipTiles({ { 49, 66 } }); - break; - case SC_KATIES_DREAMLAND: - FixLandOwnershipTiles({ { 74, 70 }, { 75, 70 }, { 76, 70 }, { 77, 73 }, { 80, 77 } }); - break; - case SC_POKEY_PARK: - FixLandOwnershipTiles({ { 64, 102 } }); - break; - case SC_MYSTIC_MOUNTAIN: - FixLandOwnershipTiles({ { 98, 69 }, { 98, 70 }, { 103, 64 }, { 53, 79 }, { 86, 93 }, { 87, 93 } }); - break; - case SC_PACIFIC_PYRAMIDS: - FixLandOwnershipTiles({ { 93, 105 }, { 63, 34 }, { 76, 25 }, { 85, 31 }, { 96, 47 }, { 96, 48 } }); - break; - case SC_UTOPIA_PARK: - FixLandOwnershipTiles({ { 85, 73 } }); - break; - case SC_URBAN_PARK: - FixLandOwnershipTiles({ { 64, 77 }, { 61, 66 }, { 61, 67 }, { 39, 20 } }); - break; + increment_guests_heading_for_park(); } - } - - /** - * In Urban Park, the entrance and exit of the merry-go-round are the wrong way round. This code fixes that. - * To avoid messing up saves (in which this problem is most likely solved by the user), only carry out this - * fix when loading from a scenario. - */ - void FixUrbanPark() - { - if (_s4.scenario_slot_index == SC_URBAN_PARK && _isScenario) + else { - // First, make the queuing peep exit - for (auto peep : EntityList()) - { - if (peep->State == PeepState::QueuingFront && peep->CurrentRide == 0) - { - peep->RemoveFromQueue(); - peep->SetState(PeepState::Falling); - break; - } - } - - // Now, swap the entrance and exit. - auto ride = get_ride(0); - if (ride != nullptr) - { - auto entranceCoords = ride->stations[0].Exit; - auto exitCoords = ride->stations[0].Entrance; - ride->stations[0].Entrance = entranceCoords; - ride->stations[0].Exit = exitCoords; - - auto entranceElement = map_get_ride_exit_element_at(entranceCoords.ToCoordsXYZD(), false); - entranceElement->SetEntranceType(ENTRANCE_TYPE_RIDE_ENTRANCE); - auto exitElement = map_get_ride_entrance_element_at(exitCoords.ToCoordsXYZD(), false); - exitElement->SetEntranceType(ENTRANCE_TYPE_RIDE_EXIT); - - // Trigger footpath update - footpath_queue_chain_reset(); - footpath_connect_edges( - entranceCoords.ToCoordsXY(), reinterpret_cast(entranceElement), - GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED); - footpath_update_queue_chains(); - } + increment_guests_in_park(); } } - /** - * Counts the block sections. The reason this iterates over the map is to avoid getting into infinite loops, - * which can happen with hacked parks. - */ - void CountBlockSections() + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) { - for (int32_t x = 0; x < RCT1_MAX_MAP_SIZE; x++) + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + ImportPeep(dst, src); + dst->AssignedStaffType = StaffType(src->staff_type); + dst->MechanicTimeSinceCall = src->mechanic_time_since_call; + dst->HireDate = src->park_entry_time; + dst->StaffId = src->staff_id; + dst->StaffOrders = src->staff_orders; + dst->StaffMowingTimeout = src->staff_mowing_timeout; + dst->StaffLawnsMown = src->paid_to_enter; + dst->StaffGardensWatered = src->paid_on_rides; + dst->StaffLitterSwept = src->paid_on_food; + dst->StaffBinsEmptied = src->paid_on_souvenirs; + } + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + ImportEntityCommonProperties(dst, src); + + dst->SubType = Litter::Type(src->type); + } + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + + ImportEntityCommonProperties(dst, src); + dst->frame = src->frame; + } + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + + ImportEntityCommonProperties(dst, src); + dst->MoveDelay = src->move_delay; + dst->NumMovements = src->num_movements; + dst->Value = src->value; + dst->OffsetX = src->offset_x; + dst->Wiggle = src->wiggle; + } + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + ImportEntityCommonProperties(dst, src); + } + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + ImportEntityCommonProperties(dst, src); + } + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + ImportEntityCommonProperties(dst, src); + } + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + ImportEntityCommonProperties(dst, src); + } + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + + ImportEntityCommonProperties(dst, src); + dst->FountainFlags = src->fountain_flags; + dst->Iteration = src->iteration; + dst->NumTicksAlive = src->num_ticks_alive; + dst->frame = src->frame; + dst->FountainType = JumpingFountainType::Water; + } + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + + ImportEntityCommonProperties(dst, src); + // Balloons were always blue in RCT1 without AA/LL + if (_gameVersion == FILE_VERSION_RCT1) { - for (int32_t y = 0; y < RCT1_MAX_MAP_SIZE; y++) - { - TileElement* tileElement = map_get_first_element_at(TileCoordsXY{ x, y }.ToCoordsXY()); - if (tileElement == nullptr) - continue; - do - { - if (tileElement->GetType() == TILE_ELEMENT_TYPE_TRACK) - { - // Lift hill tops are the only pieces present in RCT1 that can count as a block brake. - if (!tileElement->AsTrack()->HasChain()) - continue; - - auto trackType = tileElement->AsTrack()->GetTrackType(); - switch (trackType) - { - case TrackElemType::Up25ToFlat: - case TrackElemType::Up60ToFlat: - case TrackElemType::DiagUp25ToFlat: - case TrackElemType::DiagUp60ToFlat: - break; - default: - continue; - } - - ride_id_t rideIndex = tileElement->AsTrack()->GetRideIndex(); - auto ride = get_ride(rideIndex); - if (ride != nullptr) - { - ride->num_block_brakes++; - } - } - } while (!(tileElement++)->IsLastForTile()); - } + dst->colour = COLOUR_LIGHT_BLUE; + } + else + { + dst->colour = RCT1::GetColour(src->colour); } } - /** - * This has to be done after importing tile elements, because it needs those to detect if a pre-existing ride - * name should be considered reserved. - */ - void SetDefaultNames() + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) { - for (auto& ride : GetRideManager()) - { - if (ride.custom_name.empty()) - { - ride.SetNameToDefault(); - } - } + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + + ImportEntityCommonProperties(dst, src); + dst->frame = src->frame; + dst->state = static_cast(src->state); } - ObjectEntryIndex GetBuildTheBestRideId() + void S4Importer::ImportEntity(const RCT12SpriteBase& src) { - size_t researchListCount; - const rct1_research_item* researchList = GetResearchList(&researchListCount); - for (size_t i = 0; i < researchListCount; i++) + switch (GetEntityTypeFromRCT1Sprite(src)) { - if (researchList[i].flags == 0xFF) - { + case EntityType::Vehicle: + ImportEntity(src); + break; + case EntityType::Guest: + ImportEntity(src); + break; + case EntityType::Staff: + ImportEntity(src); + break; + case EntityType::SteamParticle: + ImportEntity(src); + break; + case EntityType::MoneyEffect: + ImportEntity(src); + break; + case EntityType::CrashedVehicleParticle: + ImportEntity(src); + break; + case EntityType::ExplosionCloud: + ImportEntity(src); + break; + case EntityType::ExplosionFlare: + ImportEntity(src); + break; + case EntityType::CrashSplash: + ImportEntity(src); + break; + case EntityType::JumpingFountain: + ImportEntity(src); + break; + case EntityType::Balloon: + ImportEntity(src); + break; + case EntityType::Duck: + ImportEntity(src); + break; + case EntityType::Litter: + ImportEntity(src); + break; + default: + // Null elements do not need imported break; - } - - if (researchList[i].type == RCT1_RESEARCH_TYPE_RIDE) - { - return RCT1::GetRideType(researchList[i].item, 0); - } - } - - return RIDE_TYPE_NULL; - } -}; - -// Very similar but not the same as S6Importer version (due to peeps) -constexpr EntityType GetEntityTypeFromRCT1Sprite(const RCT12SpriteBase& src) -{ - EntityType output = EntityType::Null; - switch (src.sprite_identifier) - { - case RCT12SpriteIdentifier::Vehicle: - output = EntityType::Vehicle; - break; - case RCT12SpriteIdentifier::Peep: - if (RCT12PeepType(static_cast(&src)->type) == RCT12PeepType::Guest) - { - output = EntityType::Guest; - } - else - { - output = EntityType::Staff; - } - break; - case RCT12SpriteIdentifier::Misc: - - switch (RCT12MiscEntityType(src.type)) - { - case RCT12MiscEntityType::SteamParticle: - output = EntityType::SteamParticle; - break; - case RCT12MiscEntityType::MoneyEffect: - output = EntityType::MoneyEffect; - break; - case RCT12MiscEntityType::CrashedVehicleParticle: - output = EntityType::CrashedVehicleParticle; - break; - case RCT12MiscEntityType::ExplosionCloud: - output = EntityType::ExplosionCloud; - break; - case RCT12MiscEntityType::CrashSplash: - output = EntityType::CrashSplash; - break; - case RCT12MiscEntityType::ExplosionFlare: - output = EntityType::ExplosionFlare; - break; - case RCT12MiscEntityType::JumpingFountainWater: - case RCT12MiscEntityType::JumpingFountainSnow: - output = EntityType::JumpingFountain; - break; - case RCT12MiscEntityType::Balloon: - output = EntityType::Balloon; - break; - case RCT12MiscEntityType::Duck: - output = EntityType::Duck; - break; - default: - break; - } - break; - case RCT12SpriteIdentifier::Litter: - output = EntityType::Litter; - break; - default: - break; - } - return output; -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - const auto* ride = get_ride(src->ride); - if (ride == nullptr) - return; - - uint8_t vehicleEntryIndex = RCT1::GetVehicleSubEntryIndex(src->vehicle_type); - - dst->ride = src->ride; - dst->ride_subtype = RCTEntryIndexToOpenRCT2EntryIndex(ride->subtype); - - dst->vehicle_type = vehicleEntryIndex; - dst->SubType = Vehicle::Type(src->type); - dst->var_44 = src->var_44; - dst->remaining_distance = src->remaining_distance; - - // Properties from vehicle entry - dst->sprite_width = src->sprite_width; - dst->sprite_height_negative = src->sprite_height_negative; - dst->sprite_height_positive = src->sprite_height_positive; - dst->sprite_direction = src->sprite_direction; - - dst->sprite_left = src->sprite_left; - dst->sprite_top = src->sprite_top; - dst->sprite_right = src->sprite_right; - dst->sprite_bottom = src->sprite_bottom; - - dst->mass = src->mass; - dst->num_seats = src->num_seats; - dst->speed = src->speed; - dst->powered_acceleration = src->powered_acceleration; - dst->brake_speed = src->brake_speed; - - dst->velocity = src->velocity; - dst->acceleration = src->acceleration; - dst->SwingSprite = src->SwingSprite; - dst->SwingPosition = src->SwingPosition; - dst->SwingSpeed = src->SwingSpeed; - dst->restraints_position = src->restraints_position; - dst->spin_sprite = src->spin_sprite; - dst->sound_vector_factor = src->sound_vector_factor; - dst->spin_speed = src->spin_speed; - dst->sound2_flags = src->sound2_flags; - dst->sound1_id = OpenRCT2::Audio::SoundId::Null; - dst->sound2_id = OpenRCT2::Audio::SoundId::Null; - dst->var_C0 = src->var_C0; - dst->var_C4 = src->var_C4; - dst->animation_frame = src->animation_frame; - dst->animationState = src->animationState; - dst->var_CA = src->var_CA; - dst->var_CE = src->var_CE; - dst->var_D3 = src->var_D3; - dst->scream_sound_id = OpenRCT2::Audio::SoundId::Null; - dst->Pitch = src->Pitch; - dst->bank_rotation = src->bank_rotation; - - // Seat rotation was not in RCT1 - dst->target_seat_rotation = DEFAULT_SEAT_ROTATION; - dst->seat_rotation = DEFAULT_SEAT_ROTATION; - - // Vehicle links (indexes converted later) - dst->prev_vehicle_on_ride = src->prev_vehicle_on_ride; - dst->next_vehicle_on_ride = src->next_vehicle_on_ride; - dst->next_vehicle_on_train = src->next_vehicle_on_train; - - // Guests (indexes converted later) - for (int i = 0; i < 32; i++) - { - uint16_t spriteIndex = src->peep[i]; - dst->peep[i] = spriteIndex; - if (spriteIndex != SPRITE_INDEX_NULL) - { - dst->peep_tshirt_colours[i] = RCT1::GetColour(src->peep_tshirt_colours[i]); } } - - Vehicle::Status statusSrc = Vehicle::Status::MovingToEndOfStation; - if (src->status <= static_cast(Vehicle::Status::StoppedByBlockBrakes)) - { - statusSrc = static_cast(src->status); - } - dst->status = statusSrc; - dst->TrackSubposition = VehicleTrackSubposition{ src->TrackSubposition }; - dst->TrackLocation = { src->track_x, src->track_y, src->track_z }; - dst->current_station = src->current_station; - if (src->boat_location.isNull() || ride->mode != RideMode::BoatHire || statusSrc != Vehicle::Status::TravellingBoat) - { - dst->BoatLocation.setNull(); - dst->SetTrackDirection(src->GetTrackDirection()); - dst->SetTrackType(RCT1TrackTypeToOpenRCT2(src->GetTrackType(), ride->type)); - } - else - { - dst->BoatLocation = TileCoordsXY{ src->boat_location.x, src->boat_location.y }.ToCoordsXY(); - dst->SetTrackDirection(0); - dst->SetTrackType(0); - } - dst->track_progress = src->track_progress; - dst->vertical_drop_countdown = src->vertical_drop_countdown; - dst->sub_state = src->sub_state; - dst->update_flags = src->update_flags; - - SetVehicleColours(dst, src); - - dst->mini_golf_current_animation = MiniGolfAnimation(src->mini_golf_current_animation); - dst->mini_golf_flags = src->mini_golf_flags; - - dst->MoveTo({ src->x, src->y, src->z }); - - dst->num_peeps = src->num_peeps; - dst->next_free_seat = src->next_free_seat; - dst->IsCrashedVehicle = src->flags & RCT12_SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE; -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - ImportPeep(dst, src); - - dst->OutsideOfPark = static_cast(src->outside_of_park); - dst->TimeToConsume = src->time_to_consume; - dst->VandalismSeen = src->vandalism_seen; - dst->UmbrellaColour = RCT1::GetColour(src->umbrella_colour); - dst->HatColour = RCT1::GetColour(src->hat_colour); - - // Balloons were always blue in RCT1 without AA/LL - if (_gameVersion == FILE_VERSION_RCT1) - { - dst->BalloonColour = COLOUR_LIGHT_BLUE; - } - else - { - dst->BalloonColour = RCT1::GetColour(src->balloon_colour); - } - dst->Happiness = src->happiness; - dst->HappinessTarget = src->happiness_target; - dst->Nausea = src->nausea; - dst->NauseaTarget = src->nausea_target; - dst->Hunger = src->hunger; - dst->Thirst = src->thirst; - dst->Toilet = src->toilet; - dst->LitterCount = src->litter_count; - dst->DisgustingCount = src->disgusting_count; - dst->Intensity = static_cast(src->intensity); - dst->NauseaTolerance = static_cast(src->nausea_tolerance); - dst->GuestTimeOnRide = src->time_on_ride; - dst->DaysInQueue = src->days_in_queue; - dst->CashInPocket = src->cash_in_pocket; - dst->CashSpent = src->cash_spent; - dst->ParkEntryTime = src->park_entry_time; - dst->GuestNumRides = src->no_of_rides; - dst->AmountOfDrinks = src->no_of_drinks; - dst->AmountOfFood = src->no_of_food; - dst->AmountOfSouvenirs = src->no_of_souvenirs; - dst->PaidToEnter = src->paid_to_enter; - dst->PaidOnRides = src->paid_on_rides; - dst->PaidOnDrink = src->paid_on_drink; - dst->PaidOnFood = src->paid_on_food; - dst->PaidOnSouvenirs = src->paid_on_souvenirs; - dst->VoucherRideId = RCT12RideIdToOpenRCT2RideId(src->voucher_arguments); - dst->VoucherType = src->voucher_type; - dst->SurroundingsThoughtTimeout = src->surroundings_thought_timeout; - dst->Angriness = src->angriness; - dst->TimeLost = src->time_lost; - - OpenRCT2::RideUse::GetHistory().Set(dst->sprite_index, RCT12GetRidesBeenOn(src)); - OpenRCT2::RideUse::GetTypeHistory().Set(dst->sprite_index, RCT12GetRideTypesBeenOn(src)); - - dst->Photo1RideRef = RCT12RideIdToOpenRCT2RideId(src->photo1_ride_ref); - - for (size_t i = 0; i < std::size(src->thoughts); i++) - { - auto srcThought = &src->thoughts[i]; - auto dstThought = &dst->Thoughts[i]; - dstThought->type = static_cast(srcThought->type); - dstThought->item = srcThought->item; - dstThought->freshness = srcThought->freshness; - dstThought->fresh_timeout = srcThought->fresh_timeout; - } - - dst->PreviousRide = RCT12RideIdToOpenRCT2RideId(src->previous_ride); - dst->PreviousRideTimeOut = src->previous_ride_time_out; - dst->GuestHeadingToRideId = RCT12RideIdToOpenRCT2RideId(src->guest_heading_to_ride_id); - dst->GuestIsLostCountdown = src->peep_is_lost_countdown; - dst->GuestNextInQueue = src->next_in_queue; - // Guests' favourite ride was only saved in LL. - // Set it to N/A if the save comes from the original or AA. - if (_gameVersion == FILE_VERSION_RCT1_LL) - { - dst->FavouriteRide = RCT12RideIdToOpenRCT2RideId(src->favourite_ride); - dst->FavouriteRideRating = src->favourite_ride_rating; - } - else - { - dst->FavouriteRide = RIDE_ID_NULL; - dst->FavouriteRideRating = 0; - } - - dst->SetItemFlags(src->GetItemFlags()); - - if (dst->OutsideOfPark && dst->State != PeepState::LeavingPark) - { - increment_guests_heading_for_park(); - } - else - { - increment_guests_in_park(); - } -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - ImportPeep(dst, src); - dst->AssignedStaffType = StaffType(src->staff_type); - dst->MechanicTimeSinceCall = src->mechanic_time_since_call; - dst->HireDate = src->park_entry_time; - dst->StaffId = src->staff_id; - dst->StaffOrders = src->staff_orders; - dst->StaffMowingTimeout = src->staff_mowing_timeout; - dst->StaffLawnsMown = src->paid_to_enter; - dst->StaffGardensWatered = src->paid_on_rides; - dst->StaffLitterSwept = src->paid_on_food; - dst->StaffBinsEmptied = src->paid_on_souvenirs; -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - ImportEntityCommonProperties(dst, src); - - dst->SubType = Litter::Type(src->type); -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - - ImportEntityCommonProperties(dst, src); - dst->frame = src->frame; -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - - ImportEntityCommonProperties(dst, src); - dst->MoveDelay = src->move_delay; - dst->NumMovements = src->num_movements; - dst->Value = src->value; - dst->OffsetX = src->offset_x; - dst->Wiggle = src->wiggle; -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - ImportEntityCommonProperties(dst, src); -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - ImportEntityCommonProperties(dst, src); -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - ImportEntityCommonProperties(dst, src); -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - ImportEntityCommonProperties(dst, src); -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - - ImportEntityCommonProperties(dst, src); - dst->FountainFlags = src->fountain_flags; - dst->Iteration = src->iteration; - dst->NumTicksAlive = src->num_ticks_alive; - dst->frame = src->frame; - dst->FountainType = JumpingFountainType::Water; -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - - ImportEntityCommonProperties(dst, src); - // Balloons were always blue in RCT1 without AA/LL - if (_gameVersion == FILE_VERSION_RCT1) - { - dst->colour = COLOUR_LIGHT_BLUE; - } - else - { - dst->colour = RCT1::GetColour(src->colour); - } -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - - ImportEntityCommonProperties(dst, src); - dst->frame = src->frame; - dst->state = static_cast(src->state); -} - -void S4Importer::ImportEntity(const RCT12SpriteBase& src) -{ - switch (GetEntityTypeFromRCT1Sprite(src)) - { - case EntityType::Vehicle: - ImportEntity(src); - break; - case EntityType::Guest: - ImportEntity(src); - break; - case EntityType::Staff: - ImportEntity(src); - break; - case EntityType::SteamParticle: - ImportEntity(src); - break; - case EntityType::MoneyEffect: - ImportEntity(src); - break; - case EntityType::CrashedVehicleParticle: - ImportEntity(src); - break; - case EntityType::ExplosionCloud: - ImportEntity(src); - break; - case EntityType::ExplosionFlare: - ImportEntity(src); - break; - case EntityType::CrashSplash: - ImportEntity(src); - break; - case EntityType::JumpingFountain: - ImportEntity(src); - break; - case EntityType::Balloon: - ImportEntity(src); - break; - case EntityType::Duck: - ImportEntity(src); - break; - case EntityType::Litter: - ImportEntity(src); - break; - default: - // Null elements do not need imported - break; - } -} +} // namespace RCT1 std::unique_ptr ParkImporter::CreateS4() { - return std::make_unique(); + return std::make_unique(); } void load_from_sv4(const utf8* path) { auto& objectMgr = GetContext()->GetObjectManager(); - auto s4Importer = std::make_unique(); + auto s4Importer = std::make_unique(); auto result = s4Importer->LoadSavedGame(path); objectMgr.LoadObjects(result.RequiredObjects.data(), result.RequiredObjects.size()); s4Importer->Import(); @@ -3060,7 +3067,7 @@ void load_from_sv4(const utf8* path) void load_from_sc4(const utf8* path) { auto& objectMgr = GetContext()->GetObjectManager(); - auto s4Importer = std::make_unique(); + auto s4Importer = std::make_unique(); auto result = s4Importer->LoadScenario(path); objectMgr.LoadObjects(result.RequiredObjects.data(), result.RequiredObjects.size()); s4Importer->Import(); diff --git a/src/openrct2/rct1/T4Importer.cpp b/src/openrct2/rct1/T4Importer.cpp index dc11084497..d704c09083 100644 --- a/src/openrct2/rct1/T4Importer.cpp +++ b/src/openrct2/rct1/T4Importer.cpp @@ -22,274 +22,278 @@ #include "../ride/TrackDesign.h" #include "../ride/TrackDesignRepository.h" -/** - * Class to import RollerCoaster Tycoon 1 track designs (*.TD4). - */ -class TD4Importer final : public ITrackImporter +namespace RCT1 { -private: - OpenRCT2::MemoryStream _stream; - std::string _name; - -public: - TD4Importer() + /** + * Class to import RollerCoaster Tycoon 1 track designs (*.TD4). + */ + class TD4Importer final : public ITrackImporter { - } + private: + OpenRCT2::MemoryStream _stream; + std::string _name; - bool Load(const utf8* path) override - { - const utf8* extension = Path::GetExtension(path); - if (String::Equals(extension, ".td4", true)) + public: + TD4Importer() { - _name = GetNameFromTrackPath(path); - auto fs = OpenRCT2::FileStream(path, OpenRCT2::FILE_MODE_OPEN); - return LoadFromStream(&fs); - } - else - { - throw std::runtime_error("Invalid RCT1 track extension."); - } - } - - bool LoadFromStream(OpenRCT2::IStream* stream) override - { - auto checksumType = SawyerEncoding::ValidateTrackChecksum(stream); - if (!gConfigGeneral.allow_loading_with_incorrect_checksum && checksumType == RCT12TrackDesignVersion::unknown) - { - throw IOException("Invalid checksum."); } - auto chunkReader = SawyerChunkReader(stream); - auto data = chunkReader.ReadChunkTrack(); - _stream.WriteArray(reinterpret_cast(data->GetData()), data->GetLength()); - _stream.SetPosition(0); - return true; - } - - std::unique_ptr Import() override - { - std::unique_ptr td = std::make_unique(); - - _stream.SetPosition(7); - RCT12TrackDesignVersion version = static_cast(_stream.ReadValue() >> 2); - - if (version != RCT12TrackDesignVersion::TD4 && version != RCT12TrackDesignVersion::TD4_AA) + bool Load(const utf8* path) override { - throw IOException("Version number incorrect."); - } - _stream.SetPosition(0); - - if (version == RCT12TrackDesignVersion::TD4_AA) - { - return ImportAA(); - } - else - { - return ImportTD4(); - } - } - -private: - std::unique_ptr ImportAA() - { - std::unique_ptr td = std::make_unique(); - rct_track_td4_aa td4aa{}; - _stream.Read(&td4aa, sizeof(rct_track_td4_aa)); - - for (int32_t i = 0; i < RCT12_NUM_COLOUR_SCHEMES; i++) - { - td->track_spine_colour[i] = RCT1::GetColour(td4aa.track_spine_colour[i]); - td->track_rail_colour[i] = RCT1::GetColour(td4aa.track_rail_colour[i]); - td->track_support_colour[i] = RCT1::GetColour(td4aa.track_support_colour[i]); - } - - td->flags2 = td4aa.flags2; - - return ImportTD4Base(std::move(td), td4aa); - } - - std::unique_ptr ImportTD4() - { - std::unique_ptr td = std::make_unique(); - rct_track_td4 td4{}; - _stream.Read(&td4, sizeof(rct_track_td4)); - for (int32_t i = 0; i < NUM_COLOUR_SCHEMES; i++) - { - td->track_spine_colour[i] = RCT1::GetColour(td4.track_spine_colour_v0); - td->track_rail_colour[i] = RCT1::GetColour(td4.track_rail_colour_v0); - td->track_support_colour[i] = RCT1::GetColour(td4.track_support_colour_v0); - - // Mazes were only hedges - switch (td4.type) + const utf8* extension = Path::GetExtension(path); + if (String::Equals(extension, ".td4", true)) { - case RCT1_RIDE_TYPE_HEDGE_MAZE: - td->track_support_colour[i] = MAZE_WALL_TYPE_HEDGE; - break; - case RCT1_RIDE_TYPE_RIVER_RAPIDS: - td->track_spine_colour[i] = COLOUR_WHITE; - td->track_rail_colour[i] = COLOUR_WHITE; - break; - } - } - td->flags2 = 0; - return ImportTD4Base(std::move(td), td4); - } - - std::unique_ptr ImportTD4Base(std::unique_ptr td, rct_track_td4& td4Base) - { - td->type = RCT1::GetRideType(td4Base.type, td4Base.vehicle_type); - - // All TD4s that use powered launch use the type that doesn't pass the station. - td->ride_mode = static_cast(td4Base.mode); - if (td4Base.mode == RCT1_RIDE_MODE_POWERED_LAUNCH) - { - td->ride_mode = RideMode::PoweredLaunch; - } - - // Convert RCT1 vehicle type to RCT2 vehicle type. Initialise with a string consisting of 8 spaces. - rct_object_entry vehicleObject = { 0x80, " " }; - if (td4Base.type == RIDE_TYPE_MAZE) - { - const char* vehObjName = RCT1::GetRideTypeObject(td4Base.type); - assert(vehObjName != nullptr); - std::memcpy(vehicleObject.name, vehObjName, std::min(String::SizeOf(vehObjName), static_cast(8))); - } - else - { - const char* vehObjName = RCT1::GetVehicleObject(td4Base.vehicle_type); - assert(vehObjName != nullptr); - std::memcpy(vehicleObject.name, vehObjName, std::min(String::SizeOf(vehObjName), static_cast(8))); - } - std::memcpy(&td->vehicle_object, &vehicleObject, sizeof(rct_object_entry)); - td->vehicle_type = td4Base.vehicle_type; - - td->flags = td4Base.flags; - td->colour_scheme = td4Base.version_and_colour_scheme & 0x3; - - // Vehicle colours - for (int32_t i = 0; i < RCT1_MAX_TRAINS_PER_RIDE; i++) - { - // RCT1 had no third colour - RCT1::RCT1VehicleColourSchemeCopyDescriptor colourSchemeCopyDescriptor = RCT1::GetColourSchemeCopyDescriptor( - td4Base.vehicle_type); - if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_1) - { - td->vehicle_colours[i].body_colour = RCT1::GetColour(td4Base.vehicle_colours[i].body_colour); - } - else if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_2) - { - td->vehicle_colours[i].body_colour = RCT1::GetColour(td4Base.vehicle_colours[i].trim_colour); + _name = GetNameFromTrackPath(path); + auto fs = OpenRCT2::FileStream(path, OpenRCT2::FILE_MODE_OPEN); + return LoadFromStream(&fs); } else { - td->vehicle_colours[i].body_colour = colourSchemeCopyDescriptor.colour1; + throw std::runtime_error("Invalid RCT1 track extension."); + } + } + + bool LoadFromStream(OpenRCT2::IStream* stream) override + { + auto checksumType = SawyerEncoding::ValidateTrackChecksum(stream); + if (!gConfigGeneral.allow_loading_with_incorrect_checksum && checksumType == RCT12TrackDesignVersion::unknown) + { + throw IOException("Invalid checksum."); } - if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_1) + auto chunkReader = SawyerChunkReader(stream); + auto data = chunkReader.ReadChunkTrack(); + _stream.WriteArray(reinterpret_cast(data->GetData()), data->GetLength()); + _stream.SetPosition(0); + return true; + } + + std::unique_ptr Import() override + { + std::unique_ptr td = std::make_unique(); + + _stream.SetPosition(7); + RCT12TrackDesignVersion version = static_cast(_stream.ReadValue() >> 2); + + if (version != RCT12TrackDesignVersion::TD4 && version != RCT12TrackDesignVersion::TD4_AA) { - td->vehicle_colours[i].trim_colour = RCT1::GetColour(td4Base.vehicle_colours[i].body_colour); + throw IOException("Version number incorrect."); } - else if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_2) + _stream.SetPosition(0); + + if (version == RCT12TrackDesignVersion::TD4_AA) { - td->vehicle_colours[i].trim_colour = RCT1::GetColour(td4Base.vehicle_colours[i].trim_colour); + return ImportAA(); } else { - td->vehicle_colours[i].trim_colour = colourSchemeCopyDescriptor.colour2; - } - - if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_1) - { - td->vehicle_additional_colour[i] = RCT1::GetColour(td4Base.vehicle_colours[i].body_colour); - } - else if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_2) - { - td->vehicle_additional_colour[i] = RCT1::GetColour(td4Base.vehicle_colours[i].trim_colour); - } - else - { - td->vehicle_additional_colour[i] = colourSchemeCopyDescriptor.colour3; + return ImportTD4(); } } - // Set remaining vehicles to same colour as first vehicle - for (size_t i = RCT1_MAX_TRAINS_PER_RIDE; i < std::size(td->vehicle_colours); i++) - { - td->vehicle_colours[i] = td->vehicle_colours[0]; - td->vehicle_additional_colour[i] = td->vehicle_additional_colour[0]; - } - td->depart_flags = td4Base.depart_flags; - td->number_of_trains = td4Base.number_of_trains; - td->number_of_cars_per_train = td4Base.number_of_cars_per_train; - td->min_waiting_time = td4Base.min_waiting_time; - td->max_waiting_time = td4Base.max_waiting_time; - td->operation_setting = std::min(td4Base.operation_setting, GetRideTypeDescriptor(td->type).OperatingSettings.MaxValue); - td->max_speed = td4Base.max_speed; - td->average_speed = td4Base.average_speed; - td->ride_length = td4Base.ride_length; - td->max_positive_vertical_g = td4Base.max_positive_vertical_g; - td->max_negative_vertical_g = td4Base.max_negative_vertical_g; - td->max_lateral_g = td4Base.max_lateral_g; - - if (td->type == RIDE_TYPE_MINI_GOLF) + private: + std::unique_ptr ImportAA() { - td->holes = td4Base.num_holes; - } - else - { - td->inversions = td4Base.num_inversions; - } + std::unique_ptr td = std::make_unique(); + rct_track_td4_aa td4aa{}; + _stream.Read(&td4aa, sizeof(rct_track_td4_aa)); - td->drops = td4Base.num_drops; - td->highest_drop_height = td4Base.highest_drop_height / 2; - td->excitement = td4Base.excitement; - td->intensity = td4Base.intensity; - td->nausea = td4Base.nausea; - td->upkeep_cost = td4Base.upkeep_cost; - td->space_required_x = 255; - td->space_required_y = 255; - td->lift_hill_speed = 5; - td->num_circuits = 0; - td->operation_setting = std::min(td->operation_setting, GetRideTypeDescriptor(td->type).OperatingSettings.MaxValue); - - if (td->type == RIDE_TYPE_MAZE) - { - rct_td46_maze_element t4MazeElement{}; - t4MazeElement.all = !0; - while (t4MazeElement.all != 0) + for (int32_t i = 0; i < RCT12_NUM_COLOUR_SCHEMES; i++) { - _stream.Read(&t4MazeElement, sizeof(rct_td46_maze_element)); - if (t4MazeElement.all != 0) + td->track_spine_colour[i] = RCT1::GetColour(td4aa.track_spine_colour[i]); + td->track_rail_colour[i] = RCT1::GetColour(td4aa.track_rail_colour[i]); + td->track_support_colour[i] = RCT1::GetColour(td4aa.track_support_colour[i]); + } + + td->flags2 = td4aa.flags2; + + return ImportTD4Base(std::move(td), td4aa); + } + + std::unique_ptr ImportTD4() + { + std::unique_ptr td = std::make_unique(); + rct_track_td4 td4{}; + _stream.Read(&td4, sizeof(rct_track_td4)); + for (int32_t i = 0; i < NUM_COLOUR_SCHEMES; i++) + { + td->track_spine_colour[i] = RCT1::GetColour(td4.track_spine_colour_v0); + td->track_rail_colour[i] = RCT1::GetColour(td4.track_rail_colour_v0); + td->track_support_colour[i] = RCT1::GetColour(td4.track_support_colour_v0); + + // Mazes were only hedges + switch (td4.type) { - TrackDesignMazeElement mazeElement{}; - mazeElement.x = t4MazeElement.x; - mazeElement.y = t4MazeElement.y; - mazeElement.direction = t4MazeElement.direction; - mazeElement.type = t4MazeElement.type; - td->maze_elements.push_back(mazeElement); + case RCT1_RIDE_TYPE_HEDGE_MAZE: + td->track_support_colour[i] = MAZE_WALL_TYPE_HEDGE; + break; + case RCT1_RIDE_TYPE_RIVER_RAPIDS: + td->track_spine_colour[i] = COLOUR_WHITE; + td->track_rail_colour[i] = COLOUR_WHITE; + break; } } - } - else - { - rct_td46_track_element t4TrackElement{}; - for (uint8_t endFlag = _stream.ReadValue(); endFlag != 0xFF; endFlag = _stream.ReadValue()) - { - _stream.SetPosition(_stream.GetPosition() - 1); - _stream.Read(&t4TrackElement, sizeof(rct_td46_track_element)); - TrackDesignTrackElement trackElement{}; - trackElement.type = RCT1TrackTypeToOpenRCT2(t4TrackElement.type, td->type); - trackElement.flags = t4TrackElement.flags; - td->track_elements.push_back(trackElement); - } + td->flags2 = 0; + return ImportTD4Base(std::move(td), td4); } - td->name = _name; - return td; - } -}; + std::unique_ptr ImportTD4Base(std::unique_ptr td, rct_track_td4& td4Base) + { + td->type = RCT1::GetRideType(td4Base.type, td4Base.vehicle_type); + + // All TD4s that use powered launch use the type that doesn't pass the station. + td->ride_mode = static_cast(td4Base.mode); + if (td4Base.mode == RCT1_RIDE_MODE_POWERED_LAUNCH) + { + td->ride_mode = RideMode::PoweredLaunch; + } + + // Convert RCT1 vehicle type to RCT2 vehicle type. Initialise with a string consisting of 8 spaces. + rct_object_entry vehicleObject = { 0x80, " " }; + if (td4Base.type == RIDE_TYPE_MAZE) + { + const char* vehObjName = RCT1::GetRideTypeObject(td4Base.type); + assert(vehObjName != nullptr); + std::memcpy(vehicleObject.name, vehObjName, std::min(String::SizeOf(vehObjName), static_cast(8))); + } + else + { + const char* vehObjName = RCT1::GetVehicleObject(td4Base.vehicle_type); + assert(vehObjName != nullptr); + std::memcpy(vehicleObject.name, vehObjName, std::min(String::SizeOf(vehObjName), static_cast(8))); + } + std::memcpy(&td->vehicle_object, &vehicleObject, sizeof(rct_object_entry)); + td->vehicle_type = td4Base.vehicle_type; + + td->flags = td4Base.flags; + td->colour_scheme = td4Base.version_and_colour_scheme & 0x3; + + // Vehicle colours + for (int32_t i = 0; i < RCT1_MAX_TRAINS_PER_RIDE; i++) + { + // RCT1 had no third colour + RCT1::RCT1VehicleColourSchemeCopyDescriptor colourSchemeCopyDescriptor = RCT1::GetColourSchemeCopyDescriptor( + td4Base.vehicle_type); + if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_1) + { + td->vehicle_colours[i].body_colour = RCT1::GetColour(td4Base.vehicle_colours[i].body_colour); + } + else if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_2) + { + td->vehicle_colours[i].body_colour = RCT1::GetColour(td4Base.vehicle_colours[i].trim_colour); + } + else + { + td->vehicle_colours[i].body_colour = colourSchemeCopyDescriptor.colour1; + } + + if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_1) + { + td->vehicle_colours[i].trim_colour = RCT1::GetColour(td4Base.vehicle_colours[i].body_colour); + } + else if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_2) + { + td->vehicle_colours[i].trim_colour = RCT1::GetColour(td4Base.vehicle_colours[i].trim_colour); + } + else + { + td->vehicle_colours[i].trim_colour = colourSchemeCopyDescriptor.colour2; + } + + if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_1) + { + td->vehicle_additional_colour[i] = RCT1::GetColour(td4Base.vehicle_colours[i].body_colour); + } + else if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_2) + { + td->vehicle_additional_colour[i] = RCT1::GetColour(td4Base.vehicle_colours[i].trim_colour); + } + else + { + td->vehicle_additional_colour[i] = colourSchemeCopyDescriptor.colour3; + } + } + // Set remaining vehicles to same colour as first vehicle + for (size_t i = RCT1_MAX_TRAINS_PER_RIDE; i < std::size(td->vehicle_colours); i++) + { + td->vehicle_colours[i] = td->vehicle_colours[0]; + td->vehicle_additional_colour[i] = td->vehicle_additional_colour[0]; + } + + td->depart_flags = td4Base.depart_flags; + td->number_of_trains = td4Base.number_of_trains; + td->number_of_cars_per_train = td4Base.number_of_cars_per_train; + td->min_waiting_time = td4Base.min_waiting_time; + td->max_waiting_time = td4Base.max_waiting_time; + td->operation_setting = std::min( + td4Base.operation_setting, GetRideTypeDescriptor(td->type).OperatingSettings.MaxValue); + td->max_speed = td4Base.max_speed; + td->average_speed = td4Base.average_speed; + td->ride_length = td4Base.ride_length; + td->max_positive_vertical_g = td4Base.max_positive_vertical_g; + td->max_negative_vertical_g = td4Base.max_negative_vertical_g; + td->max_lateral_g = td4Base.max_lateral_g; + + if (td->type == RIDE_TYPE_MINI_GOLF) + { + td->holes = td4Base.num_holes; + } + else + { + td->inversions = td4Base.num_inversions; + } + + td->drops = td4Base.num_drops; + td->highest_drop_height = td4Base.highest_drop_height / 2; + td->excitement = td4Base.excitement; + td->intensity = td4Base.intensity; + td->nausea = td4Base.nausea; + td->upkeep_cost = td4Base.upkeep_cost; + td->space_required_x = 255; + td->space_required_y = 255; + td->lift_hill_speed = 5; + td->num_circuits = 0; + td->operation_setting = std::min(td->operation_setting, GetRideTypeDescriptor(td->type).OperatingSettings.MaxValue); + + if (td->type == RIDE_TYPE_MAZE) + { + rct_td46_maze_element t4MazeElement{}; + t4MazeElement.all = !0; + while (t4MazeElement.all != 0) + { + _stream.Read(&t4MazeElement, sizeof(rct_td46_maze_element)); + if (t4MazeElement.all != 0) + { + TrackDesignMazeElement mazeElement{}; + mazeElement.x = t4MazeElement.x; + mazeElement.y = t4MazeElement.y; + mazeElement.direction = t4MazeElement.direction; + mazeElement.type = t4MazeElement.type; + td->maze_elements.push_back(mazeElement); + } + } + } + else + { + rct_td46_track_element t4TrackElement{}; + for (uint8_t endFlag = _stream.ReadValue(); endFlag != 0xFF; endFlag = _stream.ReadValue()) + { + _stream.SetPosition(_stream.GetPosition() - 1); + _stream.Read(&t4TrackElement, sizeof(rct_td46_track_element)); + TrackDesignTrackElement trackElement{}; + trackElement.type = RCT1TrackTypeToOpenRCT2(t4TrackElement.type, td->type); + trackElement.flags = t4TrackElement.flags; + td->track_elements.push_back(trackElement); + } + } + + td->name = _name; + return td; + } + }; +} // namespace RCT1 std::unique_ptr TrackImporter::CreateTD4() { - return std::make_unique(); + return std::make_unique(); } diff --git a/src/openrct2/rct1/Tables.cpp b/src/openrct2/rct1/Tables.cpp index 586834a7c9..4fd6c5f436 100644 --- a/src/openrct2/rct1/Tables.cpp +++ b/src/openrct2/rct1/Tables.cpp @@ -1396,13 +1396,13 @@ namespace RCT1 }; return map[sceneryType]; } + // clang-format on + + track_type_t RCT1TrackTypeToOpenRCT2(RCT12TrackType origTrackType, uint8_t rideType) + { + if (GetRideTypeDescriptor(rideType).HasFlag(RIDE_TYPE_FLAG_FLAT_RIDE)) + return RCT12FlatTrackTypeToOpenRCT2(origTrackType); + + return origTrackType; + } } // namespace RCT1 - -track_type_t RCT1TrackTypeToOpenRCT2(RCT12TrackType origTrackType, uint8_t rideType) -{ - if (GetRideTypeDescriptor(rideType).HasFlag(RIDE_TYPE_FLAG_FLAT_RIDE)) - return RCT12FlatTrackTypeToOpenRCT2(origTrackType); - - return origTrackType; -} -// clang-format on diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index 991e0ef714..64d72de1cd 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -1089,7 +1089,7 @@ enum SPR_G2_END = SPR_G2_SINGLE_RAIL_END, SPR_CSG_BEGIN = SPR_G2_END, - SPR_CSG_END = SPR_CSG_BEGIN + RCT1_NUM_LL_CSG_ENTRIES, + SPR_CSG_END = SPR_CSG_BEGIN + RCT1::RCT1_NUM_LL_CSG_ENTRIES, SPR_SCROLLING_TEXT_START = SPR_CSG_END, SPR_SCROLLING_TEXT_END = SPR_SCROLLING_TEXT_START + OpenRCT2::MaxScrollingTextEntries, From eeb5c64119c0395d18ee55a020c47d9046aeae11 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Wed, 25 Aug 2021 17:29:15 +0300 Subject: [PATCH 39/59] Rename SpriteBase.h to EntityBase.h --- src/openrct2/libopenrct2.vcxproj | 2 +- src/openrct2/world/{SpriteBase.h => EntityBase.h} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename src/openrct2/world/{SpriteBase.h => EntityBase.h} (100%) diff --git a/src/openrct2/libopenrct2.vcxproj b/src/openrct2/libopenrct2.vcxproj index 3d685e7517..8d336d6de6 100644 --- a/src/openrct2/libopenrct2.vcxproj +++ b/src/openrct2/libopenrct2.vcxproj @@ -474,7 +474,7 @@ - + diff --git a/src/openrct2/world/SpriteBase.h b/src/openrct2/world/EntityBase.h similarity index 100% rename from src/openrct2/world/SpriteBase.h rename to src/openrct2/world/EntityBase.h From 20d3b50771fe32abe6b66fc8e19825879e2596cf Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Wed, 25 Aug 2021 17:33:06 +0300 Subject: [PATCH 40/59] Correct includes for EntityBase.h --- src/openrct2/peep/Peep.h | 2 +- src/openrct2/ride/Vehicle.h | 2 +- src/openrct2/world/Balloon.h | 2 +- src/openrct2/world/Duck.h | 2 +- src/openrct2/world/Entity.h | 2 +- src/openrct2/world/EntityList.h | 2 +- src/openrct2/world/EntityTweener.h | 2 +- src/openrct2/world/Fountain.h | 2 +- src/openrct2/world/Litter.h | 2 +- src/openrct2/world/MoneyEffect.h | 2 +- src/openrct2/world/Particle.h | 2 +- src/openrct2/world/Sprite.h | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/openrct2/peep/Peep.h b/src/openrct2/peep/Peep.h index eb659b6760..41d2660ab7 100644 --- a/src/openrct2/peep/Peep.h +++ b/src/openrct2/peep/Peep.h @@ -16,8 +16,8 @@ #include "../ride/RideTypes.h" #include "../ride/ShopItem.h" #include "../util/Util.h" +#include "../world/EntityBase.h" #include "../world/Location.hpp" -#include "../world/SpriteBase.h" #include #include diff --git a/src/openrct2/ride/Vehicle.h b/src/openrct2/ride/Vehicle.h index 018ac852ea..d99463ae12 100644 --- a/src/openrct2/ride/Vehicle.h +++ b/src/openrct2/ride/Vehicle.h @@ -12,8 +12,8 @@ #include "../audio/audio.h" #include "../common.h" #include "../ride/RideTypes.h" +#include "../world/EntityBase.h" #include "../world/Location.hpp" -#include "../world/SpriteBase.h" #include "Station.h" #include "VehicleColour.h" #include "VehicleEntry.h" diff --git a/src/openrct2/world/Balloon.h b/src/openrct2/world/Balloon.h index 46cc2e611e..f7b95c15fd 100644 --- a/src/openrct2/world/Balloon.h +++ b/src/openrct2/world/Balloon.h @@ -9,7 +9,7 @@ #pragma once -#include "SpriteBase.h" +#include "EntityBase.h" class DataSerialiser; struct CoordsXYZ; diff --git a/src/openrct2/world/Duck.h b/src/openrct2/world/Duck.h index feef90e15e..0eeb867f83 100644 --- a/src/openrct2/world/Duck.h +++ b/src/openrct2/world/Duck.h @@ -9,7 +9,7 @@ #pragma once -#include "SpriteBase.h" +#include "EntityBase.h" class DataSerialiser; struct CoordsXY; diff --git a/src/openrct2/world/Entity.h b/src/openrct2/world/Entity.h index e2e6fd7cd4..6c1831232c 100644 --- a/src/openrct2/world/Entity.h +++ b/src/openrct2/world/Entity.h @@ -9,7 +9,7 @@ #pragma once -#include "SpriteBase.h" +#include "EntityBase.h" constexpr uint16_t MAX_ENTITIES = 10000; diff --git a/src/openrct2/world/EntityList.h b/src/openrct2/world/EntityList.h index 2c43d33c9f..db09b04e6b 100644 --- a/src/openrct2/world/EntityList.h +++ b/src/openrct2/world/EntityList.h @@ -12,8 +12,8 @@ #include "../common.h" #include "../rct12/RCT12.h" #include "Entity.h" +#include "EntityBase.h" #include "Location.hpp" -#include "SpriteBase.h" #include #include diff --git a/src/openrct2/world/EntityTweener.h b/src/openrct2/world/EntityTweener.h index 7e6dfaf843..7d2c5da027 100644 --- a/src/openrct2/world/EntityTweener.h +++ b/src/openrct2/world/EntityTweener.h @@ -9,7 +9,7 @@ #pragma once -#include "SpriteBase.h" +#include "EntityBase.h" #include diff --git a/src/openrct2/world/Fountain.h b/src/openrct2/world/Fountain.h index 068c9a0dcc..5f33fa54fd 100644 --- a/src/openrct2/world/Fountain.h +++ b/src/openrct2/world/Fountain.h @@ -10,8 +10,8 @@ #pragma once #include "../common.h" +#include "EntityBase.h" #include "Map.h" -#include "SpriteBase.h" class DataSerialiser; diff --git a/src/openrct2/world/Litter.h b/src/openrct2/world/Litter.h index b1cfe0a62f..84e8d01121 100644 --- a/src/openrct2/world/Litter.h +++ b/src/openrct2/world/Litter.h @@ -9,7 +9,7 @@ #pragma once -#include "SpriteBase.h" +#include "EntityBase.h" class DataSerialiser; struct CoordsXYZ; diff --git a/src/openrct2/world/MoneyEffect.h b/src/openrct2/world/MoneyEffect.h index bd48992c51..1ea4647135 100644 --- a/src/openrct2/world/MoneyEffect.h +++ b/src/openrct2/world/MoneyEffect.h @@ -9,7 +9,7 @@ #pragma once -#include "SpriteBase.h" +#include "EntityBase.h" class DataSerialiser; struct CoordsXYZ; diff --git a/src/openrct2/world/Particle.h b/src/openrct2/world/Particle.h index 53ba024785..5eaa81b522 100644 --- a/src/openrct2/world/Particle.h +++ b/src/openrct2/world/Particle.h @@ -10,7 +10,7 @@ #pragma once #include "../ride/VehicleColour.h" -#include "SpriteBase.h" +#include "EntityBase.h" class DataSerialiser; struct CoordsXYZ; diff --git a/src/openrct2/world/Sprite.h b/src/openrct2/world/Sprite.h index 14db05fa25..b2fd41374c 100644 --- a/src/openrct2/world/Sprite.h +++ b/src/openrct2/world/Sprite.h @@ -10,7 +10,7 @@ #pragma once #include "../common.h" -#include "SpriteBase.h" +#include "EntityBase.h" #include From de364aa15a28df7b78aae0c1a75bc7fdb5076c95 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Wed, 25 Aug 2021 17:42:09 +0300 Subject: [PATCH 41/59] Rename type SpriteBase to EntityBase --- src/openrct2/GameStateSnapshots.cpp | 14 ++--- src/openrct2/drawing/LightFX.cpp | 2 +- src/openrct2/drawing/LightFX.h | 4 +- src/openrct2/interface/Viewport.h | 4 +- src/openrct2/peep/Guest.cpp | 2 +- src/openrct2/peep/Peep.cpp | 2 +- src/openrct2/peep/Peep.h | 2 +- src/openrct2/peep/Staff.cpp | 2 +- src/openrct2/rct1/S4Importer.cpp | 2 +- src/openrct2/rct2/S6Exporter.cpp | 6 +- src/openrct2/rct2/S6Exporter.h | 4 +- src/openrct2/rct2/S6Importer.cpp | 4 +- src/openrct2/ride/Vehicle.cpp | 2 +- src/openrct2/ride/Vehicle.h | 2 +- .../scripting/bindings/entity/ScEntity.hpp | 2 +- .../scripting/bindings/world/ScMap.cpp | 2 +- .../scripting/bindings/world/ScMap.hpp | 2 +- src/openrct2/world/Balloon.cpp | 2 +- src/openrct2/world/Duck.cpp | 2 +- src/openrct2/world/Entity.cpp | 2 +- src/openrct2/world/Entity.h | 12 ++-- src/openrct2/world/EntityBase.h | 4 +- src/openrct2/world/EntityList.h | 4 +- src/openrct2/world/EntityTweener.cpp | 2 +- src/openrct2/world/EntityTweener.h | 4 +- src/openrct2/world/Fountain.cpp | 2 +- src/openrct2/world/Litter.h | 2 +- src/openrct2/world/MoneyEffect.cpp | 2 +- src/openrct2/world/Particle.cpp | 4 +- src/openrct2/world/Sprite.cpp | 56 +++++++++---------- src/openrct2/world/Sprite.h | 10 ++-- 31 files changed, 83 insertions(+), 83 deletions(-) diff --git a/src/openrct2/GameStateSnapshots.cpp b/src/openrct2/GameStateSnapshots.cpp index b372119ce4..a3bc1e024f 100644 --- a/src/openrct2/GameStateSnapshots.cpp +++ b/src/openrct2/GameStateSnapshots.cpp @@ -222,13 +222,13 @@ struct GameStateSnapshots final : public IGameStateSnapshots } void CompareSpriteDataCommon( - const SpriteBase& spriteBase, const SpriteBase& spriteCmp, GameStateSpriteChange_t& changeData) const + const EntityBase& spriteBase, const EntityBase& spriteCmp, GameStateSpriteChange_t& changeData) const { - COMPARE_FIELD(SpriteBase, Type); - COMPARE_FIELD(SpriteBase, sprite_index); - COMPARE_FIELD(SpriteBase, x); - COMPARE_FIELD(SpriteBase, y); - COMPARE_FIELD(SpriteBase, z); + COMPARE_FIELD(EntityBase, Type); + COMPARE_FIELD(EntityBase, sprite_index); + COMPARE_FIELD(EntityBase, x); + COMPARE_FIELD(EntityBase, y); + COMPARE_FIELD(EntityBase, z); /* Only relevant for rendering, does not affect game state. COMPARE_FIELD(SpriteBase, sprite_width); COMPARE_FIELD(SpriteBase, sprite_height_negative); @@ -238,7 +238,7 @@ struct GameStateSnapshots final : public IGameStateSnapshots COMPARE_FIELD(SpriteBase, sprite_right); COMPARE_FIELD(SpriteBase, sprite_bottom); */ - COMPARE_FIELD(SpriteBase, sprite_direction); + COMPARE_FIELD(EntityBase, sprite_direction); } void CompareSpriteDataPeep(const Peep& spriteBase, const Peep& spriteCmp, GameStateSpriteChange_t& changeData) const diff --git a/src/openrct2/drawing/LightFX.cpp b/src/openrct2/drawing/LightFX.cpp index c90abd7fed..837742d48b 100644 --- a/src/openrct2/drawing/LightFX.cpp +++ b/src/openrct2/drawing/LightFX.cpp @@ -684,7 +684,7 @@ static void LightfxAdd3DLight(const CoordsXYZ& loc, const LightType lightType) LightfxAdd3DLight(((loc.x << 16) | loc.y), LightFXQualifier::Map, loc.z, loc, lightType); } -void LightfxAdd3DLight(const SpriteBase& entity, const uint8_t id, const CoordsXYZ& loc, const LightType lightType) +void LightfxAdd3DLight(const EntityBase& entity, const uint8_t id, const CoordsXYZ& loc, const LightType lightType) { LightfxAdd3DLight(entity.sprite_index, LightFXQualifier::Entity, id, loc, lightType); } diff --git a/src/openrct2/drawing/LightFX.h b/src/openrct2/drawing/LightFX.h index 1473bb418c..13a43ed141 100644 --- a/src/openrct2/drawing/LightFX.h +++ b/src/openrct2/drawing/LightFX.h @@ -18,7 +18,7 @@ struct Vehicle; struct rct_drawpixelinfo; struct GamePalette; struct CoordsXYZ; -struct SpriteBase; +struct EntityBase; enum class LightType : uint8_t { @@ -60,7 +60,7 @@ void lightfx_update_viewport_settings(); void* lightfx_get_front_buffer(); const GamePalette& lightfx_get_palette(); -void LightfxAdd3DLight(const SpriteBase& entity, const uint8_t id, const CoordsXYZ& loc, const LightType lightType); +void LightfxAdd3DLight(const EntityBase& entity, const uint8_t id, const CoordsXYZ& loc, const LightType lightType); void lightfx_add_3d_light_magic_from_drawing_tile( const CoordsXY& mapPosition, int16_t offsetX, int16_t offsetY, int16_t offsetZ, LightType lightType); diff --git a/src/openrct2/interface/Viewport.h b/src/openrct2/interface/Viewport.h index 2212105dd2..3bd4f8880a 100644 --- a/src/openrct2/interface/Viewport.h +++ b/src/openrct2/interface/Viewport.h @@ -24,7 +24,7 @@ struct Peep; struct TileElement; struct rct_window; union paint_entry; -struct SpriteBase; +struct EntityBase; enum { @@ -77,7 +77,7 @@ struct InteractionInfo union { TileElement* Element = nullptr; - SpriteBase* Entity; + EntityBase* Entity; }; ViewportInteractionItem SpriteType = ViewportInteractionItem::None; }; diff --git a/src/openrct2/peep/Guest.cpp b/src/openrct2/peep/Guest.cpp index fe53f8a73e..f85ef7f0b1 100644 --- a/src/openrct2/peep/Guest.cpp +++ b/src/openrct2/peep/Guest.cpp @@ -429,7 +429,7 @@ static void peep_head_for_nearest_ride_type(Guest* peep, int32_t rideType); static void peep_head_for_nearest_ride_with_flags(Guest* peep, int32_t rideTypeFlags); bool loc_690FD0(Peep* peep, ride_id_t* rideToView, uint8_t* rideSeatToView, TileElement* tileElement); -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::Guest; } diff --git a/src/openrct2/peep/Peep.cpp b/src/openrct2/peep/Peep.cpp index 36f9f1e6a8..48d9e7e7e8 100644 --- a/src/openrct2/peep/Peep.cpp +++ b/src/openrct2/peep/Peep.cpp @@ -127,7 +127,7 @@ const bool gSpriteTypeToSlowWalkMap[] = { // clang-format on -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::Guest || Type == EntityType::Staff; } diff --git a/src/openrct2/peep/Peep.h b/src/openrct2/peep/Peep.h index 41d2660ab7..ceab4cbde7 100644 --- a/src/openrct2/peep/Peep.h +++ b/src/openrct2/peep/Peep.h @@ -548,7 +548,7 @@ public: } }; -struct Peep : SpriteBase +struct Peep : EntityBase { char* Name; CoordsXYZ NextLoc; diff --git a/src/openrct2/peep/Staff.cpp b/src/openrct2/peep/Staff.cpp index c981d22b5e..423290e8fa 100644 --- a/src/openrct2/peep/Staff.cpp +++ b/src/openrct2/peep/Staff.cpp @@ -73,7 +73,7 @@ colour_t gStaffSecurityColour; // Maximum manhattan distance that litter can be for a handyman to seek to it const uint16_t MAX_LITTER_DISTANCE = 3 * COORDS_XY_STEP; -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::Staff; } diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index bc4e621ef5..794bb48311 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -1294,7 +1294,7 @@ namespace RCT1 } } - void ImportEntityCommonProperties(SpriteBase* dst, const RCT12SpriteBase* src) + void ImportEntityCommonProperties(EntityBase* dst, const RCT12SpriteBase* src) { dst->sprite_direction = src->sprite_direction; dst->sprite_width = src->sprite_width; diff --git a/src/openrct2/rct2/S6Exporter.cpp b/src/openrct2/rct2/S6Exporter.cpp index 0639cde023..2d6ca37d9a 100644 --- a/src/openrct2/rct2/S6Exporter.cpp +++ b/src/openrct2/rct2/S6Exporter.cpp @@ -1014,7 +1014,7 @@ void S6Exporter::RebuildEntityLinks() } } -constexpr RCT12EntityLinkListOffset GetRCT2LinkListOffset(const SpriteBase* src) +constexpr RCT12EntityLinkListOffset GetRCT2LinkListOffset(const EntityBase* src) { RCT12EntityLinkListOffset output = RCT12EntityLinkListOffset::Free; switch (src->Type) @@ -1056,7 +1056,7 @@ constexpr RCT12EntityLinkListOffset GetRCT2LinkListOffset(const SpriteBase* src) return output; } -constexpr RCT12SpriteIdentifier GetRCT2SpriteIdentifier(const SpriteBase* src) +constexpr RCT12SpriteIdentifier GetRCT2SpriteIdentifier(const EntityBase* src) { RCT12SpriteIdentifier output = RCT12SpriteIdentifier::Null; switch (src->Type) @@ -1088,7 +1088,7 @@ constexpr RCT12SpriteIdentifier GetRCT2SpriteIdentifier(const SpriteBase* src) return output; } -void S6Exporter::ExportEntityCommonProperties(RCT12SpriteBase* dst, const SpriteBase* src) +void S6Exporter::ExportEntityCommonProperties(RCT12SpriteBase* dst, const EntityBase* src) { dst->sprite_identifier = GetRCT2SpriteIdentifier(src); dst->linked_list_type_offset = GetRCT2LinkListOffset(src); diff --git a/src/openrct2/rct2/S6Exporter.h b/src/openrct2/rct2/S6Exporter.h index bc673854b7..9970a7ef3e 100644 --- a/src/openrct2/rct2/S6Exporter.h +++ b/src/openrct2/rct2/S6Exporter.h @@ -27,7 +27,7 @@ struct Litter; struct ObjectRepositoryItem; struct RCT12SpriteBase; union rct_sprite; -struct SpriteBase; +struct EntityBase; /** * Class to export RollerCoaster Tycoon 2 scenarios (*.SC6) and saved games (*.SV6). @@ -50,7 +50,7 @@ public: void ExportRide(rct2_ride* dst, const Ride* src); void ExportEntities(); template void ExportEntity(RCT12_T* dst, const OpenRCT2_T* src); - void ExportEntityCommonProperties(RCT12SpriteBase* dst, const SpriteBase* src); + void ExportEntityCommonProperties(RCT12SpriteBase* dst, const EntityBase* src); void ExportEntityPeep(RCT2SpritePeep* dst, const Peep* src); private: diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index 53986843d9..114ccc6ef2 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -1395,7 +1395,7 @@ public: return pos.x == 0xFF && pos.y == 0xFF && pos.z == 0xFF && pos.direction == INVALID_DIRECTION; }; - ImportEntityCommonProperties(static_cast(dst), src); + ImportEntityCommonProperties(static_cast(dst), src); if (is_user_string_id(src->name_string_idx)) { dst->SetName(GetUserString(src->name_string_idx)); @@ -1520,7 +1520,7 @@ public: return output; } - void ImportEntityCommonProperties(SpriteBase* dst, const RCT12SpriteBase* src) + void ImportEntityCommonProperties(EntityBase* dst, const RCT12SpriteBase* src) { dst->Type = GetEntityTypeFromRCT2Sprite(src); dst->sprite_height_negative = src->sprite_height_negative; diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index 32e8995f08..8dcabb345e 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -735,7 +735,7 @@ static const struct // clang-format on -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::Vehicle; } diff --git a/src/openrct2/ride/Vehicle.h b/src/openrct2/ride/Vehicle.h index d99463ae12..e8e84859f6 100644 --- a/src/openrct2/ride/Vehicle.h +++ b/src/openrct2/ride/Vehicle.h @@ -53,7 +53,7 @@ constexpr const uint16_t VehicleTrackTypeMask = 0b1111111111111100; enum class MiniGolfAnimation : uint8_t; -struct Vehicle : SpriteBase +struct Vehicle : EntityBase { static constexpr auto cEntityType = EntityType::Vehicle; diff --git a/src/openrct2/scripting/bindings/entity/ScEntity.hpp b/src/openrct2/scripting/bindings/entity/ScEntity.hpp index 6531862fdf..30a9670412 100644 --- a/src/openrct2/scripting/bindings/entity/ScEntity.hpp +++ b/src/openrct2/scripting/bindings/entity/ScEntity.hpp @@ -190,7 +190,7 @@ namespace OpenRCT2::Scripting } } - SpriteBase* GetEntity() const + EntityBase* GetEntity() const { return ::GetEntity(_id); } diff --git a/src/openrct2/scripting/bindings/world/ScMap.cpp b/src/openrct2/scripting/bindings/world/ScMap.cpp index d354850606..ade039e148 100644 --- a/src/openrct2/scripting/bindings/world/ScMap.cpp +++ b/src/openrct2/scripting/bindings/world/ScMap.cpp @@ -253,7 +253,7 @@ namespace OpenRCT2::Scripting dukglue_register_method(ctx, &ScMap::createEntity, "createEntity"); } - DukValue ScMap::GetEntityAsDukValue(const SpriteBase* sprite) const + DukValue ScMap::GetEntityAsDukValue(const EntityBase* sprite) const { auto spriteId = sprite->sprite_index; switch (sprite->Type) diff --git a/src/openrct2/scripting/bindings/world/ScMap.hpp b/src/openrct2/scripting/bindings/world/ScMap.hpp index a2994fd04b..2d6ca62549 100644 --- a/src/openrct2/scripting/bindings/world/ScMap.hpp +++ b/src/openrct2/scripting/bindings/world/ScMap.hpp @@ -47,7 +47,7 @@ namespace OpenRCT2::Scripting static void Register(duk_context* ctx); private: - DukValue GetEntityAsDukValue(const SpriteBase* sprite) const; + DukValue GetEntityAsDukValue(const EntityBase* sprite) const; }; } // namespace OpenRCT2::Scripting diff --git a/src/openrct2/world/Balloon.cpp b/src/openrct2/world/Balloon.cpp index 4ea3655ada..1c7f2e1541 100644 --- a/src/openrct2/world/Balloon.cpp +++ b/src/openrct2/world/Balloon.cpp @@ -16,7 +16,7 @@ #include "../util/Util.h" #include "Sprite.h" -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::Balloon; } diff --git a/src/openrct2/world/Duck.cpp b/src/openrct2/world/Duck.cpp index e6cf1a282f..f376846eca 100644 --- a/src/openrct2/world/Duck.cpp +++ b/src/openrct2/world/Duck.cpp @@ -67,7 +67,7 @@ static constexpr const uint8_t * DuckAnimations[] = }; // clang-format on -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::Duck; } diff --git a/src/openrct2/world/Entity.cpp b/src/openrct2/world/Entity.cpp index 3f35c6a50f..bc1b1e0859 100644 --- a/src/openrct2/world/Entity.cpp +++ b/src/openrct2/world/Entity.cpp @@ -18,7 +18,7 @@ #include "MoneyEffect.h" #include "Particle.h" -static void EntityBaseSerialise(SpriteBase& base, DataSerialiser& stream) +static void EntityBaseSerialise(EntityBase& base, DataSerialiser& stream) { stream << base.Type; stream << base.sprite_index; diff --git a/src/openrct2/world/Entity.h b/src/openrct2/world/Entity.h index 6c1831232c..407f474afe 100644 --- a/src/openrct2/world/Entity.h +++ b/src/openrct2/world/Entity.h @@ -13,29 +13,29 @@ constexpr uint16_t MAX_ENTITIES = 10000; -SpriteBase* try_get_sprite(size_t spriteIndex); -SpriteBase* get_sprite(size_t sprite_idx); +EntityBase* try_get_sprite(size_t spriteIndex); +EntityBase* get_sprite(size_t sprite_idx); -template T* GetEntity(size_t sprite_idx) +template T* GetEntity(size_t sprite_idx) { auto spr = get_sprite(sprite_idx); return spr != nullptr ? spr->As() : nullptr; } -template T* TryGetEntity(size_t sprite_idx) +template T* TryGetEntity(size_t sprite_idx) { auto spr = try_get_sprite(sprite_idx); return spr != nullptr ? spr->As() : nullptr; } -SpriteBase* CreateEntity(EntityType type); +EntityBase* CreateEntity(EntityType type); template T* CreateEntity() { return static_cast(CreateEntity(T::cEntityType)); } // Use only with imports that must happen at a specified index -SpriteBase* CreateEntityAt(const uint16_t index, const EntityType type); +EntityBase* CreateEntityAt(const uint16_t index, const EntityType type); // Use only with imports that must happen at a specified index template T* CreateEntityAt(const uint16_t index) { diff --git a/src/openrct2/world/EntityBase.h b/src/openrct2/world/EntityBase.h index ee84d6d62c..294e0f6004 100644 --- a/src/openrct2/world/EntityBase.h +++ b/src/openrct2/world/EntityBase.h @@ -23,7 +23,7 @@ enum class EntityType : uint8_t Null = 255 }; -struct SpriteBase +struct EntityBase { EntityType Type; uint16_t sprite_index; @@ -74,7 +74,7 @@ struct SpriteBase } }; -struct MiscEntity : SpriteBase +struct MiscEntity : EntityBase { uint16_t frame; }; diff --git a/src/openrct2/world/EntityList.h b/src/openrct2/world/EntityList.h index db09b04e6b..19489ae49b 100644 --- a/src/openrct2/world/EntityList.h +++ b/src/openrct2/world/EntityList.h @@ -81,7 +81,7 @@ public: using iterator_category = std::forward_iterator_tag; }; -template class EntityTileList +template class EntityTileList { private: const std::vector& vec; @@ -153,7 +153,7 @@ public: using iterator_category = std::forward_iterator_tag; }; -template class EntityList +template class EntityList { private: using EntityListIterator_t = EntityListIterator; diff --git a/src/openrct2/world/EntityTweener.cpp b/src/openrct2/world/EntityTweener.cpp index aa77dd5a05..4261421971 100644 --- a/src/openrct2/world/EntityTweener.cpp +++ b/src/openrct2/world/EntityTweener.cpp @@ -57,7 +57,7 @@ void EntityTweener::PostTick() } } -void EntityTweener::RemoveEntity(SpriteBase* entity) +void EntityTweener::RemoveEntity(EntityBase* entity) { if (!entity->Is() && !entity->Is()) { diff --git a/src/openrct2/world/EntityTweener.h b/src/openrct2/world/EntityTweener.h index 7d2c5da027..d5a1026786 100644 --- a/src/openrct2/world/EntityTweener.h +++ b/src/openrct2/world/EntityTweener.h @@ -15,7 +15,7 @@ class EntityTweener { - std::vector Entities; + std::vector Entities; std::vector PrePos; std::vector PostPos; @@ -27,7 +27,7 @@ public: void PreTick(); void PostTick(); - void RemoveEntity(SpriteBase* entity); + void RemoveEntity(EntityBase* entity); void Tween(float alpha); void Restore(); void Reset(); diff --git a/src/openrct2/world/Fountain.cpp b/src/openrct2/world/Fountain.cpp index 13cb54bb79..977e8e3ab7 100644 --- a/src/openrct2/world/Fountain.cpp +++ b/src/openrct2/world/Fountain.cpp @@ -70,7 +70,7 @@ const uint8_t _fountainPatternFlags[] = { FOUNTAIN_FLAG::FAST // FAST_RANDOM_CHASERS }; -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::JumpingFountain; } diff --git a/src/openrct2/world/Litter.h b/src/openrct2/world/Litter.h index 84e8d01121..2aafcfeecf 100644 --- a/src/openrct2/world/Litter.h +++ b/src/openrct2/world/Litter.h @@ -15,7 +15,7 @@ class DataSerialiser; struct CoordsXYZ; struct CoordsXYZD; -struct Litter : SpriteBase +struct Litter : EntityBase { enum class Type : uint8_t { diff --git a/src/openrct2/world/MoneyEffect.cpp b/src/openrct2/world/MoneyEffect.cpp index 149231c19d..e001459036 100644 --- a/src/openrct2/world/MoneyEffect.cpp +++ b/src/openrct2/world/MoneyEffect.cpp @@ -20,7 +20,7 @@ static constexpr const CoordsXY _moneyEffectMoveOffset[] = { { 1, -1 }, { 1, 1 }, { -1, 1 }, { -1, -1 } }; -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::MoneyEffect; } diff --git a/src/openrct2/world/Particle.cpp b/src/openrct2/world/Particle.cpp index 80d94b8765..9626b82802 100644 --- a/src/openrct2/world/Particle.cpp +++ b/src/openrct2/world/Particle.cpp @@ -15,12 +15,12 @@ #include -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::CrashedVehicleParticle; } -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::CrashSplash; } diff --git a/src/openrct2/world/Sprite.cpp b/src/openrct2/world/Sprite.cpp index 7537acdc8d..7faafd75c5 100644 --- a/src/openrct2/world/Sprite.cpp +++ b/src/openrct2/world/Sprite.cpp @@ -44,7 +44,7 @@ constexpr const uint32_t SPATIAL_INDEX_LOCATION_NULL = SPATIAL_INDEX_SIZE - 1; static std::array, SPATIAL_INDEX_SIZE> gSpriteSpatialIndex; -static void FreeEntity(SpriteBase* entity); +static void FreeEntity(EntityBase* entity); constexpr size_t GetSpatialIndexOffset(int32_t x, int32_t y) { @@ -67,12 +67,12 @@ constexpr size_t GetSpatialIndexOffset(int32_t x, int32_t y) } // Required for GetEntity to return a default -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return true; } -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::Litter; } @@ -96,22 +96,22 @@ constexpr bool EntityTypeIsMiscEntity(const EntityType type) } } -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return EntityTypeIsMiscEntity(Type); } -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::SteamParticle; } -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::ExplosionFlare; } -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::ExplosionCloud; } @@ -141,12 +141,12 @@ std::string rct_sprite_checksum::ToString() const return result; } -SpriteBase* try_get_sprite(size_t spriteIndex) +EntityBase* try_get_sprite(size_t spriteIndex) { return spriteIndex >= MAX_ENTITIES ? nullptr : &_spriteList[spriteIndex].base; } -SpriteBase* get_sprite(size_t spriteIndex) +EntityBase* get_sprite(size_t spriteIndex) { if (spriteIndex == SPRITE_INDEX_NULL) { @@ -161,7 +161,7 @@ const std::vector& GetEntityTileList(const CoordsXY& spritePos) return gSpriteSpatialIndex[GetSpatialIndexOffset(spritePos.x, spritePos.y)]; } -void SpriteBase::Invalidate() +void EntityBase::Invalidate() { if (sprite_left == LOCATION_NULL) return; @@ -249,7 +249,7 @@ void reset_sprite_list() reset_sprite_spatial_index(); } -static void SpriteSpatialInsert(SpriteBase* sprite, const CoordsXY& newLoc); +static void SpriteSpatialInsert(EntityBase* sprite, const CoordsXY& newLoc); /** * @@ -307,7 +307,7 @@ rct_sprite_checksum sprite_checksum() #endif // DISABLE_NETWORK -static void sprite_reset(SpriteBase* sprite) +static void sprite_reset(EntityBase* sprite) { // Need to retain how the sprite is linked in lists uint16_t sprite_index = sprite->sprite_index; @@ -320,7 +320,7 @@ static void sprite_reset(SpriteBase* sprite) } static constexpr uint16_t MAX_MISC_SPRITES = 300; -static void AddToEntityList(SpriteBase* entity) +static void AddToEntityList(EntityBase* entity) { auto& list = gEntityLists[EnumValue(entity->Type)]; // Entity list must be in sprite_index order to prevent desync issues @@ -333,7 +333,7 @@ static void AddToFreeList(uint16_t index) _freeIdList.insert(std::upper_bound(std::rbegin(_freeIdList), std::rend(_freeIdList), index).base(), index); } -static void RemoveFromEntityList(SpriteBase* entity) +static void RemoveFromEntityList(EntityBase* entity) { auto& list = gEntityLists[EnumValue(entity->Type)]; auto ptr = std::lower_bound(std::begin(list), std::end(list), entity->sprite_index); @@ -355,7 +355,7 @@ uint16_t GetMiscEntityCount() return count; } -static void PrepareNewEntity(SpriteBase* base, const EntityType type) +static void PrepareNewEntity(EntityBase* base, const EntityType type) { // Need to reset all sprite data, as the uninitialised values // may contain garbage and cause a desync later on. @@ -375,7 +375,7 @@ static void PrepareNewEntity(SpriteBase* base, const EntityType type) SpriteSpatialInsert(base, { LOCATION_NULL, 0 }); } -SpriteBase* CreateEntity(EntityType type) +EntityBase* CreateEntity(EntityType type) { if (_freeIdList.size() == 0) { @@ -407,7 +407,7 @@ SpriteBase* CreateEntity(EntityType type) return entity; } -SpriteBase* CreateEntityAt(const uint16_t index, const EntityType type) +EntityBase* CreateEntityAt(const uint16_t index, const EntityType type) { auto id = std::lower_bound(std::rbegin(_freeIdList), std::rend(_freeIdList), index); if (id == std::rend(_freeIdList) || *id != index) @@ -452,7 +452,7 @@ void sprite_misc_update_all() } // Performs a search to ensure that insert keeps next_in_quadrant in sprite_index order -static void SpriteSpatialInsert(SpriteBase* sprite, const CoordsXY& newLoc) +static void SpriteSpatialInsert(EntityBase* sprite, const CoordsXY& newLoc) { size_t newIndex = GetSpatialIndexOffset(newLoc.x, newLoc.y); auto& spatialVector = gSpriteSpatialIndex[newIndex]; @@ -460,7 +460,7 @@ static void SpriteSpatialInsert(SpriteBase* sprite, const CoordsXY& newLoc) spatialVector.insert(index, sprite->sprite_index); } -static void SpriteSpatialRemove(SpriteBase* sprite) +static void SpriteSpatialRemove(EntityBase* sprite) { size_t currentIndex = GetSpatialIndexOffset(sprite->x, sprite->y); auto& spatialVector = gSpriteSpatialIndex[currentIndex]; @@ -476,7 +476,7 @@ static void SpriteSpatialRemove(SpriteBase* sprite) } } -static void SpriteSpatialMove(SpriteBase* sprite, const CoordsXY& newLoc) +static void SpriteSpatialMove(EntityBase* sprite, const CoordsXY& newLoc) { size_t newIndex = GetSpatialIndexOffset(newLoc.x, newLoc.y); size_t currentIndex = GetSpatialIndexOffset(sprite->x, sprite->y); @@ -487,7 +487,7 @@ static void SpriteSpatialMove(SpriteBase* sprite, const CoordsXY& newLoc) SpriteSpatialInsert(sprite, newLoc); } -void SpriteBase::MoveTo(const CoordsXYZ& newLocation) +void EntityBase::MoveTo(const CoordsXYZ& newLocation) { if (x != LOCATION_NULL) { @@ -517,19 +517,19 @@ void SpriteBase::MoveTo(const CoordsXYZ& newLocation) } } -CoordsXYZ SpriteBase::GetLocation() const +CoordsXYZ EntityBase::GetLocation() const { return { x, y, z }; } -void SpriteBase::SetLocation(const CoordsXYZ& newLocation) +void EntityBase::SetLocation(const CoordsXYZ& newLocation) { x = static_cast(newLocation.x); y = static_cast(newLocation.y); z = static_cast(newLocation.z); } -void sprite_set_coordinates(const CoordsXYZ& spritePos, SpriteBase* sprite) +void sprite_set_coordinates(const CoordsXYZ& spritePos, EntityBase* sprite) { auto screenCoords = translate_3d_to_2d_with_z(get_current_rotation(), spritePos); @@ -545,7 +545,7 @@ void sprite_set_coordinates(const CoordsXYZ& spritePos, SpriteBase* sprite) /** * Frees any dynamically attached memory to the entity, such as peep name. */ -static void FreeEntity(SpriteBase* entity) +static void FreeEntity(EntityBase* entity) { auto* guest = entity->As(); auto* staff = entity->As(); @@ -565,7 +565,7 @@ static void FreeEntity(SpriteBase* entity) * * rct2: 0x0069EDB6 */ -void sprite_remove(SpriteBase* sprite) +void sprite_remove(EntityBase* sprite) { FreeEntity(sprite); @@ -605,13 +605,13 @@ uint16_t remove_floating_sprites() return removed; } -void sprite_set_flashing(SpriteBase* sprite, bool flashing) +void sprite_set_flashing(EntityBase* sprite, bool flashing) { assert(sprite->sprite_index < MAX_ENTITIES); _spriteFlashingList[sprite->sprite_index] = flashing; } -bool sprite_get_flashing(SpriteBase* sprite) +bool sprite_get_flashing(EntityBase* sprite) { assert(sprite->sprite_index < MAX_ENTITIES); return _spriteFlashingList[sprite->sprite_index]; diff --git a/src/openrct2/world/Sprite.h b/src/openrct2/world/Sprite.h index b2fd41374c..3438888ea6 100644 --- a/src/openrct2/world/Sprite.h +++ b/src/openrct2/world/Sprite.h @@ -22,7 +22,7 @@ union rct_sprite { uint8_t pad_00[0x200]; - SpriteBase base; + EntityBase base; }; assert_struct_size(rct_sprite, 0x200); @@ -38,11 +38,11 @@ struct rct_sprite_checksum void reset_sprite_list(); void reset_sprite_spatial_index(); void sprite_misc_update_all(); -void sprite_set_coordinates(const CoordsXYZ& spritePos, SpriteBase* sprite); -void sprite_remove(SpriteBase* sprite); +void sprite_set_coordinates(const CoordsXYZ& spritePos, EntityBase* sprite); +void sprite_remove(EntityBase* sprite); uint16_t remove_floating_sprites(); rct_sprite_checksum sprite_checksum(); -void sprite_set_flashing(SpriteBase* sprite, bool flashing); -bool sprite_get_flashing(SpriteBase* sprite); +void sprite_set_flashing(EntityBase* sprite, bool flashing); +bool sprite_get_flashing(EntityBase* sprite); From 6e2b79a8959a03821835e5daffc5abcce6aee313 Mon Sep 17 00:00:00 2001 From: Ted John Date: Sat, 3 Aug 2019 12:47:29 +0100 Subject: [PATCH 42/59] Get basic TTF support working in OpenGL co-authored-by: Michael Steenbeek --- .../engines/opengl/OpenGLDrawingEngine.cpp | 43 ++++++++++++++++++ .../drawing/engines/opengl/TextureCache.cpp | 45 +++++++++++++++++++ .../drawing/engines/opengl/TextureCache.h | 2 + src/openrct2/drawing/Drawing.String.cpp | 35 +++++++++++++++ src/openrct2/drawing/IDrawingContext.h | 7 ++- src/openrct2/drawing/X8DrawingEngine.h | 3 ++ 6 files changed, 131 insertions(+), 4 deletions(-) diff --git a/src/openrct2-ui/drawing/engines/opengl/OpenGLDrawingEngine.cpp b/src/openrct2-ui/drawing/engines/opengl/OpenGLDrawingEngine.cpp index 3617123463..ad808f966f 100644 --- a/src/openrct2-ui/drawing/engines/opengl/OpenGLDrawingEngine.cpp +++ b/src/openrct2-ui/drawing/engines/opengl/OpenGLDrawingEngine.cpp @@ -109,6 +109,7 @@ public: void DrawSpriteRawMasked(int32_t x, int32_t y, uint32_t maskImage, uint32_t colourImage) override; void DrawSpriteSolid(uint32_t image, int32_t x, int32_t y, uint8_t colour) override; void DrawGlyph(uint32_t image, int32_t x, int32_t y, const PaletteMap& palette) override; + void DrawBitmap(uint32_t image, const void* pixels, int32_t width, int32_t height, int32_t x, int32_t y) override; void FlushCommandBuffers(); @@ -922,6 +923,48 @@ void OpenGLDrawingContext::DrawGlyph(uint32_t image, int32_t x, int32_t y, const command.depth = _drawCount++; } +void OpenGLDrawingContext::DrawBitmap(uint32_t image, const void* pixels, int32_t width, int32_t height, int32_t x, int32_t y) +{ + const auto texture = _textureCache->GetOrLoadBitmapTexture(image, pixels, width, height); + + int32_t drawOffsetX = 0; + int32_t drawOffsetY = 0; + int32_t drawWidth = static_cast(width); + int32_t drawHeight = static_cast(height); + + int32_t left = x + drawOffsetX; + int32_t top = y + drawOffsetY; + int32_t right = left + drawWidth; + int32_t bottom = top + drawHeight; + + if (left > right) + { + std::swap(left, right); + } + if (top > bottom) + { + std::swap(top, bottom); + } + + left += _offsetX; + top += _offsetY; + right += _offsetX; + bottom += _offsetY; + + DrawRectCommand& command = _commandBuffers.rects.allocate(); + + command.clip = { _clipLeft, _clipTop, _clipRight, _clipBottom }; + command.texColourAtlas = texture.index; + command.texColourBounds = texture.normalizedBounds; + command.texMaskAtlas = 0; + command.texMaskBounds = { 0.0f, 0.0f, 0.0f, 0.0f }; + command.palettes = { 0, 0, 0 }; + command.flags = 0; + command.colour = 0; + command.bounds = { left, top, right, bottom }; + command.depth = _drawCount++; +} + void OpenGLDrawingContext::FlushCommandBuffers() { glEnable(GL_DEPTH_TEST); diff --git a/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp b/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp index fbd919d337..b762f293ec 100644 --- a/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp +++ b/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp @@ -134,6 +134,40 @@ BasicTextureInfo TextureCache::GetOrLoadGlyphTexture(uint32_t image, const Palet return (*it.first).second; } +BasicTextureInfo TextureCache::GetOrLoadBitmapTexture(uint32_t image, const void* pixels, size_t width, size_t height) +{ + uint32_t index; + + image &= 0x7FFFF; + + // Try to read cached texture first. + { + shared_lock lock(_mutex); + + index = _indexMap[image]; + if (index != UNUSED_INDEX) + { + const auto& info = _textureCache[index]; + return { + info.index, + info.normalizedBounds, + }; + } + } + + // Load new texture. + unique_lock lock(_mutex); + + index = uint32_t(_textureCache.size()); + + AtlasTextureInfo info = LoadBitmapTexture(image, pixels, width, height); + + _textureCache.push_back(info); + _indexMap[image] = index; + + return info; +} + void TextureCache::CreateTextures() { if (!_initialized) @@ -270,6 +304,17 @@ AtlasTextureInfo TextureCache::LoadGlyphTexture(uint32_t image, const PaletteMap return cacheInfo; } +AtlasTextureInfo TextureCache::LoadBitmapTexture(uint32_t image, const void* pixels, size_t width, size_t height) +{ + auto cacheInfo = AllocateImage(int32_t(width), int32_t(height)); + cacheInfo.image = image; + glBindTexture(GL_TEXTURE_2D_ARRAY, _atlasesTexture); + glTexSubImage3D( + GL_TEXTURE_2D_ARRAY, 0, cacheInfo.bounds.x, cacheInfo.bounds.y, cacheInfo.index, GLsizei(width), GLsizei(height), 1, + GL_RED_INTEGER, GL_UNSIGNED_BYTE, reinterpret_cast(pixels)); + return cacheInfo; +} + AtlasTextureInfo TextureCache::AllocateImage(int32_t imageWidth, int32_t imageHeight) { CreateTextures(); diff --git a/src/openrct2-ui/drawing/engines/opengl/TextureCache.h b/src/openrct2-ui/drawing/engines/opengl/TextureCache.h index f624da0df7..474092769a 100644 --- a/src/openrct2-ui/drawing/engines/opengl/TextureCache.h +++ b/src/openrct2-ui/drawing/engines/opengl/TextureCache.h @@ -221,6 +221,7 @@ public: void InvalidateImage(uint32_t image); BasicTextureInfo GetOrLoadImageTexture(uint32_t image); BasicTextureInfo GetOrLoadGlyphTexture(uint32_t image, const PaletteMap& paletteMap); + BasicTextureInfo GetOrLoadBitmapTexture(uint32_t image, const void* pixels, size_t width, size_t height); GLuint GetAtlasesTexture(); GLuint GetPaletteTexture(); @@ -233,6 +234,7 @@ private: AtlasTextureInfo LoadImageTexture(uint32_t image); AtlasTextureInfo LoadGlyphTexture(uint32_t image, const PaletteMap& paletteMap); AtlasTextureInfo AllocateImage(int32_t imageWidth, int32_t imageHeight); + AtlasTextureInfo LoadBitmapTexture(uint32_t image, const void* pixels, size_t width, size_t height); static rct_drawpixelinfo GetImageAsDPI(uint32_t image, uint32_t tertiaryColour); static rct_drawpixelinfo GetGlyphAsDPI(uint32_t image, const PaletteMap& paletteMap); void FreeTextures(); diff --git a/src/openrct2/drawing/Drawing.String.cpp b/src/openrct2/drawing/Drawing.String.cpp index 4d8772ded8..934c26e62f 100644 --- a/src/openrct2/drawing/Drawing.String.cpp +++ b/src/openrct2/drawing/Drawing.String.cpp @@ -7,10 +7,13 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ +#include "../Context.h" #include "../common.h" #include "../config/Config.h" #include "../core/String.hpp" #include "../drawing/Drawing.h" +#include "../drawing/IDrawingContext.h" +#include "../drawing/IDrawingEngine.h" #include "../interface/Viewport.h" #include "../localisation/Formatting.h" #include "../localisation/Localisation.h" @@ -525,6 +528,7 @@ static void ttf_draw_string_raw_sprite(rct_drawpixelinfo* dpi, std::string_view #ifndef NO_TTF +static int _ttfGlId = 0; static void ttf_draw_string_raw_ttf(rct_drawpixelinfo* dpi, std::string_view text, text_draw_info* info) { if (!ttf_initialise()) @@ -554,6 +558,37 @@ static void ttf_draw_string_raw_ttf(rct_drawpixelinfo* dpi, std::string_view tex int32_t width = surface->w; int32_t height = surface->h; + if (OpenRCT2::GetContext()->GetDrawingEngineType() == DrawingEngine::OpenGL) + { + auto pixels = reinterpret_cast(const_cast(surface->pixels)); + auto pixelsLen = static_cast(surface->pitch) * surface->h; + for (size_t pp = 0; pp < pixelsLen; pp++) + { + if (pixels[pp] != 0) + { + pixels[pp] = colour; + } + else + { + pixels[pp] = PALETTE_INDEX_0; + } + } + + auto baseId = uint32_t(0x7FFFF) - 1024; + auto imageId = baseId + _ttfGlId; + auto drawingEngine = dpi->DrawingEngine; + auto drawingContext = drawingEngine->GetDrawingContext(dpi); + drawingEngine->InvalidateImage(imageId); + drawingContext->DrawBitmap(imageId, surface->pixels, surface->pitch, surface->h, drawX, drawY); + + _ttfGlId++; + if (_ttfGlId >= 1023) + { + _ttfGlId = 0; + } + return; + } + int32_t overflowX = (dpi->x + dpi->width) - (drawX + width); int32_t overflowY = (dpi->y + dpi->height) - (drawY + height); if (overflowX < 0) diff --git a/src/openrct2/drawing/IDrawingContext.h b/src/openrct2/drawing/IDrawingContext.h index 2fe2aef713..e8fbadc702 100644 --- a/src/openrct2/drawing/IDrawingContext.h +++ b/src/openrct2/drawing/IDrawingContext.h @@ -18,10 +18,7 @@ namespace OpenRCT2::Drawing struct IDrawingContext { - virtual ~IDrawingContext() - { - } - + virtual ~IDrawingContext() = default; virtual OpenRCT2::Drawing::IDrawingEngine* GetEngine() abstract; virtual void Clear(uint8_t paletteIndex) abstract; @@ -32,5 +29,7 @@ namespace OpenRCT2::Drawing virtual void DrawSpriteRawMasked(int32_t x, int32_t y, uint32_t maskImage, uint32_t colourImage) abstract; virtual void DrawSpriteSolid(uint32_t image, int32_t x, int32_t y, uint8_t colour) abstract; virtual void DrawGlyph(uint32_t image, int32_t x, int32_t y, const PaletteMap& palette) abstract; + virtual void DrawBitmap( + uint32_t image, const void* pixels, int32_t width, int32_t height, int32_t x, int32_t y) abstract; }; } // namespace OpenRCT2::Drawing diff --git a/src/openrct2/drawing/X8DrawingEngine.h b/src/openrct2/drawing/X8DrawingEngine.h index e462871162..b655cac749 100644 --- a/src/openrct2/drawing/X8DrawingEngine.h +++ b/src/openrct2/drawing/X8DrawingEngine.h @@ -150,6 +150,9 @@ namespace OpenRCT2 void DrawSpriteRawMasked(int32_t x, int32_t y, uint32_t maskImage, uint32_t colourImage) override; void DrawSpriteSolid(uint32_t image, int32_t x, int32_t y, uint8_t colour) override; void DrawGlyph(uint32_t image, int32_t x, int32_t y, const PaletteMap& paletteMap) override; + void DrawBitmap(uint32_t image, const void* pixels, int32_t width, int32_t height, int32_t x, int32_t y) override + { + } void SetDPI(rct_drawpixelinfo* dpi); }; From 01c808c601c647a9121dd8e3b55e44cdcf35067d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Thu, 26 Aug 2021 20:54:06 +0300 Subject: [PATCH 43/59] Remove unused argument of wooden_(a|b)_supports_paint_setup --- src/openrct2/paint/Supports.cpp | 33 +- src/openrct2/paint/Supports.h | 4 +- .../paint/tile_element/Paint.Entrance.cpp | 4 +- .../paint/tile_element/Paint.LargeScenery.cpp | 2 +- .../paint/tile_element/Paint.SmallScenery.cpp | 4 +- src/openrct2/ride/TrackPaint.cpp | 2 +- .../coaster/AirPoweredVerticalCoaster.cpp | 27 +- .../ride/coaster/HeartlineTwisterCoaster.cpp | 252 +-- src/openrct2/ride/coaster/HybridCoaster.cpp | 1659 ++++++++--------- .../ride/coaster/MineTrainCoaster.cpp | 1482 +++++++-------- .../ride/coaster/ReverseFreefallCoaster.cpp | 17 +- .../ride/coaster/ReverserRollerCoaster.cpp | 278 +-- .../coaster/SideFrictionRollerCoaster.cpp | 610 +++--- src/openrct2/ride/coaster/VirginiaReel.cpp | 40 +- .../ride/coaster/WoodenRollerCoaster.cpp | 1550 ++++++++------- src/openrct2/ride/coaster/WoodenWildMouse.cpp | 33 +- src/openrct2/ride/gentle/CarRide.cpp | 2 +- src/openrct2/ride/gentle/Circus.cpp | 2 +- src/openrct2/ride/gentle/CrookedHouse.cpp | 2 +- src/openrct2/ride/gentle/Dodgems.cpp | 2 +- src/openrct2/ride/gentle/FerrisWheel.cpp | 2 +- src/openrct2/ride/gentle/FlyingSaucers.cpp | 2 +- src/openrct2/ride/gentle/GhostTrain.cpp | 2 +- src/openrct2/ride/gentle/HauntedHouse.cpp | 2 +- src/openrct2/ride/gentle/Maze.cpp | 2 +- src/openrct2/ride/gentle/MerryGoRound.cpp | 2 +- src/openrct2/ride/gentle/MiniGolf.cpp | 12 +- src/openrct2/ride/gentle/ObservationTower.cpp | 2 +- src/openrct2/ride/gentle/SpaceRings.cpp | 2 +- src/openrct2/ride/gentle/SpiralSlide.cpp | 2 +- src/openrct2/ride/shops/Facility.cpp | 3 +- src/openrct2/ride/shops/Shop.cpp | 3 +- src/openrct2/ride/thrill/3dCinema.cpp | 2 +- src/openrct2/ride/thrill/Enterprise.cpp | 2 +- src/openrct2/ride/thrill/GoKarts.cpp | 30 +- src/openrct2/ride/thrill/LaunchedFreefall.cpp | 2 +- src/openrct2/ride/thrill/MotionSimulator.cpp | 2 +- src/openrct2/ride/thrill/RotoDrop.cpp | 2 +- src/openrct2/ride/thrill/SwingingShip.cpp | 2 +- src/openrct2/ride/thrill/TopSpin.cpp | 2 +- src/openrct2/ride/thrill/Twist.cpp | 2 +- src/openrct2/ride/transport/Chairlift.cpp | 4 +- .../ride/transport/MiniatureRailway.cpp | 52 +- src/openrct2/ride/water/RiverRapids.cpp | 36 +- src/openrct2/ride/water/SplashBoats.cpp | 52 +- 45 files changed, 2908 insertions(+), 3323 deletions(-) diff --git a/src/openrct2/paint/Supports.cpp b/src/openrct2/paint/Supports.cpp index 9ac36e4c81..754f687298 100644 --- a/src/openrct2/paint/Supports.cpp +++ b/src/openrct2/paint/Supports.cpp @@ -456,13 +456,8 @@ static constexpr const uint16_t word_97B3C4[] = { * @returns (al) true if any supports have been drawn, otherwise false. */ bool wooden_a_supports_paint_setup( - paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags, bool* underground) + paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags) { - if (underground != nullptr) - { - *underground = false; - } - if (session->ViewFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { return false; @@ -477,10 +472,6 @@ bool wooden_a_supports_paint_setup( height -= z; if (height < 0) { - if (underground != nullptr) - { - *underground = true; - } return false; } height /= 16; @@ -501,10 +492,6 @@ bool wooden_a_supports_paint_setup( height -= 2; if (height < 0) { - if (underground != nullptr) - { - *underground = true; - } return false; } @@ -531,10 +518,6 @@ bool wooden_a_supports_paint_setup( height--; if (height < 0) { - if (underground != nullptr) - { - *underground = true; - } return false; } @@ -636,21 +619,17 @@ bool wooden_a_supports_paint_setup( * @return (al) whether supports have been drawn */ bool wooden_b_supports_paint_setup( - paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags, bool* underground) + paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags) { bool _9E32B1 = false; if (session->ViewFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { - if (underground != nullptr) - *underground = false; // AND return false; } if (!(session->Unk141E9DB & PaintSessionFlags::IsPassedSurface)) { - if (underground != nullptr) - *underground = false; // AND return false; } @@ -659,8 +638,6 @@ bool wooden_b_supports_paint_setup( if (supportLength < 0) { - if (underground != nullptr) - *underground = true; // STC return false; } @@ -677,8 +654,6 @@ bool wooden_b_supports_paint_setup( heightSteps -= 2; if (heightSteps < 0) { - if (underground != nullptr) - *underground = true; // STC return false; } @@ -708,8 +683,6 @@ bool wooden_b_supports_paint_setup( heightSteps -= 1; if (heightSteps < 0) { - if (underground != nullptr) - *underground = true; // STC return false; } @@ -806,8 +779,6 @@ bool wooden_b_supports_paint_setup( } } - if (underground != nullptr) - *underground = false; // AND return _9E32B1; } diff --git a/src/openrct2/paint/Supports.h b/src/openrct2/paint/Supports.h index 11982addc9..15f2d160ae 100644 --- a/src/openrct2/paint/Supports.h +++ b/src/openrct2/paint/Supports.h @@ -15,9 +15,9 @@ constexpr const uint8_t NumVanillaWoodenSupportTypes = 49; bool wooden_a_supports_paint_setup( - paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags, bool* underground); + paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags); bool wooden_b_supports_paint_setup( - paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags, bool* underground); + paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags); bool metal_a_supports_paint_setup( paint_session* session, uint8_t supportType, uint8_t segment, int32_t special, int32_t height, uint32_t imageColourFlags); bool metal_b_supports_paint_setup( diff --git a/src/openrct2/paint/tile_element/Paint.Entrance.cpp b/src/openrct2/paint/tile_element/Paint.Entrance.cpp index 42b672386b..def51a9793 100644 --- a/src/openrct2/paint/tile_element/Paint.Entrance.cpp +++ b/src/openrct2/paint/tile_element/Paint.Entrance.cpp @@ -206,7 +206,7 @@ static void ride_entrance_exit_paint( { image_id = SPRITE_ID_PALETTE_COLOUR_1(COLOUR_SATURATED_BROWN); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, image_id, nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, image_id); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -332,7 +332,7 @@ static void park_entrance_paint(paint_session* session, uint8_t direction, int32 { image_id = SPRITE_ID_PALETTE_COLOUR_1(COLOUR_SATURATED_BROWN); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, image_id, nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, image_id); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 80, 0x20); diff --git a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp index f813261996..5a332d641e 100644 --- a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp +++ b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp @@ -52,7 +52,7 @@ static void large_scenery_paint_supports( supportImageColourFlags = dword_F4387C; } - wooden_b_supports_paint_setup(session, (direction & 1), ax, supportHeight, supportImageColourFlags, nullptr); + wooden_b_supports_paint_setup(session, (direction & 1), ax, supportHeight, supportImageColourFlags); int32_t clearanceHeight = ceil2(tileElement.GetClearanceZ() + 15, 16); diff --git a/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp b/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp index 1ba7d0bc2d..c8cfb5e302 100644 --- a/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp +++ b/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp @@ -360,11 +360,11 @@ void PaintSmallScenery(paint_session* session, uint8_t direction, int32_t height } if (direction & 1) { - wooden_b_supports_paint_setup(session, 1, ax, supportHeight, supportImageColourFlags, nullptr); + wooden_b_supports_paint_setup(session, 1, ax, supportHeight, supportImageColourFlags); } else { - wooden_b_supports_paint_setup(session, 0, ax, supportHeight, supportImageColourFlags, nullptr); + wooden_b_supports_paint_setup(session, 0, ax, supportHeight, supportImageColourFlags); } } } diff --git a/src/openrct2/ride/TrackPaint.cpp b/src/openrct2/ride/TrackPaint.cpp index 35efa3bf9c..99daa1465a 100644 --- a/src/openrct2/ride/TrackPaint.cpp +++ b/src/openrct2/ride/TrackPaint.cpp @@ -1534,7 +1534,7 @@ void track_paint_util_right_quarter_turn_5_tiles_wooden_supports( { 1, 0xFF, 3, 5, 0xFF, 3, 0 }, }; uint8_t supportType = supportTypes[direction][trackSequence]; - wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); } } diff --git a/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp b/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp index 8fa2a2c333..0e66c3e734 100644 --- a/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp +++ b/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp @@ -190,7 +190,7 @@ static void air_powered_vertical_rc_track_flat( uint32_t imageId = imageIds[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -216,7 +216,7 @@ static void air_powered_vertical_rc_track_station( session, direction, imageIds[direction][0] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (ride != nullptr) track_paint_util_draw_narrow_station_platform(session, ride, direction, height, 5, trackElement); @@ -339,7 +339,7 @@ static void air_powered_vertical_rc_track_flat_to_left_bank( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -368,7 +368,7 @@ static void air_powered_vertical_rc_track_flat_to_right_bank( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -519,7 +519,7 @@ static void air_powered_vertical_rc_track_left_bank( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -548,7 +548,7 @@ static void air_powered_vertical_rc_track_brakes( uint32_t imageId = imageIds[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -660,7 +660,7 @@ static void air_powered_vertical_rc_track_vertical_slope_up( PaintAddImageAsParentRotated(session, direction, supportsImageId, 0, 0, 20, 32, bbHeight, height, 0, 6, height); PaintAddImageAsChildRotated(session, direction, trackImageId, 0, 0, 20, 32, bbHeight, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -684,7 +684,7 @@ static void air_powered_vertical_rc_track_vertical_slope_up( PaintAddImageAsChildRotated(session, direction, trackImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (trackSequence == 0) { @@ -708,13 +708,12 @@ static void air_powered_vertical_rc_track_vertical_slope_up( PaintAddImageAsChildRotated(session, direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + supportHeights[trackSequence], 0x20); break; case 5: - if (wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr)) + if (wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS])) { uint32_t floorImageId; if (direction & 1) @@ -746,7 +745,7 @@ static void air_powered_vertical_rc_track_vertical_slope_up( PaintAddImageAsParentRotated(session, direction, trackImageId, 0, 0, 1, 20, 126, height, 27, 6, height); PaintAddImageAsChildRotated(session, direction, supportsImageId, 0, 0, 1, 20, 126, height, 27, 6, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_vertical_tunnel(session, height + 240); @@ -918,7 +917,7 @@ static void air_powered_vertical_rc_track_booster( paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); } - wooden_a_supports_paint_setup(session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); } @@ -937,7 +936,7 @@ static void air_powered_vertical_rc_track_onride_photo( uint32_t imageId = imageIds[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_onride_photo_paint(session, direction, height + 3, trackElement); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); diff --git a/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp b/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp index c6e2e0cbae..2562cdb072 100644 --- a/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp +++ b/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp @@ -32,28 +32,28 @@ static void heartline_twister_rc_track_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 21354, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21356, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21355, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21357, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21358, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21360, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21359, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21361, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -67,7 +67,7 @@ static void heartline_twister_rc_track_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 21294, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21296, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: @@ -75,7 +75,7 @@ static void heartline_twister_rc_track_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 21295, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21297, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -121,28 +121,28 @@ static void heartline_twister_rc_track_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21378, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21382, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21379, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21383, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21380, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21384, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21381, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21385, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -155,28 +155,28 @@ static void heartline_twister_rc_track_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21322, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21326, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21323, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21327, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21324, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21328, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21325, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21329, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -206,28 +206,28 @@ static void heartline_twister_rc_track_60_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21402, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21406, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 21, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 21, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21403, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21407, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 22, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 22, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21404, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21408, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 23, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 23, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21405, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21409, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 24, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 24, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -240,28 +240,28 @@ static void heartline_twister_rc_track_60_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21346, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21350, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 21, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 21, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21347, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21351, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 22, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 22, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21348, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21352, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 23, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 23, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21349, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21353, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 24, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 24, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -291,28 +291,28 @@ static void heartline_twister_rc_track_flat_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21362, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21366, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21363, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21367, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21364, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21368, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21365, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21369, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -325,28 +325,28 @@ static void heartline_twister_rc_track_flat_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21306, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21307, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21308, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21309, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -376,28 +376,28 @@ static void heartline_twister_rc_track_25_deg_up_to_60_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21386, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21390, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 13, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 13, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21387, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21391, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 14, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 14, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21388, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21392, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 15, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 15, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21389, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21393, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 16, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 16, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -410,28 +410,28 @@ static void heartline_twister_rc_track_25_deg_up_to_60_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21330, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21334, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 13, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 13, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21331, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21335, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 14, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 14, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21332, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21336, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 15, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 15, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21333, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21337, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 16, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 16, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -461,28 +461,28 @@ static void heartline_twister_rc_track_60_deg_up_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21394, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21398, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 17, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 17, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21395, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21399, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 18, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 18, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21396, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21400, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 19, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 19, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21397, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21401, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 20, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 20, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -495,28 +495,28 @@ static void heartline_twister_rc_track_60_deg_up_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21338, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21342, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 17, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 17, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21339, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21343, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 18, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 18, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21340, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21344, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 19, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 19, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21341, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21345, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 20, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 20, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -546,28 +546,28 @@ static void heartline_twister_rc_track_25_deg_up_to_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 21370, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21374, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21371, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21375, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21372, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21376, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21373, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21377, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -580,28 +580,28 @@ static void heartline_twister_rc_track_25_deg_up_to_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 21314, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21318, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21315, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21319, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21316, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21320, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21317, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21321, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -681,7 +681,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -689,7 +689,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -697,7 +697,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -705,7 +705,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -735,7 +735,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 6, 5, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -750,7 +750,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 7, 6, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -765,7 +765,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 6, 7, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -780,7 +780,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 7, 8, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -795,7 +795,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21302, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -803,7 +803,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21303, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -811,7 +811,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21304, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -819,7 +819,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21305, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -945,7 +945,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 6, 5, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -960,7 +960,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 7, 6, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -975,7 +975,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 6, 7, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -990,7 +990,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 7, 8, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1005,7 +1005,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21302, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1013,7 +1013,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21303, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1021,7 +1021,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21304, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1029,7 +1029,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21305, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1044,7 +1044,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1052,7 +1052,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1060,7 +1060,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1068,7 +1068,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1101,7 +1101,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21422, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1109,7 +1109,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21425, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1117,7 +1117,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21428, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1125,7 +1125,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21431, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_0); @@ -1141,7 +1141,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21423, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1149,7 +1149,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21426, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1157,7 +1157,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21429, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1165,7 +1165,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21432, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1180,7 +1180,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21424, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1188,7 +1188,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21427, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1196,7 +1196,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21430, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1204,7 +1204,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21433, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1219,7 +1219,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21430, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1227,7 +1227,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21433, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1235,7 +1235,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21424, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1243,7 +1243,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21427, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1258,7 +1258,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21429, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1266,7 +1266,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21432, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1274,7 +1274,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21423, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1282,7 +1282,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21426, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1297,7 +1297,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21428, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1305,7 +1305,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21431, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1313,7 +1313,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21422, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1321,7 +1321,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21425, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_0); @@ -1347,7 +1347,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21446, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1355,7 +1355,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21449, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1363,7 +1363,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21452, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1371,7 +1371,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21455, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_0); @@ -1387,7 +1387,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21447, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1395,7 +1395,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21450, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1403,7 +1403,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21453, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1411,7 +1411,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21456, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1426,7 +1426,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21448, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1434,7 +1434,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21451, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1442,7 +1442,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21454, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1450,7 +1450,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21457, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1465,7 +1465,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21454, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1473,7 +1473,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21457, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1481,7 +1481,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21448, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1489,7 +1489,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21451, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1504,7 +1504,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21453, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1512,7 +1512,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21456, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1520,7 +1520,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21447, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1528,7 +1528,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21450, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1543,7 +1543,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21452, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1551,7 +1551,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21455, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1559,7 +1559,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21446, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1567,7 +1567,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21449, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_0); diff --git a/src/openrct2/ride/coaster/HybridCoaster.cpp b/src/openrct2/ride/coaster/HybridCoaster.cpp index 434343faa8..7ce3ae777e 100644 --- a/src/openrct2/ride/coaster/HybridCoaster.cpp +++ b/src/openrct2/ride/coaster/HybridCoaster.cpp @@ -51,7 +51,7 @@ namespace HybridRC session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_FLAT + (direction & 1)), 0, 0, 32, 20, 3, height, 0, 6, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -81,7 +81,7 @@ namespace HybridRC height + 3); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (ride != nullptr) track_paint_util_draw_narrow_station_platform(session, ride, direction, height, 10, trackElement); @@ -107,8 +107,7 @@ namespace HybridRC session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE + direction + 8), 0, 0, 32, 20, 2, height, 0, 6, height + 3); } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -162,8 +161,7 @@ namespace HybridRC session->WoodenSupportsPrependTo = ps; } - wooden_a_supports_paint_setup( - session, direction & 1, 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -192,8 +190,7 @@ namespace HybridRC session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE + direction), 0, 0, 32, 20, 3, height, 0, 6, height); } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -274,8 +271,7 @@ namespace HybridRC break; } } - wooden_a_supports_paint_setup( - session, direction & 1, 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -357,8 +353,7 @@ namespace HybridRC break; } } - wooden_a_supports_paint_setup( - session, direction & 1, 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -387,8 +382,7 @@ namespace HybridRC session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE + direction + 4), 0, 0, 32, 20, 2, height, 0, 6, height + 3); } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -518,8 +512,7 @@ namespace HybridRC session, direction, GetTrackColour(session) | imageIds[direction], 0, 0, boundBoxLengths[direction].x, boundBoxLengths[direction].y, boundBoxLengths[direction].z, height, boundBoxOffsets[direction].x, boundBoxOffsets[direction].y, boundBoxOffsets[direction].z); - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -635,25 +628,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 0), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 3), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 6), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 9), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -673,25 +666,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 1), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 4), 0, 0, 16, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 7), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 10), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -706,25 +699,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 2), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 5), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 8), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 11), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -763,25 +756,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 0), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 5), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 10), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 15), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -803,25 +796,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 1), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 6), 0, 0, 36, 16, 3, height, 0, 4, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 11), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 16), 0, 0, 32, 14, 3, height, 0, 18, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -838,25 +831,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 2), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 7), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 12), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 17), 0, 0, 33, 33, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -879,25 +872,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 3), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 8), 0, 0, 16, 36, 3, height, 4, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 13), 0, 0, 16, 32, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 18), 0, 0, 14, 32, 3, height, 18, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -914,25 +907,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 4), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 9), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 14), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 19), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -971,25 +964,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 0), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 4), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 8), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 12), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1006,25 +999,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 1), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 5), 0, 0, 34, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 9), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 13), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1037,25 +1030,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 2), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 6), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 10), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 14), 0, 0, 34, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1065,16 +1058,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1123,25 +1116,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 16), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 20), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 24), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 28), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1158,25 +1151,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 17), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 21), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 25), 0, 0, 34, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 29), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1189,25 +1182,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 18), 0, 0, 34, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 22), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 26), 0, 0, 28, 28, 3, height, 4, 4, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 30), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1217,16 +1210,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1321,8 +1314,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_LIFT_TRACK_FLAT_DIAGONAL + 0), -16, -16, 32, 32, 3, height, -16, -16, height); - wooden_a_supports_paint_setup( - session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1340,16 +1332,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1381,16 +1373,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1483,20 +1475,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1528,20 +1516,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1634,20 +1618,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1679,20 +1659,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1785,16 +1761,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1826,16 +1802,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1928,20 +1904,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1973,20 +1945,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2078,20 +2046,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2122,20 +2086,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2228,16 +2188,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2269,16 +2229,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2371,20 +2331,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2416,20 +2372,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2522,20 +2474,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2567,20 +2515,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2673,20 +2617,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2718,20 +2658,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2824,20 +2760,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2869,20 +2801,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2975,20 +2903,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3020,20 +2944,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3126,20 +3046,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3171,20 +3087,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3252,7 +3164,7 @@ namespace HybridRC height, 0, 6, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -3291,7 +3203,7 @@ namespace HybridRC height, 0, 27, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -3344,8 +3256,7 @@ namespace HybridRC height, 0, 6, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -3391,8 +3302,7 @@ namespace HybridRC height, 0, 27, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -3438,8 +3348,7 @@ namespace HybridRC height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -3485,8 +3394,7 @@ namespace HybridRC height, 0, 27, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -3560,7 +3468,7 @@ namespace HybridRC height, 0, 6, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -3606,16 +3514,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3633,16 +3541,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3693,16 +3601,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3723,16 +3631,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3786,16 +3694,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3813,16 +3721,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3873,16 +3781,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3903,16 +3811,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3966,16 +3874,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3993,16 +3901,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4053,16 +3961,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4083,16 +3991,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4146,20 +4054,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4177,20 +4081,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4241,20 +4141,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4275,20 +4171,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4341,20 +4233,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4371,20 +4259,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4434,20 +4318,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4467,20 +4347,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4534,16 +4410,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4561,16 +4437,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4621,16 +4497,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4651,16 +4527,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4714,16 +4590,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4741,16 +4617,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4801,16 +4677,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4831,16 +4707,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4877,7 +4753,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 1), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4886,19 +4762,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 5), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 9), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 13), 0, 0, 26, 32, 3, height, 6, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4918,25 +4794,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 2), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 6), 0, 0, 16, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 10), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 14), 0, 0, 22, 22, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -4951,7 +4827,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 3), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4960,7 +4836,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 8), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4969,13 +4845,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 12), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 15), 0, 0, 32, 26, 3, height, 6, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -5017,7 +4893,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 1), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5026,19 +4902,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 7), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 14), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 20), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5060,25 +4936,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 2), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 8), 0, 0, 48, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 15), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 21), 0, 0, 32, 14, 3, height, 0, 18, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5095,7 +4971,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 3), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5104,19 +4980,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 10), 0, 0, 16, 16, 1, height, 16, 16, height + 28); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 16), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 22), 0, 0, 38, 38, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5139,25 +5015,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 4), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 11), 0, 0, 16, 48, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 17), 0, 0, 16, 32, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 23), 0, 0, 14, 32, 3, height, 18, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5174,7 +5050,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 5), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5183,7 +5059,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 13), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5192,13 +5068,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 19), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 24), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -5240,7 +5116,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 1), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5249,19 +5125,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 6), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 12), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 16), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5278,7 +5154,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 2), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5287,19 +5163,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 8), 0, 0, 34, 16, 0, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 13), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 17), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -5312,25 +5188,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 3), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 9), 0, 0, 16, 16, 0, height, 16, 16, height + 28); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 14), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 18), 0, 0, 34, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -5340,16 +5216,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -5401,13 +5277,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 20), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 24), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5416,7 +5292,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 29), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5425,7 +5301,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 36), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5442,13 +5318,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 21), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 25), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5457,13 +5333,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 31), 0, 0, 34, 16, 0, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 37), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -5476,25 +5352,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 22), 0, 0, 34, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 26), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 32), 0, 0, 28, 28, 0, height, 4, 4, height + 28); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 38), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -5504,16 +5380,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -5582,25 +5458,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 0), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 2), 0, 6, 34, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 4), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 6), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5617,16 +5493,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5641,25 +5517,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 1), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 3), 6, 0, 20, 34, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 5), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 7), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -5690,25 +5566,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 8), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 10), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 12), 0, 6, 34, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 14), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5725,16 +5601,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5749,25 +5625,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 9), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 11), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 13), 6, 0, 20, 34, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 15), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -5814,25 +5690,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 0), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 5), 0, 0, 34, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 10), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 15), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5854,25 +5730,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 1), 0, 0, 32, 16, 3, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 6), 0, 0, 32, 16, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 11), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 16), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5889,25 +5765,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 2), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 7), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 12), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 17), 0, 0, 16, 16, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5930,25 +5806,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 3), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 8), 0, 0, 16, 32, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 13), 0, 0, 16, 32, 3, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 18), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5965,25 +5841,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 4), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 9), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 14), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 19), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -6014,25 +5890,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 20), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 25), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 30), 0, 0, 34, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 35), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -6054,25 +5930,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 21), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 26), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 31), 0, 0, 32, 16, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 36), 0, 0, 32, 16, 3, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -6089,25 +5965,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 22), 0, 0, 16, 16, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 27), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 32), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 37), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -6130,25 +6006,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 23), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 28), 0, 0, 16, 32, 3, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 33), 0, 0, 16, 32, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 38), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -6165,25 +6041,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 24), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 29), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 34), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 39), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -6230,7 +6106,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 1), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -6239,7 +6115,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 3), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6248,7 +6124,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 5), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -6257,7 +6133,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 7), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } track_paint_util_left_quarter_turn_1_tile_tunnel(session, direction, height, -8, TUNNEL_SQUARE_7, +56, TUNNEL_SQUARE_8); @@ -6278,7 +6154,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 9), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -6287,7 +6163,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 11), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6296,7 +6172,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 13), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -6305,7 +6181,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 15), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } track_paint_util_right_quarter_turn_1_tile_tunnel( @@ -6462,8 +6338,7 @@ namespace HybridRC 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -6506,8 +6381,7 @@ namespace HybridRC 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -6550,8 +6424,7 @@ namespace HybridRC 20, 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -6594,8 +6467,7 @@ namespace HybridRC 20, 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -6669,8 +6541,7 @@ namespace HybridRC 20, 3, height, 0, 6, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -6716,8 +6587,7 @@ namespace HybridRC 20, 3, height, 0, 6, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -6763,8 +6633,7 @@ namespace HybridRC 20, 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -6810,8 +6679,7 @@ namespace HybridRC 34, height, 0, 27, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -6879,8 +6747,7 @@ namespace HybridRC 20, 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -6920,8 +6787,7 @@ namespace HybridRC 20, 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -6978,8 +6844,7 @@ namespace HybridRC 20, 3, height, 0, 6, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -7022,8 +6887,7 @@ namespace HybridRC 20, 3, height, 0, 6, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -7066,8 +6930,7 @@ namespace HybridRC 20, 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -7110,8 +6973,7 @@ namespace HybridRC 20, 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -7165,7 +7027,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 0), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7174,19 +7036,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 3), 0, 6, 34, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 6), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 9), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -7203,16 +7065,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7227,7 +7089,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 1), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7236,7 +7098,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 5), 6, 0, 1, 34, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7245,13 +7107,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 8), 6, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 10), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -7282,13 +7144,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 11), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 13), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7297,13 +7159,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 17), 0, 6, 34, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 20), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -7320,16 +7182,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7344,7 +7206,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 12), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7353,7 +7215,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 15), 6, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7362,13 +7224,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 19), 6, 0, 1, 34, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 21), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -7415,7 +7277,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 0), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7424,19 +7286,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 6), 0, 0, 34, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 15), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 21), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -7458,7 +7320,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 1), 0, 0, 32, 16, 3, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7467,19 +7329,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 8), 0, 0, 1, 1, 34, height, 30, 30, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 16), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 22), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7496,7 +7358,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 2), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7505,19 +7367,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 10), 0, 0, 1, 1, 34, height, 30, 30, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 17), 0, 0, 1, 1, 3, height, 64, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 23), 0, 0, 16, 16, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7540,7 +7402,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 3), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7549,19 +7411,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 12), 0, 0, 1, 1, 34, height, 30, 30, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 18), 0, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 24), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7578,7 +7440,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 4), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7587,7 +7449,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 14), 0, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7596,13 +7458,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 20), 0, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 25), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -7633,13 +7495,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 26), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 31), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7648,13 +7510,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 38), 0, 0, 34, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 47), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -7676,13 +7538,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 27), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 32), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7691,13 +7553,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 40), 0, 0, 1, 1, 34, height, 30, 30, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 48), 0, 0, 32, 16, 3, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7714,13 +7576,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 28), 0, 0, 16, 16, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 33), 0, 0, 1, 1, 3, height, 64, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7729,13 +7591,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 42), 0, 0, 1, 1, 34, height, 30, 30, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 49), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7758,13 +7620,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 29), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 34), 0, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7773,13 +7635,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 44), 0, 0, 1, 1, 34, height, 30, 30, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 50), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7796,7 +7658,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 30), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7805,7 +7667,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 36), 0, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7814,13 +7676,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 46), 0, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 51), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -7867,25 +7729,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 0), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 4), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 3), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 7), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -7902,25 +7764,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 1), 0, 0, 32, 26, 3, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 5), 0, 0, 34, 26, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 2), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 6), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7937,25 +7799,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 2), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 6), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 1), 0, 0, 32, 26, 3, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 5), 0, 0, 34, 26, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7972,25 +7834,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 3), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 7), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 0), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 4), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -8021,25 +7883,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 8), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 12), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 11), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 15), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -8056,25 +7918,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 9), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 13), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 10), 0, 0, 34, 26, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 14), 0, 0, 32, 26, 3, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8091,25 +7953,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 10), 0, 0, 34, 26, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 14), 0, 0, 32, 26, 3, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 9), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 13), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8126,25 +7988,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 11), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 15), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 8), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 12), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -8178,7 +8040,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 1), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8187,19 +8049,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 5), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 9), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 13), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -8213,16 +8075,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -8234,25 +8096,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 2), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 6), 0, 0, 16, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 10), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 14), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8267,7 +8129,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 3), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8276,7 +8138,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 8), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8285,13 +8147,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 12), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 15), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -8313,7 +8175,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 13), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8322,7 +8184,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 1), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8331,13 +8193,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 5), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 9), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -8356,16 +8218,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -8377,25 +8239,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 14), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 2), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 6), 0, 0, 16, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 10), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8410,13 +8272,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 15), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 3), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8425,7 +8287,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 8), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -8434,7 +8296,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 12), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -8460,13 +8322,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 16), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 19), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8475,7 +8337,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 24), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -8484,7 +8346,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 29), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -8498,16 +8360,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -8519,25 +8381,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 17), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 20), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 25), 0, 0, 16, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 30), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8552,7 +8414,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 18), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8561,7 +8423,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 22), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8570,13 +8432,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 27), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 31), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -8598,7 +8460,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 19), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8607,7 +8469,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 24), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8616,13 +8478,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 29), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 16), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -8641,16 +8503,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -8662,25 +8524,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 20), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 25), 0, 0, 16, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 30), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 17), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8698,7 +8560,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 22), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8707,19 +8569,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 27), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 31), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 18), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -8774,7 +8636,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 1), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8783,19 +8645,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 7), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 14), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 20), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -8817,25 +8679,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 2), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 8), 0, 0, 33, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 15), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 21), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8852,7 +8714,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 3), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8861,19 +8723,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 10), 0, 0, 16, 16, 1, height, 16, 16, height + 28); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 16), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 22), 0, 0, 34, 34, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8896,25 +8758,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 4), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 11), 0, 0, 16, 33, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 17), 0, 0, 16, 32, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 23), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8931,7 +8793,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 5), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8940,7 +8802,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 13), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8949,13 +8811,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 19), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 24), 0, 0, 28, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -8977,7 +8839,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 20), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8986,7 +8848,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 1), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8995,13 +8857,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 7), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 14), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -9028,25 +8890,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 21), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 2), 0, 0, 16, 32, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 8), 0, 0, 16, 32, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 15), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9063,13 +8925,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 22), 0, 0, 16, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 3), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9078,13 +8940,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 10), 0, 0, 16, 16, 1, height, 16, 16, height + 28); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 16), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9107,25 +8969,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 23), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 4), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 11), 0, 0, 32, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 17), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9142,13 +9004,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 24), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 5), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9157,7 +9019,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 13), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -9166,7 +9028,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 19), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -9192,13 +9054,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 25), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 30), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9207,7 +9069,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 37), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -9216,7 +9078,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 45), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -9238,25 +9100,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 26), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 31), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 38), 0, 0, 33, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 46), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9273,13 +9135,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 27), 0, 0, 34, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 32), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9288,13 +9150,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 40), 0, 0, 16, 16, 1, height, 16, 16, height + 28); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 47), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9317,25 +9179,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 28), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 33), 0, 0, 16, 32, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 41), 0, 0, 16, 33, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 48), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9352,7 +9214,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 29), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -9361,7 +9223,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 35), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9370,13 +9232,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 43), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 49), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -9398,7 +9260,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 30), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -9407,7 +9269,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 37), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9416,13 +9278,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 45), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 25), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -9449,25 +9311,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 31), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 38), 0, 0, 16, 32, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 46), 0, 0, 16, 32, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 26), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9484,7 +9346,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 32), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -9493,19 +9355,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 40), 0, 0, 16, 16, 1, height, 16, 16, height + 28); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 47), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 27), 0, 0, 16, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9528,25 +9390,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 33), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 41), 0, 0, 32, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 48), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 28), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9566,7 +9428,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 35), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -9575,19 +9437,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 43), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 49), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 29), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -9668,8 +9530,7 @@ namespace HybridRC 0, height, 0, 6, height + 40); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -9713,8 +9574,7 @@ namespace HybridRC 0, height, 0, 6, height + 40); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); break; @@ -9763,8 +9623,7 @@ namespace HybridRC paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_INVERTED_9); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); break; @@ -9813,8 +9672,7 @@ namespace HybridRC 0, height, 0, 6, height + 40); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -9858,8 +9716,7 @@ namespace HybridRC 0, height, 0, 6, height + 40); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); break; @@ -9899,8 +9756,7 @@ namespace HybridRC 0, height, 0, 6, height + 56); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 1: @@ -10011,8 +9867,7 @@ namespace HybridRC 64, height, 0, 32, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 64, 0x20); break; @@ -10052,8 +9907,7 @@ namespace HybridRC 32, height, 0, 32, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height + 16, TUNNEL_0); @@ -10078,7 +9932,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_BRAKE + (direction & 1)), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -10093,7 +9947,7 @@ namespace HybridRC session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_FLAT + (direction & 1)), 0, 0, 32, 20, 0, height, 0, 6, height + 3); track_paint_util_onride_photo_paint(session, direction, height + 3, trackElement); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); @@ -10130,7 +9984,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 50 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 50 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -10163,7 +10017,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 54 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 54 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); break; @@ -10192,7 +10046,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 58 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 58 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 64, 0x20); break; @@ -10221,7 +10075,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 62 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 62 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 1: @@ -10268,7 +10122,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 66 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 66 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_7); @@ -10301,7 +10155,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 70 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 70 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 80, 0x20); break; @@ -10330,7 +10184,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 74 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 74 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 56, 0x20); break; @@ -10359,7 +10213,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 78 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 78 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 1: @@ -10396,7 +10250,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_BLOCK_BRAKE + (direction & 1)), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -10409,7 +10263,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_BOOSTER + (direction & 1)), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -10422,8 +10276,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_POWERED_LIFT + direction), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -10449,7 +10302,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 0), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -10458,19 +10311,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 3), 0, 6, 34, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 5), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 7), 0, 6, 32, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -10487,16 +10340,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -10511,25 +10364,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 1), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 4), 6, 0, 20, 34, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 6), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 8), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -10560,13 +10413,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 9), 0, 6, 32, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 11), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10575,13 +10428,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 14), 0, 6, 34, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 16), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -10598,16 +10451,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -10622,25 +10475,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 10), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 12), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 15), 6, 0, 20, 34, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 17), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -10671,25 +10524,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 12), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 15), 0, 6, 34, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 17), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 10), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -10706,16 +10559,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -10730,7 +10583,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 11), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -10739,19 +10592,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 14), 6, 0, 1, 34, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 16), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 9), 6, 0, 32, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -10782,25 +10635,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 8), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 1), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 4), 0, 6, 34, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 6), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -10817,16 +10670,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -10841,13 +10694,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 7), 6, 0, 32, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 0), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10856,13 +10709,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 3), 6, 0, 1, 34, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 5), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) diff --git a/src/openrct2/ride/coaster/MineTrainCoaster.cpp b/src/openrct2/ride/coaster/MineTrainCoaster.cpp index 104dbbc076..7b1539b5e5 100644 --- a/src/openrct2/ride/coaster/MineTrainCoaster.cpp +++ b/src/openrct2/ride/coaster/MineTrainCoaster.cpp @@ -42,22 +42,22 @@ static void mine_train_rc_track_flat( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20054, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20055, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20056, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20057, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -69,13 +69,13 @@ static void mine_train_rc_track_flat( case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20052, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20053, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -131,22 +131,22 @@ static void mine_train_rc_track_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20102, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20103, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20104, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20105, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -157,22 +157,22 @@ static void mine_train_rc_track_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20074, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20075, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20076, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20077, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -198,22 +198,22 @@ static void mine_train_rc_track_60_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20090, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 21, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 21, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20091, 0, 0, 1, 32, 98, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 7, 22, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 22, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20092, 0, 0, 1, 32, 98, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 6, 23, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 23, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20093, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 24, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 24, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -240,22 +240,22 @@ static void mine_train_rc_track_flat_to_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20094, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20095, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20096, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20097, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -266,22 +266,22 @@ static void mine_train_rc_track_flat_to_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20066, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20067, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20068, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20069, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -307,26 +307,26 @@ static void mine_train_rc_track_25_deg_up_to_60_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20078, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 13, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 13, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20079, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20082, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 14, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 14, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20080, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20083, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 15, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 15, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20081, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 16, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 16, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -351,26 +351,26 @@ static void mine_train_rc_track_60_deg_up_to_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20084, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 17, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 17, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20085, 0, 0, 24, 1, 61, height, 4, 29, height - 16); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20088, 0, 0, 32, 2, 66, height, 0, 4, height); - wooden_a_supports_paint_setup(session, 7, 18, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 18, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20086, 0, 0, 24, 1, 61, height, 4, 29, height - 16); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20089, 0, 0, 32, 2, 66, height, 0, 4, height); - wooden_a_supports_paint_setup(session, 6, 19, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 19, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20087, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 20, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 20, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -397,22 +397,22 @@ static void mine_train_rc_track_25_deg_up_to_flat( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20098, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20099, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20100, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20101, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -423,22 +423,22 @@ static void mine_train_rc_track_25_deg_up_to_flat( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20070, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20071, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20072, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20073, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -515,22 +515,22 @@ static void mine_train_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20155, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20160, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20165, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20150, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -551,24 +551,24 @@ static void mine_train_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20154, 0, 0, 32, 16, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20159, 0, 0, 32, 16, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20164, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20149, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -585,24 +585,24 @@ static void mine_train_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20153, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20158, 0, 0, 16, 16, 1, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20163, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20148, 0, 0, 16, 16, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -625,23 +625,23 @@ static void mine_train_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20152, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20157, 0, 0, 16, 32, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20162, 0, 0, 16, 32, 1, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20147, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -657,22 +657,22 @@ static void mine_train_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20151, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20156, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20161, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20146, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -711,24 +711,24 @@ static void mine_train_rc_track_flat_to_left_bank( session, direction, session->TrackColours[SCHEME_TRACK] | 20106, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20114, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20107, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20115, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20108, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20109, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -746,26 +746,26 @@ static void mine_train_rc_track_flat_to_right_bank( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20110, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20111, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20112, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20116, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20113, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20117, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -785,24 +785,24 @@ static void mine_train_rc_track_left_bank_to_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 20112, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20116, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20113, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20117, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20110, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20111, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -820,26 +820,26 @@ static void mine_train_rc_track_right_bank_to_flat( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20108, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20109, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20106, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20114, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20107, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20115, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -863,23 +863,23 @@ static void mine_train_rc_track_banked_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20186, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20180, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20185, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20170, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -900,25 +900,25 @@ static void mine_train_rc_track_banked_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20174, 0, 0, 32, 16, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20179, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20184, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20169, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -935,24 +935,24 @@ static void mine_train_rc_track_banked_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20173, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20178, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20183, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20168, 0, 0, 16, 16, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -975,24 +975,24 @@ static void mine_train_rc_track_banked_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20172, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20177, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20182, 0, 0, 16, 32, 1, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20167, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1008,13 +1008,13 @@ static void mine_train_rc_track_banked_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20171, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20176, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1022,12 +1022,12 @@ static void mine_train_rc_track_banked_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20187, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20166, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1066,24 +1066,24 @@ static void mine_train_rc_track_left_bank_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 20118, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20122, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20119, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20123, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20120, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20121, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1108,26 +1108,26 @@ static void mine_train_rc_track_right_bank_to_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20124, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20125, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20126, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20128, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20127, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20129, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1154,24 +1154,24 @@ static void mine_train_rc_track_25_deg_up_to_left_bank( session, direction, session->TrackColours[SCHEME_TRACK] | 20130, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20134, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20131, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20135, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20132, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20133, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1196,26 +1196,26 @@ static void mine_train_rc_track_25_deg_up_to_right_bank( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20136, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20137, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20138, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20140, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20139, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20141, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1272,22 +1272,22 @@ static void mine_train_rc_track_left_bank( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20142, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20143, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20144, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20145, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -1316,22 +1316,22 @@ static void mine_train_rc_track_left_quarter_turn_5_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20250, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20255, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20260, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20265, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1352,24 +1352,24 @@ static void mine_train_rc_track_left_quarter_turn_5_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20251, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20256, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20261, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20266, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1386,24 +1386,24 @@ static void mine_train_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20252, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20257, 0, 0, 16, 16, 1, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20262, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20267, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1426,23 +1426,23 @@ static void mine_train_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20253, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20258, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20263, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20268, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1458,22 +1458,22 @@ static void mine_train_rc_track_left_quarter_turn_5_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20254, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20259, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20264, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20269, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1504,22 +1504,22 @@ static void mine_train_rc_track_right_quarter_turn_5_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20230, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20235, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20240, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20245, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1541,23 +1541,23 @@ static void mine_train_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20231, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20236, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20241, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20246, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1573,25 +1573,25 @@ static void mine_train_rc_track_right_quarter_turn_5_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20232, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20237, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20242, 0, 0, 16, 16, 1, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20247, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1614,23 +1614,23 @@ static void mine_train_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20233, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20238, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20243, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20248, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1646,22 +1646,22 @@ static void mine_train_rc_track_right_quarter_turn_5_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20234, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20239, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20244, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20249, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1710,22 +1710,22 @@ static void mine_train_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20270, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20274, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20273, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20277, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1741,22 +1741,22 @@ static void mine_train_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20271, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20275, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20272, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20276, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1772,22 +1772,22 @@ static void mine_train_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20272, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20276, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20271, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20275, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1803,22 +1803,22 @@ static void mine_train_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20273, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20277, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20270, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20274, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1849,22 +1849,22 @@ static void mine_train_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20278, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20282, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20281, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20285, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1880,22 +1880,22 @@ static void mine_train_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20279, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20283, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20280, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20284, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1911,22 +1911,22 @@ static void mine_train_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20280, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20284, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20279, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20283, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1942,22 +1942,22 @@ static void mine_train_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20281, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20285, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20278, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20282, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1988,22 +1988,22 @@ static void mine_train_rc_track_left_quarter_turn_3( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20193, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20196, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20199, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20190, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2017,16 +2017,16 @@ static void mine_train_rc_track_left_quarter_turn_3( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -2064,22 +2064,22 @@ static void mine_train_rc_track_left_quarter_turn_3( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20191, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20194, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20197, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20188, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2122,23 +2122,23 @@ static void mine_train_rc_track_left_quarter_turn_3_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20212, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20208, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20211, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20202, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2152,16 +2152,16 @@ static void mine_train_rc_track_left_quarter_turn_3_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -2200,13 +2200,13 @@ static void mine_train_rc_track_left_quarter_turn_3_bank( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20203, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20206, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2214,12 +2214,12 @@ static void mine_train_rc_track_left_quarter_turn_3_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20213, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20200, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2259,22 +2259,22 @@ static void mine_train_rc_track_left_quarter_turn_3_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20225, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20227, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20229, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20223, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2288,16 +2288,16 @@ static void mine_train_rc_track_left_quarter_turn_3_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 56, 0x20); @@ -2313,22 +2313,22 @@ static void mine_train_rc_track_left_quarter_turn_3_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20224, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20226, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20228, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20222, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2359,22 +2359,22 @@ static void mine_train_rc_track_right_quarter_turn_3_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20214, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20216, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20218, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20220, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2388,16 +2388,16 @@ static void mine_train_rc_track_right_quarter_turn_3_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 56, 0x20); @@ -2413,22 +2413,22 @@ static void mine_train_rc_track_right_quarter_turn_3_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20215, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20217, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20219, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20221, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2480,23 +2480,23 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20312, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20308, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20311, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20302, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2514,16 +2514,16 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -2562,13 +2562,13 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20303, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20306, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2576,12 +2576,12 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20313, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20300, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2606,7 +2606,7 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20302, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2614,18 +2614,18 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20312, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20308, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20311, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2648,16 +2648,16 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -2696,18 +2696,18 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20300, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20303, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20306, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2715,7 +2715,7 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20313, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2745,18 +2745,18 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20286, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20289, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20292, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2764,7 +2764,7 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20299, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2782,16 +2782,16 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -2830,7 +2830,7 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20288, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2838,18 +2838,18 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20298, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20294, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20297, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2874,13 +2874,13 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20289, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20292, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2888,12 +2888,12 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20299, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20286, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2916,16 +2916,16 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -2967,23 +2967,23 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20298, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20294, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20297, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20288, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3046,23 +3046,23 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20356, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20350, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20355, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20340, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3087,25 +3087,25 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20344, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20349, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20354, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20339, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3122,7 +3122,7 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20343, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3131,18 +3131,18 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20178, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20353, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20338, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3163,7 +3163,7 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20342, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3172,18 +3172,18 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20177, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20352, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20337, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3199,13 +3199,13 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20341, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20346, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3213,12 +3213,12 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20357, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20336, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3243,7 +3243,7 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20340, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3251,18 +3251,18 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20356, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20350, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20355, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3293,24 +3293,24 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20339, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20344, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20349, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20354, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3326,13 +3326,13 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20338, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20343, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3341,13 +3341,13 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20178, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20353, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3368,13 +3368,13 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20337, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20342, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3383,12 +3383,12 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20177, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20352, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3404,18 +3404,18 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20336, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20341, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20346, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3423,7 +3423,7 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20357, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3453,18 +3453,18 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20314, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20319, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20324, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3472,7 +3472,7 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20335, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3498,24 +3498,24 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20315, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20320, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20325, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20330, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3531,25 +3531,25 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20316, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20321, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20326, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20331, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3570,24 +3570,24 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20317, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20322, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20327, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20332, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3603,7 +3603,7 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20318, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3611,18 +3611,18 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20334, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20328, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20333, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3647,13 +3647,13 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20319, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20324, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3661,12 +3661,12 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20335, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20314, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3697,24 +3697,24 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20320, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20325, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20330, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20315, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3731,24 +3731,24 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20321, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20326, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20331, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20316, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3768,25 +3768,25 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20322, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20327, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20332, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20317, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3805,23 +3805,23 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20334, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20328, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20333, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20318, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3879,13 +3879,13 @@ static void mine_train_rc_track_brakes( case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20058, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20059, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -3903,22 +3903,22 @@ static void mine_train_rc_track_on_ride_photo( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20052, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20053, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20052, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20053, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } track_paint_util_onride_photo_paint(session, direction, height + 2, trackElement); @@ -3940,22 +3940,22 @@ static void mine_train_rc_track_left_eighth_to_diag( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20452, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20456, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20460, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20464, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3971,24 +3971,24 @@ static void mine_train_rc_track_left_eighth_to_diag( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20453, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20457, 0, 0, 34, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20461, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20465, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4001,24 +4001,24 @@ static void mine_train_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20454, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20458, 0, 0, 16, 16, 1, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20462, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20466, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4028,16 +4028,16 @@ static void mine_train_rc_track_left_eighth_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4085,22 +4085,22 @@ static void mine_train_rc_track_right_eighth_to_diag( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20436, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20440, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20444, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20448, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4117,23 +4117,23 @@ static void mine_train_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20437, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20441, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20445, 0, 0, 34, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20449, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4145,24 +4145,24 @@ static void mine_train_rc_track_right_eighth_to_diag( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20438, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20442, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20446, 0, 0, 28, 28, 1, height, 4, 4, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20450, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4172,16 +4172,16 @@ static void mine_train_rc_track_right_eighth_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4248,23 +4248,23 @@ static void mine_train_rc_track_left_eighth_bank_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20484, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20488, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20492, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20496, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4280,25 +4280,25 @@ static void mine_train_rc_track_left_eighth_bank_to_diag( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20485, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20489, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20493, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20497, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4311,24 +4311,24 @@ static void mine_train_rc_track_left_eighth_bank_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20486, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20490, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20494, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20498, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4338,16 +4338,16 @@ static void mine_train_rc_track_left_eighth_bank_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4395,24 +4395,24 @@ static void mine_train_rc_track_right_eighth_bank_to_diag( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20468, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20472, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20476, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20480, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4429,24 +4429,24 @@ static void mine_train_rc_track_right_eighth_bank_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20469, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20473, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20477, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20481, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4458,25 +4458,25 @@ static void mine_train_rc_track_right_eighth_bank_to_diag( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20470, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20474, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20478, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20482, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4486,16 +4486,16 @@ static void mine_train_rc_track_right_eighth_bank_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4590,16 +4590,16 @@ static void mine_train_rc_track_diag_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20386, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4611,16 +4611,16 @@ static void mine_train_rc_track_diag_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20358, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4633,19 +4633,19 @@ static void mine_train_rc_track_diag_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20388, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4654,19 +4654,19 @@ static void mine_train_rc_track_diag_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20360, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4744,20 +4744,16 @@ static void mine_train_rc_track_diag_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20398, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4769,20 +4765,16 @@ static void mine_train_rc_track_diag_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20370, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4795,23 +4787,19 @@ static void mine_train_rc_track_diag_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20400, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4820,23 +4808,19 @@ static void mine_train_rc_track_diag_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20372, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4898,16 +4882,16 @@ static void mine_train_rc_track_diag_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20382, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4917,19 +4901,19 @@ static void mine_train_rc_track_diag_60_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20384, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4992,16 +4976,16 @@ static void mine_train_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20390, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5013,16 +4997,16 @@ static void mine_train_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20362, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5035,19 +5019,19 @@ static void mine_train_rc_track_diag_flat_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20392, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5056,19 +5040,19 @@ static void mine_train_rc_track_diag_flat_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20364, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5130,16 +5114,16 @@ static void mine_train_rc_track_diag_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20374, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5149,19 +5133,19 @@ static void mine_train_rc_track_diag_25_deg_up_to_60_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20376, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5208,16 +5192,16 @@ static void mine_train_rc_track_diag_60_deg_up_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20378, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5227,19 +5211,19 @@ static void mine_train_rc_track_diag_60_deg_up_to_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20380, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5302,20 +5286,16 @@ static void mine_train_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20394, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5327,20 +5307,16 @@ static void mine_train_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20366, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5353,23 +5329,19 @@ static void mine_train_rc_track_diag_25_deg_up_to_flat( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20396, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5378,23 +5350,19 @@ static void mine_train_rc_track_diag_25_deg_up_to_flat( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20368, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5472,20 +5440,16 @@ static void mine_train_rc_track_diag_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20400, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5497,20 +5461,16 @@ static void mine_train_rc_track_diag_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20372, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5523,23 +5483,19 @@ static void mine_train_rc_track_diag_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20398, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5548,23 +5504,19 @@ static void mine_train_rc_track_diag_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20370, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5626,16 +5578,16 @@ static void mine_train_rc_track_diag_60_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20384, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5645,19 +5597,19 @@ static void mine_train_rc_track_diag_60_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20382, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5719,20 +5671,16 @@ static void mine_train_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20396, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5744,20 +5692,16 @@ static void mine_train_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20368, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5769,23 +5713,19 @@ static void mine_train_rc_track_diag_flat_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20394, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5794,23 +5734,19 @@ static void mine_train_rc_track_diag_flat_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20366, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5872,16 +5808,16 @@ static void mine_train_rc_track_diag_25_deg_down_to_60_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20380, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5891,19 +5827,19 @@ static void mine_train_rc_track_diag_25_deg_down_to_60_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20378, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5950,16 +5886,16 @@ static void mine_train_rc_track_diag_60_deg_down_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20376, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5969,19 +5905,19 @@ static void mine_train_rc_track_diag_60_deg_down_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20374, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6044,16 +5980,16 @@ static void mine_train_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20392, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -6065,16 +6001,16 @@ static void mine_train_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20364, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -6087,19 +6023,19 @@ static void mine_train_rc_track_diag_25_deg_down_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20390, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -6108,19 +6044,19 @@ static void mine_train_rc_track_diag_25_deg_down_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20362, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -6185,16 +6121,16 @@ static void mine_train_rc_track_diag_flat_to_left_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20410, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6204,19 +6140,19 @@ static void mine_train_rc_track_diag_flat_to_left_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20408, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6263,16 +6199,16 @@ static void mine_train_rc_track_diag_flat_to_right_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20411, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6282,10 +6218,10 @@ static void mine_train_rc_track_diag_flat_to_right_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6294,10 +6230,10 @@ static void mine_train_rc_track_diag_flat_to_right_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20415, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6347,16 +6283,16 @@ static void mine_train_rc_track_diag_left_bank_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20415, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6366,19 +6302,19 @@ static void mine_train_rc_track_diag_left_bank_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20411, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6425,16 +6361,16 @@ static void mine_train_rc_track_diag_right_bank_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20408, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6444,10 +6380,10 @@ static void mine_train_rc_track_diag_right_bank_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6456,10 +6392,10 @@ static void mine_train_rc_track_diag_right_bank_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20410, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6509,16 +6445,16 @@ static void mine_train_rc_track_diag_left_bank_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20430, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6528,19 +6464,19 @@ static void mine_train_rc_track_diag_left_bank_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20428, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6587,16 +6523,16 @@ static void mine_train_rc_track_diag_right_bank_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20431, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6606,10 +6542,10 @@ static void mine_train_rc_track_diag_right_bank_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6618,10 +6554,10 @@ static void mine_train_rc_track_diag_right_bank_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20435, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6671,16 +6607,16 @@ static void mine_train_rc_track_diag_25_deg_up_to_left_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20420, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6690,19 +6626,19 @@ static void mine_train_rc_track_diag_25_deg_up_to_left_bank( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20418, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6749,16 +6685,16 @@ static void mine_train_rc_track_diag_25_deg_up_to_right_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20421, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6768,10 +6704,10 @@ static void mine_train_rc_track_diag_25_deg_up_to_right_bank( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6780,10 +6716,10 @@ static void mine_train_rc_track_diag_25_deg_up_to_right_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20425, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6831,16 +6767,16 @@ static void mine_train_rc_track_diag_left_bank_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20425, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -6848,19 +6784,19 @@ static void mine_train_rc_track_diag_left_bank_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20421, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -6904,16 +6840,16 @@ static void mine_train_rc_track_diag_right_bank_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20418, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -6921,10 +6857,10 @@ static void mine_train_rc_track_diag_right_bank_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6933,10 +6869,10 @@ static void mine_train_rc_track_diag_right_bank_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20420, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -6985,16 +6921,16 @@ static void mine_train_rc_track_diag_25_deg_down_to_left_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20435, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7004,19 +6940,19 @@ static void mine_train_rc_track_diag_25_deg_down_to_left_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20431, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7063,16 +6999,16 @@ static void mine_train_rc_track_diag_25_deg_down_to_right_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20428, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7082,10 +7018,10 @@ static void mine_train_rc_track_diag_25_deg_down_to_right_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7094,10 +7030,10 @@ static void mine_train_rc_track_diag_25_deg_down_to_right_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20430, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7145,16 +7081,16 @@ static void mine_train_rc_track_diag_left_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20402, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7165,19 +7101,19 @@ static void mine_train_rc_track_diag_left_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20404, -16, -16, 32, 32, 3, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7227,16 +7163,16 @@ static void mine_train_rc_track_diag_right_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20404, -16, -16, 32, 32, 3, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7247,19 +7183,19 @@ static void mine_train_rc_track_diag_right_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20402, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7291,7 +7227,7 @@ static void mine_train_rc_track_block_brakes( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | _MineTrainBlockBrakeImages[direction][isClosed], 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); diff --git a/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp b/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp index 8487a3aba5..e4c1c12cef 100644 --- a/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp +++ b/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp @@ -212,7 +212,7 @@ static void paint_reverse_freefall_rc_flat( paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); } - wooden_a_supports_paint_setup(session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); } @@ -233,8 +233,7 @@ static void paint_reverse_freefall_rc_station( imageId = reverse_freefall_rc_track_pieces_station[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup( - session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); } else if (direction == 1 || direction == 3) @@ -247,8 +246,7 @@ static void paint_reverse_freefall_rc_station( imageId = reverse_freefall_rc_track_pieces_station[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup( - session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); } @@ -306,13 +304,12 @@ static void paint_reverse_freefall_rc_slope( PaintAddImageAsChildRotated(session, direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + supportHeights[trackSequence], 0x20); break; case 5: - if (wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr)) + if (wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS])) { uint32_t floorImageId; if (direction & 1) @@ -348,7 +345,7 @@ static void paint_reverse_freefall_rc_slope( PaintAddImageAsParentRotated(session, direction, trackImageId, 0, 0, 1, 20, 126, height, 27, 6, height); PaintAddImageAsChildRotated(session, direction, supportsImageId, 0, 0, 1, 20, 126, height, 27, 6, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + supportHeights[trackSequence], 0x20); break; @@ -411,7 +408,7 @@ static void paint_reverse_freefall_rc_onride_photo( uint32_t imageId = imageIds[direction] | colour; PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_onride_photo_paint(session, direction, height + 3, trackElement); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); diff --git a/src/openrct2/ride/coaster/ReverserRollerCoaster.cpp b/src/openrct2/ride/coaster/ReverserRollerCoaster.cpp index f601ccba74..aaabb4d2e2 100644 --- a/src/openrct2/ride/coaster/ReverserRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/ReverserRollerCoaster.cpp @@ -58,13 +58,13 @@ static void reverser_rc_track_flat( case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21520, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21521, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -76,13 +76,13 @@ static void reverser_rc_track_flat( case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21504, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21505, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -107,7 +107,7 @@ static void reverser_rc_track_station( PaintAddImageAsChildRotated( session, direction, imageIds[direction][0] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_draw_station_2(session, ride, direction, height, trackElement, 9, 11); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -126,22 +126,22 @@ static void reverser_rc_track_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21530, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21531, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21532, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21533, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -152,22 +152,22 @@ static void reverser_rc_track_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21516, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21517, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21518, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21519, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -195,22 +195,22 @@ static void reverser_rc_track_flat_to_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21522, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21523, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21524, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21525, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -221,22 +221,22 @@ static void reverser_rc_track_flat_to_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21508, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21509, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21510, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21511, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -264,22 +264,22 @@ static void reverser_rc_track_25_deg_up_to_flat( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21526, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21527, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21528, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21529, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -290,22 +290,22 @@ static void reverser_rc_track_25_deg_up_to_flat( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21512, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21513, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21514, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21515, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -358,22 +358,22 @@ static void reverser_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21543, 0, 2, 32, 27, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21548, 0, 2, 32, 27, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21553, 0, 2, 32, 32, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21538, 0, 2, 32, 32, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -394,22 +394,22 @@ static void reverser_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21542, 0, 0, 32, 16, 2, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21547, 0, 0, 32, 16, 2, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21552, 0, 16, 32, 16, 2, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21537, 0, 16, 32, 16, 2, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -425,22 +425,22 @@ static void reverser_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21541, 0, 16, 16, 16, 2, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21546, 16, 16, 16, 16, 2, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21551, 16, 0, 16, 16, 2, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21536, 0, 0, 16, 16, 2, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -462,22 +462,22 @@ static void reverser_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21540, 16, 0, 16, 34, 2, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21545, 0, 0, 16, 32, 2, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21550, 0, 0, 16, 32, 2, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21535, 16, 0, 16, 32, 2, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -493,22 +493,22 @@ static void reverser_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21539, 2, 0, 32, 32, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21544, 2, 0, 27, 32, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21549, 2, 0, 27, 32, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21534, 2, 0, 32, 32, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -548,22 +548,22 @@ static void reverser_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21566, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21570, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21569, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21573, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -579,22 +579,22 @@ static void reverser_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21567, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21571, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21568, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21572, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -610,22 +610,22 @@ static void reverser_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21568, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21572, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21567, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21571, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -641,22 +641,22 @@ static void reverser_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21569, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21573, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21566, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21570, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -687,22 +687,22 @@ static void reverser_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21574, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21578, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21577, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21581, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -718,22 +718,22 @@ static void reverser_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21575, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21579, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21576, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21580, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -749,22 +749,22 @@ static void reverser_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21576, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21580, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21575, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21579, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -780,22 +780,22 @@ static void reverser_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21577, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21581, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21574, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21578, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -826,22 +826,22 @@ static void reverser_rc_track_left_quarter_turn_3( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21559, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21562, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21565, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21556, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -887,22 +887,22 @@ static void reverser_rc_track_left_quarter_turn_3( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21557, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21560, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21563, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21554, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -940,13 +940,13 @@ static void reverser_rc_track_brakes( case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21506, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21507, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -967,22 +967,22 @@ static void reverser_rc_track_left_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21582, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21588, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21594, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21600, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -998,22 +998,22 @@ static void reverser_rc_track_left_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21585, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21591, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21597, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21603, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1025,22 +1025,22 @@ static void reverser_rc_track_left_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21586, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21592, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21598, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21604, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1052,22 +1052,22 @@ static void reverser_rc_track_left_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21587, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21593, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21599, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21605, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1079,22 +1079,22 @@ static void reverser_rc_track_left_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21583, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21589, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21595, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21601, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1106,22 +1106,22 @@ static void reverser_rc_track_left_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21584, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21590, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21596, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21602, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1152,22 +1152,22 @@ static void reverser_rc_track_right_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21596, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21602, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21584, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21590, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1183,22 +1183,22 @@ static void reverser_rc_track_right_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21599, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21605, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21587, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21593, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1210,22 +1210,22 @@ static void reverser_rc_track_right_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21598, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21604, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21586, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21592, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1237,22 +1237,22 @@ static void reverser_rc_track_right_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21597, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21603, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21585, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21591, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1264,22 +1264,22 @@ static void reverser_rc_track_right_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21595, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21601, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21583, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21589, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1291,22 +1291,22 @@ static void reverser_rc_track_right_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21594, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21600, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21582, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21588, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) diff --git a/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp b/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp index 9cf64bdcf9..da4d84a5b7 100644 --- a/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp @@ -80,7 +80,7 @@ static void side_friction_rc_track_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21664, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -88,7 +88,7 @@ static void side_friction_rc_track_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21665, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -96,7 +96,7 @@ static void side_friction_rc_track_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21668, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -104,7 +104,7 @@ static void side_friction_rc_track_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21669, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -119,7 +119,7 @@ static void side_friction_rc_track_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21608, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: @@ -128,7 +128,7 @@ static void side_friction_rc_track_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21609, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -151,7 +151,7 @@ static void side_friction_rc_track_station( PaintAddImageAsParentRotated( session, direction, imageIds[direction] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_draw_station_2(session, ride, direction, height, trackElement, 9, 11); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -172,28 +172,28 @@ static void side_friction_rc_track_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21678, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21690, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21679, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21691, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21680, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21692, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21681, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21693, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -206,28 +206,28 @@ static void side_friction_rc_track_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21622, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21634, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21623, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21635, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21624, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21636, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21625, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21637, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -257,28 +257,28 @@ static void side_friction_rc_track_flat_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21670, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21682, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21671, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21683, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21672, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21684, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21673, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21685, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -291,28 +291,28 @@ static void side_friction_rc_track_flat_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21614, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21626, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21615, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21627, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21616, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21628, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21617, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21629, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -342,28 +342,28 @@ static void side_friction_rc_track_25_deg_up_to_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 21674, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21686, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21675, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21687, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21676, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21688, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21677, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21689, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -376,28 +376,28 @@ static void side_friction_rc_track_25_deg_up_to_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 21618, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21630, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21619, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21631, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21620, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21632, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21621, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21633, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -453,7 +453,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21747, 0, 2, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -461,7 +461,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21752, 0, 2, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -469,7 +469,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21757, 0, 2, 32, 32, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -477,7 +477,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21742, 0, 2, 32, 32, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -501,7 +501,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21746, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -509,7 +509,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21751, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -517,7 +517,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21756, 0, 16, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -525,7 +525,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21741, 0, 16, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -544,7 +544,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21745, 0, 16, 16, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -552,7 +552,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21750, 16, 16, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -560,7 +560,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21755, 16, 0, 16, 16, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -568,7 +568,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21740, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -593,7 +593,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21744, 16, 0, 16, 34, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -601,7 +601,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21749, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -609,7 +609,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21754, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -617,7 +617,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21739, 16, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -636,7 +636,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21743, 2, 0, 32, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -644,7 +644,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21748, 2, 0, 27, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -652,7 +652,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21753, 2, 0, 27, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -660,7 +660,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21738, 2, 0, 32, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -703,7 +703,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21904, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -711,7 +711,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21908, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -719,7 +719,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21907, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -727,7 +727,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21911, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -746,7 +746,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21905, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -754,7 +754,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21909, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -762,7 +762,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21906, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -770,7 +770,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21910, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -789,7 +789,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21906, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -797,7 +797,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21910, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -805,7 +805,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21905, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -813,7 +813,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21909, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -832,7 +832,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21907, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -840,7 +840,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21911, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -848,7 +848,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21904, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -856,7 +856,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21908, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -890,7 +890,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21912, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -898,7 +898,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21916, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -906,7 +906,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21915, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -914,7 +914,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21919, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -933,7 +933,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21913, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -941,7 +941,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21917, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -949,7 +949,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21914, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -957,7 +957,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21918, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -976,7 +976,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21914, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -984,7 +984,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21918, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -992,7 +992,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21913, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1000,7 +1000,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21917, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1019,7 +1019,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21915, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1027,7 +1027,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21919, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1035,7 +1035,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21912, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1043,7 +1043,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21916, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1077,7 +1077,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21711, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1085,7 +1085,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21714, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1093,7 +1093,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21717, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1101,7 +1101,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21708, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1162,7 +1162,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21709, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1170,7 +1170,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21712, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1178,7 +1178,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21715, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1186,7 +1186,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21706, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1226,7 +1226,7 @@ static void side_friction_rc_track_brakes( session, direction, session->TrackColours[SCHEME_TRACK] | 21610, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21612, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: @@ -1234,7 +1234,7 @@ static void side_friction_rc_track_brakes( session, direction, session->TrackColours[SCHEME_TRACK] | 21611, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21613, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -1258,7 +1258,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21806, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1266,7 +1266,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21810, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1274,7 +1274,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21814, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1282,7 +1282,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21818, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1301,7 +1301,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21807, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1309,7 +1309,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21811, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1318,7 +1318,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21815, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1327,7 +1327,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21819, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1343,7 +1343,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21808, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1352,7 +1352,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21812, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1361,7 +1361,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21816, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1369,7 +1369,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21820, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1379,16 +1379,16 @@ static void side_friction_rc_track_left_eighth_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1451,7 +1451,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21774, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1459,7 +1459,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21778, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1467,7 +1467,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21782, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1475,7 +1475,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21786, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1495,7 +1495,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21775, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1504,7 +1504,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21779, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1512,7 +1512,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21783, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1520,7 +1520,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21787, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1535,7 +1535,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21776, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1544,7 +1544,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21780, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1552,7 +1552,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21784, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1561,7 +1561,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21788, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1571,16 +1571,16 @@ static void side_friction_rc_track_right_eighth_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1690,16 +1690,16 @@ static void side_friction_rc_track_diag_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21850, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1714,16 +1714,16 @@ static void side_friction_rc_track_diag_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21826, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1736,10 +1736,10 @@ static void side_friction_rc_track_diag_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1748,10 +1748,10 @@ static void side_friction_rc_track_diag_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21851, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1760,10 +1760,10 @@ static void side_friction_rc_track_diag_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1772,10 +1772,10 @@ static void side_friction_rc_track_diag_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21827, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1856,20 +1856,16 @@ static void side_friction_rc_track_diag_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21868, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1884,20 +1880,16 @@ static void side_friction_rc_track_diag_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21844, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1910,12 +1902,10 @@ static void side_friction_rc_track_diag_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1924,12 +1914,10 @@ static void side_friction_rc_track_diag_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21869, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1938,12 +1926,10 @@ static void side_friction_rc_track_diag_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1952,12 +1938,10 @@ static void side_friction_rc_track_diag_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21845, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2038,16 +2022,16 @@ static void side_friction_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21856, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2062,16 +2046,16 @@ static void side_friction_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21832, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2084,10 +2068,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2096,10 +2080,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2108,10 +2092,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2120,10 +2104,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21833, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2204,20 +2188,16 @@ static void side_friction_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21862, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2232,20 +2212,16 @@ static void side_friction_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21838, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2258,12 +2234,10 @@ static void side_friction_rc_track_diag_25_deg_up_to_flat( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2272,12 +2246,10 @@ static void side_friction_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21863, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2286,12 +2258,10 @@ static void side_friction_rc_track_diag_25_deg_up_to_flat( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2300,12 +2270,10 @@ static void side_friction_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21839, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2386,20 +2354,16 @@ static void side_friction_rc_track_diag_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21869, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2414,20 +2378,16 @@ static void side_friction_rc_track_diag_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21845, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2440,12 +2400,10 @@ static void side_friction_rc_track_diag_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2454,12 +2412,10 @@ static void side_friction_rc_track_diag_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21868, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2468,12 +2424,10 @@ static void side_friction_rc_track_diag_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2482,12 +2436,10 @@ static void side_friction_rc_track_diag_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21844, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2566,20 +2518,16 @@ static void side_friction_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21863, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2594,20 +2542,16 @@ static void side_friction_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21839, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2618,12 +2562,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2632,12 +2574,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21862, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2646,12 +2586,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2660,12 +2598,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21838, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2745,16 +2681,16 @@ static void side_friction_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2769,16 +2705,16 @@ static void side_friction_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21833, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2791,10 +2727,10 @@ static void side_friction_rc_track_diag_25_deg_down_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2803,10 +2739,10 @@ static void side_friction_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21856, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2815,10 +2751,10 @@ static void side_friction_rc_track_diag_25_deg_down_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2827,10 +2763,10 @@ static void side_friction_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21832, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2879,7 +2815,7 @@ static void side_friction_rc_track_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_DIR_0_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 21, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 21, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2890,7 +2826,7 @@ static void side_friction_rc_track_60_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_DIR_1_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 22, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 22, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2900,7 +2836,7 @@ static void side_friction_rc_track_60_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_DIR_2_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 23, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 23, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2909,7 +2845,7 @@ static void side_friction_rc_track_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_DIR_3_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 24, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 24, height, session->TrackColours[SCHEME_SUPPORTS]); break; } @@ -2945,7 +2881,7 @@ static void side_friction_rc_track_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_25_DEG_UP_TO_60_DEG_UP_DIR_0_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 13, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 13, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2954,7 +2890,7 @@ static void side_friction_rc_track_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_25_DEG_UP_TO_60_DEG_UP_DIR_1_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 14, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 14, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2963,7 +2899,7 @@ static void side_friction_rc_track_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_25_DEG_UP_TO_60_DEG_UP_DIR_2_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 15, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 15, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2972,7 +2908,7 @@ static void side_friction_rc_track_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_25_DEG_UP_TO_60_DEG_UP_DIR_3_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 16, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 16, height, session->TrackColours[SCHEME_SUPPORTS]); break; } @@ -3008,7 +2944,7 @@ static void side_friction_rc_track_60_deg_up_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_TO_25_DEG_UP_DIR_0_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 17, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 17, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3017,7 +2953,7 @@ static void side_friction_rc_track_60_deg_up_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_TO_25_DEG_UP_DIR_1_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 18, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 18, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3026,7 +2962,7 @@ static void side_friction_rc_track_60_deg_up_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_TO_25_DEG_UP_DIR_2_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 19, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 19, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3035,7 +2971,7 @@ static void side_friction_rc_track_60_deg_up_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_TO_25_DEG_UP_DIR_3_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 20, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 20, height, session->TrackColours[SCHEME_SUPPORTS]); break; } @@ -3086,16 +3022,16 @@ static void side_friction_rc_track_diag_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_DIAG_60_DEG_UP_DIR_0_B, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } @@ -3106,10 +3042,10 @@ static void side_friction_rc_track_diag_60_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3118,10 +3054,10 @@ static void side_friction_rc_track_diag_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_DIAG_60_DEG_UP_DIR_2_B, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -3181,16 +3117,16 @@ static void side_friction_rc_track_diag_60_deg_up_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_DIAG_60_DEG_UP_TO_25_DEG_UP_DIR_0_B, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -3200,10 +3136,10 @@ static void side_friction_rc_track_diag_60_deg_up_to_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3214,10 +3150,10 @@ static void side_friction_rc_track_diag_60_deg_up_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_DIAG_60_DEG_UP_TO_25_DEG_UP_DIR_2_B, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -3277,16 +3213,16 @@ static void side_friction_rc_track_diag_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 24033, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -3296,10 +3232,10 @@ static void side_friction_rc_track_diag_25_deg_up_to_60_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3309,10 +3245,10 @@ static void side_friction_rc_track_diag_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 24034, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); diff --git a/src/openrct2/ride/coaster/VirginiaReel.cpp b/src/openrct2/ride/coaster/VirginiaReel.cpp index ab308cd268..ce07e71615 100644 --- a/src/openrct2/ride/coaster/VirginiaReel.cpp +++ b/src/openrct2/ride/coaster/VirginiaReel.cpp @@ -231,7 +231,7 @@ static void paint_virginia_reel_track_flat( paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -268,19 +268,19 @@ static void paint_virginia_reel_track_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height - 8, TUNNEL_SQUARE_7); break; case 1: - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height + 8, TUNNEL_SQUARE_8); break; case 2: - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height + 8, TUNNEL_SQUARE_8); break; case 3: - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height - 8, TUNNEL_SQUARE_7); break; } @@ -307,27 +307,27 @@ static void paint_virginia_reel_track_flat_to_25_deg_up( case 0: PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 27, 2 }, { 0, 2, height }); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); break; case 1: ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 27, 32, 2 }, { 2, 0, height }); session->WoodenSupportsPrependTo = ps; - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_8); break; case 2: ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 27, 2 }, { 0, 2, height }); session->WoodenSupportsPrependTo = ps; - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_8); break; case 3: PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 27, 32, 2 }, { 2, 0, height }); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); break; } @@ -367,19 +367,19 @@ static void paint_virginia_reel_track_25_deg_up_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height - 8, TUNNEL_SQUARE_FLAT); break; case 1: - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height + 8, TUNNEL_14); break; case 2: - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height + 8, TUNNEL_14); break; case 3: - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height - 8, TUNNEL_SQUARE_FLAT); break; } @@ -440,7 +440,7 @@ static void paint_virginia_reel_station( paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_draw_station(session, ride, direction, height, trackElement); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -468,8 +468,8 @@ static void paint_virginia_reel_track_left_quarter_turn_3_tiles( case 0: case 3: wooden_a_supports_paint_setup( - session, virginia_reel_left_quarter_turn_supports[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], - nullptr); + session, virginia_reel_left_quarter_turn_supports[direction], 0, height, + session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); break; } @@ -501,18 +501,18 @@ static void paint_virginia_reel_track_left_quarter_turn_1_tile( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); break; diff --git a/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp b/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp index 56fb20dca3..2d4ccea959 100644 --- a/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp @@ -458,7 +458,7 @@ static void wooden_rc_track_flat( wooden_rc_track_paint( session, imageIds[direction][isChained], railsImageIds[direction][isChained], direction, 0, 2, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -490,7 +490,7 @@ static void wooden_rc_track_station( session, stationImageIds[direction][0], stationImageIds[direction][1], direction, 0, 2, 32, 27, 2, height, 0, 2, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_draw_station_2(session, ride, direction, height, trackElement, 9, 11); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -531,8 +531,7 @@ static void wooden_rc_track_25_deg_up( session, imageIds[isChained][direction][2], imageIds[isChained][direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -569,8 +568,7 @@ static void wooden_rc_track_60_deg_up( session->WoodenSupportsPrependTo = wooden_rc_track_paint( session, imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 2, 24, 93, height, 28, 4, height - 16); } - wooden_a_supports_paint_setup( - session, direction & 1, 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -619,8 +617,7 @@ static void wooden_rc_track_flat_to_25_deg_up( session, imageIds[isChained][direction][2], imageIds[isChained][direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -661,8 +658,7 @@ static void wooden_rc_track_25_deg_up_to_60_deg_up( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 2, 43, height, 0, 4, height); } - wooden_a_supports_paint_setup( - session, direction & 1, 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -703,8 +699,7 @@ static void wooden_rc_track_60_deg_up_to_25_deg_up( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 2, 43, height, 0, 4, height); } - wooden_a_supports_paint_setup( - session, direction & 1, 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -753,8 +748,7 @@ static void wooden_rc_track_25_deg_up_to_flat( session, imageIds[isChained][direction][2], imageIds[isChained][direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -1029,7 +1023,7 @@ static void wooden_rc_track_right_quarter_turn_5( if (supportType[direction][trackSequence] != -1) { wooden_a_supports_paint_setup( - session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS]); } int32_t blockedSegments = 0; @@ -1092,7 +1086,7 @@ static void wooden_rc_track_flat_to_left_bank( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -1119,7 +1113,7 @@ static void wooden_rc_track_flat_to_right_bank( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -1353,7 +1347,7 @@ static void wooden_rc_track_banked_right_quarter_turn_5( if (supportType[direction][trackSequence] != -1) { wooden_a_supports_paint_setup( - session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS]); } int32_t blockedSegments = 0; @@ -1416,8 +1410,7 @@ static void wooden_rc_track_left_bank_to_25_deg_up( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -1451,8 +1444,7 @@ static void wooden_rc_track_right_bank_to_25_deg_up( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -1486,8 +1478,7 @@ static void wooden_rc_track_25_deg_up_to_left_bank( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -1521,8 +1512,7 @@ static void wooden_rc_track_25_deg_up_to_right_bank( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -1581,7 +1571,7 @@ static void wooden_rc_track_left_bank( wooden_rc_track_paint( session, imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -1610,7 +1600,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23781, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24647, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1623,21 +1613,21 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24678, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23791, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24657, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23796, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24662, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1660,7 +1650,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23782, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24648, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1673,7 +1663,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24679, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1682,7 +1672,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24658, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1697,7 +1687,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24685, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1717,7 +1707,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24649, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1732,7 +1722,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24680, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1741,7 +1731,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24659, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1754,7 +1744,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24686, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1780,7 +1770,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24650, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1793,7 +1783,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24681, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1806,7 +1796,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24683, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1821,7 +1811,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24687, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1839,7 +1829,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23785, 0, 0, 27, 32, 2, height, 2, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24651, 0, 0, 27, 32, 2, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1852,7 +1842,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24682, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1865,7 +1855,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24684, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1878,7 +1868,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24688, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1911,14 +1901,14 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23761, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24627, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23766, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24632, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1931,14 +1921,14 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24673, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23776, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24642, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1969,7 +1959,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24667, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1978,7 +1968,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24633, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1991,14 +1981,14 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24674, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23777, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24643, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -2022,7 +2012,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24668, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2031,7 +2021,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24634, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2046,7 +2036,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24675, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2055,7 +2045,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24644, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -2087,7 +2077,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24669, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2100,7 +2090,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24671, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2113,7 +2103,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24676, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2122,7 +2112,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24645, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -2146,7 +2136,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24670, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2159,7 +2149,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24672, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2172,14 +2162,14 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24677, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23780, 0, 0, 27, 32, 2, height, 2, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24646, 0, 0, 27, 32, 2, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2230,7 +2220,7 @@ static void wooden_rc_track_s_bend_left( session, direction, wooden_rc_get_track_colour(session) | 23725, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24591, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2243,14 +2233,14 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24607, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23728, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24594, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2263,7 +2253,7 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24610, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2281,7 +2271,7 @@ static void wooden_rc_track_s_bend_left( session, direction, wooden_rc_get_track_colour(session) | 23726, 0, 0, 32, 26, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24592, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2294,14 +2284,14 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24608, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23727, 0, 0, 32, 26, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24593, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2314,7 +2304,7 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24609, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -2332,7 +2322,7 @@ static void wooden_rc_track_s_bend_left( session, direction, wooden_rc_get_track_colour(session) | 23727, 0, 0, 32, 26, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24593, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2345,14 +2335,14 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24609, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23726, 0, 0, 32, 26, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24592, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2365,7 +2355,7 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24608, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -2383,7 +2373,7 @@ static void wooden_rc_track_s_bend_left( session, direction, wooden_rc_get_track_colour(session) | 23728, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24594, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2396,14 +2386,14 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24610, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23725, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24591, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2416,7 +2406,7 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24607, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2455,14 +2445,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24611, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23737, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24603, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2475,14 +2465,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24614, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23740, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24606, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2506,14 +2496,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24612, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23738, 0, 0, 32, 26, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24604, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2526,14 +2516,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24613, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23739, 0, 0, 32, 26, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24605, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -2557,14 +2547,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24613, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23739, 0, 0, 32, 26, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24605, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2577,14 +2567,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24612, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23738, 0, 0, 32, 26, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24604, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -2608,14 +2598,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24614, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23740, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24606, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2628,14 +2618,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24611, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23737, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24603, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3150,7 +3140,7 @@ static void wooden_rc_track_left_quarter_turn_3( session, direction, wooden_rc_get_track_colour(session) | 23828, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24694, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3163,14 +3153,14 @@ static void wooden_rc_track_left_quarter_turn_3( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24706, 0, 6, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23834, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24700, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3183,7 +3173,7 @@ static void wooden_rc_track_left_quarter_turn_3( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24703, 0, 6, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3254,7 +3244,7 @@ static void wooden_rc_track_left_quarter_turn_3( session, direction, wooden_rc_get_track_colour(session) | 23826, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24692, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3267,14 +3257,14 @@ static void wooden_rc_track_left_quarter_turn_3( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24704, 6, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23832, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24698, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3287,7 +3277,7 @@ static void wooden_rc_track_left_quarter_turn_3( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24701, 6, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3329,7 +3319,7 @@ static void wooden_rc_track_left_quarter_turn_3_bank( session, direction, wooden_rc_get_track_colour(session) | 23846, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24712, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3342,14 +3332,14 @@ static void wooden_rc_track_left_quarter_turn_3_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24724, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23852, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24718, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3362,7 +3352,7 @@ static void wooden_rc_track_left_quarter_turn_3_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24721, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3433,7 +3423,7 @@ static void wooden_rc_track_left_quarter_turn_3_bank( session, direction, wooden_rc_get_track_colour(session) | 23844, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24710, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3446,14 +3436,14 @@ static void wooden_rc_track_left_quarter_turn_3_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24722, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23850, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24716, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3466,7 +3456,7 @@ static void wooden_rc_track_left_quarter_turn_3_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24719, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3508,7 +3498,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23906, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24772, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3521,14 +3511,14 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24785, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23910, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24776, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3541,7 +3531,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24783, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3567,7 +3557,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23905, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24771, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3580,7 +3570,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24784, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3593,7 +3583,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24786, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3606,7 +3596,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24782, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3645,14 +3635,14 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24777, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23897, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24763, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3665,14 +3655,14 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24780, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23901, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24767, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3704,7 +3694,7 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24778, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3717,7 +3707,7 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24779, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3730,14 +3720,14 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24781, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23902, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24768, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3788,7 +3778,7 @@ static void wooden_rc_track_left_half_banked_helix_up_small( session, direction, wooden_rc_get_track_colour(session) | 23882, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24748, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3801,14 +3791,14 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24760, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23888, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24754, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3821,7 +3811,7 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24757, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3839,16 +3829,16 @@ static void wooden_rc_track_left_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -3911,7 +3901,7 @@ static void wooden_rc_track_left_half_banked_helix_up_small( session, direction, wooden_rc_get_track_colour(session) | 23880, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24746, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3924,14 +3914,14 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24758, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23886, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24752, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3944,7 +3934,7 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24755, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3977,14 +3967,14 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24757, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23882, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24748, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3997,14 +3987,14 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24760, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23888, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24754, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -4027,16 +4017,16 @@ static void wooden_rc_track_left_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -4105,14 +4095,14 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24755, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23880, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24746, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4125,14 +4115,14 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24758, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23886, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24752, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4170,14 +4160,14 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24737, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23862, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24728, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4190,14 +4180,14 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24740, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23868, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24734, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4215,16 +4205,16 @@ static void wooden_rc_track_right_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -4293,14 +4283,14 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24739, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23864, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24730, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4313,14 +4303,14 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24742, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23870, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24736, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -4347,7 +4337,7 @@ static void wooden_rc_track_right_half_banked_helix_up_small( session, direction, wooden_rc_get_track_colour(session) | 23862, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24728, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4360,14 +4350,14 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24740, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23868, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24734, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4380,7 +4370,7 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24737, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -4403,16 +4393,16 @@ static void wooden_rc_track_right_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -4475,7 +4465,7 @@ static void wooden_rc_track_right_half_banked_helix_up_small( session, direction, wooden_rc_get_track_colour(session) | 23864, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24730, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4488,14 +4478,14 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24742, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23870, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24736, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4508,7 +4498,7 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24739, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4568,7 +4558,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( session, direction, wooden_rc_get_track_colour(session) | 23704, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24570, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4581,14 +4571,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24590, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23714, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24580, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4601,7 +4591,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24585, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4628,7 +4618,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( session, direction, wooden_rc_get_track_colour(session) | 23703, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24569, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4641,7 +4631,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24589, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4650,7 +4640,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24579, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4665,7 +4655,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24584, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -4685,7 +4675,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24568, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4700,7 +4690,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24588, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4709,7 +4699,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24578, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4722,7 +4712,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24583, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -4746,7 +4736,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24567, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4759,14 +4749,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24587, 0, 0, 16, 32, 0, height, 0, 0, height + 33); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23711, 0, 0, 16, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24577, 0, 0, 16, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4781,7 +4771,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24582, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -4799,7 +4789,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( session, direction, wooden_rc_get_track_colour(session) | 23700, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24566, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4812,14 +4802,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24586, 0, 0, 27, 32, 0, height, 2, 0, height + 33); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23710, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24576, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4832,7 +4822,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24581, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -4865,14 +4855,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24585, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23704, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24570, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4885,14 +4875,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24590, 0, 0, 27, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23714, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24580, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -4932,14 +4922,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24584, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23703, 0, 0, 16, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24569, 0, 0, 16, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4952,7 +4942,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24589, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4961,7 +4951,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24579, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -4985,7 +4975,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24583, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4994,7 +4984,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24568, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5009,7 +4999,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24588, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5018,7 +5008,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24578, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5048,7 +5038,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24582, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5057,7 +5047,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24567, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5070,14 +5060,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24587, 0, 0, 32, 16, 0, height, 0, 0, height + 33); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23711, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24577, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5101,14 +5091,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24581, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23700, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24566, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5121,14 +5111,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24586, 0, 0, 32, 27, 0, height, 0, 2, height + 33); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23710, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24576, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5166,14 +5156,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24551, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23670, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24536, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5186,14 +5176,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24556, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23680, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24546, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5228,7 +5218,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24552, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5237,7 +5227,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24537, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5250,14 +5240,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24557, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23681, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24547, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5281,7 +5271,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24553, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5290,7 +5280,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24538, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5305,7 +5295,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24558, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5314,7 +5304,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24548, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5344,14 +5334,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24554, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23673, 0, 0, 16, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24539, 0, 0, 16, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5364,7 +5354,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24559, 0, 0, 16, 32, 0, height, 0, 0, height + 33); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5373,7 +5363,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24549, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5397,14 +5387,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24555, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23674, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24540, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5417,14 +5407,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24560, 0, 0, 27, 32, 0, height, 2, 0, height + 33); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23684, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24550, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -5451,7 +5441,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( session, direction, wooden_rc_get_track_colour(session) | 23670, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24536, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5464,14 +5454,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24556, 0, 0, 27, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23680, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24546, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5484,7 +5474,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24551, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -5518,7 +5508,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24537, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5531,14 +5521,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24557, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23681, 0, 0, 16, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24547, 0, 0, 16, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5553,7 +5543,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24552, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5573,7 +5563,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24538, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5588,7 +5578,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24558, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5597,7 +5587,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24548, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5610,7 +5600,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24553, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5632,7 +5622,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( session, direction, wooden_rc_get_track_colour(session) | 23673, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24539, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5645,7 +5635,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24559, 0, 0, 32, 16, 0, height, 0, 0, height + 33); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5654,7 +5644,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24549, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5669,7 +5659,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24554, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5687,7 +5677,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( session, direction, wooden_rc_get_track_colour(session) | 23674, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24540, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5700,14 +5690,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24560, 0, 0, 32, 27, 0, height, 0, 2, height + 33); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23684, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24550, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5720,7 +5710,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24555, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5901,7 +5891,7 @@ static void wooden_rc_track_brakes( wooden_rc_track_paint( session, imageIds[direction][0], imageIds[direction][1], direction, 0, 2, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -5919,7 +5909,7 @@ static void wooden_rc_track_25_deg_up_left_banked( session, direction, wooden_rc_get_track_colour(session) | 24249, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25115, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5930,7 +5920,7 @@ static void wooden_rc_track_25_deg_up_left_banked( session, direction, wooden_rc_get_track_colour(session) | 24257, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25123, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5941,14 +5931,14 @@ static void wooden_rc_track_25_deg_up_left_banked( session, direction, wooden_rc_get_track_colour(session) | 24258, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25124, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24252, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25118, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5975,7 +5965,7 @@ static void wooden_rc_track_25_deg_up_right_banked( session, direction, wooden_rc_get_track_colour(session) | 24253, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25119, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5986,7 +5976,7 @@ static void wooden_rc_track_25_deg_up_right_banked( session, direction, wooden_rc_get_track_colour(session) | 24259, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25125, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5997,14 +5987,14 @@ static void wooden_rc_track_25_deg_up_right_banked( session, direction, wooden_rc_get_track_colour(session) | 24260, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25126, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24256, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25122, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -6051,7 +6041,7 @@ static void wooden_rc_track_on_ride_photo( session, direction, wooden_rc_get_rails_colour(session) | 24620, 0, 2, 32, 25, 2, height, 0, 3, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_onride_photo_small_paint(session, direction, height + 16, trackElement); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_INVERTED_9); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6168,7 +6158,7 @@ static void wooden_rc_track_water_splash( session, direction, wooden_rc_get_rails_colour(session) | 24858, 0, 0, 32, 25, 2, height, 0, 3, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height + 16, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); @@ -6257,7 +6247,7 @@ static void wooden_rc_track_water_splash( session, direction, wooden_rc_get_rails_colour(session) | 24846, 0, 0, 32, 25, 2, height, 0, 3, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); break; @@ -6307,7 +6297,7 @@ static void wooden_rc_track_water_splash( session, direction, wooden_rc_get_rails_colour(session) | 24868, 0, 0, 32, 25, 2, height, 0, 3, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); break; @@ -6395,7 +6385,7 @@ static void wooden_rc_track_water_splash( session, direction, wooden_rc_get_rails_colour(session) | 24848, 0, 0, 32, 25, 2, height, 0, 3, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); break; @@ -6483,7 +6473,7 @@ static void wooden_rc_track_water_splash( session, direction, wooden_rc_get_rails_colour(session) | 24860, 0, 0, 32, 25, 2, height, 0, 3, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height + 16, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); @@ -6506,7 +6496,7 @@ static void wooden_rc_track_left_eighth_to_diag( session, direction, wooden_rc_get_track_colour(session) | 24137, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25003, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -6519,14 +6509,14 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25019, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24145, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25011, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -6539,7 +6529,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25023, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -6557,7 +6547,7 @@ static void wooden_rc_track_left_eighth_to_diag( session, direction, wooden_rc_get_track_colour(session) | 24138, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25004, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -6570,7 +6560,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25020, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6579,7 +6569,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25012, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -6594,7 +6584,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25024, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6610,7 +6600,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25005, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -6625,7 +6615,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25021, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6634,7 +6624,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25013, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -6647,7 +6637,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25025, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6657,16 +6647,16 @@ static void wooden_rc_track_left_eighth_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6745,14 +6735,14 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24995, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24117, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24983, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6765,14 +6755,14 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24999, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24125, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24991, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -6798,7 +6788,7 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24996, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -6807,7 +6797,7 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24984, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6820,14 +6810,14 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25000, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24126, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24992, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6847,7 +6837,7 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24997, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -6856,7 +6846,7 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24985, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6869,7 +6859,7 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25001, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -6878,7 +6868,7 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24993, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6888,16 +6878,16 @@ static void wooden_rc_track_right_eighth_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6988,7 +6978,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( session, direction, wooden_rc_get_track_colour(session) | 24185, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25051, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7001,14 +6991,14 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25067, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24193, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25059, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -7021,7 +7011,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25071, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -7039,7 +7029,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( session, direction, wooden_rc_get_track_colour(session) | 24186, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25052, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7052,7 +7042,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25068, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7061,7 +7051,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25060, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -7076,7 +7066,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25072, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7092,7 +7082,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25053, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7107,7 +7097,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25069, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7116,7 +7106,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25061, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -7129,7 +7119,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25073, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7139,16 +7129,16 @@ static void wooden_rc_track_left_eighth_bank_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7227,14 +7217,14 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25043, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24165, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25031, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7247,14 +7237,14 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25047, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24173, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25039, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -7280,7 +7270,7 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25044, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7289,7 +7279,7 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25032, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7302,14 +7292,14 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25048, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24174, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25040, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7329,7 +7319,7 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25045, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7338,7 +7328,7 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25033, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7351,7 +7341,7 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25049, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -7360,7 +7350,7 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25041, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7370,16 +7360,16 @@ static void wooden_rc_track_right_eighth_bank_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7512,16 +7502,16 @@ static void wooden_rc_track_diag_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24917, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7542,16 +7532,16 @@ static void wooden_rc_track_diag_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24875, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7564,10 +7554,10 @@ static void wooden_rc_track_diag_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7582,10 +7572,10 @@ static void wooden_rc_track_diag_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24918, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7594,10 +7584,10 @@ static void wooden_rc_track_diag_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7612,10 +7602,10 @@ static void wooden_rc_track_diag_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24876, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7714,20 +7704,16 @@ static void wooden_rc_track_diag_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24935, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7748,20 +7734,16 @@ static void wooden_rc_track_diag_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24893, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7774,12 +7756,10 @@ static void wooden_rc_track_diag_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7794,12 +7774,10 @@ static void wooden_rc_track_diag_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24936, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7808,12 +7786,10 @@ static void wooden_rc_track_diag_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7828,12 +7804,10 @@ static void wooden_rc_track_diag_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24894, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7913,16 +7887,16 @@ static void wooden_rc_track_diag_60_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24911, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7932,10 +7906,10 @@ static void wooden_rc_track_diag_60_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7950,10 +7924,10 @@ static void wooden_rc_track_diag_60_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24912, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -8034,16 +8008,16 @@ static void wooden_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24923, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8064,16 +8038,16 @@ static void wooden_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24881, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8086,10 +8060,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8104,10 +8078,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24924, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8116,10 +8090,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8134,10 +8108,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24882, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8217,16 +8191,16 @@ static void wooden_rc_track_diag_25_deg_up_to_60_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24899, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -8236,10 +8210,10 @@ static void wooden_rc_track_diag_25_deg_up_to_60_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8254,10 +8228,10 @@ static void wooden_rc_track_diag_25_deg_up_to_60_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24900, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -8319,16 +8293,16 @@ static void wooden_rc_track_diag_60_deg_up_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24905, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -8338,10 +8312,10 @@ static void wooden_rc_track_diag_60_deg_up_to_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8356,10 +8330,10 @@ static void wooden_rc_track_diag_60_deg_up_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24906, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -8440,20 +8414,16 @@ static void wooden_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24929, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8474,20 +8444,16 @@ static void wooden_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24887, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8500,12 +8466,10 @@ static void wooden_rc_track_diag_25_deg_up_to_flat( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8520,12 +8484,10 @@ static void wooden_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24930, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8534,12 +8496,10 @@ static void wooden_rc_track_diag_25_deg_up_to_flat( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8554,12 +8514,10 @@ static void wooden_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24888, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8658,20 +8616,16 @@ static void wooden_rc_track_diag_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24936, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8692,20 +8646,16 @@ static void wooden_rc_track_diag_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24894, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8718,12 +8668,10 @@ static void wooden_rc_track_diag_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8738,12 +8686,10 @@ static void wooden_rc_track_diag_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24935, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8752,12 +8698,10 @@ static void wooden_rc_track_diag_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8772,12 +8716,10 @@ static void wooden_rc_track_diag_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24893, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8857,16 +8799,16 @@ static void wooden_rc_track_diag_60_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24912, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -8876,10 +8818,10 @@ static void wooden_rc_track_diag_60_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8894,10 +8836,10 @@ static void wooden_rc_track_diag_60_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24911, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -8976,20 +8918,16 @@ static void wooden_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24930, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9010,20 +8948,16 @@ static void wooden_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24888, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9034,12 +8968,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9054,12 +8986,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24929, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9068,12 +8998,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9088,12 +9016,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24887, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9172,16 +9098,16 @@ static void wooden_rc_track_diag_25_deg_down_to_60_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24906, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9191,10 +9117,10 @@ static void wooden_rc_track_diag_25_deg_down_to_60_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9209,10 +9135,10 @@ static void wooden_rc_track_diag_25_deg_down_to_60_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24905, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9274,16 +9200,16 @@ static void wooden_rc_track_diag_60_deg_down_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24900, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9293,10 +9219,10 @@ static void wooden_rc_track_diag_60_deg_down_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9311,10 +9237,10 @@ static void wooden_rc_track_diag_60_deg_down_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24899, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9395,16 +9321,16 @@ static void wooden_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24924, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9425,16 +9351,16 @@ static void wooden_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24882, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9447,10 +9373,10 @@ static void wooden_rc_track_diag_25_deg_down_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9465,10 +9391,10 @@ static void wooden_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24923, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9477,10 +9403,10 @@ static void wooden_rc_track_diag_25_deg_down_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9495,10 +9421,10 @@ static void wooden_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24881, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9578,16 +9504,16 @@ static void wooden_rc_track_diag_flat_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24947, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9597,10 +9523,10 @@ static void wooden_rc_track_diag_flat_to_left_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9615,10 +9541,10 @@ static void wooden_rc_track_diag_flat_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24948, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9680,16 +9606,16 @@ static void wooden_rc_track_diag_flat_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24953, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9699,10 +9625,10 @@ static void wooden_rc_track_diag_flat_to_right_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9717,10 +9643,10 @@ static void wooden_rc_track_diag_flat_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24954, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9782,16 +9708,16 @@ static void wooden_rc_track_diag_left_bank_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24954, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9801,10 +9727,10 @@ static void wooden_rc_track_diag_left_bank_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9819,10 +9745,10 @@ static void wooden_rc_track_diag_left_bank_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24953, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9884,16 +9810,16 @@ static void wooden_rc_track_diag_right_bank_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24948, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9903,10 +9829,10 @@ static void wooden_rc_track_diag_right_bank_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9921,10 +9847,10 @@ static void wooden_rc_track_diag_right_bank_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24947, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9986,16 +9912,16 @@ static void wooden_rc_track_diag_left_bank_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24971, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10005,10 +9931,10 @@ static void wooden_rc_track_diag_left_bank_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10023,10 +9949,10 @@ static void wooden_rc_track_diag_left_bank_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24972, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10088,16 +10014,16 @@ static void wooden_rc_track_diag_right_bank_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24977, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10107,10 +10033,10 @@ static void wooden_rc_track_diag_right_bank_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10125,10 +10051,10 @@ static void wooden_rc_track_diag_right_bank_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24978, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10190,16 +10116,16 @@ static void wooden_rc_track_diag_25_deg_up_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24959, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10209,10 +10135,10 @@ static void wooden_rc_track_diag_25_deg_up_to_left_bank( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10227,10 +10153,10 @@ static void wooden_rc_track_diag_25_deg_up_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24960, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10292,16 +10218,16 @@ static void wooden_rc_track_diag_25_deg_up_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24965, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10311,10 +10237,10 @@ static void wooden_rc_track_diag_25_deg_up_to_right_bank( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10329,10 +10255,10 @@ static void wooden_rc_track_diag_25_deg_up_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24966, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10392,16 +10318,16 @@ static void wooden_rc_track_diag_left_bank_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24966, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -10409,10 +10335,10 @@ static void wooden_rc_track_diag_left_bank_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10427,10 +10353,10 @@ static void wooden_rc_track_diag_left_bank_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24965, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -10489,16 +10415,16 @@ static void wooden_rc_track_diag_right_bank_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24960, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -10506,10 +10432,10 @@ static void wooden_rc_track_diag_right_bank_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10524,10 +10450,10 @@ static void wooden_rc_track_diag_right_bank_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24959, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -10588,16 +10514,16 @@ static void wooden_rc_track_diag_25_deg_down_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24978, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10607,10 +10533,10 @@ static void wooden_rc_track_diag_25_deg_down_to_left_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10625,10 +10551,10 @@ static void wooden_rc_track_diag_25_deg_down_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24977, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10690,16 +10616,16 @@ static void wooden_rc_track_diag_25_deg_down_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24972, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10709,10 +10635,10 @@ static void wooden_rc_track_diag_25_deg_down_to_right_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10727,10 +10653,10 @@ static void wooden_rc_track_diag_25_deg_down_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24971, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10792,16 +10718,16 @@ static void wooden_rc_track_diag_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24941, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10811,10 +10737,10 @@ static void wooden_rc_track_diag_left_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10829,10 +10755,10 @@ static void wooden_rc_track_diag_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24942, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10894,16 +10820,16 @@ static void wooden_rc_track_diag_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24942, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10913,10 +10839,10 @@ static void wooden_rc_track_diag_right_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10931,10 +10857,10 @@ static void wooden_rc_track_diag_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24941, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10973,7 +10899,7 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23958, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24824, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -10986,14 +10912,14 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24837, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23962, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24828, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11006,7 +10932,7 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24835, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11032,7 +10958,7 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23957, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24823, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11045,7 +10971,7 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24836, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11058,7 +10984,7 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24838, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11071,7 +10997,7 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24834, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -11110,14 +11036,14 @@ static void wooden_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24829, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23949, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24815, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11130,14 +11056,14 @@ static void wooden_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24832, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23953, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24819, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11169,7 +11095,7 @@ static void wooden_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24830, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11182,7 +11108,7 @@ static void wooden_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24831, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11195,14 +11121,14 @@ static void wooden_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24833, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23954, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24820, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -11241,7 +11167,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24831, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11254,14 +11180,14 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24833, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23954, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24820, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11274,7 +11200,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24830, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11300,7 +11226,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank( session, direction, wooden_rc_get_track_colour(session) | 23949, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24815, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11313,14 +11239,14 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24832, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23953, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24819, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11333,7 +11259,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24829, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -11372,14 +11298,14 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24834, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23957, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24823, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11392,7 +11318,7 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24836, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11405,7 +11331,7 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24838, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11437,14 +11363,14 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24835, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23958, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24824, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11457,14 +11383,14 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24837, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23962, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24828, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -11491,7 +11417,7 @@ static void wooden_rc_track_block_brakes( : _wooden_rc_block_brakes_image_ids[direction][0]; wooden_rc_track_paint( session, brakeImg, _wooden_rc_block_brakes_image_ids[direction][2], direction, 0, 2, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -11512,7 +11438,7 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23932, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24798, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11525,14 +11451,14 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24811, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23936, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24802, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11545,7 +11471,7 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24809, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11571,7 +11497,7 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23931, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24797, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11584,7 +11510,7 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24810, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11597,7 +11523,7 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24812, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11610,7 +11536,7 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24808, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -11649,14 +11575,14 @@ static void wooden_rc_track_right_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24803, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23923, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24789, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11669,14 +11595,14 @@ static void wooden_rc_track_right_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24806, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23927, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24793, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11708,7 +11634,7 @@ static void wooden_rc_track_right_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24804, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11721,7 +11647,7 @@ static void wooden_rc_track_right_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24805, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11734,14 +11660,14 @@ static void wooden_rc_track_right_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24807, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23928, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24794, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -11794,7 +11720,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24321, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25187, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11807,21 +11733,21 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25218, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24331, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25197, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24336, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25202, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11844,7 +11770,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24322, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25188, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11857,7 +11783,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25219, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11866,7 +11792,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25198, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11881,7 +11807,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25225, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -11901,7 +11827,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25189, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11916,7 +11842,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25220, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11925,7 +11851,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25199, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11938,7 +11864,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25226, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -11964,7 +11890,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25190, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11977,7 +11903,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25221, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11990,7 +11916,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25223, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -12005,7 +11931,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25227, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -12023,7 +11949,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24325, 0, 0, 27, 32, 2, height, 2, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25191, 0, 0, 27, 32, 2, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12036,7 +11962,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25222, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12049,7 +11975,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25224, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -12062,7 +11988,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25228, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -12095,14 +12021,14 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24301, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25167, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24306, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25172, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12115,14 +12041,14 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25213, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24316, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25182, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12153,7 +12079,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25207, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12162,7 +12088,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25173, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12175,14 +12101,14 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25214, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24317, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25183, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -12206,7 +12132,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25208, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12215,7 +12141,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25174, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12230,7 +12156,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25215, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -12239,7 +12165,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25184, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -12271,7 +12197,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25209, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12284,7 +12210,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25211, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12297,7 +12223,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25216, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -12306,7 +12232,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25185, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -12330,7 +12256,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25210, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12343,7 +12269,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25212, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12356,14 +12282,14 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25217, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24320, 0, 0, 27, 32, 2, height, 2, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25186, 0, 0, 27, 32, 2, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -12413,28 +12339,28 @@ static void wooden_rc_track_25_deg_up_to_left_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24261, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25127, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24262, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25128, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24263, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25129, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24264, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25130, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12461,28 +12387,28 @@ static void wooden_rc_track_25_deg_up_to_right_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24265, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25131, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24266, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25132, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24267, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25133, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24268, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25134, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12509,28 +12435,28 @@ static void wooden_rc_track_left_banked_25_deg_up_to_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24269, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25135, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24270, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25136, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24271, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25137, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24272, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25138, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12557,28 +12483,28 @@ static void wooden_rc_track_right_banked_25_deg_up_to_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24273, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25139, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24274, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25140, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24275, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25141, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24276, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25142, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12639,7 +12565,7 @@ static void wooden_rc_track_left_banked_flat_to_left_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24277, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25143, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12650,7 +12576,7 @@ static void wooden_rc_track_left_banked_flat_to_left_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24293, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25159, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12661,14 +12587,14 @@ static void wooden_rc_track_left_banked_flat_to_left_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24294, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25160, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24280, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25146, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12695,7 +12621,7 @@ static void wooden_rc_track_right_banked_flat_to_right_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24281, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25147, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12706,7 +12632,7 @@ static void wooden_rc_track_right_banked_flat_to_right_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24295, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25161, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12717,14 +12643,14 @@ static void wooden_rc_track_right_banked_flat_to_right_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24296, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25162, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24284, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25150, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12751,7 +12677,7 @@ static void wooden_rc_track_left_banked_25_deg_up_to_left_banked_flat( session, direction, wooden_rc_get_track_colour(session) | 24285, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25151, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12762,7 +12688,7 @@ static void wooden_rc_track_left_banked_25_deg_up_to_left_banked_flat( session, direction, wooden_rc_get_track_colour(session) | 24297, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25163, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12773,14 +12699,14 @@ static void wooden_rc_track_left_banked_25_deg_up_to_left_banked_flat( session, direction, wooden_rc_get_track_colour(session) | 24298, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25164, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24288, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25154, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12807,7 +12733,7 @@ static void wooden_rc_track_right_banked_25_deg_up_to_right_banked_flat( session, direction, wooden_rc_get_track_colour(session) | 24289, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25155, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12818,7 +12744,7 @@ static void wooden_rc_track_right_banked_25_deg_up_to_right_banked_flat( session, direction, wooden_rc_get_track_colour(session) | 24299, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25165, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12829,14 +12755,14 @@ static void wooden_rc_track_right_banked_25_deg_up_to_right_banked_flat( session, direction, wooden_rc_get_track_colour(session) | 24300, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25166, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24292, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25158, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12899,7 +12825,7 @@ static void wooden_rc_track_flat_to_left_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24225, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25091, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12910,7 +12836,7 @@ static void wooden_rc_track_flat_to_left_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24241, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25107, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12921,14 +12847,14 @@ static void wooden_rc_track_flat_to_left_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24242, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25108, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24228, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25094, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12955,7 +12881,7 @@ static void wooden_rc_track_flat_to_right_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24229, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25095, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12966,7 +12892,7 @@ static void wooden_rc_track_flat_to_right_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24243, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25109, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12977,14 +12903,14 @@ static void wooden_rc_track_flat_to_right_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24244, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25110, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24232, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25098, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -13011,7 +12937,7 @@ static void wooden_rc_track_left_banked_25_deg_up_to_flat( session, direction, wooden_rc_get_track_colour(session) | 24233, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25099, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13022,7 +12948,7 @@ static void wooden_rc_track_left_banked_25_deg_up_to_flat( session, direction, wooden_rc_get_track_colour(session) | 24245, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25111, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -13033,14 +12959,14 @@ static void wooden_rc_track_left_banked_25_deg_up_to_flat( session, direction, wooden_rc_get_track_colour(session) | 24246, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25112, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24236, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25102, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -13067,7 +12993,7 @@ static void wooden_rc_track_right_banked_25_deg_up_to_flat( session, direction, wooden_rc_get_track_colour(session) | 24237, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25103, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13078,7 +13004,7 @@ static void wooden_rc_track_right_banked_25_deg_up_to_flat( session, direction, wooden_rc_get_track_colour(session) | 24247, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25113, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -13089,14 +13015,14 @@ static void wooden_rc_track_right_banked_25_deg_up_to_flat( session, direction, wooden_rc_get_track_colour(session) | 24248, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25114, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24240, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25106, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -13162,7 +13088,7 @@ static void wooden_rc_track_booster( wooden_rc_track_paint( session, imageIds[direction], railsImageIds[direction], direction, 0, 2, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); diff --git a/src/openrct2/ride/coaster/WoodenWildMouse.cpp b/src/openrct2/ride/coaster/WoodenWildMouse.cpp index 282fb7bace..a0b05eb7f6 100644 --- a/src/openrct2/ride/coaster/WoodenWildMouse.cpp +++ b/src/openrct2/ride/coaster/WoodenWildMouse.cpp @@ -134,7 +134,7 @@ static void wooden_wild_mouse_track_flat( uint32_t imageId = imageIds[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_0); paint_util_set_segment_support_height( session, @@ -162,7 +162,7 @@ static void wooden_wild_mouse_track_station( PaintAddImageAsChildRotated( session, direction, imageIds[direction][0] | session->TrackColours[SCHEME_TRACK], 0, 6, 32, 20, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_draw_station(session, ride, direction, height, trackElement); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -193,8 +193,7 @@ static void wooden_wild_mouse_track_25_deg_up( uint32_t imageId = imageIds[isChained][direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -241,8 +240,7 @@ static void wooden_wild_mouse_track_60_deg_up( session, direction, imageId, 0, 6, 2, 24, 93, height, 28, 4, height - 16); } - wooden_a_supports_paint_setup( - session, direction & 1, 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -281,8 +279,7 @@ static void wooden_wild_mouse_track_flat_to_25_deg_up( uint32_t imageId = imageIds[isChained][direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -333,8 +330,7 @@ static void wooden_wild_mouse_track_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated(session, direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); } - wooden_a_supports_paint_setup( - session, direction & 1, 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -384,8 +380,7 @@ static void wooden_wild_mouse_track_60_deg_to_25_deg_up( PaintAddImageAsParentRotated(session, direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); } - wooden_a_supports_paint_setup( - session, direction & 1, 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -424,8 +419,7 @@ static void wooden_wild_mouse_track_25_deg_up_to_flat( uint32_t imageId = imageIds[isChained][direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -524,8 +518,7 @@ static void wooden_wild_mouse_track_right_quarter_turn_3( { case 0: case 3: - wooden_a_supports_paint_setup( - session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } @@ -582,7 +575,7 @@ static void wooden_wild_mouse_track_left_quarter_turn_1( PaintAddImageAsParent(session, imageId, { 6, 6, height }, { 24, 24, 1 }); break; } - wooden_a_supports_paint_setup(session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_left_quarter_turn_1_tile_tunnel(session, direction, height, 0, TUNNEL_0, 0, TUNNEL_0); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -631,8 +624,7 @@ static void wooden_wild_mouse_track_flat_to_60_deg_up( PaintAddImageAsParentRotated(session, direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); } - wooden_a_supports_paint_setup( - session, direction & 1, 29 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 29 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -682,8 +674,7 @@ static void wooden_wild_mouse_track_60_deg_up_to_flat( PaintAddImageAsParentRotated(session, direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); } - wooden_a_supports_paint_setup( - session, direction & 1, 33 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 33 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { diff --git a/src/openrct2/ride/gentle/CarRide.cpp b/src/openrct2/ride/gentle/CarRide.cpp index b036fe3fe1..548a76ecd6 100644 --- a/src/openrct2/ride/gentle/CarRide.cpp +++ b/src/openrct2/ride/gentle/CarRide.cpp @@ -478,7 +478,7 @@ static void paint_car_ride_track_spinning_tunnel( paint_util_push_tunnel_right(session, height, TUNNEL_0); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); diff --git a/src/openrct2/ride/gentle/Circus.cpp b/src/openrct2/ride/gentle/Circus.cpp index 00ae90a9ed..a26a4bd67e 100644 --- a/src/openrct2/ride/gentle/Circus.cpp +++ b/src/openrct2/ride/gentle/Circus.cpp @@ -60,7 +60,7 @@ static void paint_circus( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/gentle/CrookedHouse.cpp b/src/openrct2/ride/gentle/CrookedHouse.cpp index dad4dfda77..cb021b1f91 100644 --- a/src/openrct2/ride/gentle/CrookedHouse.cpp +++ b/src/openrct2/ride/gentle/CrookedHouse.cpp @@ -67,7 +67,7 @@ static void paint_crooked_house( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/gentle/Dodgems.cpp b/src/openrct2/ride/gentle/Dodgems.cpp index 98c4069b18..c960e9caf2 100644 --- a/src/openrct2/ride/gentle/Dodgems.cpp +++ b/src/openrct2/ride/gentle/Dodgems.cpp @@ -45,7 +45,7 @@ static void paint_dodgems( int32_t edges = edges_4x4[relativeTrackSequence]; - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC]); uint32_t imageId = SPR_DODGEMS_FLOOR | session->TrackColours[SCHEME_SUPPORTS]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 30, 30, 1 }, { 1, 1, height }); diff --git a/src/openrct2/ride/gentle/FerrisWheel.cpp b/src/openrct2/ride/gentle/FerrisWheel.cpp index c3a0e0e1c6..104e032dfa 100644 --- a/src/openrct2/ride/gentle/FerrisWheel.cpp +++ b/src/openrct2/ride/gentle/FerrisWheel.cpp @@ -145,7 +145,7 @@ static void paint_ferris_wheel( edges = edges_1x4_ne_sw[relativeTrackSequence]; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/gentle/FlyingSaucers.cpp b/src/openrct2/ride/gentle/FlyingSaucers.cpp index eaf1f0fe52..bb974de89b 100644 --- a/src/openrct2/ride/gentle/FlyingSaucers.cpp +++ b/src/openrct2/ride/gentle/FlyingSaucers.cpp @@ -40,7 +40,7 @@ static void paint_flying_saucers( int32_t edges = edges_4x4[relativeTrackSequence]; - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC]); uint32_t imageId = SPR_FLYING_SAUCERS_FLOOR | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 30, 30, 1 }, { 1, 1, height }); diff --git a/src/openrct2/ride/gentle/GhostTrain.cpp b/src/openrct2/ride/gentle/GhostTrain.cpp index 2e5bb4d8b7..521ade0e6d 100644 --- a/src/openrct2/ride/gentle/GhostTrain.cpp +++ b/src/openrct2/ride/gentle/GhostTrain.cpp @@ -492,7 +492,7 @@ static void paint_ghost_train_track_spinning_tunnel( auto tunnelImage = get_tunnel_doors_image_straight_flat(trackElement, direction); paint_util_push_tunnel_rotated(session, direction, height, tunnelImage); - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); diff --git a/src/openrct2/ride/gentle/HauntedHouse.cpp b/src/openrct2/ride/gentle/HauntedHouse.cpp index 1c120deba4..cc05ce5b17 100644 --- a/src/openrct2/ride/gentle/HauntedHouse.cpp +++ b/src/openrct2/ride/gentle/HauntedHouse.cpp @@ -99,7 +99,7 @@ static void paint_haunted_house( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/gentle/Maze.cpp b/src/openrct2/ride/gentle/Maze.cpp index 1b349958e8..51d75f9d5d 100644 --- a/src/openrct2/ride/gentle/Maze.cpp +++ b/src/openrct2/ride/gentle/Maze.cpp @@ -56,7 +56,7 @@ static void maze_paint_setup( int32_t image_id = SPR_TERRAIN_DIRT | session->TrackColours[SCHEME_MISC]; PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 32, 32, 0 }); - wooden_a_supports_paint_setup(session, (rotation & 1) ? 0 : 1, 0, height, session->TrackColours[SCHEME_3], nullptr); + wooden_a_supports_paint_setup(session, (rotation & 1) ? 0 : 1, 0, height, session->TrackColours[SCHEME_3]); paint_util_set_segment_support_height(session, SEGMENTS_ALL & ~SEGMENT_C4, 0xFFFF, 0); diff --git a/src/openrct2/ride/gentle/MerryGoRound.cpp b/src/openrct2/ride/gentle/MerryGoRound.cpp index a57086f37f..226faf31ab 100644 --- a/src/openrct2/ride/gentle/MerryGoRound.cpp +++ b/src/openrct2/ride/gentle/MerryGoRound.cpp @@ -110,7 +110,7 @@ static void paint_merry_go_round( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/gentle/MiniGolf.cpp b/src/openrct2/ride/gentle/MiniGolf.cpp index 0983862082..84dcf204db 100644 --- a/src/openrct2/ride/gentle/MiniGolf.cpp +++ b/src/openrct2/ride/gentle/MiniGolf.cpp @@ -731,7 +731,7 @@ static void paint_mini_golf_station( paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -832,7 +832,7 @@ static void paint_mini_golf_hole_ab( CoordsXY boundBox, boundBoxOffset; bool drewSupports = wooden_a_supports_paint_setup( - session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -904,7 +904,7 @@ static void paint_mini_golf_hole_c( CoordsXY boundBox, boundBoxOffset; bool drewSupports = wooden_a_supports_paint_setup( - session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -977,8 +977,7 @@ static void paint_mini_golf_hole_d( int32_t supportType = (direction & 1); if (trackSequence == 2) supportType = 1 - supportType; - bool drewSupports = wooden_a_supports_paint_setup( - session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + bool drewSupports = wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -1071,8 +1070,7 @@ static void paint_mini_golf_hole_e( int32_t supportType = (direction & 1); if (trackSequence == 2) supportType = 1 - supportType; - bool drewSupports = wooden_a_supports_paint_setup( - session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + bool drewSupports = wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); diff --git a/src/openrct2/ride/gentle/ObservationTower.cpp b/src/openrct2/ride/gentle/ObservationTower.cpp index e530d90549..ac23f41455 100644 --- a/src/openrct2/ride/gentle/ObservationTower.cpp +++ b/src/openrct2/ride/gentle/ObservationTower.cpp @@ -92,7 +92,7 @@ static void paint_observation_tower_base( int32_t edges = edges_3x3[trackSequence]; CoordsXY position = session->MapPosition; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); uint32_t imageId = SPR_FLOOR_METAL_B | session->TrackColours[SCHEME_SUPPORTS]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }, { 0, 0, height }); diff --git a/src/openrct2/ride/gentle/SpaceRings.cpp b/src/openrct2/ride/gentle/SpaceRings.cpp index e2dc0c6849..eaed11cbdc 100644 --- a/src/openrct2/ride/gentle/SpaceRings.cpp +++ b/src/openrct2/ride/gentle/SpaceRings.cpp @@ -100,7 +100,7 @@ static void paint_space_rings( uint32_t imageId; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = ride_get_station_object(ride); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject); diff --git a/src/openrct2/ride/gentle/SpiralSlide.cpp b/src/openrct2/ride/gentle/SpiralSlide.cpp index 46ac648aa4..8e895952f9 100644 --- a/src/openrct2/ride/gentle/SpiralSlide.cpp +++ b/src/openrct2/ride/gentle/SpiralSlide.cpp @@ -198,7 +198,7 @@ static void paint_spiral_slide( int32_t edges = edges_2x2[trackSequence]; - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC]); // Base uint32_t imageId = ((direction & 1) ? SPIRAL_SLIDE_BASE_B : SPIRAL_SLIDE_BASE_A) | session->TrackColours[SCHEME_SUPPORTS]; diff --git a/src/openrct2/ride/shops/Facility.cpp b/src/openrct2/ride/shops/Facility.cpp index d8028570f4..60ab8b31f5 100644 --- a/src/openrct2/ride/shops/Facility.cpp +++ b/src/openrct2/ride/shops/Facility.cpp @@ -26,8 +26,7 @@ static void facility_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - bool hasSupports = wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_3], nullptr); + bool hasSupports = wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_3]); if (ride == nullptr) return; diff --git a/src/openrct2/ride/shops/Shop.cpp b/src/openrct2/ride/shops/Shop.cpp index f4311ceb62..d37e6f84fa 100644 --- a/src/openrct2/ride/shops/Shop.cpp +++ b/src/openrct2/ride/shops/Shop.cpp @@ -26,8 +26,7 @@ static void shop_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - bool hasSupports = wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_3], nullptr); + bool hasSupports = wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_3]); if (ride == nullptr) return; diff --git a/src/openrct2/ride/thrill/3dCinema.cpp b/src/openrct2/ride/thrill/3dCinema.cpp index 0546bd9603..4abb5b05e9 100644 --- a/src/openrct2/ride/thrill/3dCinema.cpp +++ b/src/openrct2/ride/thrill/3dCinema.cpp @@ -60,7 +60,7 @@ static void paint_3d_cinema( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/thrill/Enterprise.cpp b/src/openrct2/ride/thrill/Enterprise.cpp index e88887aff6..c89cc39bd0 100644 --- a/src/openrct2/ride/thrill/Enterprise.cpp +++ b/src/openrct2/ride/thrill/Enterprise.cpp @@ -89,7 +89,7 @@ static void paint_enterprise( int32_t edges = edges_4x4[trackSequence]; - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = ride_get_station_object(ride); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject); diff --git a/src/openrct2/ride/thrill/GoKarts.cpp b/src/openrct2/ride/thrill/GoKarts.cpp index 427b1a55dd..965adb5826 100644 --- a/src/openrct2/ride/thrill/GoKarts.cpp +++ b/src/openrct2/ride/thrill/GoKarts.cpp @@ -150,7 +150,7 @@ static void paint_go_karts_track_flat( paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -189,19 +189,19 @@ static void paint_go_karts_track_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height - 8, TUNNEL_SQUARE_7); break; case 1: - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height + 8, TUNNEL_SQUARE_8); break; case 2: - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height + 8, TUNNEL_SQUARE_8); break; case 3: - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height - 8, TUNNEL_SQUARE_7); break; } @@ -243,19 +243,19 @@ static void paint_go_karts_track_flat_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); break; case 1: - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_8); break; case 2: - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_8); break; case 3: - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); break; } @@ -297,19 +297,19 @@ static void paint_go_karts_track_25_deg_up_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height - 8, TUNNEL_SQUARE_FLAT); break; case 1: - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height + 8, TUNNEL_14); break; case 2: - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height + 8, TUNNEL_14); break; case 3: - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height - 8, TUNNEL_SQUARE_FLAT); break; } @@ -448,7 +448,7 @@ static void paint_go_karts_station( } } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -518,7 +518,7 @@ static void paint_go_karts_track_left_quarter_turn_1_tile( break; } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); diff --git a/src/openrct2/ride/thrill/LaunchedFreefall.cpp b/src/openrct2/ride/thrill/LaunchedFreefall.cpp index 4881092781..9309b5262e 100644 --- a/src/openrct2/ride/thrill/LaunchedFreefall.cpp +++ b/src/openrct2/ride/thrill/LaunchedFreefall.cpp @@ -94,7 +94,7 @@ static void paint_launched_freefall_base( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); uint32_t imageId = SPR_FLOOR_METAL | session->TrackColours[SCHEME_SUPPORTS]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }, { 0, 0, height }); diff --git a/src/openrct2/ride/thrill/MotionSimulator.cpp b/src/openrct2/ride/thrill/MotionSimulator.cpp index 3a45815cae..0d80da8ad9 100644 --- a/src/openrct2/ride/thrill/MotionSimulator.cpp +++ b/src/openrct2/ride/thrill/MotionSimulator.cpp @@ -147,7 +147,7 @@ static void paint_motionsimulator( int32_t edges = edges_2x2[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/thrill/RotoDrop.cpp b/src/openrct2/ride/thrill/RotoDrop.cpp index 3840486e7a..0ff5bf1f9f 100644 --- a/src/openrct2/ride/thrill/RotoDrop.cpp +++ b/src/openrct2/ride/thrill/RotoDrop.cpp @@ -104,7 +104,7 @@ static void paint_roto_drop_base( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); uint32_t imageId = SPR_FLOOR_METAL_B | session->TrackColours[SCHEME_SUPPORTS]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }, { 0, 0, height }); diff --git a/src/openrct2/ride/thrill/SwingingShip.cpp b/src/openrct2/ride/thrill/SwingingShip.cpp index f6c5c5774d..2ee85c3713 100644 --- a/src/openrct2/ride/thrill/SwingingShip.cpp +++ b/src/openrct2/ride/thrill/SwingingShip.cpp @@ -186,7 +186,7 @@ static void paint_swinging_ship( if (relativeTrackSequence == 1 || relativeTrackSequence == 4) { - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); } else if (direction & 1) { diff --git a/src/openrct2/ride/thrill/TopSpin.cpp b/src/openrct2/ride/thrill/TopSpin.cpp index c0f86c3a18..7c8851fb4a 100644 --- a/src/openrct2/ride/thrill/TopSpin.cpp +++ b/src/openrct2/ride/thrill/TopSpin.cpp @@ -252,7 +252,7 @@ static void paint_top_spin( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/thrill/Twist.cpp b/src/openrct2/ride/thrill/Twist.cpp index 53223392d9..4422b484ce 100644 --- a/src/openrct2/ride/thrill/Twist.cpp +++ b/src/openrct2/ride/thrill/Twist.cpp @@ -92,7 +92,7 @@ static void paint_twist( uint32_t imageId; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = ride_get_station_object(ride); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_MISC], height, floorSpritesCork, stationObject); diff --git a/src/openrct2/ride/transport/Chairlift.cpp b/src/openrct2/ride/transport/Chairlift.cpp index eb853d1d7f..db0b0a2950 100644 --- a/src/openrct2/ride/transport/Chairlift.cpp +++ b/src/openrct2/ride/transport/Chairlift.cpp @@ -187,7 +187,7 @@ static void chairlift_paint_station_ne_sw( auto stationObj = ride_get_station_object(ride); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_MISC]); if (!isStart && !isEnd) { @@ -280,7 +280,7 @@ static void chairlift_paint_station_se_nw( auto stationObj = ride_get_station_object(ride); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_MISC]); if (!isStart && !isEnd) { diff --git a/src/openrct2/ride/transport/MiniatureRailway.cpp b/src/openrct2/ride/transport/MiniatureRailway.cpp index cb599947e4..63c64774af 100644 --- a/src/openrct2/ride/transport/MiniatureRailway.cpp +++ b/src/openrct2/ride/transport/MiniatureRailway.cpp @@ -600,8 +600,7 @@ static void paint_miniature_railway_track_flat( paintGrooved = true; } - bool isSupported = wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + bool isSupported = wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); uint32_t imageId, imageIdAlt; // In the following 3 calls to PaintAddImageAsParentRotated/PaintAddImageAsChildRotated, we add 1 to the @@ -673,7 +672,7 @@ static void paint_miniature_railway_station( { uint32_t imageId; - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); imageId = miniature_railway_station_floor[direction] | session->TrackColours[SCHEME_MISC]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height); @@ -715,8 +714,7 @@ static void paint_miniature_railway_track_25_deg_up( break; } - wooden_a_supports_paint_setup( - session, direction & 1, 45 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 45 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 56, 0x20); @@ -747,8 +745,7 @@ static void paint_miniature_railway_track_flat_to_25_deg_up( break; } - wooden_a_supports_paint_setup( - session, direction & 1, 37 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 37 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); @@ -779,8 +776,7 @@ static void paint_miniature_railway_track_25_deg_up_to_flat( break; } - wooden_a_supports_paint_setup( - session, direction & 1, 41 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 41 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 40, 0x20); @@ -925,7 +921,7 @@ static void paint_miniature_railway_track_right_quarter_turn_5_tiles( { bool isSupported = wooden_a_supports_paint_setup( session, right_quarter_turn_5_supports_type[direction][trackSequence], 0, height, - session->TrackColours[SCHEME_SUPPORTS], nullptr); + session->TrackColours[SCHEME_SUPPORTS]); if (!isSupported || (trackSequence == 3 && direction == 2)) { @@ -1040,8 +1036,7 @@ static void paint_miniature_railway_track_s_bend_left( } bool isSupported = wooden_a_supports_paint_setup( - session, s_bend_left_supports_type[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS], - nullptr); + session, s_bend_left_supports_type[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS]); static constexpr const CoordsXY offsetList[] = { { 0, 2 }, @@ -1142,8 +1137,7 @@ static void paint_miniature_railway_track_s_bend_right( } bool isSupported = wooden_a_supports_paint_setup( - session, s_bend_right_supports_type[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS], - nullptr); + session, s_bend_right_supports_type[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS]); static constexpr const CoordsXY offsetList[] = { { 0, 2 }, @@ -1273,7 +1267,7 @@ static void paint_miniature_railway_track_right_quarter_turn_3_tiles( { static constexpr const uint8_t supportType[] = { 4, 5, 2, 3 }; isSupported = wooden_a_supports_paint_setup( - session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS]); } if (!isSupported) { @@ -1426,7 +1420,7 @@ static void paint_miniature_railway_track_left_eighth_to_diag( if (trackSequence != 4 || !isRightEighthToOrthog) { isSupported = wooden_a_supports_paint_setup( - session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS]); } uint32_t imageId; if (!isSupported) @@ -1562,7 +1556,7 @@ static void paint_miniature_railway_track_right_eighth_to_diag( if (trackSequence != 4 || !isLeftEighthToOrthog) { isSupported = wooden_a_supports_paint_setup( - session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS]); } uint32_t imageId; @@ -1690,8 +1684,7 @@ static void miniature_railway_track_diag_flat( floorImage = floors[supportType].image_id; floorBoundSize = floors[supportType].bound_size; floorBoundOffset = floors[supportType].bound_offset; - isSupported = wooden_a_supports_paint_setup( - session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + isSupported = wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); } if (direction == 1 && trackSequence == 3) @@ -1731,16 +1724,15 @@ enum }; static bool wooden_supports_paint_setup( - paint_session* session, int32_t woodType, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags, - bool* underground) + paint_session* session, int32_t woodType, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags) { switch (woodType) { case WOOD_A: - return wooden_a_supports_paint_setup(session, supportType, special, height, imageColourFlags, underground); + return wooden_a_supports_paint_setup(session, supportType, special, height, imageColourFlags); case WOOD_B: - return wooden_b_supports_paint_setup(session, supportType, special, height, imageColourFlags, underground); + return wooden_b_supports_paint_setup(session, supportType, special, height, imageColourFlags); } return false; @@ -1779,7 +1771,7 @@ static void miniature_railway_track_diag_25_deg_up( floorBoundSize = floors[supportType].bound_size; floorBoundOffset = floors[supportType].bound_offset; hasSupports = wooden_supports_paint_setup( - session, supportFunction, supportType, 0, height + heightDiff, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, supportFunction, supportType, 0, height + heightDiff, session->TrackColours[SCHEME_SUPPORTS]); } if (direction == 1 && trackSequence == 3) @@ -1838,8 +1830,7 @@ static void miniature_railway_track_diag_flat_to_25_deg_up( floorImage = floors[supportType].image_id; floorBoundSize = floors[supportType].bound_size; floorBoundOffset = floors[supportType].bound_offset; - hasSupports = wooden_a_supports_paint_setup( - session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + hasSupports = wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); } if (direction == 1 && trackSequence == 3) @@ -1904,7 +1895,7 @@ static void miniature_railway_track_diag_25_deg_up_to_flat( floorBoundOffset = floors[supportType].bound_offset; hasSupports = wooden_supports_paint_setup( session, supportFunction, supportType, 0, height + supportOffsets[direction][trackSequence], - session->TrackColours[SCHEME_SUPPORTS], nullptr); + session->TrackColours[SCHEME_SUPPORTS]); } if (direction == 1 && trackSequence == 3) @@ -1980,7 +1971,7 @@ static void miniature_railway_track_diag_25_deg_down( floorBoundOffset = floors[supportType].bound_offset; hasSupports = wooden_supports_paint_setup( session, supportFunction, supportType, 0, height + supportOffsets[direction][trackSequence], - session->TrackColours[SCHEME_SUPPORTS], nullptr); + session->TrackColours[SCHEME_SUPPORTS]); } if (direction == 1 && trackSequence == 3) @@ -2054,7 +2045,7 @@ static void miniature_railway_track_diag_flat_to_25_deg_down( floorBoundOffset = floors[supportType].bound_offset; hasSupports = wooden_supports_paint_setup( session, supportFunction, supportType, 0, height + supportOffsets[direction][trackSequence], - session->TrackColours[SCHEME_SUPPORTS], nullptr); + session->TrackColours[SCHEME_SUPPORTS]); } if (direction == 1 && trackSequence == 3) @@ -2112,8 +2103,7 @@ static void miniature_railway_track_diag_25_deg_down_to_flat( floorImage = floors[supportType].image_id; floorBoundSize = floors[supportType].bound_size; floorBoundOffset = floors[supportType].bound_offset; - hasSupports = wooden_a_supports_paint_setup( - session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + hasSupports = wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); } if (direction == 1 && trackSequence == 3) diff --git a/src/openrct2/ride/water/RiverRapids.cpp b/src/openrct2/ride/water/RiverRapids.cpp index 0b51f32807..5564e9ba5c 100644 --- a/src/openrct2/ride/water/RiverRapids.cpp +++ b/src/openrct2/ride/water/RiverRapids.cpp @@ -303,7 +303,7 @@ static void paint_river_rapids_track_flat( PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 3 }, { 0, 27, height + 17 }); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction & 1) { @@ -344,7 +344,7 @@ static void paint_river_rapids_track_25_deg( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 34 }, { 0, 27, height + 16 }); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height - 8, TUNNEL_SQUARE_7); break; @@ -356,7 +356,7 @@ static void paint_river_rapids_track_25_deg( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 34 }, { 27, 0, height + 16 }); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height + 8, TUNNEL_SQUARE_8); break; @@ -368,7 +368,7 @@ static void paint_river_rapids_track_25_deg( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 34 }, { 0, 27, height + 16 }); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height + 8, TUNNEL_SQUARE_8); break; @@ -379,7 +379,7 @@ static void paint_river_rapids_track_25_deg( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 34 }, { 27, 0, height + 16 }); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height - 8, TUNNEL_SQUARE_7); break; } @@ -403,7 +403,7 @@ static void paint_river_rapids_track_25_deg_to_flat_a( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 18 }, { 0, 27, height + 16 }); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height - 8, TUNNEL_SQUARE_FLAT); break; @@ -415,7 +415,7 @@ static void paint_river_rapids_track_25_deg_to_flat_a( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 18 }, { 27, 0, height + 16 }); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height + 8, TUNNEL_14); break; @@ -427,7 +427,7 @@ static void paint_river_rapids_track_25_deg_to_flat_a( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 18 }, { 0, 27, height + 16 }); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height + 8, TUNNEL_14); break; @@ -438,7 +438,7 @@ static void paint_river_rapids_track_25_deg_to_flat_a( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 18 }, { 27, 0, height + 16 }); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height - 8, TUNNEL_SQUARE_FLAT); break; } @@ -462,7 +462,7 @@ static void paint_river_rapids_track_25_deg_to_flat_b( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 26 }, { 0, 27, height + 16 }); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); break; @@ -474,7 +474,7 @@ static void paint_river_rapids_track_25_deg_to_flat_b( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 26 }, { 27, 0, height + 16 }); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_8); break; @@ -486,7 +486,7 @@ static void paint_river_rapids_track_25_deg_to_flat_b( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 26 }, { 0, 27, height + 16 }); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_8); break; @@ -497,7 +497,7 @@ static void paint_river_rapids_track_25_deg_to_flat_b( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 26 }, { 27, 0, height + 16 }); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); break; } @@ -607,7 +607,7 @@ static void paint_river_rapids_track_left_quarter_turn_1_tile( break; } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); } @@ -664,7 +664,7 @@ static void paint_river_rapids_track_right_quarter_turn_1_tile( break; } - wooden_a_supports_paint_setup(session, 1 - (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1 - (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); } @@ -717,7 +717,7 @@ static void paint_river_rapids_track_waterfall( PaintAddImageAsChild(session, imageId, { 0, 0, height }, { 32, 1, 27 }, { 0, 27, height + 17 }); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction & 1) { @@ -758,7 +758,7 @@ static void paint_river_rapids_track_rapids( PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 11 }, { 0, 27, height + 17 }); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction & 1) { @@ -819,7 +819,7 @@ static void paint_river_rapids_track_whirlpool( PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 3 }, { 0, 27, height + 17 }); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction & 1) { diff --git a/src/openrct2/ride/water/SplashBoats.cpp b/src/openrct2/ride/water/SplashBoats.cpp index 9d4788ac8c..af9068a484 100644 --- a/src/openrct2/ride/water/SplashBoats.cpp +++ b/src/openrct2/ride/water/SplashBoats.cpp @@ -485,8 +485,7 @@ static void paint_splash_boats_track_25_deg_up( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup( - session, (direction & 1), 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -511,8 +510,7 @@ static void paint_splash_boats_track_60_deg_up( session, direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup( - session, (direction & 1), 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -536,8 +534,7 @@ static void paint_splash_boats_track_flat_to_25_deg_up( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup( - session, (direction & 1), 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -561,8 +558,7 @@ static void paint_splash_boats_track_25_deg_up_to_flat( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup( - session, (direction & 1), 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -587,8 +583,7 @@ static void paint_splash_boats_track_25_deg_up_to_60_deg_up( session, direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup( - session, (direction & 1), 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -613,8 +608,7 @@ static void paint_splash_boats_track_60_deg_up_to_25_deg_up( session, direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup( - session, (direction & 1), 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -640,7 +634,7 @@ static void paint_splash_boats_track_25_deg_down( static constexpr const uint8_t specialSupport[] = { 11, 12, 9, 10 }; wooden_a_supports_paint_setup( - session, (direction & 1), specialSupport[direction], height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, (direction & 1), specialSupport[direction], height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -673,7 +667,7 @@ static void paint_splash_boats_track_flat_to_25_deg_down( static constexpr const uint8_t specialSupport[] = { 7, 8, 5, 6 }; wooden_a_supports_paint_setup( - session, (direction & 1), specialSupport[direction], height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, (direction & 1), specialSupport[direction], height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -713,7 +707,7 @@ static void paint_splash_boats_track_25_deg_down_to_flat( static constexpr const uint8_t specialSupport[] = { 3, 4, 1, 2 }; wooden_a_supports_paint_setup( - session, (direction & 1), specialSupport[direction], height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, (direction & 1), specialSupport[direction], height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -766,7 +760,7 @@ static void paint_splash_boats_track_flat( PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 26 }, { 0, 27, height }); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction & 1) { @@ -805,7 +799,7 @@ static void paint_splash_boats_station( PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (ride != nullptr) track_paint_util_draw_narrow_station_platform(session, ride, direction, height, 7, trackElement); @@ -835,7 +829,7 @@ static void paint_splash_boats_track_left_quarter_turn_5_tiles( { 1, 0xFF, 4, 2, 0xFF, 4, 0 }, }; uint8_t supportType = supportTypes[direction][trackSequence]; - wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); } switch (trackSequence) @@ -916,7 +910,7 @@ static void paint_splash_boats_track_right_quarter_turn_5_tiles( { 1, 0xFF, 3, 5, 0xFF, 3, 0 }, }; uint8_t supportType = supportTypes[direction][trackSequence]; - wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); } switch (trackSequence) @@ -1013,7 +1007,7 @@ static void paint_splash_boats_track_s_bend_left( case 0: PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); break; case 1: @@ -1021,8 +1015,7 @@ static void paint_splash_boats_track_s_bend_left( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - wooden_a_supports_paint_setup( - session, supportTypes1[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportTypes1[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height( session, @@ -1035,8 +1028,7 @@ static void paint_splash_boats_track_s_bend_left( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - wooden_a_supports_paint_setup( - session, supportTypes2[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportTypes2[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height( session, @@ -1047,7 +1039,7 @@ static void paint_splash_boats_track_s_bend_left( case 3: PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); break; } @@ -1105,7 +1097,7 @@ static void paint_splash_boats_track_s_bend_right( case 0: PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); break; case 1: @@ -1113,8 +1105,7 @@ static void paint_splash_boats_track_s_bend_right( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - wooden_a_supports_paint_setup( - session, supportTypes1[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportTypes1[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height( session, @@ -1127,8 +1118,7 @@ static void paint_splash_boats_track_s_bend_right( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - wooden_a_supports_paint_setup( - session, supportTypes2[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportTypes2[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height( session, @@ -1139,7 +1129,7 @@ static void paint_splash_boats_track_s_bend_right( case 3: PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); break; } From f9c4bb2757575983d22f969a253d61484cb3396c Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Thu, 26 Aug 2021 23:00:12 +0200 Subject: [PATCH 44/59] Remove unused persistentChunks argument (#15290) --- src/openrct2/rct12/SawyerChunkReader.cpp | 25 +----------------------- src/openrct2/rct12/SawyerChunkReader.h | 4 +--- 2 files changed, 2 insertions(+), 27 deletions(-) diff --git a/src/openrct2/rct12/SawyerChunkReader.cpp b/src/openrct2/rct12/SawyerChunkReader.cpp index b8240009f6..3ce28fadff 100644 --- a/src/openrct2/rct12/SawyerChunkReader.cpp +++ b/src/openrct2/rct12/SawyerChunkReader.cpp @@ -27,9 +27,8 @@ constexpr const char* EXCEPTION_MSG_DESTINATION_TOO_SMALL = "Chunk data larger t constexpr const char* EXCEPTION_MSG_INVALID_CHUNK_ENCODING = "Invalid chunk encoding."; constexpr const char* EXCEPTION_MSG_ZERO_SIZED_CHUNK = "Encountered zero-sized chunk."; -SawyerChunkReader::SawyerChunkReader(OpenRCT2::IStream* stream, bool persistentChunks) +SawyerChunkReader::SawyerChunkReader(OpenRCT2::IStream* stream) : _stream(stream) - , _createsPersistentChunks(persistentChunks) { } @@ -79,10 +78,6 @@ std::shared_ptr SawyerChunkReader::ReadChunk() { throw SawyerChunkException(EXCEPTION_MSG_ZERO_SIZED_CHUNK); } - if (_createsPersistentChunks) - { - buffer = static_cast(FinaliseLargeTempBuffer(buffer, uncompressedLength)); - } return std::make_shared( static_cast(header.encoding), buffer, uncompressedLength); } @@ -130,10 +125,6 @@ std::shared_ptr SawyerChunkReader::ReadChunkTrack() { throw SawyerChunkException(EXCEPTION_MSG_ZERO_SIZED_CHUNK); } - if (_createsPersistentChunks) - { - buffer = static_cast(FinaliseLargeTempBuffer(buffer, uncompressedLength)); - } return std::make_shared(SAWYER_ENCODING::RLE, buffer, uncompressedLength); } catch (const std::exception&) @@ -324,20 +315,6 @@ void* SawyerChunkReader::AllocateLargeTempBuffer() return buffer; } -void* SawyerChunkReader::FinaliseLargeTempBuffer(void* buffer, size_t len) -{ -#ifdef __USE_HEAP_ALLOC__ - auto finalBuffer = HeapReAlloc(GetProcessHeap(), 0, buffer, len); -#else - auto finalBuffer = static_cast(std::realloc(buffer, len)); -#endif - if (finalBuffer == nullptr) - { - throw std::runtime_error("Unable to allocate final buffer."); - } - return finalBuffer; -} - void SawyerChunkReader::FreeLargeTempBuffer(void* buffer) { #ifdef __USE_HEAP_ALLOC__ diff --git a/src/openrct2/rct12/SawyerChunkReader.h b/src/openrct2/rct12/SawyerChunkReader.h index 954447325e..79b9fd8b17 100644 --- a/src/openrct2/rct12/SawyerChunkReader.h +++ b/src/openrct2/rct12/SawyerChunkReader.h @@ -43,10 +43,9 @@ class SawyerChunkReader final { private: OpenRCT2::IStream* const _stream = nullptr; - const bool _createsPersistentChunks = false; public: - explicit SawyerChunkReader(OpenRCT2::IStream* stream, bool persistentChunks = false); + explicit SawyerChunkReader(OpenRCT2::IStream* stream); /** * Skips the next chunk in the stream without decoding or reading its data @@ -99,6 +98,5 @@ private: static size_t DecodeChunkRotate(void* dst, size_t dstCapacity, const void* src, size_t srcLength); static void* AllocateLargeTempBuffer(); - static void* FinaliseLargeTempBuffer(void* buffer, size_t len); static void FreeLargeTempBuffer(void* buffer); }; From d2e18f5aa00b10caa986cf7e1b72e5db77c40668 Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Fri, 27 Aug 2021 01:59:59 +0200 Subject: [PATCH 45/59] Add #3868 to changelog --- distribution/changelog.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index c06bd9227f..0c91d3c290 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -1,5 +1,6 @@ 0.3.4.1+ (in development) ------------------------------------------------------------------------ +- Feature: [#3868] Initial support for using TTF in OpenGL mode (still contains bugs). - Feature: [#15084] [Plugin] Add "vehicle.crash" hook. - Feature: [#15143] Added a shortcut key for Giant Screenshot. - Feature: [#15164] Highlight elements selected by the Tile Inspector, tracks are currently not supported. From 371478db341549cff5d7d94574bc3caf9eb26848 Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Fri, 27 Aug 2021 11:05:55 +0200 Subject: [PATCH 46/59] Add 'build' as issue area to form --- .github/ISSUE_TEMPLATE/bug_report.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 2da13b1c73..3d1071dee6 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -38,6 +38,7 @@ body: options: - The bug also exists in RCT2 (vanilla) - This bug is specific to multiplayer + - Building the game validations: required: false From 78747d266f1a763227212242732c74f71cfd5254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Thu, 26 Aug 2021 22:40:17 +0300 Subject: [PATCH 47/59] Use constexpr where applicable in MiniatureRailway.cpp --- .../ride/transport/MiniatureRailway.cpp | 40 +++++++++++++------ 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/src/openrct2/ride/transport/MiniatureRailway.cpp b/src/openrct2/ride/transport/MiniatureRailway.cpp index 63c64774af..b642fd9872 100644 --- a/src/openrct2/ride/transport/MiniatureRailway.cpp +++ b/src/openrct2/ride/transport/MiniatureRailway.cpp @@ -572,14 +572,18 @@ static uint32_t miniature_railway_track_to_grooved_indent( if (direction & 0x1) { - uint32_t imageIds[2][2] = { { SPR_G2_MINIATURE_RAILWAY_INSET_NW_SE, SPR_G2_MINIATURE_RAILWAY_INSET_END_NW }, - { SPR_G2_MINIATURE_RAILWAY_INSET_END_SE, SPR_G2_MINIATURE_RAILWAY_INSET_END_NW_SE } }; + static constexpr uint32_t imageIds[2][2] = { + { SPR_G2_MINIATURE_RAILWAY_INSET_NW_SE, SPR_G2_MINIATURE_RAILWAY_INSET_END_NW }, + { SPR_G2_MINIATURE_RAILWAY_INSET_END_SE, SPR_G2_MINIATURE_RAILWAY_INSET_END_NW_SE }, + }; imageIdAlt = imageIds[(correctedEdges & 0x2) ? 0 : 1][(correctedEdges & 0x8) ? 0 : 1]; } else { - uint32_t imageIds[2][2] = { { SPR_G2_MINIATURE_RAILWAY_INSET_SW_NE, SPR_G2_MINIATURE_RAILWAY_INSET_END_SW }, - { SPR_G2_MINIATURE_RAILWAY_INSET_END_NE, SPR_G2_MINIATURE_RAILWAY_INSET_END_SW_NE } }; + static constexpr uint32_t imageIds[2][2] = { + { SPR_G2_MINIATURE_RAILWAY_INSET_SW_NE, SPR_G2_MINIATURE_RAILWAY_INSET_END_SW }, + { SPR_G2_MINIATURE_RAILWAY_INSET_END_NE, SPR_G2_MINIATURE_RAILWAY_INSET_END_SW_NE }, + }; imageIdAlt = imageIds[(correctedEdges & 0x1) ? 0 : 1][(correctedEdges & 0x4) ? 0 : 1]; } @@ -1411,7 +1415,12 @@ static void paint_miniature_railway_track_left_eighth_to_diag( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const uint8_t supportType[4][5] = { { 0, 0, 3, 5, 1 }, { 1, 1, 4, 2, 0 }, { 0, 0, 5, 3, 1 }, { 1, 1, 2, 4, 0 } }; + static constexpr uint8_t 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 = trackElement.GetTrackType() == TrackElemType::RightEighthToOrthogonal; @@ -1547,7 +1556,12 @@ static void paint_miniature_railway_track_right_eighth_to_diag( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const uint8_t supportType[4][5] = { { 0, 0, 2, 4, 1 }, { 1, 1, 3, 5, 0 }, { 0, 0, 4, 2, 1 }, { 1, 1, 5, 3, 0 } }; + static constexpr uint8_t 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 = trackElement.GetTrackType() == TrackElemType::LeftEighthToOrthogonal; @@ -1752,7 +1766,7 @@ static void miniature_railway_track_diag_25_deg_up( supportFunction = WOOD_A; } - int8_t heightDiffs[] = { +8, -8, +8, -8 }; + static constexpr int8_t heightDiffs[] = { +8, -8, +8, -8 }; int8_t heightDiff = heightDiffs[direction]; if (trackSequence == 3) { @@ -1868,7 +1882,7 @@ static void miniature_railway_track_diag_25_deg_up_to_flat( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const int8_t supportOffsets[][4] = { + static constexpr int8_t supportOffsets[][4] = { { 0, +8, +8, +8 }, { 0, -8, -8, 0 }, { 0, +8, +8, +8 }, @@ -1903,7 +1917,7 @@ static void miniature_railway_track_diag_25_deg_up_to_flat( floorBoundOffset = CoordsXY(-16, -16); } - const int8_t offsetsB[4][4][2] = { + static constexpr int8_t 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 } }, @@ -1944,7 +1958,7 @@ static void miniature_railway_track_diag_25_deg_down( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const int8_t supportOffsets[][4] = { + static constexpr int8_t supportOffsets[][4] = { { 0, +16, +16, 0 }, { 0, -8, -8, 0 }, { 0, +16, +16, 0 }, @@ -1983,7 +1997,7 @@ static void miniature_railway_track_diag_25_deg_down( bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; const int8_t railOffsets[] = { 0, +8, +8, +8 }; - const int8_t offsetsB[4][4][2] = { + static constexpr int8_t 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 } }, @@ -2019,7 +2033,7 @@ static void miniature_railway_track_diag_flat_to_25_deg_down( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const int8_t supportOffsets[][4] = { + static constexpr int8_t supportOffsets[][4] = { { 0, +16, +16, 0 }, { 0, -8, -8, -8 }, { 0, +8, +8, 0 }, @@ -2053,7 +2067,7 @@ static void miniature_railway_track_diag_flat_to_25_deg_down( floorBoundOffset = CoordsXY(-16, -16); } - const int8_t offsetsB[4][4][2] = { + static constexpr int8_t 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 } }, From 04ba3f92d7a53d5aa466fae5fbe434ec6f87e5df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Thu, 26 Aug 2021 22:42:50 +0300 Subject: [PATCH 48/59] Use constexpr where applicable in Monorail.cpp --- src/openrct2/ride/transport/Monorail.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/openrct2/ride/transport/Monorail.cpp b/src/openrct2/ride/transport/Monorail.cpp index 65a534cc6a..ab6c1e9d4f 100644 --- a/src/openrct2/ride/transport/Monorail.cpp +++ b/src/openrct2/ride/transport/Monorail.cpp @@ -746,14 +746,14 @@ static void paint_monorail_track_s_bend_left( trackSequence = 3 - trackSequence; } - const CoordsXY offsetList[] = { + static constexpr CoordsXY offsetList[] = { { 0, 6 }, { 0, 0 }, { 0, 6 }, { 0, 6 }, }; - const CoordsXY boundsList[] = { + static constexpr CoordsXY boundsList[] = { { 32, 20 }, { 32, 26 }, { 32, 26 }, @@ -850,14 +850,14 @@ static void paint_monorail_track_s_bend_right( trackSequence = 3 - trackSequence; } - const CoordsXY offsetList[] = { + static constexpr CoordsXY offsetList[] = { { 0, 6 }, { 0, 6 }, { 0, 0 }, { 0, 6 }, }; - const CoordsXY boundsList[] = { + static constexpr CoordsXY boundsList[] = { { 32, 20 }, { 32, 26 }, { 32, 26 }, @@ -1133,7 +1133,7 @@ static void paint_monorail_track_left_eighth_to_orthogonal( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const uint8_t map[] = { 4, 2, 3, 1, 0 }; + static constexpr uint8_t map[] = { 4, 2, 3, 1, 0 }; trackSequence = map[trackSequence]; paint_monorail_track_right_eighth_to_diag(session, ride, trackSequence, (direction + 2) % 4, height, trackElement); } @@ -1143,7 +1143,7 @@ static void paint_monorail_track_right_eighth_to_orthogonal( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const uint8_t map[] = { 4, 2, 3, 1, 0 }; + static constexpr uint8_t map[] = { 4, 2, 3, 1, 0 }; trackSequence = map[trackSequence]; paint_monorail_track_left_eighth_to_diag(session, ride, trackSequence, (direction + 3) % 4, height, trackElement); } From 5bf882587a4f2d43b814c811abe94e93ed1e251a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Thu, 26 Aug 2021 22:48:16 +0300 Subject: [PATCH 49/59] Use constexpr where applicable in Viewport.cpp --- src/openrct2/interface/Viewport.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/openrct2/interface/Viewport.cpp b/src/openrct2/interface/Viewport.cpp index 4f68f8ba27..dc0724ae3a 100644 --- a/src/openrct2/interface/Viewport.cpp +++ b/src/openrct2/interface/Viewport.cpp @@ -239,7 +239,12 @@ CoordsXYZ viewport_adjust_for_map_height(const ScreenCoordsXY& startCoords) auto max = GetMapSizeMinus2(); if (pos.x > max && pos.y > max) { - const CoordsXY corr[] = { { -1, -1 }, { 1, -1 }, { 1, 1 }, { -1, 1 } }; + static constexpr CoordsXY corr[] = { + { -1, -1 }, + { 1, -1 }, + { 1, 1 }, + { -1, 1 }, + }; pos.x += corr[rotation].x * height; pos.y += corr[rotation].y * height; } From de747919c98506ef619bb981f1646aa4a8799ad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Thu, 26 Aug 2021 22:51:01 +0300 Subject: [PATCH 50/59] Use constexpr where applicable in Paint.TileElement.cpp From 5dd277fc0d00e37a428a0be2f0f1751ed769a338 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Thu, 26 Aug 2021 22:54:35 +0300 Subject: [PATCH 51/59] Use constexpr where applicable in HybridCoaster.cpp --- src/openrct2/ride/coaster/HybridCoaster.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/openrct2/ride/coaster/HybridCoaster.cpp b/src/openrct2/ride/coaster/HybridCoaster.cpp index 7ce3ae777e..2192b3aeff 100644 --- a/src/openrct2/ride/coaster/HybridCoaster.cpp +++ b/src/openrct2/ride/coaster/HybridCoaster.cpp @@ -447,13 +447,13 @@ namespace HybridRC { 24, 6, height + 8 }, { 4, 6, height + 8 }, }; - static const CoordsXYZ boundBoxLengths[4] = { + static constexpr CoordsXYZ boundBoxLengths[4] = { { 2, 20, 31 }, { 2, 20, 31 }, { 2, 20, 31 }, { 2, 20, 31 }, }; - static const uint32_t imageIds[4] = { + static constexpr uint32_t imageIds[4] = { SPR_G2_HYBRID_TRACK_VERTICAL + 8, SPR_G2_HYBRID_TRACK_VERTICAL + 9, SPR_G2_HYBRID_TRACK_VERTICAL + 10, @@ -492,13 +492,13 @@ namespace HybridRC { 24, 6, height }, { 0, 6, height }, }; - static const CoordsXYZ boundBoxLengths[4] = { + static constexpr CoordsXYZ boundBoxLengths[4] = { { 32, 20, 3 }, { 2, 20, 55 }, { 2, 20, 55 }, { 32, 20, 3 }, }; - static const uint32_t imageIds[4] = { + static constexpr uint32_t imageIds[4] = { SPR_G2_HYBRID_TRACK_VERTICAL + 0, SPR_G2_HYBRID_TRACK_VERTICAL + 1, SPR_G2_HYBRID_TRACK_VERTICAL + 2, @@ -543,13 +543,13 @@ namespace HybridRC { 24, 6, height + 8 }, { 0, 6, height + 8 }, }; - static const CoordsXYZ boundBoxLengths[4] = { + static constexpr CoordsXYZ boundBoxLengths[4] = { { 32, 20, 3 }, { 2, 20, 31 }, { 2, 20, 31 }, { 32, 20, 3 }, }; - static const uint32_t imageIds[4] = { + static constexpr uint32_t imageIds[4] = { SPR_G2_HYBRID_TRACK_VERTICAL + 4, SPR_G2_HYBRID_TRACK_VERTICAL + 5, SPR_G2_HYBRID_TRACK_VERTICAL + 6, From 3c106f7e0fcee2a9a2bd6efdba7c21e171abaf22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Thu, 26 Aug 2021 22:58:37 +0300 Subject: [PATCH 52/59] Use constexpr where applicable in JuniorRollerCoaster.cpp --- .../ride/coaster/JuniorRollerCoaster.cpp | 47 ++++++++++++------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp index 46bd0265b5..3c5e3a250e 100644 --- a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp @@ -2509,7 +2509,7 @@ void junior_rc_paint_track_left_quarter_turn_5_tiles_25_deg_up( junior_rc_track_pieces_left_quarter_turn_5_tiles_25_deg_up[EnumValue(chainType)], junior_rc_left_quarter_turn_5_tiles_25_deg_up_offsets, defaultRightQuarterTurn5TilesBoundLengths, nullptr); - uint8_t supportSpecial[4] = { 8, 8, 8, 3 }; + static constexpr uint8_t supportSpecial[4] = { 8, 8, 8, 3 }; switch (trackSequence) { case 0: @@ -2589,7 +2589,7 @@ void junior_rc_paint_track_right_quarter_turn_5_tiles_25_deg_up( junior_rc_track_pieces_right_quarter_turn_5_tiles_25_deg_up[EnumValue(chainType)], defaultRightQuarterTurn5TilesOffsets, defaultRightQuarterTurn5TilesBoundLengths, nullptr); - uint8_t supportSpecial[4] = { 11, 8, 8, 7 }; + static constexpr uint8_t supportSpecial[4] = { 11, 8, 8, 7 }; switch (trackSequence) { case 0: @@ -2712,14 +2712,14 @@ static void junior_rc_s_bend_left_paint_setup( trackSequence = 3 - trackSequence; } - const CoordsXY offsetList[] = { + static constexpr CoordsXY offsetList[] = { { 0, 6 }, { 0, 0 }, { 0, 6 }, { 0, 6 }, }; - const CoordsXY boundsList[] = { + static constexpr CoordsXY boundsList[] = { { 32, 20 }, { 32, 26 }, { 32, 26 }, @@ -2816,14 +2816,14 @@ static void junior_rc_s_bend_right_paint_setup( trackSequence = 3 - trackSequence; } - const CoordsXY offsetList[] = { + static constexpr CoordsXY offsetList[] = { { 0, 6 }, { 0, 6 }, { 0, 0 }, { 0, 6 }, }; - const CoordsXY boundsList[] = { + static constexpr CoordsXY boundsList[] = { { 32, 20 }, { 32, 26 }, { 32, 26 }, @@ -2921,7 +2921,10 @@ static void junior_rc_right_quarter_turn_3_tiles_paint_setup( defaultRightQuarterTurn3TilesBoundLengths, nullptr); track_paint_util_right_quarter_turn_3_tiles_tunnel(session, height, direction, trackSequence, TUNNEL_0); - uint8_t supportType[2][4] = { { 1, 0, 0, 2 }, { 2, 0, 0, 1 } }; + static constexpr uint8_t supportType[2][4] = { + { 1, 0, 0, 2 }, + { 2, 0, 0, 1 }, + }; switch (trackSequence) { case 0: @@ -3009,7 +3012,12 @@ static void junior_rc_right_quarter_turn_3_tiles_bank_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - uint8_t thickness[4][4] = { { 1, 1, 1, 1 }, { 1, 1, 1, 1 }, { 26, 1, 1, 26 }, { 1, 1, 1, 1 } }; + static constexpr uint8_t 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( session, thickness[direction][trackSequence], height, direction, trackSequence, session->TrackColours[SCHEME_TRACK], @@ -3187,7 +3195,10 @@ void junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_down( paint_util_push_tunnel_right(session, height + 8, TUNNEL_2); } - uint8_t supportType[2][4] = { { 1, 0, 0, 2 }, { 2, 0, 0, 1 } }; + static constexpr uint8_t supportType[2][4] = { + { 1, 0, 0, 2 }, + { 2, 0, 0, 1 }, + }; switch (trackSequence) { case 0: @@ -3274,7 +3285,7 @@ static void junior_rc_right_half_banked_helix_up_small_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const int8_t thickness[2] = { 1, 26 }; + static constexpr int8_t thickness[2] = { 1, 26 }; if (trackSequence > 3) { @@ -3342,7 +3353,7 @@ static void junior_rc_right_half_banked_helix_down_small_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const int8_t thickness[2] = { 1, 26 }; + static constexpr int8_t thickness[2] = { 1, 26 }; if (trackSequence > 3) { @@ -3442,7 +3453,7 @@ static void junior_rc_right_half_banked_helix_up_large_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const int8_t thickness[2] = { 1, 26 }; + static constexpr int8_t thickness[2] = { 1, 26 }; if (trackSequence > 6) { @@ -3528,7 +3539,7 @@ static void junior_rc_right_half_banked_helix_down_large_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const int8_t thickness[2] = { 1, 26 }; + static constexpr int8_t thickness[2] = { 1, 26 }; if (trackSequence > 6) { @@ -4162,7 +4173,7 @@ static void junior_rc_left_eighth_to_orthogonal_bank_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const uint8_t map[] = { 4, 2, 3, 1, 0 }; + static constexpr uint8_t map[] = { 4, 2, 3, 1, 0 }; trackSequence = map[trackSequence]; junior_rc_right_eighth_to_diag_bank_paint_setup(session, ride, trackSequence, (direction + 2) % 4, height, trackElement); } @@ -4172,7 +4183,7 @@ static void junior_rc_right_eighth_to_orthogonal_bank_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const uint8_t map[] = { 4, 2, 3, 1, 0 }; + static constexpr uint8_t map[] = { 4, 2, 3, 1, 0 }; trackSequence = map[trackSequence]; junior_rc_left_eighth_to_diag_bank_paint_setup(session, ride, trackSequence, (direction + 3) % 4, height, trackElement); } @@ -4978,7 +4989,7 @@ void junior_rc_paint_track_60_deg_up( break; } - int8_t support[4] = { 35, 29, 25, 32 }; + static constexpr int8_t support[4] = { 35, 29, 25, 32 }; if (track_paint_util_should_paint_supports(session->MapPosition)) { metal_a_supports_paint_setup( @@ -5067,7 +5078,7 @@ void junior_rc_paint_track_25_deg_up_to_60_deg_up( break; } - int8_t support[4] = { 12, 12, 12, 14 }; + static constexpr int8_t support[4] = { 12, 12, 12, 14 }; if (track_paint_util_should_paint_supports(session->MapPosition)) { metal_a_supports_paint_setup( @@ -5449,7 +5460,7 @@ static void junior_rc_flat_to_60_deg_up_paint_setup( break; } - int8_t support[4] = { 12, 12, 12, 14 }; + static constexpr int8_t support[4] = { 12, 12, 12, 14 }; if (track_paint_util_should_paint_supports(session->MapPosition)) { metal_a_supports_paint_setup( From 2a087a7eef26de615ecd7b61587ffb9f80953846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Thu, 26 Aug 2021 23:22:00 +0300 Subject: [PATCH 53/59] Remove static initialization in looping_rc_track_station --- .../ride/coaster/LoopingRollerCoaster.cpp | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp b/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp index 0df9ecab8a..b2cdbf4ad4 100644 --- a/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp @@ -82,15 +82,19 @@ static void looping_rc_track_station( paint_session* session, const Ride* ride, [[maybe_unused]] uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const uint32_t stationTrackNESW = is_csg_loaded() ? LOOPING_RC_BOOSTER_NE_SW : 15016; - const uint32_t stationTrackNWSE = is_csg_loaded() ? LOOPING_RC_BOOSTER_NW_SE : 15017; - - static const uint32_t imageIds[4][2] = { - { stationTrackNESW, SPR_STATION_BASE_B_SW_NE }, - { stationTrackNWSE, SPR_STATION_BASE_B_NW_SE }, - { stationTrackNESW, SPR_STATION_BASE_B_SW_NE }, - { stationTrackNWSE, SPR_STATION_BASE_B_NW_SE }, + static constexpr uint32_t imageIdsWithCsg[4][2] = { + { LOOPING_RC_BOOSTER_NE_SW, SPR_STATION_BASE_B_SW_NE }, + { LOOPING_RC_BOOSTER_NW_SE, SPR_STATION_BASE_B_NW_SE }, + { LOOPING_RC_BOOSTER_NE_SW, SPR_STATION_BASE_B_SW_NE }, + { LOOPING_RC_BOOSTER_NW_SE, SPR_STATION_BASE_B_NW_SE }, }; + static constexpr uint32_t imageIdWithoutCsg[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 }, + }; + const auto imageIds = is_csg_loaded() ? imageIdsWithCsg : imageIdWithoutCsg; PaintAddImageAsParentRotated( session, direction, imageIds[direction][0] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, From 70df58da1564b4fd8f804a35fafc43d3197c521e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Thu, 26 Aug 2021 23:26:28 +0300 Subject: [PATCH 54/59] Use constexpr where applicable in MiniatureRailway.cpp --- src/openrct2/ride/transport/MiniatureRailway.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/openrct2/ride/transport/MiniatureRailway.cpp b/src/openrct2/ride/transport/MiniatureRailway.cpp index b642fd9872..3acb96aa18 100644 --- a/src/openrct2/ride/transport/MiniatureRailway.cpp +++ b/src/openrct2/ride/transport/MiniatureRailway.cpp @@ -1927,7 +1927,7 @@ static void miniature_railway_track_diag_25_deg_up_to_flat( uint32_t imageId = miniature_railway_track_pieces_diag_25_deg_up_to_flat[direction]; bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; - const int8_t railOffsets[] = { +8, 0, +8, +8 }; + static constexpr int8_t railOffsets[] = { +8, 0, +8, +8 }; if (hasSupports) { @@ -1995,7 +1995,7 @@ static void miniature_railway_track_diag_25_deg_down( uint32_t imageId = miniature_railway_track_pieces_diag_25_deg_up[(direction + 2) % 4]; bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; - const int8_t railOffsets[] = { 0, +8, +8, +8 }; + static constexpr int8_t railOffsets[] = { 0, +8, +8, +8 }; static constexpr int8_t offsetsB[4][4][2] = { { { 0, 0 }, { +8, +8 }, { +8, +8 }, { -8, -8 } }, @@ -2076,7 +2076,7 @@ static void miniature_railway_track_diag_flat_to_25_deg_down( uint32_t imageId = miniature_railway_track_pieces_diag_25_deg_up_to_flat[(direction + 2) % 4]; bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; - const int8_t railOffsets[] = { 0, +8, +8, +8 }; + static constexpr int8_t railOffsets[] = { 0, +8, +8, +8 }; if (hasSupports) { From d7b911ffeafa7b75e4ca8596be34bf9f9d3d0def Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Fri, 27 Aug 2021 21:34:09 +0300 Subject: [PATCH 55/59] Add sprite constants for LOOPING_RC_FLAT_CHAINED --- .../ride/coaster/LoopingRollerCoaster.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp b/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp index b2cdbf4ad4..b70fa6c187 100644 --- a/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp @@ -21,6 +21,9 @@ #define LOOPING_RC_BOOSTER_NE_SW (SPR_CSG_BEGIN + 55679) #define LOOPING_RC_BOOSTER_NW_SE (SPR_CSG_BEGIN + 55680) +static constexpr auto SPR_LOOPING_RC_FLAT_CHAINED_SW_NE = 15016; +static constexpr auto SPR_LOOPING_RC_FLAT_CHAINED_NW_SE = 15017; + /** rct2: 0x008A6370 */ static void looping_rc_track_flat( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, @@ -88,13 +91,13 @@ static void looping_rc_track_station( { LOOPING_RC_BOOSTER_NE_SW, SPR_STATION_BASE_B_SW_NE }, { LOOPING_RC_BOOSTER_NW_SE, SPR_STATION_BASE_B_NW_SE }, }; - static constexpr uint32_t imageIdWithoutCsg[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 constexpr uint32_t imageIdsWithoutCsg[4][2] = { + { SPR_LOOPING_RC_FLAT_CHAINED_SW_NE, SPR_STATION_BASE_B_SW_NE }, + { SPR_LOOPING_RC_FLAT_CHAINED_NW_SE, SPR_STATION_BASE_B_NW_SE }, + { SPR_LOOPING_RC_FLAT_CHAINED_SW_NE, SPR_STATION_BASE_B_SW_NE }, + { SPR_LOOPING_RC_FLAT_CHAINED_NW_SE, SPR_STATION_BASE_B_NW_SE }, }; - const auto imageIds = is_csg_loaded() ? imageIdsWithCsg : imageIdWithoutCsg; + const auto imageIds = is_csg_loaded() ? imageIdsWithCsg : imageIdsWithoutCsg; PaintAddImageAsParentRotated( session, direction, imageIds[direction][0] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, From 0c05557b923b100d15292738b99a848b4c31315d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Fri, 27 Aug 2021 22:40:51 +0300 Subject: [PATCH 56/59] Change defines to constexpr and add SPR_ prefix --- .../ride/coaster/LoopingRollerCoaster.cpp | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp b/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp index b70fa6c187..be93f9f8a3 100644 --- a/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp @@ -18,8 +18,8 @@ #include "../TrackData.h" #include "../TrackPaint.h" -#define LOOPING_RC_BOOSTER_NE_SW (SPR_CSG_BEGIN + 55679) -#define LOOPING_RC_BOOSTER_NW_SE (SPR_CSG_BEGIN + 55680) +static constexpr auto SPR_LOOPING_RC_BOOSTER_NE_SW = (SPR_CSG_BEGIN + 55679); +static constexpr auto SPR_LOOPING_RC_BOOSTER_NW_SE = (SPR_CSG_BEGIN + 55680); static constexpr auto SPR_LOOPING_RC_FLAT_CHAINED_SW_NE = 15016; static constexpr auto SPR_LOOPING_RC_FLAT_CHAINED_NW_SE = 15017; @@ -86,10 +86,10 @@ static void looping_rc_track_station( const TrackElement& trackElement) { static constexpr uint32_t imageIdsWithCsg[4][2] = { - { LOOPING_RC_BOOSTER_NE_SW, SPR_STATION_BASE_B_SW_NE }, - { LOOPING_RC_BOOSTER_NW_SE, SPR_STATION_BASE_B_NW_SE }, - { LOOPING_RC_BOOSTER_NE_SW, SPR_STATION_BASE_B_SW_NE }, - { LOOPING_RC_BOOSTER_NW_SE, SPR_STATION_BASE_B_NW_SE }, + { SPR_LOOPING_RC_BOOSTER_NE_SW, SPR_STATION_BASE_B_SW_NE }, + { SPR_LOOPING_RC_BOOSTER_NW_SE, SPR_STATION_BASE_B_NW_SE }, + { SPR_LOOPING_RC_BOOSTER_NE_SW, SPR_STATION_BASE_B_SW_NE }, + { SPR_LOOPING_RC_BOOSTER_NW_SE, SPR_STATION_BASE_B_NW_SE }, }; static constexpr uint32_t imageIdsWithoutCsg[4][2] = { { SPR_LOOPING_RC_FLAT_CHAINED_SW_NE, SPR_STATION_BASE_B_SW_NE }, @@ -9172,14 +9172,14 @@ static void looping_rc_track_booster( case 0: case 2: PaintAddImageAsParentRotated( - session, direction, session->TrackColours[SCHEME_TRACK] | LOOPING_RC_BOOSTER_NE_SW, 0, 0, 32, 20, 3, height, 0, - 6, height); + session, direction, session->TrackColours[SCHEME_TRACK] | SPR_LOOPING_RC_BOOSTER_NE_SW, 0, 0, 32, 20, 3, height, + 0, 6, height); break; case 1: case 3: PaintAddImageAsParentRotated( - session, direction, session->TrackColours[SCHEME_TRACK] | LOOPING_RC_BOOSTER_NW_SE, 0, 0, 32, 20, 3, height, 0, - 6, height); + session, direction, session->TrackColours[SCHEME_TRACK] | SPR_LOOPING_RC_BOOSTER_NW_SE, 0, 0, 32, 20, 3, height, + 0, 6, height); break; } if (track_paint_util_should_paint_supports(session->MapPosition)) From 97ded2d7c4edd00e24801220755d119ef46ea312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=CE=B6eh=20Matt?= <5415177+ZehMatt@users.noreply.github.com> Date: Fri, 27 Aug 2021 15:31:40 -0700 Subject: [PATCH 57/59] Use reference and not copy (#15303) --- src/openrct2/ride/coaster/LoopingRollerCoaster.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp b/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp index be93f9f8a3..a869a5f50f 100644 --- a/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp @@ -97,7 +97,7 @@ static void looping_rc_track_station( { SPR_LOOPING_RC_FLAT_CHAINED_SW_NE, SPR_STATION_BASE_B_SW_NE }, { SPR_LOOPING_RC_FLAT_CHAINED_NW_SE, SPR_STATION_BASE_B_NW_SE }, }; - const auto imageIds = is_csg_loaded() ? imageIdsWithCsg : imageIdsWithoutCsg; + const auto& imageIds = is_csg_loaded() ? imageIdsWithCsg : imageIdsWithoutCsg; PaintAddImageAsParentRotated( session, direction, imageIds[direction][0] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, From e0751d707f7e226d6aed32252dc88a8eeb98b248 Mon Sep 17 00:00:00 2001 From: Hielke Morsink Date: Sat, 28 Aug 2021 17:43:11 +0200 Subject: [PATCH 58/59] Fix #15298: Crash on map.getAllEntities from in-game console (#15301) --- src/openrct2/scripting/ScriptEngine.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/openrct2/scripting/ScriptEngine.cpp b/src/openrct2/scripting/ScriptEngine.cpp index e5e132ceb1..caf284513b 100644 --- a/src/openrct2/scripting/ScriptEngine.cpp +++ b/src/openrct2/scripting/ScriptEngine.cpp @@ -1433,7 +1433,16 @@ int32_t OpenRCT2::Scripting::GetTargetAPIVersion() { auto& scriptEngine = GetContext()->GetScriptEngine(); auto& execInfo = scriptEngine.GetExecInfo(); - return execInfo.GetCurrentPlugin()->GetTargetAPIVersion(); + + // Commands from the in-game console do not have a plug-in set + auto plugin = execInfo.GetCurrentPlugin(); + if (plugin == nullptr) + { + // For in-game console, default to the current API version + return OPENRCT2_PLUGIN_API_VERSION; + } + + return plugin->GetTargetAPIVersion(); } #endif From cba52b240e0f90907a85e17812fc09408ae092ba Mon Sep 17 00:00:00 2001 From: spacek531 Date: Sun, 29 Aug 2021 02:30:34 -0700 Subject: [PATCH 59/59] Bird animation (#15294) * initial implementation; progress 1 progress 2 refactor to chain start progress 3 begin walking finish bird remove walking remove unused functions refactor track element getting fix formatting refactor and add comments remove brackets from simple if-else statements invalidate vehicle refactor again fix format and refactor please satisfy clang format fix fallthrough invalidate default case remove redundant falltrhough network bump use std::max refactor animation again fix modulus * move array declaration * satisfy clang-format * add changelog entry --- contributors.md | 2 +- distribution/changelog.txt | 1 + src/openrct2/network/NetworkBase.cpp | 2 +- src/openrct2/ride/Vehicle.cpp | 46 ++++++++++++++++++++++++++++ src/openrct2/ride/Vehicle.h | 4 ++- 5 files changed, 52 insertions(+), 3 deletions(-) diff --git a/contributors.md b/contributors.md index 21c84806fa..b12d3c4d21 100644 --- a/contributors.md +++ b/contributors.md @@ -62,7 +62,7 @@ The following people are not part of the development team, but have been contrib * Robert Jordan (trigger-death) - UI theming, title sequence editor, misc. * Aaron van Geffen (AaronVanGeffen) - scenario select screen, font detection, misc. * Michał Janiszewski (janisozaur) - Linux port, crash handling, security, misc. -* Kelson Blakewood (spacek531) - title sequences for release versions 0.0.4 through 0.1.2, title sequences using milliseconds +* Kelson Blakewood (spacek531) - title sequences, title sequence features, vehicle features * Hugo Wallenburg (Goddesen) - Misc. * Edward Calver (X7123M3-256) - New Hybrid Coaster track, extended sprite toolchain, more vehicle cheats, misc. * Matte Andersson (Nubbie) - Misc, UX diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 0c91d3c290..5e5d7651a0 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -6,6 +6,7 @@ - Feature: [#15164] Highlight elements selected by the Tile Inspector, tracks are currently not supported. - Feature: [#15165] [Plugin] Add the ability to create entities using "map.createEntity". - Feature: [#15194] [Plugin] Add guest properties, ride downtime and park casualty penalty. +- Feature: [#15294] New vehicle animation type: flying animal - Fix: [#13465] Creating a scenario based on a won save game results in a scenario that’s instantly won. - Fix: [#14316] Closing the Track Designs Manager window causes broken state. - Fix: [#14667] “Extreme Hawaiian Island” has unpurchaseable land tiles (original bug). diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index 4452f1f04f..bd09ca6b0b 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -37,7 +37,7 @@ // This string specifies which version of network stream current build uses. // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -#define NETWORK_STREAM_VERSION "5" +#define NETWORK_STREAM_VERSION "6" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION static Peep* _pickup_peep = nullptr; diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index 8dcabb345e..bbbdef5358 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -1536,6 +1536,13 @@ bool Vehicle::OpenRestraints() restraintsOpen = false; continue; } + if (vehicleEntry->animation == VEHICLE_ENTRY_ANIMATION_ANIMAL_FLYING + && (vehicle->animation_frame != 0 || vehicle->animationState > 0)) + { + vehicle->UpdateAnimationAnimalFlying(); + restraintsOpen = false; + continue; + } if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_CAR) && vehicle->restraints_position != 0xFF && (curRide->breakdown_reason_pending == BREAKDOWN_RESTRAINTS_STUCK_CLOSED @@ -7269,6 +7276,39 @@ void Vehicle::UpdateSpinningCar() Invalidate(); } +void Vehicle::UpdateAnimationAnimalFlying() +{ + if (animationState > 0) + { + animationState--; + return; + } + else + { + if (animation_frame == 0) + { + auto trackType = GetTrackType(); + TileElement* trackElement = map_get_track_element_at_of_type_seq(TrackLocation, trackType, 0); + if (trackElement != nullptr && trackElement->AsTrack()->HasChain()) + { + // start flapping, bird + animation_frame = 1; + animationState = 5; + Invalidate(); + } + } + else + { + // continue flapping until reaching frame 0 + animation_frame = (animation_frame + 1) % 4; + Invalidate(); + } + // number of frames to skip before updating again + constexpr std::array frameWaitTimes = { 5, 3, 5, 3 }; + animationState = frameWaitTimes[animation_frame]; + } +} + /** * * rct2: 0x006D63D4 @@ -7421,6 +7461,12 @@ void Vehicle::UpdateAdditionalAnimation() } } break; + case VEHICLE_ENTRY_ANIMATION_ANIMAL_FLYING: + UpdateAnimationAnimalFlying(); + // makes animation play faster with vehicle speed + targetFrame = abs(_vehicleVelocityF64E08) >> 24; + animationState = std::max(animationState - targetFrame, 0); + break; } } diff --git a/src/openrct2/ride/Vehicle.h b/src/openrct2/ride/Vehicle.h index e8e84859f6..8963fb379d 100644 --- a/src/openrct2/ride/Vehicle.h +++ b/src/openrct2/ride/Vehicle.h @@ -324,6 +324,7 @@ private: void UpdateCrashSetup(); void UpdateCollisionSetup(); int32_t UpdateMotionDodgems(); + void UpdateAnimationAnimalFlying(); void UpdateAdditionalAnimation(); void CheckIfMissing(); bool CurrentTowerElementIsTop(); @@ -472,7 +473,8 @@ enum VEHICLE_ENTRY_ANIMATION_OBSERVATION_TOWER, VEHICLE_ENTRY_ANIMATION_HELICARS, VEHICLE_ENTRY_ANIMATION_MONORAIL_CYCLES, - VEHICLE_ENTRY_ANIMATION_MULTI_DIM_COASTER + VEHICLE_ENTRY_ANIMATION_MULTI_DIM_COASTER, + VEHICLE_ENTRY_ANIMATION_ANIMAL_FLYING // OpenRCT2-specific feature }; enum : uint32_t