diff --git a/src/openrct2/ride/vehicle_paint.c b/src/openrct2/ride/vehicle_paint.c index 6137419fae..08b265be2a 100644 --- a/src/openrct2/ride/vehicle_paint.c +++ b/src/openrct2/ride/vehicle_paint.c @@ -925,13 +925,13 @@ static void vehicle_sprite_paint(paint_session * session, rct_vehicle *vehicle, } // 6D520E -static void vehicle_sprite_paint_6D520E(rct_vehicle *vehicle, sint32 ebx, sint32 ecx, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_paint_6D520E(paint_session * session, rct_vehicle *vehicle, sint32 ebx, sint32 ecx, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { vehicle_sprite_paint(&gPaintSession, vehicle, ebx + vehicle->var_4A, ecx, z, vehicleEntry); } // 6D51EB -static void vehicle_sprite_paint_6D51EB(rct_vehicle *vehicle, sint32 ebx, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_paint_6D51EB(paint_session * session, rct_vehicle *vehicle, sint32 ebx, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { sint32 ecx = ebx / 2; if (vehicleEntry->flags & VEHICLE_ENTRY_FLAG_11) { @@ -945,18 +945,18 @@ static void vehicle_sprite_paint_6D51EB(rct_vehicle *vehicle, sint32 ebx, sint32 } // 6D51DE -static void vehicle_sprite_paint_6D51DE(rct_vehicle *vehicle, sint32 ebx, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_paint_6D51DE(paint_session * session, rct_vehicle *vehicle, sint32 ebx, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->restraints_position < 64) { - vehicle_sprite_paint_6D51EB(vehicle, ebx, z, vehicleEntry); + vehicle_sprite_paint_6D51EB(session, vehicle, ebx, z, vehicleEntry); return; } if (!(vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION)) { - vehicle_sprite_paint_6D51EB(vehicle, ebx, z, vehicleEntry); + vehicle_sprite_paint_6D51EB(session, vehicle, ebx, z, vehicleEntry); return; } if (ebx & 7) { - vehicle_sprite_paint_6D51EB(vehicle, ebx, z, vehicleEntry); + vehicle_sprite_paint_6D51EB(session, vehicle, ebx, z, vehicleEntry); return; } sint32 ecx = ebx / 2; @@ -968,61 +968,61 @@ static void vehicle_sprite_paint_6D51DE(rct_vehicle *vehicle, sint32 ebx, sint32 } // 6D51DE -static void vehicle_sprite_0_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_0(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_paint_6D51DE(session, vehicle, imageDirection, z, vehicleEntry); } // 6D4EE7 -static void vehicle_sprite_0_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_1(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { sint32 ecx = imageDirection / 2; sint32 ebx = ((imageDirection / 4) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_paint_6D51DE(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4F34 -static void vehicle_sprite_0_2(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_2(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { sint32 ecx = (imageDirection / 2) + 108; sint32 ebx = ((imageDirection + 16) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_paint_6D51DE(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4F0C -static void vehicle_sprite_0_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_3(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { sint32 ecx = imageDirection / 2; sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_paint_6D51DE(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4F5C -static void vehicle_sprite_0_4(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_4(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { sint32 ecx = ((imageDirection / 2) ^ 8) + 108; sint32 ebx = ((imageDirection + 48) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_paint_6D51DE(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4F84 -static void vehicle_sprite_0_5(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_5(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1030,14 +1030,14 @@ static void vehicle_sprite_0_5(rct_vehicle *vehicle, sint32 imageDirection, sint if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { sint32 ecx = (imageDirection / 8) + 124; sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0_2(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4FE4 -static void vehicle_sprite_0_6(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_6(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1045,14 +1045,14 @@ static void vehicle_sprite_0_6(rct_vehicle *vehicle, sint32 imageDirection, sint if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { sint32 ecx = (imageDirection / 8) + 128; sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0_2(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D5055 -static void vehicle_sprite_0_7(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_7(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1060,14 +1060,14 @@ static void vehicle_sprite_0_7(rct_vehicle *vehicle, sint32 imageDirection, sint if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { sint32 ecx = (imageDirection / 8) + 132; sint32 ebx = (((imageDirection / 8) + 16) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0_2(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D50C6 -static void vehicle_sprite_0_8(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_8(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1075,14 +1075,14 @@ static void vehicle_sprite_0_8(rct_vehicle *vehicle, sint32 imageDirection, sint if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { sint32 ecx = (imageDirection / 8) + 136; sint32 ebx = (((imageDirection / 8) + 24) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0_2(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D5137 -static void vehicle_sprite_0_9(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_9(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1090,14 +1090,14 @@ static void vehicle_sprite_0_9(rct_vehicle *vehicle, sint32 imageDirection, sint if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { sint32 ecx = (imageDirection / 8) + 140; sint32 ebx = (((imageDirection / 8) + 32) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0_2(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4FB1 -static void vehicle_sprite_0_10(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_10(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1105,14 +1105,14 @@ static void vehicle_sprite_0_10(rct_vehicle *vehicle, sint32 imageDirection, sin if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { sint32 ecx = ((imageDirection / 8) ^ 2) + 124; sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0_4(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D501B -static void vehicle_sprite_0_11(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_11(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1120,14 +1120,14 @@ static void vehicle_sprite_0_11(rct_vehicle *vehicle, sint32 imageDirection, sin if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { sint32 ecx = ((imageDirection / 8) ^ 2) + 128; sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0_4(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D508C -static void vehicle_sprite_0_12(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_12(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1135,14 +1135,14 @@ static void vehicle_sprite_0_12(rct_vehicle *vehicle, sint32 imageDirection, sin if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { sint32 ecx = ((imageDirection / 8) ^ 2) + 132; sint32 ebx = (((imageDirection / 8) + 20) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0_4(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D50FD -static void vehicle_sprite_0_13(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_13(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1150,14 +1150,14 @@ static void vehicle_sprite_0_13(rct_vehicle *vehicle, sint32 imageDirection, sin if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { sint32 ecx = ((imageDirection / 8) ^ 2) + 136; sint32 ebx = (((imageDirection / 8) + 28) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0_4(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D516E -static void vehicle_sprite_0_14(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_14(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1165,630 +1165,630 @@ static void vehicle_sprite_0_14(rct_vehicle *vehicle, sint32 imageDirection, sin if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS) { sint32 ecx = ((imageDirection / 8) ^ 2) + 140; sint32 ebx = (((imageDirection / 8) + 36) * vehicleEntry->var_16) + vehicleEntry->var_34; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0_2(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4EE4 -static void vehicle_sprite_0_16(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_16(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { vehicleEntry--; if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { sint32 ecx = imageDirection / 2; sint32 ebx = ((imageDirection / 4) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_paint_6D51DE(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4F31 -static void vehicle_sprite_0_17(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_17(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { vehicleEntry--; if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { sint32 ecx = (imageDirection / 2) + 108; sint32 ebx = ((imageDirection + 16) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_paint_6D51DE(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4F09 -static void vehicle_sprite_0_18(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_18(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { vehicleEntry--; if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { sint32 ecx = imageDirection / 2; sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_paint_6D51DE(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4F59 -static void vehicle_sprite_0_19(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0_19(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { vehicleEntry--; if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED) { sint32 ecx = ((imageDirection / 2) ^ 8) + 108; sint32 ebx = ((imageDirection + 48) * vehicleEntry->var_16) + vehicleEntry->var_30; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_paint_6D51DE(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D51D7 -static void vehicle_sprite_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_0(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { // 0x009A3DE4: switch (vehicle->bank_rotation) { - case 0: vehicle_sprite_0_0(vehicle, imageDirection, z, vehicleEntry); break; - case 1: vehicle_sprite_0_1(vehicle, imageDirection, z, vehicleEntry); break; - case 2: vehicle_sprite_0_2(vehicle, imageDirection, z, vehicleEntry); break; - case 3: vehicle_sprite_0_3(vehicle, imageDirection, z, vehicleEntry); break; - case 4: vehicle_sprite_0_4(vehicle, imageDirection, z, vehicleEntry); break; - case 5: vehicle_sprite_0_5(vehicle, imageDirection, z, vehicleEntry); break; - case 6: vehicle_sprite_0_6(vehicle, imageDirection, z, vehicleEntry); break; - case 7: vehicle_sprite_0_7(vehicle, imageDirection, z, vehicleEntry); break; - case 8: vehicle_sprite_0_8(vehicle, imageDirection, z, vehicleEntry); break; - case 9: vehicle_sprite_0_9(vehicle, imageDirection, z, vehicleEntry); break; - case 10: vehicle_sprite_0_10(vehicle, imageDirection, z, vehicleEntry); break; - case 11: vehicle_sprite_0_11(vehicle, imageDirection, z, vehicleEntry); break; - case 12: vehicle_sprite_0_12(vehicle, imageDirection, z, vehicleEntry); break; - case 13: vehicle_sprite_0_13(vehicle, imageDirection, z, vehicleEntry); break; - case 14: vehicle_sprite_0_14(vehicle, imageDirection, z, vehicleEntry); break; - case 15: vehicle_sprite_0_0(vehicle, imageDirection, z, vehicleEntry); break; - case 16: vehicle_sprite_0_16(vehicle, imageDirection, z, vehicleEntry); break; - case 17: vehicle_sprite_0_17(vehicle, imageDirection, z, vehicleEntry); break; - case 18: vehicle_sprite_0_18(vehicle, imageDirection, z, vehicleEntry); break; - case 19: vehicle_sprite_0_19(vehicle, imageDirection, z, vehicleEntry); break; + case 0: vehicle_sprite_0_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 1: vehicle_sprite_0_1(session, vehicle, imageDirection, z, vehicleEntry); break; + case 2: vehicle_sprite_0_2(session, vehicle, imageDirection, z, vehicleEntry); break; + case 3: vehicle_sprite_0_3(session, vehicle, imageDirection, z, vehicleEntry); break; + case 4: vehicle_sprite_0_4(session, vehicle, imageDirection, z, vehicleEntry); break; + case 5: vehicle_sprite_0_5(session, vehicle, imageDirection, z, vehicleEntry); break; + case 6: vehicle_sprite_0_6(session, vehicle, imageDirection, z, vehicleEntry); break; + case 7: vehicle_sprite_0_7(session, vehicle, imageDirection, z, vehicleEntry); break; + case 8: vehicle_sprite_0_8(session, vehicle, imageDirection, z, vehicleEntry); break; + case 9: vehicle_sprite_0_9(session, vehicle, imageDirection, z, vehicleEntry); break; + case 10: vehicle_sprite_0_10(session, vehicle, imageDirection, z, vehicleEntry); break; + case 11: vehicle_sprite_0_11(session, vehicle, imageDirection, z, vehicleEntry); break; + case 12: vehicle_sprite_0_12(session, vehicle, imageDirection, z, vehicleEntry); break; + case 13: vehicle_sprite_0_13(session, vehicle, imageDirection, z, vehicleEntry); break; + case 14: vehicle_sprite_0_14(session, vehicle, imageDirection, z, vehicleEntry); break; + case 15: vehicle_sprite_0_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 16: vehicle_sprite_0_16(session, vehicle, imageDirection, z, vehicleEntry); break; + case 17: vehicle_sprite_0_17(session, vehicle, imageDirection, z, vehicleEntry); break; + case 18: vehicle_sprite_0_18(session, vehicle, imageDirection, z, vehicleEntry); break; + case 19: vehicle_sprite_0_19(session, vehicle, imageDirection, z, vehicleEntry); break; } } // 6D4614 -static void vehicle_sprite_1_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_1_0(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES) { sint32 ecx = imageDirection / 2; sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_20; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4662 -static void vehicle_sprite_1_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_1_1(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS) { sint32 ecx = imageDirection / 2; sint32 ebx = (imageDirection * vehicleEntry->var_16) + vehicleEntry->var_38; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_1_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D46DB -static void vehicle_sprite_1_2(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_1_2(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS) { sint32 ecx = imageDirection / 2; sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_48; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_1_1(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_1_1(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D467D -static void vehicle_sprite_1_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_1_3(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS) { sint32 ecx = imageDirection / 2; sint32 ebx = ((imageDirection + 32) * vehicleEntry->var_16) + vehicleEntry->var_38; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_1_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D46FD -static void vehicle_sprite_1_4(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_1_4(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS) { sint32 ecx = imageDirection / 2; sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_48; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_1_3(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_1_3(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D460D -static void vehicle_sprite_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_1(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { // 0x009A3C04: switch (vehicle->bank_rotation) { - case 0: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 1: vehicle_sprite_1_1(vehicle, imageDirection, z, vehicleEntry); break; - case 2: vehicle_sprite_1_2(vehicle, imageDirection, z, vehicleEntry); break; - case 3: vehicle_sprite_1_3(vehicle, imageDirection, z, vehicleEntry); break; - case 4: vehicle_sprite_1_4(vehicle, imageDirection, z, vehicleEntry); break; - case 5: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 6: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 7: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 8: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 9: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 10: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 11: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 12: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 13: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 14: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 15: vehicle_sprite_1_0(vehicle, imageDirection, z, vehicleEntry); break; - case 16: vehicle_sprite_1_1(vehicle, imageDirection, z, vehicleEntry); break; - case 17: vehicle_sprite_1_2(vehicle, imageDirection, z, vehicleEntry); break; - case 18: vehicle_sprite_1_3(vehicle, imageDirection, z, vehicleEntry); break; - case 19: vehicle_sprite_1_4(vehicle, imageDirection, z, vehicleEntry); break; + case 0: vehicle_sprite_1_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 1: vehicle_sprite_1_1(session, vehicle, imageDirection, z, vehicleEntry); break; + case 2: vehicle_sprite_1_2(session, vehicle, imageDirection, z, vehicleEntry); break; + case 3: vehicle_sprite_1_3(session, vehicle, imageDirection, z, vehicleEntry); break; + case 4: vehicle_sprite_1_4(session, vehicle, imageDirection, z, vehicleEntry); break; + case 5: vehicle_sprite_1_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 6: vehicle_sprite_1_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 7: vehicle_sprite_1_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 8: vehicle_sprite_1_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 9: vehicle_sprite_1_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 10: vehicle_sprite_1_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 11: vehicle_sprite_1_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 12: vehicle_sprite_1_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 13: vehicle_sprite_1_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 14: vehicle_sprite_1_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 15: vehicle_sprite_1_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 16: vehicle_sprite_1_1(session, vehicle, imageDirection, z, vehicleEntry); break; + case 17: vehicle_sprite_1_2(session, vehicle, imageDirection, z, vehicleEntry); break; + case 18: vehicle_sprite_1_3(session, vehicle, imageDirection, z, vehicleEntry); break; + case 19: vehicle_sprite_1_4(session, vehicle, imageDirection, z, vehicleEntry); break; } } // 6D4791 -static void vehicle_sprite_2_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_2_0(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES) { if (vehicleEntry->flags & VEHICLE_ENTRY_FLAG_14) { sint32 ecx = (imageDirection / 2) + 16; sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_20; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { sint32 ecx = (imageDirection / 2) + 16; sint32 ebx = ((imageDirection + 8) * vehicleEntry->var_16) + vehicleEntry->var_20; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4833 -static void vehicle_sprite_2_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_2_1(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS) { sint32 ecx = (imageDirection / 2) + 16; sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_40; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D48D6 -static void vehicle_sprite_2_2(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_2_2(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS) { sint32 ecx = imageDirection / 2; if (vehicleEntry->draw_order < 5) { ecx += 108; sint32 ebx = (imageDirection * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { ecx += 16; sint32 ebx = (imageDirection * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } } else { - vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4858 -static void vehicle_sprite_2_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_2_3(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS) { sint32 ecx = (imageDirection / 2) + 16; sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_40; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4910 -static void vehicle_sprite_2_4(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_2_4(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS) { sint32 ecx = imageDirection / 2; if (vehicleEntry->draw_order < 5) { ecx = (ecx ^ 8) + 108; sint32 ebx = ((imageDirection + 32) * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { ecx += 16; sint32 ebx = ((imageDirection + 32) * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } } else { - vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D476C -static void vehicle_sprite_2(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_2(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { // 0x009A3CA4: switch (vehicle->bank_rotation) { - case 0: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 1: vehicle_sprite_2_1(vehicle, imageDirection, z, vehicleEntry); break; - case 2: vehicle_sprite_2_2(vehicle, imageDirection, z, vehicleEntry); break; - case 3: vehicle_sprite_2_3(vehicle, imageDirection, z, vehicleEntry); break; - case 4: vehicle_sprite_2_4(vehicle, imageDirection, z, vehicleEntry); break; - case 5: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 6: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 7: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 8: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 9: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 10: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 11: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 12: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 13: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 14: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 15: vehicle_sprite_2_0(vehicle, imageDirection, z, vehicleEntry); break; - case 16: vehicle_sprite_2_1(vehicle, imageDirection, z, vehicleEntry); break; - case 17: vehicle_sprite_2_2(vehicle, imageDirection, z, vehicleEntry); break; - case 18: vehicle_sprite_2_3(vehicle, imageDirection, z, vehicleEntry); break; - case 19: vehicle_sprite_2_4(vehicle, imageDirection, z, vehicleEntry); break; + case 0: vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 1: vehicle_sprite_2_1(session, vehicle, imageDirection, z, vehicleEntry); break; + case 2: vehicle_sprite_2_2(session, vehicle, imageDirection, z, vehicleEntry); break; + case 3: vehicle_sprite_2_3(session, vehicle, imageDirection, z, vehicleEntry); break; + case 4: vehicle_sprite_2_4(session, vehicle, imageDirection, z, vehicleEntry); break; + case 5: vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 6: vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 7: vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 8: vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 9: vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 10: vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 11: vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 12: vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 13: vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 14: vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 15: vehicle_sprite_2_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 16: vehicle_sprite_2_1(session, vehicle, imageDirection, z, vehicleEntry); break; + case 17: vehicle_sprite_2_2(session, vehicle, imageDirection, z, vehicleEntry); break; + case 18: vehicle_sprite_2_3(session, vehicle, imageDirection, z, vehicleEntry); break; + case 19: vehicle_sprite_2_4(session, vehicle, imageDirection, z, vehicleEntry); break; } } // 6D49DC -static void vehicle_sprite_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_3(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (!(vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES)) { - vehicle_sprite_2(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_2(session, vehicle, imageDirection, z, vehicleEntry); } else { sint32 ecx = (imageDirection / 4) + 32; sint32 ebx = ((imageDirection / 4) * vehicleEntry->var_16) + vehicleEntry->var_24; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } } // 6D4A31 -static void vehicle_sprite_4(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_4(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (!(vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES)) { - vehicle_sprite_2(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_2(session, vehicle, imageDirection, z, vehicleEntry); } else { sint32 ecx = (imageDirection / 2) + 40; sint32 ebx = ((imageDirection + 16) * vehicleEntry->var_16) + vehicleEntry->var_24; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } } // 6D463D -static void vehicle_sprite_5_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_5_0(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES) { sint32 ecx = imageDirection / 2; sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_20; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D469B -static void vehicle_sprite_5_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_5_1(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS) { sint32 ecx = imageDirection / 2; sint32 ebx = ((imageDirection + 64) * vehicleEntry->var_16) + vehicleEntry->var_38; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_5_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4722 -static void vehicle_sprite_5_2(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_5_2(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS) { sint32 ecx = imageDirection / 2; sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_48; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_5_1(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_5_1(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D46B9 -static void vehicle_sprite_5_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_5_3(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS) { sint32 ecx = imageDirection / 2; sint32 ebx = ((imageDirection + 96) * vehicleEntry->var_16) + vehicleEntry->var_38; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_5_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4747 -static void vehicle_sprite_5_4(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_5_4(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS) { sint32 ecx = imageDirection / 2; sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_48; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_5_3(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_5_3(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4636 -static void vehicle_sprite_5(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_5(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { // 0x009A3C54: switch (vehicle->bank_rotation) { - case 0: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 1: vehicle_sprite_5_1(vehicle, imageDirection, z, vehicleEntry); break; - case 2: vehicle_sprite_5_2(vehicle, imageDirection, z, vehicleEntry); break; - case 3: vehicle_sprite_5_3(vehicle, imageDirection, z, vehicleEntry); break; - case 4: vehicle_sprite_5_4(vehicle, imageDirection, z, vehicleEntry); break; - case 5: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 6: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 7: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 8: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 9: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 10: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 11: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 12: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 13: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 14: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 15: vehicle_sprite_5_0(vehicle, imageDirection, z, vehicleEntry); break; - case 16: vehicle_sprite_5_1(vehicle, imageDirection, z, vehicleEntry); break; - case 17: vehicle_sprite_5_2(vehicle, imageDirection, z, vehicleEntry); break; - case 18: vehicle_sprite_5_3(vehicle, imageDirection, z, vehicleEntry); break; - case 19: vehicle_sprite_5_4(vehicle, imageDirection, z, vehicleEntry); break; + case 0: vehicle_sprite_5_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 1: vehicle_sprite_5_1(session, vehicle, imageDirection, z, vehicleEntry); break; + case 2: vehicle_sprite_5_2(session, vehicle, imageDirection, z, vehicleEntry); break; + case 3: vehicle_sprite_5_3(session, vehicle, imageDirection, z, vehicleEntry); break; + case 4: vehicle_sprite_5_4(session, vehicle, imageDirection, z, vehicleEntry); break; + case 5: vehicle_sprite_5_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 6: vehicle_sprite_5_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 7: vehicle_sprite_5_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 8: vehicle_sprite_5_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 9: vehicle_sprite_5_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 10: vehicle_sprite_5_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 11: vehicle_sprite_5_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 12: vehicle_sprite_5_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 13: vehicle_sprite_5_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 14: vehicle_sprite_5_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 15: vehicle_sprite_5_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 16: vehicle_sprite_5_1(session, vehicle, imageDirection, z, vehicleEntry); break; + case 17: vehicle_sprite_5_2(session, vehicle, imageDirection, z, vehicleEntry); break; + case 18: vehicle_sprite_5_3(session, vehicle, imageDirection, z, vehicleEntry); break; + case 19: vehicle_sprite_5_4(session, vehicle, imageDirection, z, vehicleEntry); break; } } // 6D47E4 -static void vehicle_sprite_6_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_6_0(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES) { if (vehicleEntry->flags & VEHICLE_ENTRY_FLAG_14) { sint32 ecx = ((imageDirection / 2) ^ 8) + 16; sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_20; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { sint32 ecx = ((imageDirection / 2) ^ 8) + 16; sint32 ebx = ((imageDirection + 40) * vehicleEntry->var_16) + vehicleEntry->var_20; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4880 -static void vehicle_sprite_6_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_6_1(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS) { sint32 ecx = ((imageDirection / 2) ^ 8) + 16; sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_40; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4953 -static void vehicle_sprite_6_2(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_6_2(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS) { sint32 ecx = imageDirection / 2; if (vehicleEntry->draw_order < 5) { ecx += 108; sint32 ebx = ((imageDirection + 64) * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { ecx = (ecx ^ 8) + 16; sint32 ebx = ((imageDirection + 64) * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } } else { - vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D48AB -static void vehicle_sprite_6_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_6_3(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS) { sint32 ecx = ((imageDirection / 2) ^ 8) + 16; sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_40; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4996 -static void vehicle_sprite_6_4(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_6_4(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS) { sint32 ecx = imageDirection / 2; if (vehicleEntry->draw_order < 5) { ecx = (ecx ^ 8) + 108; sint32 ebx = ((imageDirection + 96) * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { ecx = (ecx ^ 8) + 16; sint32 ebx = ((imageDirection + 96) * vehicleEntry->var_16) + vehicleEntry->var_44; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } } else { - vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D47DD -static void vehicle_sprite_6(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_6(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { // 0x009A3CF4: switch (vehicle->bank_rotation) { - case 0: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 1: vehicle_sprite_6_1(vehicle, imageDirection, z, vehicleEntry); break; - case 2: vehicle_sprite_6_2(vehicle, imageDirection, z, vehicleEntry); break; - case 3: vehicle_sprite_6_3(vehicle, imageDirection, z, vehicleEntry); break; - case 4: vehicle_sprite_6_4(vehicle, imageDirection, z, vehicleEntry); break; - case 5: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 6: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 7: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 8: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 9: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 10: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 11: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 12: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 13: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 14: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 15: vehicle_sprite_6_0(vehicle, imageDirection, z, vehicleEntry); break; - case 16: vehicle_sprite_6_1(vehicle, imageDirection, z, vehicleEntry); break; - case 17: vehicle_sprite_6_2(vehicle, imageDirection, z, vehicleEntry); break; - case 18: vehicle_sprite_6_3(vehicle, imageDirection, z, vehicleEntry); break; - case 19: vehicle_sprite_6_4(vehicle, imageDirection, z, vehicleEntry); break; + case 0: vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 1: vehicle_sprite_6_1(session, vehicle, imageDirection, z, vehicleEntry); break; + case 2: vehicle_sprite_6_2(session, vehicle, imageDirection, z, vehicleEntry); break; + case 3: vehicle_sprite_6_3(session, vehicle, imageDirection, z, vehicleEntry); break; + case 4: vehicle_sprite_6_4(session, vehicle, imageDirection, z, vehicleEntry); break; + case 5: vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 6: vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 7: vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 8: vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 9: vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 10: vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 11: vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 12: vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 13: vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 14: vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 15: vehicle_sprite_6_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 16: vehicle_sprite_6_1(session, vehicle, imageDirection, z, vehicleEntry); break; + case 17: vehicle_sprite_6_2(session, vehicle, imageDirection, z, vehicleEntry); break; + case 18: vehicle_sprite_6_3(session, vehicle, imageDirection, z, vehicleEntry); break; + case 19: vehicle_sprite_6_4(session, vehicle, imageDirection, z, vehicleEntry); break; } } // 6D4A05 -static void vehicle_sprite_7(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_7(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES) { sint32 ecx = ((imageDirection / 4) ^ 4) + 32; sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->var_16) + vehicleEntry->var_24; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_6(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4A59 -static void vehicle_sprite_8(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_8(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES) { sint32 ecx = ((imageDirection / 2) ^ 8) + 40; sint32 ebx = ((imageDirection + 48) * vehicleEntry->var_16) + vehicleEntry->var_24; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_6(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4A81 -static void vehicle_sprite_9(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_9(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = (imageDirection / 8) + 56; sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_4(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4AE8 -static void vehicle_sprite_10(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_10(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = (imageDirection / 2) + 60; sint32 ebx = ((imageDirection + 8) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_4(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4B57 -static void vehicle_sprite_11(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_11(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = (imageDirection / 8) + 76; sint32 ebx = (((imageDirection / 8) + 72) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_4(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4BB7 -static void vehicle_sprite_12(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_12(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = (imageDirection / 8) + 80; sint32 ebx = (((imageDirection / 8) + 80) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_4(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4C17 -static void vehicle_sprite_13(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_13(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = (imageDirection / 8) + 84; sint32 ebx = (((imageDirection / 8) + 88) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_4(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4C77 -static void vehicle_sprite_14(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_14(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = (imageDirection / 8) + 88; sint32 ebx = (((imageDirection / 8) + 96) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_4(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4CD7 -static void vehicle_sprite_15(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_15(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = (imageDirection / 8) + 92; sint32 ebx = (((imageDirection / 8) + 104) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_4(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4D37 -static void vehicle_sprite_16(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_16(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = (imageDirection / 8) + 96; sint32 ebx = (((imageDirection / 8) + 112) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_4(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_4(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4AA3 -static void vehicle_sprite_17(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_17(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { if( (vehicle->track_type >> 2) != TRACK_ELEM_90_DEG_DOWN_TO_60_DEG_DOWN && @@ -1799,14 +1799,14 @@ static void vehicle_sprite_17(rct_vehicle *vehicle, sint32 imageDirection, sint3 if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = ((imageDirection / 8) ^ 2) + 56; sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_8(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4B0D -static void vehicle_sprite_18(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_18(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { if( (vehicle->track_type >> 2) != TRACK_ELEM_90_DEG_DOWN && @@ -1818,14 +1818,14 @@ static void vehicle_sprite_18(rct_vehicle *vehicle, sint32 imageDirection, sint3 if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = ((imageDirection / 2) ^ 8) + 60; sint32 ebx = ((imageDirection + 40) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_8(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4B80 -static void vehicle_sprite_19(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_19(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1833,14 +1833,14 @@ static void vehicle_sprite_19(rct_vehicle *vehicle, sint32 imageDirection, sint3 if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = ((imageDirection / 8) ^ 2) + 76; sint32 ebx = (((imageDirection / 8) + 76) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_8(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4BE0 -static void vehicle_sprite_20(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_20(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1848,14 +1848,14 @@ static void vehicle_sprite_20(rct_vehicle *vehicle, sint32 imageDirection, sint3 if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = ((imageDirection / 8) ^ 2) + 80; sint32 ebx = (((imageDirection / 8) + 84) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_8(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4C40 -static void vehicle_sprite_21(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_21(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1863,14 +1863,14 @@ static void vehicle_sprite_21(rct_vehicle *vehicle, sint32 imageDirection, sint3 if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = ((imageDirection / 8) ^ 2) + 84; sint32 ebx = (((imageDirection / 8) + 92) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_8(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4CA0 -static void vehicle_sprite_22(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_22(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1878,14 +1878,14 @@ static void vehicle_sprite_22(rct_vehicle *vehicle, sint32 imageDirection, sint3 if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = ((imageDirection / 8) ^ 2) + 88; sint32 ebx = (((imageDirection / 8) + 100) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_8(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4D00 -static void vehicle_sprite_23(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_23(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1893,14 +1893,14 @@ static void vehicle_sprite_23(rct_vehicle *vehicle, sint32 imageDirection, sint3 if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES) { sint32 ecx = ((imageDirection / 8) ^ 2) + 92; sint32 ebx = (((imageDirection / 8) + 108) * vehicleEntry->var_16) + vehicleEntry->var_28; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_8(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_8(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D51A5 -static void vehicle_sprite_24(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_24(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicle->update_flags & VEHICLE_UPDATE_FLAG_USE_INVERTED_SPRITES) { vehicleEntry--; @@ -1909,235 +1909,235 @@ static void vehicle_sprite_24(rct_vehicle *vehicle, sint32 imageDirection, sint3 sint32 eax = ((vehicle->vehicle_sprite_type - 24) * 4); sint32 ecx = (imageDirection / 8) + eax + 144; sint32 ebx = (((imageDirection / 8) + eax) * vehicleEntry->var_16) + vehicleEntry->var_4C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_paint_6D51DE(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_paint_6D51DE(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4D67 -static void vehicle_sprite_50_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_50_0(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { sint32 ecx = imageDirection / 2; sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_2C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4DB5 -static void vehicle_sprite_50_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_50_1(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS) { sint32 ecx = imageDirection / 2; sint32 ebx = ((imageDirection / 8) * vehicleEntry->var_16) + vehicleEntry->var_3C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4DD3 -static void vehicle_sprite_50_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_50_3(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS) { sint32 ecx = imageDirection / 2; sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_3C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4D60 -static void vehicle_sprite_50(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_50(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { // 0x009A3D44: switch (vehicle->bank_rotation) { - case 0: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 1: vehicle_sprite_50_1(vehicle, imageDirection, z, vehicleEntry); break; - case 2: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 3: vehicle_sprite_50_3(vehicle, imageDirection, z, vehicleEntry); break; - case 4: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 5: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 6: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 7: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 8: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 9: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 10: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 11: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 12: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 13: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 14: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 15: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 16: vehicle_sprite_50_1(vehicle, imageDirection, z, vehicleEntry); break; - case 17: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; - case 18: vehicle_sprite_50_3(vehicle, imageDirection, z, vehicleEntry); break; - case 19: vehicle_sprite_50_0(vehicle, imageDirection, z, vehicleEntry); break; + case 0: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 1: vehicle_sprite_50_1(session, vehicle, imageDirection, z, vehicleEntry); break; + case 2: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 3: vehicle_sprite_50_3(session, vehicle, imageDirection, z, vehicleEntry); break; + case 4: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 5: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 6: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 7: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 8: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 9: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 10: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 11: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 12: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 13: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 14: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 15: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 16: vehicle_sprite_50_1(session, vehicle, imageDirection, z, vehicleEntry); break; + case 17: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 18: vehicle_sprite_50_3(session, vehicle, imageDirection, z, vehicleEntry); break; + case 19: vehicle_sprite_50_0(session, vehicle, imageDirection, z, vehicleEntry); break; } } // 6D4E3A -static void vehicle_sprite_51(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_51(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { sint32 ecx = (imageDirection / 8) + 100; sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_2C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4E8F -static void vehicle_sprite_52(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_52(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { sint32 ecx = (imageDirection / 8) + 104; sint32 ebx = (((imageDirection / 8) + 16) * vehicleEntry->var_16) + vehicleEntry->var_2C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4D90 -static void vehicle_sprite_53_0(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_53_0(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { sint32 ecx = imageDirection / 2; sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->var_16) + vehicleEntry->var_2C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4DF4 -static void vehicle_sprite_53_1(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_53_1(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS) { sint32 ecx = imageDirection / 2; sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->var_16) + vehicleEntry->var_3C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4E15 -static void vehicle_sprite_53_3(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_53_3(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS) { sint32 ecx = imageDirection / 2; sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_3C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4D89 -static void vehicle_sprite_53(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_53(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { // 0x009A3D94: switch (vehicle->bank_rotation) { - case 0: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 1: vehicle_sprite_53_1(vehicle, imageDirection, z, vehicleEntry); break; - case 2: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 3: vehicle_sprite_53_3(vehicle, imageDirection, z, vehicleEntry); break; - case 4: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 5: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 6: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 7: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 8: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 9: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 10: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 11: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 12: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 13: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 14: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 15: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 16: vehicle_sprite_53_1(vehicle, imageDirection, z, vehicleEntry); break; - case 17: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; - case 18: vehicle_sprite_53_3(vehicle, imageDirection, z, vehicleEntry); break; - case 19: vehicle_sprite_53_0(vehicle, imageDirection, z, vehicleEntry); break; + case 0: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 1: vehicle_sprite_53_1(session, vehicle, imageDirection, z, vehicleEntry); break; + case 2: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 3: vehicle_sprite_53_3(session, vehicle, imageDirection, z, vehicleEntry); break; + case 4: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 5: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 6: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 7: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 8: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 9: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 10: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 11: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 12: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 13: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 14: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 15: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 16: vehicle_sprite_53_1(session, vehicle, imageDirection, z, vehicleEntry); break; + case 17: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; + case 18: vehicle_sprite_53_3(session, vehicle, imageDirection, z, vehicleEntry); break; + case 19: vehicle_sprite_53_0(session, vehicle, imageDirection, z, vehicleEntry); break; } } // 6D4E63 -static void vehicle_sprite_54(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_54(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { sint32 ecx = ((imageDirection / 8) ^ 2) + 100; sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->var_16) + vehicleEntry->var_2C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4EB8 -static void vehicle_sprite_55(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_55(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES) { sint32 ecx = ((imageDirection / 8) ^ 2) + 104; sint32 ebx = (((imageDirection / 8) + 20) * vehicleEntry->var_16) + vehicleEntry->var_2C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_0(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_0(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D47DA -static void vehicle_sprite_56(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_56(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { vehicleEntry--; - vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_6(session, vehicle, imageDirection, z, vehicleEntry); } // 6D4A02 -static void vehicle_sprite_57(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_57(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { vehicleEntry--; if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES) { sint32 ecx = ((imageDirection / 4) ^ 4) + 32; sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->var_16) + vehicleEntry->var_24; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_6(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4A56 -static void vehicle_sprite_58(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_58(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { vehicleEntry--; if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES) { sint32 ecx = ((imageDirection / 2) ^ 8) + 40; sint32 ebx = ((imageDirection + 48) * vehicleEntry->var_16) + vehicleEntry->var_24; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_6(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_6(session, vehicle, imageDirection, z, vehicleEntry); } } // 6D4773 -static void vehicle_sprite_59(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) +static void vehicle_sprite_59(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry) { if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_14) { sint32 ecx = (imageDirection / 2) + 16; sint32 ebx = (imageDirection * vehicleEntry->var_16) + vehicleEntry->var_4C; - vehicle_sprite_paint_6D520E(vehicle, ebx, ecx, z, vehicleEntry); + vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry); } else { - vehicle_sprite_2(vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_2(session, vehicle, imageDirection, z, vehicleEntry); } } // 0x009A3B14: -typedef void (*vehicle_sprite_func)(rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry); +typedef void (*vehicle_sprite_func)(paint_session * session, rct_vehicle *vehicle, sint32 imageDirection, sint32 z, const rct_ride_entry_vehicle *vehicleEntry); vehicle_sprite_func vehicle_sprite_funcs[] = { vehicle_sprite_0, vehicle_sprite_1, @@ -2325,7 +2325,7 @@ void vehicle_visual_default(paint_session * session, sint32 x, sint32 imageDirec { assert(vehicle->vehicle_sprite_type < countof(vehicle_sprite_funcs)); if (vehicle->vehicle_sprite_type < countof(vehicle_sprite_funcs)) { - vehicle_sprite_funcs[vehicle->vehicle_sprite_type](vehicle, imageDirection, z, vehicleEntry); + vehicle_sprite_funcs[vehicle->vehicle_sprite_type](session, vehicle, imageDirection, z, vehicleEntry); } }