Merge vehicle_colours and vehicle_colours_extended

This commit is contained in:
Ted John 2018-12-31 13:05:44 +00:00
parent d71531fc98
commit 8e6497fc1d
20 changed files with 64 additions and 63 deletions

View File

@ -1021,8 +1021,8 @@ private:
if (_gameVersion < FILE_VERSION_RCT1_LL && dst->type == RIDE_TYPE_MERRY_GO_ROUND) if (_gameVersion < FILE_VERSION_RCT1_LL && dst->type == RIDE_TYPE_MERRY_GO_ROUND)
{ {
// The merry-go-round in pre-LL versions was always yellow with red // The merry-go-round in pre-LL versions was always yellow with red
dst->vehicle_colours[0].body_colour = COLOUR_YELLOW; dst->vehicle_colours[0].Body = COLOUR_YELLOW;
dst->vehicle_colours[0].trim_colour = COLOUR_BRIGHT_RED; dst->vehicle_colours[0].Trim = COLOUR_BRIGHT_RED;
} }
else else
{ {
@ -1033,41 +1033,41 @@ private:
src->vehicle_type); src->vehicle_type);
if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_1) if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_1)
{ {
dst->vehicle_colours[i].body_colour = RCT1::GetColour(src->vehicle_colours[i].body); dst->vehicle_colours[i].Body = RCT1::GetColour(src->vehicle_colours[i].body);
} }
else if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_2) else if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_2)
{ {
dst->vehicle_colours[i].body_colour = RCT1::GetColour(src->vehicle_colours[i].trim); dst->vehicle_colours[i].Body = RCT1::GetColour(src->vehicle_colours[i].trim);
} }
else else
{ {
dst->vehicle_colours[i].body_colour = colourSchemeCopyDescriptor.colour1; dst->vehicle_colours[i].Body = colourSchemeCopyDescriptor.colour1;
} }
if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_1) if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_1)
{ {
dst->vehicle_colours[i].trim_colour = RCT1::GetColour(src->vehicle_colours[i].body); dst->vehicle_colours[i].Trim = RCT1::GetColour(src->vehicle_colours[i].body);
} }
else if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_2) else if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_2)
{ {
dst->vehicle_colours[i].trim_colour = RCT1::GetColour(src->vehicle_colours[i].trim); dst->vehicle_colours[i].Trim = RCT1::GetColour(src->vehicle_colours[i].trim);
} }
else else
{ {
dst->vehicle_colours[i].trim_colour = colourSchemeCopyDescriptor.colour2; dst->vehicle_colours[i].Trim = colourSchemeCopyDescriptor.colour2;
} }
if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_1) if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_1)
{ {
dst->vehicle_colours_extended[i] = RCT1::GetColour(src->vehicle_colours[i].body); dst->vehicle_colours[i].Ternary = RCT1::GetColour(src->vehicle_colours[i].body);
} }
else if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_2) else if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_2)
{ {
dst->vehicle_colours_extended[i] = RCT1::GetColour(src->vehicle_colours[i].trim); dst->vehicle_colours[i].Ternary = RCT1::GetColour(src->vehicle_colours[i].trim);
} }
else else
{ {
dst->vehicle_colours_extended[i] = colourSchemeCopyDescriptor.colour3; dst->vehicle_colours[i].Ternary = colourSchemeCopyDescriptor.colour3;
} }
} }
} }

View File

