mirror of https://github.com/OpenRCT2/OpenRCT2.git
Merge vehicle_colours and vehicle_colours_extended
This commit is contained in:
parent
d71531fc98
commit
8e6497fc1d
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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++)
|
||||||
|
|
|
@ -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__
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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];
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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];
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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];
|
||||||
|
|
|
@ -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];
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue