mirror of https://github.com/OpenRCT2/OpenRCT2.git
Missing field initializers part 2
This commit tackles the more difficult-to-fix warnings that -Wmissing-field-initializers reported. I've compares the new tables in TrackData with the old ones through a script to make sure they are in fact the same.
This commit is contained in:
parent
5d0022a5cb
commit
9c8c2a2820
|
@ -87,12 +87,12 @@ enum
|
||||||
|
|
||||||
constexpr char NAC = '\0';
|
constexpr char NAC = '\0';
|
||||||
|
|
||||||
#define ExampleTableEnd { NULL, NULL }
|
#define ExampleTableEnd { nullptr, nullptr }
|
||||||
#define OptionTableEnd { UINT8_MAX, NULL, NAC, NULL, NULL }
|
#define OptionTableEnd { UINT8_MAX, nullptr, NAC, nullptr, nullptr }
|
||||||
#define CommandTableEnd { NULL, NULL, NULL, NULL }
|
#define CommandTableEnd { nullptr, nullptr, nullptr, nullptr, nullptr }
|
||||||
|
|
||||||
#define DefineCommand(name, params, options, func) { name, params, options, NULL, func }
|
#define DefineCommand(name, params, options, func) { name, params, options, nullptr, func }
|
||||||
#define DefineSubCommand(name, subcommandtable) { name, "", NULL, subcommandtable, NULL }
|
#define DefineSubCommand(name, subcommandtable) { name, "", nullptr, subcommandtable, nullptr }
|
||||||
|
|
||||||
namespace CommandLine
|
namespace CommandLine
|
||||||
{
|
{
|
||||||
|
|
|
@ -769,6 +769,8 @@ static sint32
|
||||||
console.WriteLineError("OpenRCT2 build not compiled with Twitch integration.");
|
console.WriteLineError("OpenRCT2 build not compiled with Twitch integration.");
|
||||||
#else
|
#else
|
||||||
// TODO: Add some twitch commands
|
// TODO: Add some twitch commands
|
||||||
|
// Display a message to the player for now
|
||||||
|
console.WriteLine("To be implemented");
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1097,7 +1099,7 @@ static constexpr const console_command console_command_table[] = {
|
||||||
"This is a safer method opposed to \"open object_selection\".",
|
"This is a safer method opposed to \"open object_selection\".",
|
||||||
"load_object <objectfilenodat>" },
|
"load_object <objectfilenodat>" },
|
||||||
{ "object_count", cc_object_count, "Shows the number of objects of each type in the scenario.", "object_count" },
|
{ "object_count", cc_object_count, "Shows the number of objects of each type in the scenario.", "object_count" },
|
||||||
{ "twitch", cc_twitch, "Twitch API" },
|
{ "twitch", cc_twitch, "Twitch API", "twitch" },
|
||||||
{ "reset_user_strings", cc_reset_user_strings, "Resets all user-defined strings, to fix incorrectly occurring 'Chosen name in use already' errors.", "reset_user_strings" },
|
{ "reset_user_strings", cc_reset_user_strings, "Resets all user-defined strings, to fix incorrectly occurring 'Chosen name in use already' errors.", "reset_user_strings" },
|
||||||
{ "rides", cc_rides, "Ride management.", "rides <subcommand>" },
|
{ "rides", cc_rides, "Ride management.", "rides <subcommand>" },
|
||||||
{ "staff", cc_staff, "Staff management.", "staff <subcommand>"},
|
{ "staff", cc_staff, "Staff management.", "staff <subcommand>"},
|
||||||
|
|
|
@ -69,7 +69,7 @@ struct rct_ride_data_4 {
|
||||||
uint16 flags;
|
uint16 flags;
|
||||||
uint8 default_music;
|
uint8 default_music;
|
||||||
uint8 alternate_type;
|
uint8 alternate_type;
|
||||||
uint8 pad[2];
|
uint8 pad[2] = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ride_cost {
|
struct ride_cost {
|
||||||
|
@ -85,7 +85,7 @@ struct rct_ride_data_5 {
|
||||||
uint8 z;
|
uint8 z;
|
||||||
uint8 price;
|
uint8 price;
|
||||||
uint8 bonus_value; // Deprecated. Use rideBonusValue instead
|
uint8 bonus_value; // Deprecated. Use rideBonusValue instead
|
||||||
uint8 pad;
|
uint8 pad = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct rct_ride_lift_data {
|
struct rct_ride_lift_data {
|
||||||
|
|
|
@ -29,14 +29,12 @@ struct rct_trackdefinition
|
||||||
uint8 bank_end;
|
uint8 bank_end;
|
||||||
uint8 bank_start;
|
uint8 bank_start;
|
||||||
sint8 preview_z_offset;
|
sint8 preview_z_offset;
|
||||||
uint8 pad[2];
|
uint8 pad[2] = {};
|
||||||
};
|
};
|
||||||
assert_struct_size(rct_trackdefinition, 8);
|
assert_struct_size(rct_trackdefinition, 8);
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
/**
|
/* size 0x0A */
|
||||||
* Size: 0x0A
|
|
||||||
*/
|
|
||||||
struct rct_preview_track
|
struct rct_preview_track
|
||||||
{
|
{
|
||||||
uint8 index; // 0x00
|
uint8 index; // 0x00
|
||||||
|
|
|
@ -27900,7 +27900,7 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9571BC, {
|
||||||
{ 16, -63, 0, 24, 0, 0 }, { 16, -64, 0, 24, 0, 0 },
|
{ 16, -63, 0, 24, 0, 0 }, { 16, -64, 0, 24, 0, 0 },
|
||||||
})
|
})
|
||||||
|
|
||||||
CREATE_VEHICLE_INFO(TrackVehicleInfo_000000, { 0 })
|
CREATE_VEHICLE_INFO(TrackVehicleInfo_000000, { { 0, 0, 0, 0, 0, 0 } })
|
||||||
|
|
||||||
static constexpr const rct_vehicle_info_list *TrackVehicleInfoList_8B8F98[] = {
|
static constexpr const rct_vehicle_info_list *TrackVehicleInfoList_8B8F98[] = {
|
||||||
&TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C,
|
&TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C, &TrackVehicleInfo_8BE7BE, &TrackVehicleInfo_8BE8E0, &TrackVehicleInfo_8BE57A, &TrackVehicleInfo_8BE69C,
|
||||||
|
|
|
@ -982,53 +982,51 @@ void track_paint_util_draw_station_metal_supports_2(paint_session * session, uin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// clang-format off
|
|
||||||
const LocationXY16 defaultRightHelixUpSmallQuarterBoundLengths[4][3][2] = {
|
const LocationXY16 defaultRightHelixUpSmallQuarterBoundLengths[4][3][2] = {
|
||||||
{
|
{
|
||||||
{32, 20},
|
{ { 32, 20 }, { 0, 0 } },
|
||||||
{16, 16},
|
{ { 16, 16 }, { 0, 0 } },
|
||||||
{20, 32}
|
{ { 20, 32 }, { 0, 0 } },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{20, 32},
|
{ { 20, 32 }, { 0, 0 } },
|
||||||
{16, 16},
|
{ { 16, 16 }, { 0, 0 } },
|
||||||
{ {32, 20}, {32, 1} }
|
{ { 32, 20 }, { 32, 1 } },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{ {0}, {32, 1} },
|
{ { 0, 0 }, { 32, 1 } },
|
||||||
{16, 16},
|
{ { 16, 16 }, { 0, 0 } },
|
||||||
{ {0}, {1, 32} }
|
{ { 0, 0 }, { 1, 32 } },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{ {20, 32}, {1, 32} },
|
{ { 20, 32 }, { 1, 32 } },
|
||||||
{16, 16},
|
{ { 16, 16 }, { 0, 0 } },
|
||||||
{32, 20},
|
{ { 32, 20 }, { 0, 0 } },
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const LocationXYZ16 defaultRightHelixUpSmallQuarterBoundOffsets[4][3][2] = {
|
const LocationXYZ16 defaultRightHelixUpSmallQuarterBoundOffsets[4][3][2] = {
|
||||||
{
|
{
|
||||||
{0, 6},
|
{ { 0, 6, 0 }, { 0, 0, 0 } },
|
||||||
{16, 16},
|
{ { 16, 16, 0 }, { 0, 0, 0 } },
|
||||||
{6, 0},
|
{ { 6, 0, 0 }, { 0, 0, 0 } },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{6, 0},
|
{ { 6, 0, 0 }, { 0, 0, 0 } },
|
||||||
{16, 0},
|
{ { 16, 0, 0 }, { 0, 0, 0 } },
|
||||||
{ {0, 6}, {0, 27} },
|
{ { 0, 6, 0 }, { 0, 27, 0 } },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{ {0}, {0, 27} },
|
{ { 0, 0, 0 }, { 0, 27, 0 } },
|
||||||
{0, 0, 27},
|
{ { 0, 0, 27 }, { 0, 0, 0 } },
|
||||||
{ {0}, {27, 0} },
|
{ { 0, 0, 0 }, { 27, 0, 0 } },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{ {6, 0}, {27, 0} },
|
{ { 6, 0, 0 }, { 27, 0, 0 } },
|
||||||
{0, 16},
|
{ { 0, 16, 0 }, { 0, 0, 0 } },
|
||||||
{0, 6},
|
{ { 0, 6, 0 }, { 0, 0, 0 } },
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
static constexpr const sint8 right_helix_up_small_quarter_tiles_sprite_map[] = { 0, -1, 1, 2 };
|
static constexpr const sint8 right_helix_up_small_quarter_tiles_sprite_map[] = { 0, -1, 1, 2 };
|
||||||
|
|
||||||
|
@ -1071,69 +1069,67 @@ void track_paint_util_right_helix_up_small_quarter_tiles_paint(paint_session * s
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// clang-format off
|
|
||||||
const LocationXYZ16 defaultRightHelixUpLargeQuarterBoundOffsets[4][5][2] = {
|
const LocationXYZ16 defaultRightHelixUpLargeQuarterBoundOffsets[4][5][2] = {
|
||||||
{
|
{
|
||||||
{0, 6},
|
{ { 0, 6, 0 }, { 0, 0, 0 } },
|
||||||
{0, 16},
|
{ { 0, 16, 0 }, { 0, 0, 0 } },
|
||||||
{0, 0},
|
{ { 0, 0, 0 }, { 0, 0, 0 } },
|
||||||
{16, 0},
|
{ { 16, 0, 0 }, { 0, 0, 0 } },
|
||||||
{6, 0},
|
{ { 6, 0, 0 }, { 0, 0, 0 } },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{6, 0},
|
{ { 6, 0, 0 }, { 0, 0, 0 } },
|
||||||
{16, 0},
|
{ { 16, 0, 0 }, { 0, 0, 0 } },
|
||||||
{0, 16},
|
{ { 0, 16, 0 }, { 0, 0, 0 } },
|
||||||
{0, 0},
|
{ { 0, 0, 0 }, { 0, 0, 0 } },
|
||||||
{ {0, 6}, {0, 27} },
|
{ { 0, 6, 0 }, { 0, 27, 0 } },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{ {0}, {0, 27} },
|
{ { 0, 0, 0 }, { 0, 27, 0 } },
|
||||||
{0, 0, 27},
|
{ { 0, 0, 27 }, { 0, 0, 0 } },
|
||||||
{16, 16, 27},
|
{ { 16, 16, 27 }, { 0, 0, 0 } },
|
||||||
{0, 0, 27},
|
{ { 0, 0, 27 }, { 0, 0, 0 } },
|
||||||
{ {0}, {27, 0} },
|
{ { 0, 0, 0 }, { 27, 0, 0 } },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{{6, 0}, {27, 0} },
|
{ { 6, 0, 0 }, { 27, 0, 0 } },
|
||||||
{0, 0},
|
{ { 0, 0, 0 }, { 0, 0, 0 } },
|
||||||
{16, 0},
|
{ { 16, 0, 0 }, { 0, 0, 0 } },
|
||||||
{0, 16},
|
{ { 0, 16, 0 }, { 0, 0, 0 } },
|
||||||
{0, 6},
|
{ { 0, 6, 0 }, { 0, 0, 0 } },
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const LocationXY16 defaultRightHelixUpLargeQuarterBoundLengths[4][5][2] = {
|
const LocationXY16 defaultRightHelixUpLargeQuarterBoundLengths[4][5][2] = {
|
||||||
{
|
{
|
||||||
{32, 20},
|
{ { 32, 20 }, { 0, 0 } },
|
||||||
{32, 16},
|
{ { 32, 16 }, { 0, 0 } },
|
||||||
{16, 16},
|
{ { 16, 16 }, { 0, 0 } },
|
||||||
{16, 32},
|
{ { 16, 32 }, { 0, 0 } },
|
||||||
{20, 32},
|
{ { 20, 32 }, { 0, 0 } },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{20, 32},
|
{ { 20, 32 }, { 0, 0 } },
|
||||||
{16, 32},
|
{ { 16, 32 }, { 0, 0 } },
|
||||||
{16, 16},
|
{ { 16, 16 }, { 0, 0 } },
|
||||||
{32, 16},
|
{ { 32, 16 }, { 0, 0 } },
|
||||||
{ {32, 20}, {32, 1} },
|
{ { 32, 20 }, { 32, 1 } },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{ {0}, {32, 1} },
|
{ { 0, 0 }, { 32, 1 } },
|
||||||
{32, 16},
|
{ { 32, 16 }, { 0, 0 } },
|
||||||
{16, 16},
|
{ { 16, 16 }, { 0, 0 } },
|
||||||
{16, 32},
|
{ { 16, 32 }, { 0, 0 } },
|
||||||
{ {0}, {1, 32} },
|
{ { 0, 0 }, { 1, 32 } },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{{20, 32}, {1, 32} },
|
{ { 20, 32 }, { 1, 32 } },
|
||||||
{16, 32},
|
{ { 16, 32 }, { 0, 0 } },
|
||||||
{16, 16},
|
{ { 16, 16 }, { 0, 0 } },
|
||||||
{32, 16},
|
{ { 32, 16 }, { 0, 0 } },
|
||||||
{32, 20},
|
{ { 32, 20 }, { 0, 0 } },
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
static constexpr const sint8 right_helix_up_large_quarter_sprite_map[] = { 0, -1, 1, 2, -1, 3, 4 };
|
static constexpr const sint8 right_helix_up_large_quarter_sprite_map[] = { 0, -1, 1, 2, -1, 3, 4 };
|
||||||
void track_paint_util_right_helix_up_large_quarter_tiles_paint(paint_session * session, const sint8 thickness[2], sint16 height,
|
void track_paint_util_right_helix_up_large_quarter_tiles_paint(paint_session * session, const sint8 thickness[2], sint16 height,
|
||||||
|
@ -1175,112 +1171,111 @@ void track_paint_util_right_helix_up_large_quarter_tiles_paint(paint_session * s
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// clang-format off
|
|
||||||
const LocationXY16 defaultLeftEighthToDiagBoundLengths[4][4] = {
|
const LocationXY16 defaultLeftEighthToDiagBoundLengths[4][4] = {
|
||||||
{
|
{
|
||||||
{32, 20},
|
{ 32, 20 },
|
||||||
{32, 16},
|
{ 32, 16 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{20, 32},
|
{ 20, 32 },
|
||||||
{16, 34},
|
{ 16, 34 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{18, 16},
|
{ 18, 16 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{32, 20},
|
{ 32, 20 },
|
||||||
{32, 16},
|
{ 32, 16 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{20, 32},
|
{ 20, 32 },
|
||||||
{16, 32},
|
{ 16, 32 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const LocationXYZ16 defaultLeftEighthToDiagBoundOffsets[4][4] = {
|
const LocationXYZ16 defaultLeftEighthToDiagBoundOffsets[4][4] = {
|
||||||
{
|
{
|
||||||
{0, 6},
|
{ 0, 6, 0 },
|
||||||
{0, 0},
|
{ 0, 0, 0 },
|
||||||
{0, 16},
|
{ 0, 16, 0 },
|
||||||
{16, 16},
|
{ 16, 16, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{6, 0},
|
{ 6, 0, 0 },
|
||||||
{0, 0},
|
{ 0, 0, 0 },
|
||||||
{16, 16},
|
{ 16, 16, 0 },
|
||||||
{16, 0},
|
{ 16, 0, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{0, 6},
|
{ 0, 6, 0 },
|
||||||
{0, 16},
|
{ 0, 16, 0 },
|
||||||
{16, 0},
|
{ 16, 0, 0 },
|
||||||
{0, 0},
|
{ 0, 0, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{6, 0},
|
{ 6, 0, 0 },
|
||||||
{16, 0},
|
{ 16, 0, 0 },
|
||||||
{0, 0},
|
{ 0, 0, 0 },
|
||||||
{0, 16},
|
{ 0, 16, 0 },
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const LocationXY16 defaultRightEighthToDiagBoundLengths[4][4] = {
|
const LocationXY16 defaultRightEighthToDiagBoundLengths[4][4] = {
|
||||||
{
|
{
|
||||||
{32, 20},
|
{ 32, 20 },
|
||||||
{32, 16},
|
{ 32, 16 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{20, 32},
|
{ 20, 32 },
|
||||||
{16, 32},
|
{ 16, 32 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{32, 20},
|
{ 32, 20 },
|
||||||
{34, 16},
|
{ 34, 16 },
|
||||||
{28, 28},
|
{ 28, 28 },
|
||||||
{16, 18},
|
{ 16, 18 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{20, 32},
|
{ 20, 32 },
|
||||||
{16, 32},
|
{ 16, 32 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const LocationXYZ16 defaultRightEighthToDiagBoundOffsets[4][4] = {
|
const LocationXYZ16 defaultRightEighthToDiagBoundOffsets[4][4] = {
|
||||||
{
|
{
|
||||||
{0, 6},
|
{ 0, 6, 0 },
|
||||||
{0, 16},
|
{ 0, 16, 0 },
|
||||||
{0, 0},
|
{ 0, 0, 0 },
|
||||||
{16, 0},
|
{ 16, 0, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{6, 0},
|
{ 6, 0, 0 },
|
||||||
{16, 0},
|
{ 16, 0, 0 },
|
||||||
{0, 16},
|
{ 0, 16, 0 },
|
||||||
{0, 0},
|
{ 0, 0, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{0, 6},
|
{ 0, 6, 0 },
|
||||||
{0, 0},
|
{ 0, 0, 0 },
|
||||||
{4, 4},
|
{ 4, 4, 0 },
|
||||||
{0, 16},
|
{ 0, 16, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{6, 0},
|
{ 6, 0, 0 },
|
||||||
{0, 0},
|
{ 0, 0, 0 },
|
||||||
{16, 0},
|
{ 16, 0, 0 },
|
||||||
{16, 16},
|
{ 16, 16, 0 },
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1310,7 +1305,6 @@ const sint8 defaultEighthToDiagThickness[4][4] = {
|
||||||
1,
|
1,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
const uint8 mapLeftEighthTurnToOrthogonal[] = { 4, 2, 3, 1, 0 };
|
const uint8 mapLeftEighthTurnToOrthogonal[] = { 4, 2, 3, 1, 0 };
|
||||||
|
|
||||||
|
@ -1383,100 +1377,98 @@ void track_paint_util_diag_tiles_paint(paint_session * session, sint8 thickness,
|
||||||
|
|
||||||
const uint8 mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[] = { 6, 4, 5, 3, 1, 2, 0 };
|
const uint8 mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[] = { 6, 4, 5, 3, 1, 2, 0 };
|
||||||
|
|
||||||
// clang-format off
|
|
||||||
const LocationXY16 defaultRightQuarterTurn5TilesOffsets[4][5] = {
|
const LocationXY16 defaultRightQuarterTurn5TilesOffsets[4][5] = {
|
||||||
{
|
{
|
||||||
{0, 6},
|
{ 0, 6 },
|
||||||
{0, 16},
|
{ 0, 16 },
|
||||||
{0, 0},
|
{ 0, 0 },
|
||||||
{16, 0},
|
{ 16, 0 },
|
||||||
{6, 0},
|
{ 6, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{6, 0},
|
{ 6, 0 },
|
||||||
{16, 0},
|
{ 16, 0 },
|
||||||
{0, 16},
|
{ 0, 16 },
|
||||||
{0, 0},
|
{ 0, 0 },
|
||||||
{0, 6},
|
{ 0, 6 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{0, 6},
|
{ 0, 6 },
|
||||||
{0, 0},
|
{ 0, 0 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{0, 0},
|
{ 0, 0 },
|
||||||
{6, 0},
|
{ 6, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{6, 0},
|
{ 6, 0 },
|
||||||
{0, 0},
|
{ 0, 0 },
|
||||||
{16, 0},
|
{ 16, 0 },
|
||||||
{0, 16},
|
{ 0, 16 },
|
||||||
{0, 6},
|
{ 0, 6 },
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const LocationXYZ16 defaultRightQuarterTurn5TilesBoundOffsets[4][5] = {
|
const LocationXYZ16 defaultRightQuarterTurn5TilesBoundOffsets[4][5] = {
|
||||||
{
|
{
|
||||||
{0, 6},
|
{ 0, 6, 0 },
|
||||||
{0, 16},
|
{ 0, 16, 0 },
|
||||||
{0, 0},
|
{ 0, 0, 0 },
|
||||||
{16, 0},
|
{ 16, 0, 0 },
|
||||||
{6, 0},
|
{ 6, 0, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{6, 0},
|
{ 6, 0, 0 },
|
||||||
{16, 0},
|
{ 16, 0, 0 },
|
||||||
{0, 16},
|
{ 0, 16, 0 },
|
||||||
{0, 0},
|
{ 0, 0, 0 },
|
||||||
{0, 6},
|
{ 0, 6, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{0, 6},
|
{ 0, 6, 0 },
|
||||||
{0, 0},
|
{ 0, 0, 0 },
|
||||||
{16, 16},
|
{ 16, 16, 0 },
|
||||||
{0, 0},
|
{ 0, 0, 0 },
|
||||||
{6, 0},
|
{ 6, 0, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{6, 0},
|
{ 6, 0, 0 },
|
||||||
{0, 0},
|
{ 0, 0, 0 },
|
||||||
{16, 0},
|
{ 16, 0, 0 },
|
||||||
{0, 16},
|
{ 0, 16, 0 },
|
||||||
{0, 6},
|
{ 0, 6, 0 },
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const LocationXY16 defaultRightQuarterTurn5TilesBoundLengths[4][5] = {
|
const LocationXY16 defaultRightQuarterTurn5TilesBoundLengths[4][5] = {
|
||||||
{
|
{
|
||||||
{32, 20},
|
{ 32, 20 },
|
||||||
{32, 16},
|
{ 32, 16 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{16, 32},
|
{ 16, 32 },
|
||||||
{20, 32},
|
{ 20, 32 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{20, 32},
|
{ 20, 32 },
|
||||||
{16, 32},
|
{ 16, 32 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{32, 16},
|
{ 32, 16 },
|
||||||
{32, 20},
|
{ 32, 20 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{32, 20},
|
{ 32, 20 },
|
||||||
{32, 16},
|
{ 32, 16 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{16, 32},
|
{ 16, 32 },
|
||||||
{20, 32},
|
{ 20, 32 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{20, 32},
|
{ 20, 32 },
|
||||||
{16, 32},
|
{ 16, 32 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{32, 16},
|
{ 32, 16 },
|
||||||
{32, 20},
|
{ 32, 20 },
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
static constexpr const sint8 right_quarter_turn_5_tiles_sprite_map[] = { 0, -1, 1, 2, -1, 3, 4 };
|
static constexpr const sint8 right_quarter_turn_5_tiles_sprite_map[] = { 0, -1, 1, 2, -1, 3, 4 };
|
||||||
void track_paint_util_right_quarter_turn_5_tiles_paint(paint_session * session, sint8 thickness, sint16 height,
|
void track_paint_util_right_quarter_turn_5_tiles_paint(paint_session * session, sint8 thickness, sint16 height,
|
||||||
|
@ -1574,76 +1566,74 @@ void track_paint_util_right_quarter_turn_5_tiles_wooden_supports(paint_session *
|
||||||
|
|
||||||
const uint8 mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[] = { 3, 1, 2, 0 };
|
const uint8 mapLeftQuarterTurn3TilesToRightQuarterTurn3Tiles[] = { 3, 1, 2, 0 };
|
||||||
|
|
||||||
// clang-format off
|
|
||||||
const LocationXY16 defaultRightQuarterTurn3TilesOffsets[4][3] = {
|
const LocationXY16 defaultRightQuarterTurn3TilesOffsets[4][3] = {
|
||||||
{
|
{
|
||||||
{0, 6},
|
{ 0, 6 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{6, 0},
|
{ 6, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{6, 0},
|
{ 6, 0 },
|
||||||
{16, 0},
|
{ 16, 0 },
|
||||||
{0, 6},
|
{ 0, 6 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{0, 6},
|
{ 0, 6 },
|
||||||
{0, 0},
|
{ 0, 0 },
|
||||||
{6, 0},
|
{ 6, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{6, 0},
|
{ 6, 0 },
|
||||||
{0, 16},
|
{ 0, 16 },
|
||||||
{0, 6},
|
{ 0, 6 },
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const LocationXYZ16 defaultRightQuarterTurn3TilesBoundOffsets[4][3] = {
|
const LocationXYZ16 defaultRightQuarterTurn3TilesBoundOffsets[4][3] = {
|
||||||
{
|
{
|
||||||
{0, 6},
|
{ 0, 6, 0 },
|
||||||
{16, 16},
|
{ 16, 16, 0 },
|
||||||
{6, 0},
|
{ 6, 0, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{6, 0},
|
{ 6, 0, 0 },
|
||||||
{16, 0},
|
{ 16, 0, 0 },
|
||||||
{0, 6},
|
{ 0, 6, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{0, 6},
|
{ 0, 6, 0 },
|
||||||
{0, 0},
|
{ 0, 0, 0 },
|
||||||
{6, 0},
|
{ 6, 0, 0 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{6, 0},
|
{ 6, 0, 0 },
|
||||||
{0, 16},
|
{ 0, 16, 0 },
|
||||||
{0, 6},
|
{ 0, 6, 0 },
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const LocationXY16 defaultRightQuarterTurn3TilesBoundLengths[4][3] = {
|
const LocationXY16 defaultRightQuarterTurn3TilesBoundLengths[4][3] = {
|
||||||
{
|
{
|
||||||
{32, 20},
|
{ 32, 20 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{20, 32},
|
{ 20, 32 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{20, 32},
|
{ 20, 32 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{32, 20},
|
{ 32, 20 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{32, 20},
|
{ 32, 20 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{20, 32},
|
{ 20, 32 },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
{20, 32},
|
{ 20, 32 },
|
||||||
{16, 16},
|
{ 16, 16 },
|
||||||
{32, 20},
|
{ 32, 20 },
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
// clang-format on
|
|
||||||
|
|
||||||
static constexpr const sint8 right_quarter_turn_3_tiles_sprite_map[] = { 0, -1, 1, 2 };
|
static constexpr const sint8 right_quarter_turn_3_tiles_sprite_map[] = { 0, -1, 1, 2 };
|
||||||
void track_paint_util_right_quarter_turn_3_tiles_paint(paint_session * session, sint8 thickness, sint16 height,
|
void track_paint_util_right_quarter_turn_3_tiles_paint(paint_session * session, sint8 thickness, sint16 height,
|
||||||
|
|
|
@ -82,9 +82,9 @@ struct rct_ride_entry_vehicle {
|
||||||
uint8 draw_order;
|
uint8 draw_order;
|
||||||
uint8 num_vertical_frames_override; // 0x60 , 0x7A, A custom number that can be used rather than letting RCT2 determine it. Needs the VEHICLE_ENTRY_FLAG_OVERRIDE_NUM_VERTICAL_FRAMES flag to be set.
|
uint8 num_vertical_frames_override; // 0x60 , 0x7A, A custom number that can be used rather than letting RCT2 determine it. Needs the VEHICLE_ENTRY_FLAG_OVERRIDE_NUM_VERTICAL_FRAMES flag to be set.
|
||||||
uint8 peep_loading_waypoint_segments; // 0x61 new
|
uint8 peep_loading_waypoint_segments; // 0x61 new
|
||||||
uint8 pad_62[6]; // 0x62 , 0x7B
|
uint8 pad_62[6] = {}; // 0x62 , 0x7B
|
||||||
std::vector<std::array<sLocationXY8, 3> > peep_loading_waypoints;
|
std::vector<std::array<sLocationXY8, 3>> peep_loading_waypoints = {};
|
||||||
std::vector<sint8> peep_loading_positions; // previously 0x61 , 0x7B
|
std::vector<sint8> peep_loading_positions = {}; // previously 0x61 , 0x7B
|
||||||
};
|
};
|
||||||
#ifdef __TESTPAINT__
|
#ifdef __TESTPAINT__
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
|
@ -460,7 +460,7 @@ static constexpr const top_spin_time_to_sprite_map TopSpinTimeToSpriteMap_0[] =
|
||||||
{ 45, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 47, 0 },
|
{ 45, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 46, 0 }, { 47, 0 },
|
||||||
{ 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
|
{ 47, 0 }, { 47, 0 }, { 47, 0 }, { 47, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
|
||||||
{ 0, 0 }, { 0, 0 },
|
{ 0, 0 }, { 0, 0 },
|
||||||
{ 0xFF },
|
{ 0xFF, 0 },
|
||||||
};
|
};
|
||||||
|
|
||||||
/** rct2: 0x009A1751 */
|
/** rct2: 0x009A1751 */
|
||||||
|
@ -565,7 +565,7 @@ static constexpr const top_spin_time_to_sprite_map TopSpinTimeToSpriteMap_1[] =
|
||||||
{ 3, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 },
|
{ 3, 0 }, { 3, 0 }, { 3, 0 }, { 3, 0 }, { 2, 0 }, { 2, 0 }, { 2, 0 },
|
||||||
{ 2, 0 }, { 2, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 },
|
{ 2, 0 }, { 2, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 }, { 1, 0 },
|
||||||
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
|
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
|
||||||
{ 0xFF },
|
{ 0xFF, 0 },
|
||||||
};
|
};
|
||||||
|
|
||||||
/** rct2: 0x009A1CC6 */
|
/** rct2: 0x009A1CC6 */
|
||||||
|
@ -705,7 +705,7 @@ static constexpr const top_spin_time_to_sprite_map TopSpinTimeToSpriteMap_2[] =
|
||||||
{ 2, 2 }, { 2, 2 }, { 2, 2 }, { 2, 2 }, { 1, 1 }, { 1, 1 }, { 1, 1 },
|
{ 2, 2 }, { 2, 2 }, { 2, 2 }, { 2, 2 }, { 1, 1 }, { 1, 1 }, { 1, 1 },
|
||||||
{ 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
|
{ 1, 1 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
|
||||||
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
|
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
|
||||||
{ 0xFF },
|
{ 0xFF, 0 },
|
||||||
};
|
};
|
||||||
|
|
||||||
/** rct2: 0x009A12E0 */
|
/** rct2: 0x009A12E0 */
|
||||||
|
|
Loading…
Reference in New Issue