@ -485,7 +485,8 @@ void S6Exporter::ExportRide(rct2_ride* dst, const Ride* src)
for (uint8_t i = 0; i < RCT2_MAX_CARS_PER_TRAIN; i++) for (uint8_t i = 0; i < RCT2_MAX_CARS_PER_TRAIN; i++)
{ {
dst->vehicle_colours[i] = src->vehicle_colours[i]; dst->vehicle_colours[i].body_colour = src->vehicle_colours[i].Body;
dst->vehicle_colours[i].trim_colour = src->vehicle_colours[i].Trim;
} }
// pad_046; // pad_046;
@ -678,7 +679,7 @@ void S6Exporter::ExportRide(rct2_ride* dst, const Ride* src)
for (uint8_t i = 0; i < RCT2_MAX_CARS_PER_TRAIN; i++) for (uint8_t i = 0; i < RCT2_MAX_CARS_PER_TRAIN; i++)
{ {
dst->vehicle_colours_extended[i] = src->vehicle_colours_extended[i]; dst->vehicle_colours_extended[i] = src->vehicle_colours[i].Ternary;
} }
dst->total_air_time = src->total_air_time; dst->total_air_time = src->total_air_time;

View File

@ -527,7 +527,8 @@ public:
for (uint8_t i = 0; i < RCT2_MAX_CARS_PER_TRAIN; i++) for (uint8_t i = 0; i < RCT2_MAX_CARS_PER_TRAIN; i++)
{ {
dst->vehicle_colours[i] = src->vehicle_colours[i]; dst->vehicle_colours[i].Body = src->vehicle_colours[i].body_colour;
dst->vehicle_colours[i].Trim = src->vehicle_colours[i].trim_colour;
} }
// pad_046; // pad_046;
@ -734,7 +735,7 @@ public:
for (uint8_t i = 0; i < RCT2_MAX_CARS_PER_TRAIN; i++) for (uint8_t i = 0; i < RCT2_MAX_CARS_PER_TRAIN; i++)
{ {
dst->vehicle_colours_extended[i] = src->vehicle_colours_extended[i]; dst->vehicle_colours[i].Ternary = src->vehicle_colours_extended[i];
} }
dst->total_air_time = src->total_air_time; dst->total_air_time = src->total_air_time;

View File

