Name every remaining vehicle entry offset!

Removed redundant comments as some were incorrect and its clear from the code now that the flags are named
This commit is contained in:
duncanspumpkin 2018-01-17 20:39:16 +00:00 committed by Duncan
parent 5401e69b50
commit 00a9ab1b17
6 changed files with 144 additions and 150 deletions

View File

@ -154,10 +154,9 @@ void RideObject::Load()
image_index += b;
// Incline 25
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES)
{
vehicleEntry->var_20 = image_index;
vehicleEntry->gentle_slope_image_id = image_index;
b = vehicleEntry->base_num_frames * 72;
if (vehicleEntry->flags & VEHICLE_ENTRY_FLAG_SPINNING_ADDITIONAL_FRAMES)
{
@ -166,102 +165,94 @@ void RideObject::Load()
image_index += b;
}
// Incline 60
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES)
{
vehicleEntry->var_24 = image_index;
vehicleEntry->steep_slope_image_id = image_index;
b = vehicleEntry->base_num_frames * 80;
image_index += b;
}
// Vertical
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
vehicleEntry->var_28 = image_index;
vehicleEntry->vertical_slope_image_id = image_index;
b = vehicleEntry->base_num_frames * 116;
image_index += b;
}
// Unknown
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES)
{
vehicleEntry->var_2C = image_index;
vehicleEntry->diagonal_slope_image_id = image_index;
b = vehicleEntry->base_num_frames * 24;
image_index += b;
}
// Bank
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED)
{
vehicleEntry->var_30 = image_index;
vehicleEntry->banked_image_id = image_index;
b = vehicleEntry->base_num_frames * 80;
image_index += b;
}
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS)
{
vehicleEntry->var_34 = image_index;
vehicleEntry->inline_twist_image_id = image_index;
b = vehicleEntry->base_num_frames * 40;
image_index += b;
}
// Track half? Up/Down
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
vehicleEntry->var_38 = image_index;
vehicleEntry->flat_to_gentle_bank_image_id = image_index;
b = vehicleEntry->base_num_frames * 128;
image_index += b;
}
// Unknown
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
vehicleEntry->var_3C = image_index;
vehicleEntry->diagonal_to_gentle_slope_bank_image_id = image_index;
b = vehicleEntry->base_num_frames * 16;
image_index += b;
}
// Unknown
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
vehicleEntry->var_40 = image_index;
vehicleEntry->gentle_slope_to_bank_image_id = image_index;
b = vehicleEntry->base_num_frames * 16;
image_index += b;
}
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TURNS)
{
vehicleEntry->var_44 = image_index;
vehicleEntry->gentle_slope_bank_turn_image_id = image_index;
b = vehicleEntry->base_num_frames * 128;
image_index += b;
}
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS)
{
vehicleEntry->var_48 = image_index;
vehicleEntry->flat_bank_to_gentle_slope_image_id = image_index;
b = vehicleEntry->base_num_frames * 16;
image_index += b;
}
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_CORKSCREWS)
{
vehicleEntry->var_4C = image_index;
vehicleEntry->corkscrew_image_id = image_index;
b = vehicleEntry->base_num_frames * 80;
image_index += b;
}
// Unknown
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION)
{
vehicleEntry->var_1C = image_index;
vehicleEntry->restraint_image_id = image_index;
b = vehicleEntry->base_num_frames * 12;
image_index += b;
}
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_14)
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_CURVED_LIFT_HILL)
{
// Same offset as above???
vehicleEntry->var_4C = image_index;
// Same offset as corkscrew
vehicleEntry->curved_lift_hill_image_id = image_index;
b = vehicleEntry->base_num_frames * 32;
image_index += b;
}
@ -394,25 +385,25 @@ void RideObject::ReadLegacyVehicle(IReadObjectContext * context, IStream * strea
vehicle->flags = stream->ReadValue<uint32>();
vehicle->base_num_frames = stream->ReadValue<uint16>();
stream->Seek(4, STREAM_SEEK_CURRENT);
vehicle->var_1C = stream->ReadValue<uint32>();
vehicle->var_20 = stream->ReadValue<uint32>();
vehicle->var_24 = stream->ReadValue<uint32>();
vehicle->var_28 = stream->ReadValue<uint32>();
vehicle->var_2C = stream->ReadValue<uint32>();
vehicle->var_30 = stream->ReadValue<uint32>();
vehicle->var_34 = stream->ReadValue<uint32>();
vehicle->var_38 = stream->ReadValue<uint32>();
vehicle->var_3C = stream->ReadValue<uint32>();
vehicle->var_40 = stream->ReadValue<uint32>();
vehicle->var_44 = stream->ReadValue<uint32>();
vehicle->var_48 = stream->ReadValue<uint32>();
vehicle->var_4C = stream->ReadValue<uint32>();
vehicle->restraint_image_id = stream->ReadValue<uint32>();
vehicle->gentle_slope_image_id = stream->ReadValue<uint32>();
vehicle->steep_slope_image_id = stream->ReadValue<uint32>();
vehicle->vertical_slope_image_id = stream->ReadValue<uint32>();
vehicle->diagonal_slope_image_id = stream->ReadValue<uint32>();
vehicle->banked_image_id = stream->ReadValue<uint32>();
vehicle->inline_twist_image_id = stream->ReadValue<uint32>();
vehicle->flat_to_gentle_bank_image_id = stream->ReadValue<uint32>();
vehicle->diagonal_to_gentle_slope_bank_image_id = stream->ReadValue<uint32>();
vehicle->gentle_slope_to_bank_image_id = stream->ReadValue<uint32>();
vehicle->gentle_slope_bank_turn_image_id = stream->ReadValue<uint32>();
vehicle->flat_bank_to_gentle_slope_image_id = stream->ReadValue<uint32>();
vehicle->corkscrew_image_id = stream->ReadValue<uint32>();
vehicle->no_vehicle_images = stream->ReadValue<uint32>();
vehicle->no_seating_rows = stream->ReadValue<uint8>();
vehicle->spinning_inertia = stream->ReadValue<uint8>();
vehicle->spinning_friction = stream->ReadValue<uint8>();
vehicle->friction_sound_id = stream->ReadValue<uint8>();
vehicle->var_58 = stream->ReadValue<uint8>();
vehicle->log_flume_reverser_vehicle_type = stream->ReadValue<uint8>();
vehicle->sound_range = stream->ReadValue<uint8>();
vehicle->double_sound_frequency = stream->ReadValue<uint8>();
vehicle->powered_acceleration = stream->ReadValue<uint8>();

View File

@ -1602,25 +1602,25 @@ const rct_ride_entry_vehicle CableLiftVehicle = {
/* .flags = */ 0,
/* .base_num_frames = */ 1,
/* .base_image_id = */ 29110,
/* .var_1C = */ 0,
/* .var_20 = */ 29142,
/* .var_24 = */ 29214,
/* .var_28 = */ 0,
/* .var_2C = */ 0,
/* .var_30 = */ 0,
/* .var_34 = */ 0,
/* .var_38 = */ 0,
/* .var_3C = */ 0,
/* .var_40 = */ 0,
/* .var_44 = */ 0,
/* .var_48 = */ 0,
/* .var_4C = */ 0,
/* .restraint_image_id = */ 0,
/* .gentle_slope_image_id = */ 29142,
/* .steep_slope_image_id = */ 29214,
/* .vertical_slope_image_id = */ 0,
/* .diagonal_slope_image_id = */ 0,
/* .banked_image_id = */ 0,
/* .inline_twist_image_id = */ 0,
/* .flat_to_gentle_bank_image_id = */ 0,
/* .diagonal_to_gentle_slope_bank_image_id = */ 0,
/* .gentle_slope_to_bank_image_id = */ 0,
/* .gentle_slope_bank_turn_image_id = */ 0,
/* .flat_bank_to_gentle_slope_image_id = */ 0,
/* .corkscrew_image_id = */ 0,
/* .no_vehicle_images = */ 0,
/* .no_seating_rows = */ 0,
/* .spinning_inertia = */ 0,
/* .spinning_friction = */ 255,
/* .friction_sound_id = */ 0,
/* .var_58 = */ 0,
/* .log_flume_reverser_vehicle_type = */ 0,
/* .sound_range = */ 0,
/* .double_sound_frequency = */ 0,
/* .powered_acceleration = */ 0,

View File

@ -8254,7 +8254,7 @@ loc_6DAEB9:
{
if (vehicle->track_progress == 32)
{
vehicle->vehicle_type = vehicleEntry->var_58;
vehicle->vehicle_type = vehicleEntry->log_flume_reverser_vehicle_type;
vehicleEntry = vehicle_get_vehicle_entry(vehicle);
}
}

View File

@ -45,26 +45,29 @@ typedef struct rct_ride_entry_vehicle {
uint8 additional_animation; // 0x11 , 0x2B
uint32 flags; // 0x12 , 0x2C
uint16 base_num_frames; // 0x16 , 0x30, The number of sprites for a flat non-banked track piece.
uint32 base_image_id; // 0x18 , 0x32
uint32 var_1C; // 0x1C , 0x36
uint32 var_20; // 0x20 , 0x3A
uint32 var_24; // 0x24 , 0x3E
uint32 var_28; // 0x28 , 0x42
uint32 var_2C; // 0x2C , 0x46
uint32 var_30; // 0x30 , 0x4A
uint32 var_34; // 0x34 , 0x4E
uint32 var_38; // 0x38 , 0x52
uint32 var_3C; // 0x3C , 0x56
uint32 var_40; // 0x40 , 0x5A
uint32 var_44; // 0x44 , 0x5E
uint32 var_48; // 0x48 , 0x62
uint32 var_4C; // 0x4C , 0x66
uint32 base_image_id; // 0x18 , 0x32, Following image_id's populated during loading
uint32 restraint_image_id; // 0x1C , 0x36
uint32 gentle_slope_image_id; // 0x20 , 0x3A
uint32 steep_slope_image_id; // 0x24 , 0x3E
uint32 vertical_slope_image_id; // 0x28 , 0x42
uint32 diagonal_slope_image_id; // 0x2C , 0x46
uint32 banked_image_id; // 0x30 , 0x4A
uint32 inline_twist_image_id; // 0x34 , 0x4E
uint32 flat_to_gentle_bank_image_id; // 0x38 , 0x52
uint32 diagonal_to_gentle_slope_bank_image_id; // 0x3C , 0x56
uint32 gentle_slope_to_bank_image_id; // 0x40 , 0x5A
uint32 gentle_slope_bank_turn_image_id; // 0x44 , 0x5E
uint32 flat_bank_to_gentle_slope_image_id; // 0x48 , 0x62
union {
uint32 curved_lift_hill_image_id; // 0x4C , 0x66
uint32 corkscrew_image_id; // 0x4C , 0x66
};
uint32 no_vehicle_images; // 0x50 , 0x6A
uint8 no_seating_rows; // 0x54 , 0x6E
uint8 spinning_inertia; // 0x55 , 0x6F
uint8 spinning_friction; // 0x56 , 0x70
uint8 friction_sound_id; // 0x57 , 0x71
uint8 var_58; // 0x58 , 0x72
uint8 log_flume_reverser_vehicle_type; // 0x58 , 0x72
uint8 sound_range; // 0x59 , 0x73
uint8 double_sound_frequency; // 0x5A , 0x74 (Doubles the velocity when working out the sound frequency {used on go karts})
uint8 powered_acceleration; // 0x5B , 0x75
@ -335,7 +338,7 @@ enum {
VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS = (1 << 11),
VEHICLE_SPRITE_FLAG_CORKSCREWS = (1 << 12),
VEHICLE_SPRITE_FLAG_RESTRAINT_ANIMATION = (1 << 13),
VEHICLE_SPRITE_FLAG_14 = (1 << 14),
VEHICLE_SPRITE_FLAG_CURVED_LIFT_HILL = (1 << 14),
VEHICLE_SPRITE_FLAG_15 = (1 << 15),
};

View File

@ -991,7 +991,7 @@ static void vehicle_sprite_paint_6D51DE(paint_session * session, rct_vehicle * v
ebx = ebx / 8;
ebx += ((vehicle->restraints_position - 64) / 64) * 4;
ebx *= vehicleEntry->base_num_frames;
ebx += vehicleEntry->var_1C;
ebx += vehicleEntry->restraint_image_id;
vehicle_sprite_paint(session, vehicle, ebx, ecx, z, vehicleEntry);
}
@ -1009,7 +1009,7 @@ static void vehicle_sprite_0_1(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = ((imageDirection / 4) * vehicleEntry->base_num_frames) + vehicleEntry->var_30;
sint32 ebx = ((imageDirection / 4) * vehicleEntry->base_num_frames) + vehicleEntry->banked_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1025,7 +1025,7 @@ static void vehicle_sprite_0_2(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED)
{
sint32 ecx = (imageDirection / 2) + 108;
sint32 ebx = ((imageDirection + 16) * vehicleEntry->base_num_frames) + vehicleEntry->var_30;
sint32 ebx = ((imageDirection + 16) * vehicleEntry->base_num_frames) + vehicleEntry->banked_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1041,7 +1041,7 @@ static void vehicle_sprite_0_3(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_30;
sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->banked_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1057,7 +1057,7 @@ static void vehicle_sprite_0_4(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED)
{
sint32 ecx = ((imageDirection / 2) ^ 8) + 108;
sint32 ebx = ((imageDirection + 48) * vehicleEntry->base_num_frames) + vehicleEntry->var_30;
sint32 ebx = ((imageDirection + 48) * vehicleEntry->base_num_frames) + vehicleEntry->banked_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1077,7 +1077,7 @@ static void vehicle_sprite_0_5(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS)
{
sint32 ecx = (imageDirection / 8) + 124;
sint32 ebx = ((imageDirection / 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_34;
sint32 ebx = ((imageDirection / 8) * vehicleEntry->base_num_frames) + vehicleEntry->inline_twist_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1097,7 +1097,7 @@ static void vehicle_sprite_0_6(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS)
{
sint32 ecx = (imageDirection / 8) + 128;
sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_34;
sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->inline_twist_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1117,7 +1117,7 @@ static void vehicle_sprite_0_7(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS)
{
sint32 ecx = (imageDirection / 8) + 132;
sint32 ebx = (((imageDirection / 8) + 16) * vehicleEntry->base_num_frames) + vehicleEntry->var_34;
sint32 ebx = (((imageDirection / 8) + 16) * vehicleEntry->base_num_frames) + vehicleEntry->inline_twist_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1137,7 +1137,7 @@ static void vehicle_sprite_0_8(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS)
{
sint32 ecx = (imageDirection / 8) + 136;
sint32 ebx = (((imageDirection / 8) + 24) * vehicleEntry->base_num_frames) + vehicleEntry->var_34;
sint32 ebx = (((imageDirection / 8) + 24) * vehicleEntry->base_num_frames) + vehicleEntry->inline_twist_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1157,7 +1157,7 @@ static void vehicle_sprite_0_9(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS)
{
sint32 ecx = (imageDirection / 8) + 140;
sint32 ebx = (((imageDirection / 8) + 32) * vehicleEntry->base_num_frames) + vehicleEntry->var_34;
sint32 ebx = (((imageDirection / 8) + 32) * vehicleEntry->base_num_frames) + vehicleEntry->inline_twist_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1177,7 +1177,7 @@ static void vehicle_sprite_0_10(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS)
{
sint32 ecx = ((imageDirection / 8) ^ 2) + 124;
sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->base_num_frames) + vehicleEntry->var_34;
sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->base_num_frames) + vehicleEntry->inline_twist_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1197,7 +1197,7 @@ static void vehicle_sprite_0_11(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS)
{
sint32 ecx = ((imageDirection / 8) ^ 2) + 128;
sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->base_num_frames) + vehicleEntry->var_34;
sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->base_num_frames) + vehicleEntry->inline_twist_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1217,7 +1217,7 @@ static void vehicle_sprite_0_12(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS)
{
sint32 ecx = ((imageDirection / 8) ^ 2) + 132;
sint32 ebx = (((imageDirection / 8) + 20) * vehicleEntry->base_num_frames) + vehicleEntry->var_34;
sint32 ebx = (((imageDirection / 8) + 20) * vehicleEntry->base_num_frames) + vehicleEntry->inline_twist_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1237,7 +1237,7 @@ static void vehicle_sprite_0_13(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS)
{
sint32 ecx = ((imageDirection / 8) ^ 2) + 136;
sint32 ebx = (((imageDirection / 8) + 28) * vehicleEntry->base_num_frames) + vehicleEntry->var_34;
sint32 ebx = (((imageDirection / 8) + 28) * vehicleEntry->base_num_frames) + vehicleEntry->inline_twist_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1257,7 +1257,7 @@ static void vehicle_sprite_0_14(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_INLINE_TWISTS)
{
sint32 ecx = ((imageDirection / 8) ^ 2) + 140;
sint32 ebx = (((imageDirection / 8) + 36) * vehicleEntry->base_num_frames) + vehicleEntry->var_34;
sint32 ebx = (((imageDirection / 8) + 36) * vehicleEntry->base_num_frames) + vehicleEntry->inline_twist_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1274,7 +1274,7 @@ static void vehicle_sprite_0_16(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = ((imageDirection / 4) * vehicleEntry->base_num_frames) + vehicleEntry->var_30;
sint32 ebx = ((imageDirection / 4) * vehicleEntry->base_num_frames) + vehicleEntry->banked_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1291,7 +1291,7 @@ static void vehicle_sprite_0_17(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED)
{
sint32 ecx = (imageDirection / 2) + 108;
sint32 ebx = ((imageDirection + 16) * vehicleEntry->base_num_frames) + vehicleEntry->var_30;
sint32 ebx = ((imageDirection + 16) * vehicleEntry->base_num_frames) + vehicleEntry->banked_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1308,7 +1308,7 @@ static void vehicle_sprite_0_18(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_30;
sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->banked_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1325,7 +1325,7 @@ static void vehicle_sprite_0_19(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_BANKED)
{
sint32 ecx = ((imageDirection / 2) ^ 8) + 108;
sint32 ebx = ((imageDirection + 48) * vehicleEntry->base_num_frames) + vehicleEntry->var_30;
sint32 ebx = ((imageDirection + 48) * vehicleEntry->base_num_frames) + vehicleEntry->banked_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1411,7 +1411,7 @@ static void vehicle_sprite_1_0(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = ((imageDirection / 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_20;
sint32 ebx = ((imageDirection / 8) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1427,7 +1427,7 @@ static void vehicle_sprite_1_1(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = (imageDirection * vehicleEntry->base_num_frames) + vehicleEntry->var_38;
sint32 ebx = (imageDirection * vehicleEntry->base_num_frames) + vehicleEntry->flat_to_gentle_bank_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1443,7 +1443,7 @@ static void vehicle_sprite_1_2(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = ((imageDirection / 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_48;
sint32 ebx = ((imageDirection / 8) * vehicleEntry->base_num_frames) + vehicleEntry->flat_bank_to_gentle_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1459,7 +1459,7 @@ static void vehicle_sprite_1_3(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = ((imageDirection + 32) * vehicleEntry->base_num_frames) + vehicleEntry->var_38;
sint32 ebx = ((imageDirection + 32) * vehicleEntry->base_num_frames) + vehicleEntry->flat_to_gentle_bank_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1475,7 +1475,7 @@ static void vehicle_sprite_1_4(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->base_num_frames) + vehicleEntry->var_48;
sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->base_num_frames) + vehicleEntry->flat_bank_to_gentle_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1563,13 +1563,13 @@ static void vehicle_sprite_2_0(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->flags & VEHICLE_ENTRY_FLAG_SPINNING_ADDITIONAL_FRAMES)
{
sint32 ecx = (imageDirection / 2) + 16;
sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_20;
sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
{
sint32 ecx = (imageDirection / 2) + 16;
sint32 ebx = ((imageDirection + 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_20;
sint32 ebx = ((imageDirection + 8) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
}
@ -1586,7 +1586,7 @@ static void vehicle_sprite_2_1(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
sint32 ecx = (imageDirection / 2) + 16;
sint32 ebx = ((imageDirection / 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_40;
sint32 ebx = ((imageDirection / 8) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_to_bank_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1605,13 +1605,13 @@ static void vehicle_sprite_2_2(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->draw_order < 5)
{
ecx += 108;
sint32 ebx = (imageDirection * vehicleEntry->base_num_frames) + vehicleEntry->var_44;
sint32 ebx = (imageDirection * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_bank_turn_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
{
ecx += 16;
sint32 ebx = (imageDirection * vehicleEntry->base_num_frames) + vehicleEntry->var_44;
sint32 ebx = (imageDirection * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_bank_turn_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
}
@ -1628,7 +1628,7 @@ static void vehicle_sprite_2_3(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
sint32 ecx = (imageDirection / 2) + 16;
sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->base_num_frames) + vehicleEntry->var_40;
sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_to_bank_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1647,13 +1647,13 @@ static void vehicle_sprite_2_4(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->draw_order < 5)
{
ecx = (ecx ^ 8) + 108;
sint32 ebx = ((imageDirection + 32) * vehicleEntry->base_num_frames) + vehicleEntry->var_44;
sint32 ebx = ((imageDirection + 32) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_bank_turn_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
{
ecx += 16;
sint32 ebx = ((imageDirection + 32) * vehicleEntry->base_num_frames) + vehicleEntry->var_44;
sint32 ebx = ((imageDirection + 32) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_bank_turn_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
}
@ -1744,7 +1744,7 @@ static void vehicle_sprite_3(paint_session * session, rct_vehicle * vehicle, sin
else
{
sint32 ecx = (imageDirection / 4) + 32;
sint32 ebx = ((imageDirection / 4) * vehicleEntry->base_num_frames) + vehicleEntry->var_24;
sint32 ebx = ((imageDirection / 4) * vehicleEntry->base_num_frames) + vehicleEntry->steep_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
}
@ -1760,7 +1760,7 @@ static void vehicle_sprite_4(paint_session * session, rct_vehicle * vehicle, sin
else
{
sint32 ecx = (imageDirection / 2) + 40;
sint32 ebx = ((imageDirection + 16) * vehicleEntry->base_num_frames) + vehicleEntry->var_24;
sint32 ebx = ((imageDirection + 16) * vehicleEntry->base_num_frames) + vehicleEntry->steep_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
}
@ -1772,7 +1772,7 @@ static void vehicle_sprite_5_0(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPES)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->base_num_frames) + vehicleEntry->var_20;
sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1788,7 +1788,7 @@ static void vehicle_sprite_5_1(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = ((imageDirection + 64) * vehicleEntry->base_num_frames) + vehicleEntry->var_38;
sint32 ebx = ((imageDirection + 64) * vehicleEntry->base_num_frames) + vehicleEntry->flat_to_gentle_bank_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1804,7 +1804,7 @@ static void vehicle_sprite_5_2(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_48;
sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->flat_bank_to_gentle_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1820,7 +1820,7 @@ static void vehicle_sprite_5_3(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = ((imageDirection + 96) * vehicleEntry->base_num_frames) + vehicleEntry->var_38;
sint32 ebx = ((imageDirection + 96) * vehicleEntry->base_num_frames) + vehicleEntry->flat_to_gentle_bank_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1836,7 +1836,7 @@ static void vehicle_sprite_5_4(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_FLAT_TO_GENTLE_SLOPE_WHILE_BANKED_TRANSITIONS)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->base_num_frames) + vehicleEntry->var_48;
sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->base_num_frames) + vehicleEntry->flat_bank_to_gentle_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1924,13 +1924,13 @@ static void vehicle_sprite_6_0(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->flags & VEHICLE_ENTRY_FLAG_SPINNING_ADDITIONAL_FRAMES)
{
sint32 ecx = ((imageDirection / 2) ^ 8) + 16;
sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->base_num_frames) + vehicleEntry->var_20;
sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
{
sint32 ecx = ((imageDirection / 2) ^ 8) + 16;
sint32 ebx = ((imageDirection + 40) * vehicleEntry->base_num_frames) + vehicleEntry->var_20;
sint32 ebx = ((imageDirection + 40) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
}
@ -1947,7 +1947,7 @@ static void vehicle_sprite_6_1(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
sint32 ecx = ((imageDirection / 2) ^ 8) + 16;
sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_40;
sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_to_bank_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -1966,13 +1966,13 @@ static void vehicle_sprite_6_2(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->draw_order < 5)
{
ecx += 108;
sint32 ebx = ((imageDirection + 64) * vehicleEntry->base_num_frames) + vehicleEntry->var_44;
sint32 ebx = ((imageDirection + 64) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_bank_turn_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
{
ecx = (ecx ^ 8) + 16;
sint32 ebx = ((imageDirection + 64) * vehicleEntry->base_num_frames) + vehicleEntry->var_44;
sint32 ebx = ((imageDirection + 64) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_bank_turn_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
}
@ -1989,7 +1989,7 @@ static void vehicle_sprite_6_3(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
sint32 ecx = ((imageDirection / 2) ^ 8) + 16;
sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->base_num_frames) + vehicleEntry->var_40;
sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_to_bank_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2008,13 +2008,13 @@ static void vehicle_sprite_6_4(paint_session * session, rct_vehicle * vehicle, s
if (vehicleEntry->draw_order < 5)
{
ecx = (ecx ^ 8) + 108;
sint32 ebx = ((imageDirection + 96) * vehicleEntry->base_num_frames) + vehicleEntry->var_44;
sint32 ebx = ((imageDirection + 96) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_bank_turn_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
{
ecx = (ecx ^ 8) + 16;
sint32 ebx = ((imageDirection + 96) * vehicleEntry->base_num_frames) + vehicleEntry->var_44;
sint32 ebx = ((imageDirection + 96) * vehicleEntry->base_num_frames) + vehicleEntry->gentle_slope_bank_turn_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
}
@ -2101,7 +2101,7 @@ static void vehicle_sprite_7(paint_session * session, rct_vehicle * vehicle, sin
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES)
{
sint32 ecx = ((imageDirection / 4) ^ 4) + 32;
sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_24;
sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->steep_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2117,7 +2117,7 @@ static void vehicle_sprite_8(paint_session * session, rct_vehicle * vehicle, sin
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES)
{
sint32 ecx = ((imageDirection / 2) ^ 8) + 40;
sint32 ebx = ((imageDirection + 48) * vehicleEntry->base_num_frames) + vehicleEntry->var_24;
sint32 ebx = ((imageDirection + 48) * vehicleEntry->base_num_frames) + vehicleEntry->steep_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2133,7 +2133,7 @@ static void vehicle_sprite_9(paint_session * session, rct_vehicle * vehicle, sin
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = (imageDirection / 8) + 56;
sint32 ebx = ((imageDirection / 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = ((imageDirection / 8) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2149,7 +2149,7 @@ static void vehicle_sprite_10(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = (imageDirection / 2) + 60;
sint32 ebx = ((imageDirection + 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = ((imageDirection + 8) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2165,7 +2165,7 @@ static void vehicle_sprite_11(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = (imageDirection / 8) + 76;
sint32 ebx = (((imageDirection / 8) + 72) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = (((imageDirection / 8) + 72) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2181,7 +2181,7 @@ static void vehicle_sprite_12(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = (imageDirection / 8) + 80;
sint32 ebx = (((imageDirection / 8) + 80) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = (((imageDirection / 8) + 80) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2197,7 +2197,7 @@ static void vehicle_sprite_13(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = (imageDirection / 8) + 84;
sint32 ebx = (((imageDirection / 8) + 88) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = (((imageDirection / 8) + 88) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2213,7 +2213,7 @@ static void vehicle_sprite_14(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = (imageDirection / 8) + 88;
sint32 ebx = (((imageDirection / 8) + 96) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = (((imageDirection / 8) + 96) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2229,7 +2229,7 @@ static void vehicle_sprite_15(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = (imageDirection / 8) + 92;
sint32 ebx = (((imageDirection / 8) + 104) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = (((imageDirection / 8) + 104) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2245,7 +2245,7 @@ static void vehicle_sprite_16(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = (imageDirection / 8) + 96;
sint32 ebx = (((imageDirection / 8) + 112) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = (((imageDirection / 8) + 112) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2269,7 +2269,7 @@ static void vehicle_sprite_17(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = ((imageDirection / 8) ^ 2) + 56;
sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2294,7 +2294,7 @@ static void vehicle_sprite_18(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = ((imageDirection / 2) ^ 8) + 60;
sint32 ebx = ((imageDirection + 40) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = ((imageDirection + 40) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2314,7 +2314,7 @@ static void vehicle_sprite_19(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = ((imageDirection / 8) ^ 2) + 76;
sint32 ebx = (((imageDirection / 8) + 76) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = (((imageDirection / 8) + 76) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2334,7 +2334,7 @@ static void vehicle_sprite_20(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = ((imageDirection / 8) ^ 2) + 80;
sint32 ebx = (((imageDirection / 8) + 84) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = (((imageDirection / 8) + 84) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2354,7 +2354,7 @@ static void vehicle_sprite_21(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = ((imageDirection / 8) ^ 2) + 84;
sint32 ebx = (((imageDirection / 8) + 92) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = (((imageDirection / 8) + 92) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2374,7 +2374,7 @@ static void vehicle_sprite_22(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = ((imageDirection / 8) ^ 2) + 88;
sint32 ebx = (((imageDirection / 8) + 100) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = (((imageDirection / 8) + 100) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2394,7 +2394,7 @@ static void vehicle_sprite_23(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_VERTICAL_SLOPES)
{
sint32 ecx = ((imageDirection / 8) ^ 2) + 92;
sint32 ebx = (((imageDirection / 8) + 108) * vehicleEntry->base_num_frames) + vehicleEntry->var_28;
sint32 ebx = (((imageDirection / 8) + 108) * vehicleEntry->base_num_frames) + vehicleEntry->vertical_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2415,7 +2415,7 @@ static void vehicle_sprite_24(paint_session * session, rct_vehicle * vehicle, si
{
sint32 eax = ((vehicle->vehicle_sprite_type - 24) * 4);
sint32 ecx = (imageDirection / 8) + eax + 144;
sint32 ebx = (((imageDirection / 8) + eax) * vehicleEntry->base_num_frames) + vehicleEntry->var_4C;
sint32 ebx = (((imageDirection / 8) + eax) * vehicleEntry->base_num_frames) + vehicleEntry->corkscrew_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2431,7 +2431,7 @@ static void vehicle_sprite_50_0(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = ((imageDirection / 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_2C;
sint32 ebx = ((imageDirection / 8) * vehicleEntry->base_num_frames) + vehicleEntry->diagonal_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2447,7 +2447,7 @@ static void vehicle_sprite_50_1(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = ((imageDirection / 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_3C;
sint32 ebx = ((imageDirection / 8) * vehicleEntry->base_num_frames) + vehicleEntry->diagonal_to_gentle_slope_bank_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2463,7 +2463,7 @@ static void vehicle_sprite_50_3(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->base_num_frames) + vehicleEntry->var_3C;
sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->base_num_frames) + vehicleEntry->diagonal_to_gentle_slope_bank_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2549,7 +2549,7 @@ static void vehicle_sprite_51(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES)
{
sint32 ecx = (imageDirection / 8) + 100;
sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_2C;
sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->diagonal_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2565,7 +2565,7 @@ static void vehicle_sprite_52(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES)
{
sint32 ecx = (imageDirection / 8) + 104;
sint32 ebx = (((imageDirection / 8) + 16) * vehicleEntry->base_num_frames) + vehicleEntry->var_2C;
sint32 ebx = (((imageDirection / 8) + 16) * vehicleEntry->base_num_frames) + vehicleEntry->diagonal_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2581,7 +2581,7 @@ static void vehicle_sprite_53_0(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->base_num_frames) + vehicleEntry->var_2C;
sint32 ebx = (((imageDirection / 8) + 4) * vehicleEntry->base_num_frames) + vehicleEntry->diagonal_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2597,7 +2597,7 @@ static void vehicle_sprite_53_1(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_3C;
sint32 ebx = (((imageDirection / 8) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->diagonal_to_gentle_slope_bank_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2613,7 +2613,7 @@ static void vehicle_sprite_53_3(paint_session * session, rct_vehicle * vehicle,
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_GENTLE_SLOPE_BANKED_TRANSITIONS)
{
sint32 ecx = imageDirection / 2;
sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->base_num_frames) + vehicleEntry->var_3C;
sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->base_num_frames) + vehicleEntry->diagonal_to_gentle_slope_bank_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2699,7 +2699,7 @@ static void vehicle_sprite_54(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES)
{
sint32 ecx = ((imageDirection / 8) ^ 2) + 100;
sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->base_num_frames) + vehicleEntry->var_2C;
sint32 ebx = (((imageDirection / 8) + 12) * vehicleEntry->base_num_frames) + vehicleEntry->diagonal_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2715,7 +2715,7 @@ static void vehicle_sprite_55(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_DIAGONAL_SLOPES)
{
sint32 ecx = ((imageDirection / 8) ^ 2) + 104;
sint32 ebx = (((imageDirection / 8) + 20) * vehicleEntry->base_num_frames) + vehicleEntry->var_2C;
sint32 ebx = (((imageDirection / 8) + 20) * vehicleEntry->base_num_frames) + vehicleEntry->diagonal_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2740,7 +2740,7 @@ static void vehicle_sprite_57(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES)
{
sint32 ecx = ((imageDirection / 4) ^ 4) + 32;
sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->var_24;
sint32 ebx = (((imageDirection / 4) + 8) * vehicleEntry->base_num_frames) + vehicleEntry->steep_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2757,7 +2757,7 @@ static void vehicle_sprite_58(paint_session * session, rct_vehicle * vehicle, si
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_STEEP_SLOPES)
{
sint32 ecx = ((imageDirection / 2) ^ 8) + 40;
sint32 ebx = ((imageDirection + 48) * vehicleEntry->base_num_frames) + vehicleEntry->var_24;
sint32 ebx = ((imageDirection + 48) * vehicleEntry->base_num_frames) + vehicleEntry->steep_slope_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else
@ -2770,10 +2770,10 @@ static void vehicle_sprite_58(paint_session * session, rct_vehicle * vehicle, si
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)
if (vehicleEntry->sprite_flags & VEHICLE_SPRITE_FLAG_CURVED_LIFT_HILL)
{
sint32 ecx = (imageDirection / 2) + 16;
sint32 ebx = (imageDirection * vehicleEntry->base_num_frames) + vehicleEntry->var_4C;
sint32 ebx = (imageDirection * vehicleEntry->base_num_frames) + vehicleEntry->curved_lift_hill_image_id;
vehicle_sprite_paint_6D520E(session, vehicle, ebx, ecx, z, vehicleEntry);
}
else

View File

@ -39,7 +39,7 @@ void vehicle_visual_submarine(paint_session * session, sint32 x, sint32 imageDir
baseImage_id /= 8;
baseImage_id += ((vehicle->restraints_position - 64) / 64) * 4;
baseImage_id *= vehicleEntry->base_num_frames;
baseImage_id += vehicleEntry->var_1C;
baseImage_id += vehicleEntry->restraint_image_id;
}
}
else