# HG changeset patch # User Peter Nelson # Date 2023-09-17 16:42:34 # Node ID a474cb497c3448d44ee538014c46f52df9270344 # Parent 71246c40b69d38e00ab932c83e2dc7e97070a3f0 Codechange: Reorder CargoSpec to reduce alignment padding. diff --git a/src/cargotype.h b/src/cargotype.h --- a/src/cargotype.h +++ b/src/cargotype.h @@ -54,12 +54,13 @@ static const byte INVALID_CARGO_BITNUM = /** Specification of a cargo type. */ struct CargoSpec { + CargoLabel label; ///< Unique label of the cargo type. uint8_t bitnum{INVALID_CARGO_BITNUM}; ///< Cargo bit number, is #INVALID_CARGO_BITNUM for a non-used spec. - CargoLabel label; ///< Unique label of the cargo type. uint8_t legend_colour; uint8_t rating_colour; uint8_t weight; ///< Weight of a single unit of this cargo type in 1/16 ton (62.5 kg). uint16_t multiplier{0x100}; ///< Capacity multiplier for vehicles. (8 fractional bits) + uint16_t classes; ///< Classes of this cargo type. @see CargoClass int32_t initial_payment; ///< Initial payment rate before inflation is applied. uint8_t transit_periods[2]; @@ -75,7 +76,6 @@ struct CargoSpec { SpriteID sprite; ///< Icon to display this cargo type, may be \c 0xFFF (which means to resolve an action123 chain). - uint16_t classes; ///< Classes of this cargo type. @see CargoClass const struct GRFFile *grffile; ///< NewGRF where #group belongs to. const struct SpriteGroup *group; diff --git a/src/table/cargo_const.h b/src/table/cargo_const.h --- a/src/table/cargo_const.h +++ b/src/table/cargo_const.h @@ -44,9 +44,9 @@ * @param classes Classes of this cargo type. @see CargoClass */ #define MK(bt, label, colour, weight, mult, ip, td1, td2, freight, te, str_plural, str_singular, str_volume, classes) \ - {bt, label, colour, colour, weight, mult, ip, {td1, td2}, freight, te, 0, \ + {label, bt, colour, colour, weight, mult, classes, ip, {td1, td2}, freight, te, 0, \ MK_STR_CARGO_PLURAL(str_plural), MK_STR_CARGO_SINGULAR(str_singular), str_volume, MK_STR_QUANTITY(str_plural), MK_STR_ABBREV(str_plural), \ - MK_SPRITE(str_plural), classes, nullptr, nullptr, 0} + MK_SPRITE(str_plural), nullptr, nullptr, 0} /** Cargo types available by default. */ static const CargoSpec _default_cargo[] = {