@ -3325,9 +3325,9 @@ vehicle_colour ride_get_vehicle_colour(Ride* ride, int32_t vehicleIndex)
vehicleIndex = 31; vehicleIndex = 31;
} }
result.main = ride->vehicle_colours[vehicleIndex].body_colour; result.main = ride->vehicle_colours[vehicleIndex].Body;
result.additional_1 = ride->vehicle_colours[vehicleIndex].trim_colour; result.additional_1 = ride->vehicle_colours[vehicleIndex].Trim;
result.additional_2 = ride->vehicle_colours_extended[vehicleIndex]; result.additional_2 = ride->vehicle_colours[vehicleIndex].Ternary;
return result; return result;
} }
@ -3339,7 +3339,7 @@ static bool ride_does_vehicle_colour_exist(uint8_t ride_sub_type, vehicle_colour
{ {
if (ride2->subtype != ride_sub_type) if (ride2->subtype != ride_sub_type)
continue; continue;
if (ride2->vehicle_colours[0].body_colour != vehicleColour->main) if (ride2->vehicle_colours[0].Body != vehicleColour->main)
continue; continue;
return false; return false;
} }
@ -3392,9 +3392,9 @@ void ride_set_vehicle_colours_to_random_preset(Ride* ride, uint8_t preset_index)
ride->colour_scheme_type = RIDE_COLOUR_SCHEME_ALL_SAME; ride->colour_scheme_type = RIDE_COLOUR_SCHEME_ALL_SAME;
vehicle_colour* preset = &presetList->list[preset_index]; vehicle_colour* preset = &presetList->list[preset_index];
ride->vehicle_colours[0].body_colour = preset->main; ride->vehicle_colours[0].Body = preset->main;
ride->vehicle_colours[0].trim_colour = preset->additional_1; ride->vehicle_colours[0].Trim = preset->additional_1;
ride->vehicle_colours_extended[0] = preset->additional_2; ride->vehicle_colours[0].Ternary = preset->additional_2;
} }
else else
{ {
@ -3403,9 +3403,9 @@ void ride_set_vehicle_colours_to_random_preset(Ride* ride, uint8_t preset_index)
for (uint32_t i = 0; i < count; i++) for (uint32_t i = 0; i < count; i++)
{ {
vehicle_colour* preset = &presetList->list[i]; vehicle_colour* preset = &presetList->list[i];
ride->vehicle_colours[i].body_colour = preset->main; ride->vehicle_colours[i].Body = preset->main;
ride->vehicle_colours[i].trim_colour = preset->additional_1; ride->vehicle_colours[i].Trim = preset->additional_1;
ride->vehicle_colours_extended[i] = preset->additional_2; ride->vehicle_colours[i].Ternary = preset->additional_2;
} }
} }
} }
@ -6547,7 +6547,6 @@ void game_command_set_ride_appearance(
for (uint32_t i = 1; i < std::size(ride->vehicle_colours); i++) for (uint32_t i = 1; i < std::size(ride->vehicle_colours); i++)
{ {
ride->vehicle_colours[i] = ride->vehicle_colours[0]; ride->vehicle_colours[i] = ride->vehicle_colours[0];
ride->vehicle_colours_extended[i] = ride->vehicle_colours_extended[0];
} }
ride_update_vehicle_colours(ride_id); ride_update_vehicle_colours(ride_id);
} }
@ -6561,7 +6560,7 @@ void game_command_set_ride_appearance(
} }
break; break;
case 7: case 7:
if (index >= std::size(ride->vehicle_colours_extended)) if (index >= std::size(ride->vehicle_colours))
{ {
log_warning("Invalid game command, index %d out of bounds", index); log_warning("Invalid game command, index %d out of bounds", index);
*ebx = MONEY32_UNDEFINED; *ebx = MONEY32_UNDEFINED;
@ -6571,7 +6570,7 @@ void game_command_set_ride_appearance(
{ {
if (apply) if (apply)
{ {
ride->vehicle_colours_extended[index] = value; ride->vehicle_colours[index].Ternary = value;
ride_update_vehicle_colours(ride_id); ride_update_vehicle_colours(ride_id);
} }
} }
@ -7492,7 +7491,7 @@ static void ride_update_vehicle_colours(int32_t rideIndex)
{ {
int32_t carIndex = 0; int32_t carIndex = 0;
uint16_t spriteIndex = ride->vehicles[i]; uint16_t spriteIndex = ride->vehicles[i];
rct_vehicle_colour colours = {}; VehicleColour colours = {};
uint8_t coloursExtended = 0; uint8_t coloursExtended = 0;
while (spriteIndex != SPRITE_INDEX_NULL) while (spriteIndex != SPRITE_INDEX_NULL)
@ -7502,19 +7501,20 @@ static void ride_update_vehicle_colours(int32_t rideIndex)
{ {
case RIDE_COLOUR_SCHEME_ALL_SAME: case RIDE_COLOUR_SCHEME_ALL_SAME:
colours = ride->vehicle_colours[0]; colours = ride->vehicle_colours[0];
coloursExtended = ride->vehicle_colours_extended[0]; coloursExtended = ride->vehicle_colours[0].Ternary;
break; break;
case RIDE_COLOUR_SCHEME_DIFFERENT_PER_TRAIN: case RIDE_COLOUR_SCHEME_DIFFERENT_PER_TRAIN:
colours = ride->vehicle_colours[i]; colours = ride->vehicle_colours[i];
coloursExtended = ride->vehicle_colours_extended[i]; coloursExtended = ride->vehicle_colours[i].Ternary;
break; break;
case RIDE_COLOUR_SCHEME_DIFFERENT_PER_CAR: case RIDE_COLOUR_SCHEME_DIFFERENT_PER_CAR:
colours = ride->vehicle_colours[std::min(carIndex, MAX_CARS_PER_TRAIN - 1)]; colours = ride->vehicle_colours[std::min(carIndex, MAX_CARS_PER_TRAIN - 1)];
coloursExtended = ride->vehicle_colours_extended[std::min(carIndex, MAX_CARS_PER_TRAIN - 1)]; coloursExtended = ride->vehicle_colours[std::min(carIndex, MAX_CARS_PER_TRAIN - 1)].Ternary;
break; break;
} }
vehicle->colours = colours; vehicle->colours.body_colour = colours.Body;
vehicle->colours.trim_colour = colours.Trim;
vehicle->colours_extended = coloursExtended; vehicle->colours_extended = coloursExtended;
invalidate_sprite_2((rct_sprite*)vehicle); invalidate_sprite_2((rct_sprite*)vehicle);
spriteIndex = vehicle->next_vehicle_on_train; spriteIndex = vehicle->next_vehicle_on_train;

View File

@ -150,7 +150,7 @@ struct Ride
uint8_t subtype; uint8_t subtype;
uint8_t mode; uint8_t mode;
uint8_t colour_scheme_type; uint8_t colour_scheme_type;
rct_vehicle_colour vehicle_colours[MAX_CARS_PER_TRAIN]; VehicleColour vehicle_colours[MAX_CARS_PER_TRAIN];
// 0 = closed, 1 = open, 2 = test // 0 = closed, 1 = open, 2 = test
uint8_t status; uint8_t status;
rct_string_id name; rct_string_id name;
@ -333,7 +333,6 @@ struct Ride
uint8_t lift_hill_speed; uint8_t lift_hill_speed;
uint16_t guests_favourite; uint16_t guests_favourite;
uint32_t lifecycle_flags; uint32_t lifecycle_flags;
uint8_t vehicle_colours_extended[MAX_CARS_PER_TRAIN];
uint16_t total_air_time; uint16_t total_air_time;
uint8_t current_test_station; uint8_t current_test_station;
uint8_t num_circuits; uint8_t num_circuits;

View File

@ -1757,8 +1757,9 @@ static bool track_design_place_preview(rct_track_td6* td6, money32* cost, uint8_
{ {
for (int32_t i = 0; i < RCT12_MAX_VEHICLE_COLOURS; i++) for (int32_t i = 0; i < RCT12_MAX_VEHICLE_COLOURS; i++)
{ {
ride->vehicle_colours[i] = td6->vehicle_colours[i]; ride->vehicle_colours[i].Body = td6->vehicle_colours[i].body_colour;
ride->vehicle_colours_extended[i] = td6->vehicle_additional_colour[i]; ride->vehicle_colours[i].Trim = td6->vehicle_colours[i].trim_colour;
ride->vehicle_colours[i].Ternary = td6->vehicle_additional_colour[i];
} }
} }
@ -1984,9 +1985,9 @@ static money32 place_track_design(int16_t x, int16_t y, int16_t z, uint8_t flags
for (int32_t i = 0; i < MAX_VEHICLES_PER_RIDE; i++) for (int32_t i = 0; i < MAX_VEHICLES_PER_RIDE; i++)
{ {
ride->vehicle_colours[i].body_colour = td6->vehicle_colours[i].body_colour; ride->vehicle_colours[i].Body = td6->vehicle_colours[i].body_colour;
ride->vehicle_colours[i].trim_colour = td6->vehicle_colours[i].trim_colour; ride->vehicle_colours[i].Trim = td6->vehicle_colours[i].trim_colour;
ride->vehicle_colours_extended[i] = td6->vehicle_additional_colour[i]; ride->vehicle_colours[i].Ternary = td6->vehicle_additional_colour[i];
} }
ride_set_name(rideIndex, td6->name); ride_set_name(rideIndex, td6->name);

View File

@ -770,8 +770,9 @@ static rct_track_td6* track_design_save_to_td6(uint8_t rideIndex)
for (int32_t i = 0; i < RCT12_MAX_VEHICLES_PER_RIDE; i++) for (int32_t i = 0; i < RCT12_MAX_VEHICLES_PER_RIDE; i++)
{ {
td6->vehicle_colours[i] = ride->vehicle_colours[i]; td6->vehicle_colours[i].body_colour = ride->vehicle_colours[i].Body;
td6->vehicle_additional_colour[i] = ride->vehicle_colours_extended[i]; td6->vehicle_colours[i].trim_colour = ride->vehicle_colours[i].Trim;
td6->vehicle_additional_colour[i] = ride->vehicle_colours[i].Ternary;
} }
for (int32_t i = 0; i < RCT12_NUM_COLOUR_SCHEMES; i++) for (int32_t i = 0; i < RCT12_NUM_COLOUR_SCHEMES; i++)

View File

@ -23,6 +23,13 @@ struct rct_vehicle_colour
uint8_t trim_colour; uint8_t trim_colour;
}; };
struct VehicleColour
{
uint8_t Body;
uint8_t Trim;
uint8_t Ternary;
};
#ifdef __TESTPAINT__ #ifdef __TESTPAINT__
# pragma pack(push, 1) # pragma pack(push, 1)
#endif // __TESTPAINT__ #endif // __TESTPAINT__

View File

@ -35,8 +35,7 @@ static void paint_circus_show_tent(
uint32_t imageId = rideEntry->vehicles[0].base_image_id; uint32_t imageId = rideEntry->vehicles[0].base_image_id;
if (imageColourFlags == IMAGE_TYPE_REMAP) if (imageColourFlags == IMAGE_TYPE_REMAP)
{ {
imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim);
ride->vehicle_colours[0].body_colour, ride->vehicle_colours[0].trim_colour);
imageId += direction; imageId += direction;
} }

View File

@ -82,8 +82,7 @@ static void paint_ferris_wheel_structure(
uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC]; uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC];
if (imageColourFlags == IMAGE_TYPE_REMAP) if (imageColourFlags == IMAGE_TYPE_REMAP)
{ {
imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim);
ride->vehicle_colours[0].body_colour, ride->vehicle_colours[0].trim_colour);
} }
ferris_wheel_bound_box boundBox = ferris_wheel_data[direction]; ferris_wheel_bound_box boundBox = ferris_wheel_data[direction];

View File

@ -65,8 +65,7 @@ static void paint_merry_go_round_structure(
uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC]; uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC];
if (imageColourFlags == IMAGE_TYPE_REMAP) if (imageColourFlags == IMAGE_TYPE_REMAP)
{ {
imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim);
ride->vehicle_colours[0].body_colour, ride->vehicle_colours[0].trim_colour);
} }
uint32_t imageId = (baseImageId + imageOffset) | imageColourFlags; uint32_t imageId = (baseImageId + imageOffset) | imageColourFlags;

