1
0
Fork 0

Codechange: Use member initialisation for TileDesc members.

pull/13656/head
Peter Nelson 2025-02-19 18:57:35 +00:00 committed by Peter Nelson
parent 6e10584b91
commit 012daaa3d9
2 changed files with 19 additions and 49 deletions

View File

@ -139,38 +139,8 @@ public:
{
Town *t = ClosestTownFromTile(tile, _settings_game.economy.dist_local_authority);
/* Because build_date is not set yet in every TileDesc, we make sure it is empty */
TileDesc td;
td.build_date = CalendarTime::INVALID_DATE;
/* Most tiles have only one owner, but
* - drivethrough roadstops can be build on town owned roads (up to 2 owners) and
* - roads can have up to four owners (railroad, road, tram, 3rd-roadtype "highway").
*/
TileDesc td{};
td.owner_type[0] = STR_LAND_AREA_INFORMATION_OWNER; // At least one owner is displayed, though it might be "N/A".
td.owner_type[1] = STR_NULL; // STR_NULL results in skipping the owner
td.owner_type[2] = STR_NULL;
td.owner_type[3] = STR_NULL;
td.owner[0] = OWNER_NONE;
td.owner[1] = OWNER_NONE;
td.owner[2] = OWNER_NONE;
td.owner[3] = OWNER_NONE;
td.station_class = STR_NULL;
td.station_name = STR_NULL;
td.airport_class = STR_NULL;
td.airport_name = STR_NULL;
td.airport_tile_name = STR_NULL;
td.railtype = STR_NULL;
td.rail_speed = 0;
td.roadtype = STR_NULL;
td.road_speed = 0;
td.tramtype = STR_NULL;
td.tram_speed = 0;
td.town_can_upgrade = std::nullopt;
td.grf = nullptr;
CargoArray acceptance{};
AddAcceptedCargo(tile, acceptance, nullptr);

View File

@ -50,24 +50,24 @@ struct TileInfo {
/** Tile description for the 'land area information' tool */
struct TileDesc {
StringID str; ///< Description of the tile
uint64_t dparam; ///< Parameter of the \a str string
Owner owner[4]; ///< Name of the owner(s)
StringID owner_type[4]; ///< Type of each owner
TimerGameCalendar::Date build_date; ///< Date of construction of tile contents
StringID station_class; ///< Class of station
StringID station_name; ///< Type of station within the class
StringID airport_class; ///< Name of the airport class
StringID airport_name; ///< Name of the airport
StringID airport_tile_name; ///< Name of the airport tile
const char *grf; ///< newGRF used for the tile contents
StringID railtype; ///< Type of rail on the tile.
uint16_t rail_speed; ///< Speed limit of rail (bridges and track)
StringID roadtype; ///< Type of road on the tile.
uint16_t road_speed; ///< Speed limit of road (bridges and track)
StringID tramtype; ///< Type of tram on the tile.
uint16_t tram_speed; ///< Speed limit of tram (bridges and track)
std::optional<bool> town_can_upgrade; ///< Whether the town can upgrade this house during town growth.
StringID str{}; ///< Description of the tile
uint64_t dparam = 0; ///< Parameter of the \a str string
std::array<Owner, 4> owner{}; ///< Name of the owner(s)
std::array<StringID, 4> owner_type{}; ///< Type of each owner
TimerGameCalendar::Date build_date = CalendarTime::INVALID_DATE; ///< Date of construction of tile contents
StringID station_class{}; ///< Class of station
StringID station_name{}; ///< Type of station within the class
StringID airport_class{}; ///< Name of the airport class
StringID airport_name{}; ///< Name of the airport
StringID airport_tile_name{}; ///< Name of the airport tile
const char *grf = nullptr; ///< newGRF used for the tile contents
StringID railtype{}; ///< Type of rail on the tile.
uint16_t rail_speed = 0; ///< Speed limit of rail (bridges and track)
StringID roadtype{}; ///< Type of road on the tile.
uint16_t road_speed = 0; ///< Speed limit of road (bridges and track)
StringID tramtype{}; ///< Type of tram on the tile.
uint16_t tram_speed = 0; ///< Speed limit of tram (bridges and track)
std::optional<bool> town_can_upgrade = std::nullopt; ///< Whether the town can upgrade this house during town growth.
};
/**