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:
Hielke Morsink 2018-06-04 23:57:59 +02:00
parent 5d0022a5cb
commit 9c8c2a2820
8 changed files with 253 additions and 263 deletions

View File

@ -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
{ {

View File

@ -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>"},

View File

@ -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 {

View File

@ -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

View File

@ -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,

View File

@ -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,

View File

@ -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)

View File

@ -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 */