View File

@ -63,7 +63,7 @@ static void paint_space_rings_structure(paint_session* session, Ride* ride, uint
if (imageColourFlags == IMAGE_TYPE_REMAP) if (imageColourFlags == IMAGE_TYPE_REMAP)
{ {
imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(
ride->vehicle_colours[vehicleIndex].body_colour, ride->vehicle_colours[vehicleIndex].trim_colour); ride->vehicle_colours[vehicleIndex].Body, ride->vehicle_colours[vehicleIndex].Trim);
} }
uint32_t imageId = (baseImageId + frameNum) | imageColourFlags; uint32_t imageId = (baseImageId + frameNum) | imageColourFlags;

View File

@ -39,8 +39,7 @@ static void paint_3d_cinema_structure(
uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC]; uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC];
if (imageColourFlags == IMAGE_TYPE_REMAP) if (imageColourFlags == IMAGE_TYPE_REMAP)
{ {
imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim);
ride->vehicle_colours[0].body_colour, ride->vehicle_colours[0].trim_colour);
} }
uint32_t imageId = (rideEntry->vehicles[0].base_image_id + direction) | imageColourFlags; uint32_t imageId = (rideEntry->vehicles[0].base_image_id + direction) | imageColourFlags;

View File

@ -48,8 +48,7 @@ static void paint_enterprise_structure(
uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC]; uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC];
if (imageColourFlags == IMAGE_TYPE_REMAP) if (imageColourFlags == IMAGE_TYPE_REMAP)
{ {
imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim);
ride->vehicle_colours[0].body_colour, ride->vehicle_colours[0].trim_colour);
} }
uint32_t imageId = (baseImageId + imageOffset) | imageColourFlags; uint32_t imageId = (baseImageId + imageOffset) | imageColourFlags;

