refactor colours, use constants

This commit is contained in:
Ted John 2016-04-16 18:02:09 +01:00
parent 2f0455b225
commit 88a26f17b0
2 changed files with 54 additions and 26 deletions

View File

@ -412,7 +412,7 @@ static void rct1_fix_scenery()
case 168: // TGE3 (Geometric Sculpture)
case 170: // TGE4 (Geometric Sculpture)
case 171: // TGE5 (Geometric Sculpture)
element->properties.scenery.colour_2 = 2;
element->properties.scenery.colour_2 = COLOUR_WHITE;
break;
}
}
@ -936,11 +936,39 @@ static void sub_69E891()
*
* rct2: 0x0097F0BC, 0x0098BC60
*/
const uint8 RCT1ColourConversionTable[32] = {
0, 1, 2, 4, 5, 6, 7, 9,
11, 12, 13, 14, 15, 16, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27,
28, 30, 31, 29, 3, 10, 17, 8
const colour_t RCT1ColourConversionTable[32] = {
COLOUR_BLACK,
COLOUR_GREY,
COLOUR_WHITE,
COLOUR_LIGHT_PURPLE,
COLOUR_BRIGHT_PURPLE,
COLOUR_DARK_BLUE,
COLOUR_LIGHT_BLUE,
COLOUR_TEAL,
COLOUR_SATURATED_GREEN,
COLOUR_DARK_GREEN,
COLOUR_MOSS_GREEN,
COLOUR_BRIGHT_GREEN,
COLOUR_OLIVE_GREEN,
COLOUR_DARK_OLIVE_GREEN,
COLOUR_YELLOW,
COLOUR_DARK_YELLOW,
COLOUR_LIGHT_ORANGE,
COLOUR_DARK_ORANGE,
COLOUR_LIGHT_BROWN,
COLOUR_SATURATED_BROWN,
COLOUR_DARK_BROWN,
COLOUR_SALMON_PINK,
COLOUR_BORDEAUX_RED,
COLOUR_SATURATED_RED,
COLOUR_BRIGHT_RED,
COLOUR_BRIGHT_PINK,
COLOUR_LIGHT_PINK,
COLOUR_DARK_PINK,
COLOUR_DARK_PURPLE,
COLOUR_AQUAMARINE,
COLOUR_BRIGHT_YELLOW,
COLOUR_ICY_BLUE
};
static const uint8 RCT1TerrainConvertTable[16] = {
@ -2300,8 +2328,8 @@ static void rct1_import_ride(rct1_s4 *s4, rct_ride *dst, rct1_ride *src)
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
dst->vehicle_colours[0].body_colour = 18;
dst->vehicle_colours[0].trim_colour = 28;
dst->vehicle_colours[0].body_colour = COLOUR_YELLOW;
dst->vehicle_colours[0].trim_colour = COLOUR_BRIGHT_RED;
} else {
for (int i = 0; i < 12; i++) {
dst->vehicle_colours[i].body_colour = RCT1ColourConversionTable[src->vehicle_colours[i].body];

View File

@ -48,12 +48,12 @@ typedef struct {
uint8 operating_mode;
uint8 colour_scheme;
struct {
uint8 body;
uint8 trim;
colour_t body;
colour_t trim;
} vehicle_colours[12];
uint8 track_primary_colour;
uint8 track_secondary_colour;
uint8 track_support_colour;
colour_t track_primary_colour;
colour_t track_secondary_colour;
colour_t track_support_colour;
uint8 status;
uint16 name;
uint16 name_argument_ride;
@ -157,9 +157,9 @@ typedef struct {
money32 income_per_hour;
money32 profit;
uint8 queue_time[4];
uint8 track_colour_main[4];
uint8 track_colour_additional[4];
uint8 track_colour_supports[4];
colour_t track_colour_main[4];
colour_t track_colour_additional[4];
colour_t track_colour_supports[4];
uint8 music;
uint8 entrance_style;
uint8 unk_17A[230];
@ -211,9 +211,9 @@ typedef struct {
money32 expenditure[14 * 16];
uint32 guests_in_park_2;
uint8 unk_199024;
uint8 handman_colour;
uint8 mechanic_colour;
uint8 security_guard_colour;
colour_t handman_colour;
colour_t mechanic_colour;
colour_t security_guard_colour;
uint8 available_scenery[128];
uint16 available_banners;
uint8 unk_1990AA[94];
@ -533,10 +533,10 @@ typedef struct{
uint32 special_track_flags; // 0x02
uint8 operating_mode; // 0x06
uint8 vehicle_colour_version; // 0x07 Vehicle colour type in first two bits, Version in bits 3,4
uint8 body_trim_colour[24]; // 0x08
uint8 track_spine_colour_rct1; // 0x20
uint8 track_rail_colour_rct1; // 0x21
uint8 track_support_colour_rct1; // 0x22
colour_t body_trim_colour[24]; // 0x08
colour_t track_spine_colour_rct1; // 0x20
colour_t track_rail_colour_rct1; // 0x21
colour_t track_support_colour_rct1; // 0x22
uint8 departure_control_flags; // 0x23
uint8 number_of_trains; // 0x24
uint8 cars_per_train; // 0x25
@ -561,11 +561,11 @@ typedef struct{
uint8 pad_36[2];
union{
uint16 start_track_data_original; // 0x38
uint8 track_spine_colour[4]; // 0x38
colour_t track_spine_colour[4]; // 0x38
};
uint8 track_rail_colour[4]; // 0x3C
colour_t track_rail_colour[4]; // 0x3C
union{
uint8 track_support_colour[4]; // 0x40
colour_t track_support_colour[4]; // 0x40
uint8 wall_type[4]; // 0x40
};
uint8 pad_41[0x83];