From 6a9cd6387407ffe528e439af7c936d649a097471 Mon Sep 17 00:00:00 2001 From: Ted John Date: Sat, 2 Sep 2017 23:05:58 +0100 Subject: [PATCH] Pass paint session to some vehicle paint functions --- .../ride/coaster/reverser_roller_coaster.c | 8 ++-- src/openrct2/ride/coaster/virginia_reel.c | 4 +- src/openrct2/ride/gentle/mini_golf.c | 8 ++-- src/openrct2/ride/gentle/observation_tower.c | 2 +- src/openrct2/ride/thrill/launched_freefall.c | 4 +- src/openrct2/ride/thrill/roto_drop.c | 2 +- src/openrct2/ride/vehicle_paint.c | 38 +++++++++---------- src/openrct2/ride/vehicle_paint.h | 24 ++++++------ src/openrct2/ride/water/river_rapids.c | 6 +-- src/openrct2/ride/water/splash_boats.c | 10 ++--- src/openrct2/ride/water/submarine_ride.c | 2 +- 11 files changed, 54 insertions(+), 54 deletions(-) diff --git a/src/openrct2/ride/coaster/reverser_roller_coaster.c b/src/openrct2/ride/coaster/reverser_roller_coaster.c index 7d536dc4c2..18442633e3 100644 --- a/src/openrct2/ride/coaster/reverser_roller_coaster.c +++ b/src/openrct2/ride/coaster/reverser_roller_coaster.c @@ -32,16 +32,16 @@ * * rct2: 0x006D4453 */ -void vehicle_visual_reverser(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) +void vehicle_visual_reverser(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { rct_vehicle *v1 = GET_VEHICLE(vehicle->prev_vehicle_on_ride); rct_vehicle *v2 = GET_VEHICLE(vehicle->next_vehicle_on_ride); x = (v1->x + v2->x) / 2; y = (v1->y + v2->y) / 2; z = (v1->z + v2->z) / 2; - gPaintSession.SpritePosition.x = x; - gPaintSession.SpritePosition.y = y; - vehicle_visual_default(x, imageDirection, y, z, vehicle, vehicleEntry); + session->SpritePosition.x = x; + session->SpritePosition.y = y; + vehicle_visual_default(session, x, imageDirection, y, z, vehicle, vehicleEntry); } #endif diff --git a/src/openrct2/ride/coaster/virginia_reel.c b/src/openrct2/ride/coaster/virginia_reel.c index d3d0707095..fb81a6e04f 100644 --- a/src/openrct2/ride/coaster/virginia_reel.c +++ b/src/openrct2/ride/coaster/virginia_reel.c @@ -175,7 +175,7 @@ static const uint32 virginia_reel_track_pieces_flat_quarter_turn_1_tile[4] = { * * rct2: 0x006D5B48 */ -void vehicle_visual_virginia_reel(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) +void vehicle_visual_virginia_reel(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { sint32 image_id; sint32 baseImage_id = imageDirection; @@ -212,7 +212,7 @@ void vehicle_visual_virginia_reel(sint32 x, sint32 imageDirection, sint32 y, sin image_id = baseImage_id | SPRITE_ID_PALETTE_COLOUR_2(vehicle->colours.body_colour, vehicle->colours.trim_colour); sub_98197C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); - if (gPaintSession.Unk140E9A8->zoom_level < 2 && vehicle->num_peeps > 0) { + if (session->Unk140E9A8->zoom_level < 2 && vehicle->num_peeps > 0) { uint8 riding_peep_sprites[4] = {0xFF, 0xFF, 0xFF, 0xFF}; for (sint32 i = 0; i < vehicle->num_peeps; i++) { riding_peep_sprites[((ecx / 8) + i) & 3] = vehicle->peep_tshirt_colours[i]; diff --git a/src/openrct2/ride/gentle/mini_golf.c b/src/openrct2/ride/gentle/mini_golf.c index 4ec503bf0b..3d051fa1a4 100644 --- a/src/openrct2/ride/gentle/mini_golf.c +++ b/src/openrct2/ride/gentle/mini_golf.c @@ -1022,13 +1022,13 @@ TRACK_PAINT_FUNCTION get_track_paint_function_mini_golf(sint32 trackType, sint32 /** * rct2: 0x006D42F0 */ -void vehicle_visual_mini_golf_player(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle) +void vehicle_visual_mini_golf_player(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle) { if (vehicle->num_peeps == 0) { return; } - rct_drawpixelinfo *edi = gPaintSession.Unk140E9A8; + rct_drawpixelinfo *edi = session->Unk140E9A8; if (edi->zoom_level >= 2) { return; } @@ -1051,13 +1051,13 @@ void vehicle_visual_mini_golf_player(sint32 x, sint32 imageDirection, sint32 y, /** * rct2: 0x006D43C6 */ -void vehicle_visual_mini_golf_ball(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle) +void vehicle_visual_mini_golf_ball(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle) { if (vehicle->mini_golf_current_animation != 1) { return; } - rct_drawpixelinfo *edi = gPaintSession.Unk140E9A8; + rct_drawpixelinfo *edi = session->Unk140E9A8; if (edi->zoom_level >= 1) { return; } diff --git a/src/openrct2/ride/gentle/observation_tower.c b/src/openrct2/ride/gentle/observation_tower.c index e695d5764f..179aa64d62 100644 --- a/src/openrct2/ride/gentle/observation_tower.c +++ b/src/openrct2/ride/gentle/observation_tower.c @@ -34,7 +34,7 @@ enum * * rct2: 0x006D6258 */ -void vehicle_visual_observation_tower(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) +void vehicle_visual_observation_tower(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { sint32 image_id; sint32 baseImage_id = (vehicle->restraints_position / 64); diff --git a/src/openrct2/ride/thrill/launched_freefall.c b/src/openrct2/ride/thrill/launched_freefall.c index b093ef03f2..76d099051b 100644 --- a/src/openrct2/ride/thrill/launched_freefall.c +++ b/src/openrct2/ride/thrill/launched_freefall.c @@ -42,7 +42,7 @@ static const uint32 launched_freefall_fence_sprites[] = { * * rct2: 0x006D5FAB */ -void vehicle_visual_launched_freefall(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) +void vehicle_visual_launched_freefall(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { sint32 image_id; sint32 baseImage_id = vehicleEntry->base_image_id + ((vehicle->restraints_position / 64) * 2); @@ -57,7 +57,7 @@ void vehicle_visual_launched_freefall(sint32 x, sint32 imageDirection, sint32 y, sub_98197C(image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1, rotation); // Draw peeps: - if (gPaintSession.Unk140E9A8->zoom_level < 2) { + if (session->Unk140E9A8->zoom_level < 2) { if (vehicle->num_peeps > 0) { baseImage_id = vehicleEntry->base_image_id + 9; if ((vehicle->restraints_position / 64) == 3) { diff --git a/src/openrct2/ride/thrill/roto_drop.c b/src/openrct2/ride/thrill/roto_drop.c index e6fbb396fa..bb64dfade2 100644 --- a/src/openrct2/ride/thrill/roto_drop.c +++ b/src/openrct2/ride/thrill/roto_drop.c @@ -36,7 +36,7 @@ enum * * rct2: 0x006D5DA9 */ -void vehicle_visual_roto_drop(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) +void vehicle_visual_roto_drop(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { sint32 image_id; sint32 baseImage_id = (vehicleEntry->base_image_id + 4) + ((vehicle->var_C5 / 4) & 0x3); diff --git a/src/openrct2/ride/vehicle_paint.c b/src/openrct2/ride/vehicle_paint.c index 94f2b18e32..6137419fae 100644 --- a/src/openrct2/ride/vehicle_paint.c +++ b/src/openrct2/ride/vehicle_paint.c @@ -890,7 +890,7 @@ const vehicle_boundbox VehicleBoundboxes[16][224] = { }; // 6D5214 -static void vehicle_sprite_paint(rct_vehicle *vehicle, sint32 ebx, sint32 ecx, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_paint(paint_session * session, rct_vehicle *vehicle, sint32 ebx, sint32 ecx, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { sint32 baseImage_id = ebx; @@ -907,7 +907,7 @@ static void vehicle_sprite_paint(rct_vehicle *vehicle, sint32 ebx, sint32 ecx, s if (ps != NULL) { ps->tertiary_colour = vehicle->colours_extended; } - rct_drawpixelinfo* dpi = gPaintSession.Unk140E9A8; + rct_drawpixelinfo* dpi = session->Unk140E9A8; if (dpi->zoom_level < 2 && vehicle->num_peeps > 0 && vehicleEntry->no_seating_rows > 0) { baseImage_id += vehicleEntry->no_vehicle_images; for (sint32 i = 0; i < 8; i++){ @@ -921,13 +921,13 @@ static void vehicle_sprite_paint(rct_vehicle *vehicle, sint32 ebx, sint32 ecx, s } } } - vehicle_visual_splash_effect(z, vehicle, vehicleEntry); + vehicle_visual_splash_effect(session, z, vehicle, vehicleEntry); } // 6D520E static void vehicle_sprite_paint_6D520E(rct_vehicle *vehicle, sint32 ebx, sint32 ecx, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - vehicle_sprite_paint(vehicle, ebx + vehicle->var_4A, ecx, z, vehicleEntry); + vehicle_sprite_paint(&gPaintSession, vehicle, ebx + vehicle->var_4A, ecx, z, vehicleEntry); } // 6D51EB @@ -941,7 +941,7 @@ static void vehicle_sprite_paint_6D51EB(rct_vehicle *vehicle, sint32 ebx, sint32 ebx = ebx / 8; } ebx = (ebx * vehicleEntry->var_16) + vehicle->var_4A + vehicleEntry->base_image_id; - vehicle_sprite_paint(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint(&gPaintSession, vehicle, ebx, ecx, z, vehicleEntry); } // 6D51DE @@ -964,7 +964,7 @@ static void vehicle_sprite_paint_6D51DE(rct_vehicle *vehicle, sint32 ebx, sint32 ebx += ((vehicle->restraints_position - 64) / 64) * 4; ebx *= vehicleEntry->var_16; ebx += vehicleEntry->var_1C; - vehicle_sprite_paint(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint(&gPaintSession, vehicle, ebx, ecx, z, vehicleEntry); } // 6D51DE @@ -2304,7 +2304,7 @@ static void vehicle_visual_splash5_effect(sint32 z, rct_vehicle *vehicle, const sub_98199C(image_id, 0, 0, 1, 1, 0, z, 0, 0, z, get_current_rotation()); } -void vehicle_visual_splash_effect(sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) +void vehicle_visual_splash_effect(paint_session * session, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { switch (vehicleEntry->effect_visual) { case 1: /* nullsub */ break; @@ -2321,7 +2321,7 @@ void vehicle_visual_splash_effect(sint32 z, rct_vehicle *vehicle, const rct_ride * * rct2: 0x006D45F8 */ -void vehicle_visual_default(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) +void vehicle_visual_default(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { assert(vehicle->vehicle_sprite_type < countof(vehicle_sprite_funcs)); if (vehicle->vehicle_sprite_type < countof(vehicle_sprite_funcs)) { @@ -2365,16 +2365,16 @@ void vehicle_paint(paint_session * session, rct_vehicle *vehicle, sint32 imageDi } switch (vehicleEntry->car_visual) { - case VEHICLE_VISUAL_DEFAULT: vehicle_visual_default(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_LAUNCHED_FREEFALL: vehicle_visual_launched_freefall(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_OBSERVATION_TOWER: vehicle_visual_observation_tower(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_RIVER_RAPIDS: vehicle_visual_river_rapids(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_MINI_GOLF_PLAYER: vehicle_visual_mini_golf_player(x, imageDirection, y, z, vehicle); break; - case VEHICLE_VISUAL_MINI_GOLF_BALL: vehicle_visual_mini_golf_ball(x, imageDirection, y, z, vehicle); break; - case VEHICLE_VISUAL_REVERSER: vehicle_visual_reverser(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_SPLASH_BOATS_OR_WATER_COASTER: vehicle_visual_splash_boats_or_water_coaster(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_ROTO_DROP: vehicle_visual_roto_drop(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_VIRGINIA_REEL: vehicle_visual_virginia_reel(x, imageDirection, y, z, vehicle, vehicleEntry); break; - case VEHICLE_VISUAL_SUBMARINE: vehicle_visual_submarine(x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_DEFAULT: vehicle_visual_default(session, x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_LAUNCHED_FREEFALL: vehicle_visual_launched_freefall(session, x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_OBSERVATION_TOWER: vehicle_visual_observation_tower(session, x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_RIVER_RAPIDS: vehicle_visual_river_rapids(session, x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_MINI_GOLF_PLAYER: vehicle_visual_mini_golf_player(session, x, imageDirection, y, z, vehicle); break; + case VEHICLE_VISUAL_MINI_GOLF_BALL: vehicle_visual_mini_golf_ball(session, x, imageDirection, y, z, vehicle); break; + case VEHICLE_VISUAL_REVERSER: vehicle_visual_reverser(session, x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_SPLASH_BOATS_OR_WATER_COASTER: vehicle_visual_splash_boats_or_water_coaster(session, x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_ROTO_DROP: vehicle_visual_roto_drop(session, x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_VIRGINIA_REEL: vehicle_visual_virginia_reel(session, x, imageDirection, y, z, vehicle, vehicleEntry); break; + case VEHICLE_VISUAL_SUBMARINE: vehicle_visual_submarine(session, x, imageDirection, y, z, vehicle, vehicleEntry); break; } } diff --git a/src/openrct2/ride/vehicle_paint.h b/src/openrct2/ride/vehicle_paint.h index eea214c000..3f206554a7 100644 --- a/src/openrct2/ride/vehicle_paint.h +++ b/src/openrct2/ride/vehicle_paint.h @@ -32,17 +32,17 @@ extern const vehicle_boundbox VehicleBoundboxes[16][224]; void vehicle_paint(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection); -void vehicle_visual_default(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); -void vehicle_visual_roto_drop(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); -void vehicle_visual_observation_tower(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); -void vehicle_visual_river_rapids(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); -void vehicle_visual_reverser(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); -void vehicle_visual_splash_boats_or_water_coaster(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); -void vehicle_visual_launched_freefall(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); -void vehicle_visual_splash_effect(sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); -void vehicle_visual_virginia_reel(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); -void vehicle_visual_submarine(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); -void vehicle_visual_mini_golf_player(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle); -void vehicle_visual_mini_golf_ball(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle); +void vehicle_visual_default(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); +void vehicle_visual_roto_drop(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); +void vehicle_visual_observation_tower(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); +void vehicle_visual_river_rapids(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); +void vehicle_visual_reverser(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); +void vehicle_visual_splash_boats_or_water_coaster(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); +void vehicle_visual_launched_freefall(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); +void vehicle_visual_splash_effect(paint_session * session, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); +void vehicle_visual_virginia_reel(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); +void vehicle_visual_submarine(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry); +void vehicle_visual_mini_golf_player(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle); +void vehicle_visual_mini_golf_ball(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle); #endif diff --git a/src/openrct2/ride/water/river_rapids.c b/src/openrct2/ride/water/river_rapids.c index 5f7765a923..bec513d6c2 100644 --- a/src/openrct2/ride/water/river_rapids.c +++ b/src/openrct2/ride/water/river_rapids.c @@ -189,7 +189,7 @@ static const uint32 river_rapids_track_pieces_25_deg_down_to_flat[][2] = { * * rct2: 0x006D5889 */ -void vehicle_visual_river_rapids(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) +void vehicle_visual_river_rapids(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { sint32 image_id; sint32 baseImage_id = imageDirection; @@ -226,7 +226,7 @@ void vehicle_visual_river_rapids(sint32 x, sint32 imageDirection, sint32 y, sint image_id = baseImage_id | SPRITE_ID_PALETTE_COLOUR_2(vehicle->colours.body_colour, vehicle->colours.trim_colour); sub_98197C(image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z, rotation); - if (gPaintSession.Unk140E9A8->zoom_level < 2 && vehicle->num_peeps > 0) { + if (session->Unk140E9A8->zoom_level < 2 && vehicle->num_peeps > 0) { // Draw peeps: (this particular vehicle doesn't sort them back to front like others so the back ones sometimes clip, but thats how the original does it...) sint32 peeps = ((ecx / 8) + 0) & 3; image_id = (baseImage_id + ((peeps + 1) * 72)) | SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[0], vehicle->peep_tshirt_colours[1]) ; @@ -248,7 +248,7 @@ void vehicle_visual_river_rapids(sint32 x, sint32 imageDirection, sint32 y, sint } } - vehicle_visual_splash_effect(z, vehicle, vehicleEntry); + vehicle_visual_splash_effect(session, z, vehicle, vehicleEntry); } #endif diff --git a/src/openrct2/ride/water/splash_boats.c b/src/openrct2/ride/water/splash_boats.c index 584799fffc..ed4d4036f5 100644 --- a/src/openrct2/ride/water/splash_boats.c +++ b/src/openrct2/ride/water/splash_boats.c @@ -1037,17 +1037,17 @@ TRACK_PAINT_FUNCTION get_track_paint_function_splash_boats(sint32 trackType, sin * * rct2: 0x006D4295 */ -void vehicle_visual_splash_boats_or_water_coaster(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) +void vehicle_visual_splash_boats_or_water_coaster(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->is_child) { vehicle = GET_VEHICLE(vehicle->prev_vehicle_on_ride); } else { vehicle = GET_VEHICLE(vehicle->next_vehicle_on_ride); } - gPaintSession.CurrentlyDrawnItem = vehicle; + session->CurrentlyDrawnItem = vehicle; imageDirection = ((get_current_rotation() * 8) + vehicle->sprite_direction) & 0x1F; - gPaintSession.SpritePosition.x = vehicle->x; - gPaintSession.SpritePosition.y = vehicle->y; - vehicle_paint(&gPaintSession, vehicle, imageDirection); + session->SpritePosition.x = vehicle->x; + session->SpritePosition.y = vehicle->y; + vehicle_paint(session, vehicle, imageDirection); } #endif diff --git a/src/openrct2/ride/water/submarine_ride.c b/src/openrct2/ride/water/submarine_ride.c index 5e1a5cddb4..79a0d3f724 100644 --- a/src/openrct2/ride/water/submarine_ride.c +++ b/src/openrct2/ride/water/submarine_ride.c @@ -27,7 +27,7 @@ * * rct2: 0x006D44D5 */ -void vehicle_visual_submarine(sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) +void vehicle_visual_submarine(paint_session * session, sint32 x, sint32 imageDirection, sint32 y, sint32 z, rct_vehicle *vehicle, const rct_ride_entry_vehicle *vehicleEntry) { sint32 baseImage_id = imageDirection; sint32 image_id;