View File

@ -129,8 +129,7 @@ static void paint_magic_carpet_vehicle(
uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC]; uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC];
if (imageColourFlags == IMAGE_TYPE_REMAP) if (imageColourFlags == IMAGE_TYPE_REMAP)
{ {
imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim);
ride->vehicle_colours[0].body_colour, ride->vehicle_colours[0].trim_colour);
} }
int8_t directionalOffset = MagicCarpetOscillationXY[swingImageId]; int8_t directionalOffset = MagicCarpetOscillationXY[swingImageId];

View File

@ -66,8 +66,7 @@ static void paint_motionsimulator_vehicle(
uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC]; uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC];
if (imageColourFlags == IMAGE_TYPE_REMAP) if (imageColourFlags == IMAGE_TYPE_REMAP)
{ {
imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim);
ride->vehicle_colours[0].body_colour, ride->vehicle_colours[0].trim_colour);
} }
simulatorImageId |= imageColourFlags; simulatorImageId |= imageColourFlags;

View File

@ -100,8 +100,7 @@ static void paint_pirate_ship_structure(
uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC]; uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC];
if (imageColourFlags == IMAGE_TYPE_REMAP) if (imageColourFlags == IMAGE_TYPE_REMAP)
{ {
imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim);
ride->vehicle_colours[0].body_colour, ride->vehicle_colours[0].trim_colour);
} }
pirate_ship_bound_box bounds = pirate_ship_data[direction]; pirate_ship_bound_box bounds = pirate_ship_data[direction];

View File

@ -90,7 +90,7 @@ static void paint_swinging_inverter_ship_structure(
uint32_t colourFlags = session->TrackColours[SCHEME_MISC]; uint32_t colourFlags = session->TrackColours[SCHEME_MISC];
if (colourFlags == IMAGE_TYPE_REMAP) if (colourFlags == IMAGE_TYPE_REMAP)
{ {
colourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].body_colour, ride->vehicle_colours[0].trim_colour); colourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim);
} }
swinging_inverter_ship_bound_box boundBox = swinging_inverter_ship_bounds[direction]; swinging_inverter_ship_bound_box boundBox = swinging_inverter_ship_bounds[direction];

View File

@ -135,7 +135,7 @@ static void top_spin_paint_vehicle(
image_id = session->TrackColours[SCHEME_MISC]; image_id = session->TrackColours[SCHEME_MISC];
if (image_id == IMAGE_TYPE_REMAP) if (image_id == IMAGE_TYPE_REMAP)
{ {
image_id = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].body_colour, ride->vehicle_colours[0].trim_colour); image_id = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim);
} }
image_id += seatImageId; image_id += seatImageId;

View File

@ -51,8 +51,7 @@ static void paint_twist_structure(
uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC]; uint32_t imageColourFlags = session->TrackColours[SCHEME_MISC];
if (imageColourFlags == IMAGE_TYPE_REMAP) if (imageColourFlags == IMAGE_TYPE_REMAP)
{ {
imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim);
ride->vehicle_colours[0].body_colour, ride->vehicle_colours[0].trim_colour);
} }
uint32_t structureFrameNum = frameNum % 24; uint32_t structureFrameNum = frameNum % 24;