mirror of https://github.com/OpenTTD/OpenTTD
Codechange: Pass TileDesc by reference.
parent
012daaa3d9
commit
96f260e718
|
@ -338,14 +338,14 @@ static const StringID _clear_land_str[] = {
|
|||
STR_LAI_CLEAR_DESCRIPTION_DESERT
|
||||
};
|
||||
|
||||
static void GetTileDesc_Clear(TileIndex tile, TileDesc *td)
|
||||
static void GetTileDesc_Clear(TileIndex tile, TileDesc &td)
|
||||
{
|
||||
if (IsClearGround(tile, CLEAR_GRASS) && GetClearDensity(tile) == 0) {
|
||||
td->str = STR_LAI_CLEAR_DESCRIPTION_BARE_LAND;
|
||||
td.str = STR_LAI_CLEAR_DESCRIPTION_BARE_LAND;
|
||||
} else {
|
||||
td->str = _clear_land_str[GetClearGround(tile)];
|
||||
td.str = _clear_land_str[GetClearGround(tile)];
|
||||
}
|
||||
td->owner[0] = GetTileOwner(tile);
|
||||
td.owner[0] = GetTileOwner(tile);
|
||||
}
|
||||
|
||||
static void ChangeTileOwner_Clear(TileIndex, Owner, Owner)
|
||||
|
|
|
@ -472,20 +472,20 @@ static void AddAcceptedCargo_Industry(TileIndex tile, CargoArray &acceptance, Ca
|
|||
}
|
||||
}
|
||||
|
||||
static void GetTileDesc_Industry(TileIndex tile, TileDesc *td)
|
||||
static void GetTileDesc_Industry(TileIndex tile, TileDesc &td)
|
||||
{
|
||||
const Industry *i = Industry::GetByTile(tile);
|
||||
const IndustrySpec *is = GetIndustrySpec(i->type);
|
||||
|
||||
td->owner[0] = i->owner;
|
||||
td->str = is->name;
|
||||
td.owner[0] = i->owner;
|
||||
td.str = is->name;
|
||||
if (!IsIndustryCompleted(tile)) {
|
||||
td->dparam = td->str;
|
||||
td->str = STR_LAI_TOWN_INDUSTRY_DESCRIPTION_UNDER_CONSTRUCTION;
|
||||
td.dparam = td.str;
|
||||
td.str = STR_LAI_TOWN_INDUSTRY_DESCRIPTION_UNDER_CONSTRUCTION;
|
||||
}
|
||||
|
||||
if (is->grf_prop.HasGrfFile()) {
|
||||
td->grf = GetGRFConfig(is->grf_prop.grfid)->GetName();
|
||||
td.grf = GetGRFConfig(is->grf_prop.grfid)->GetName();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -567,7 +567,7 @@ void ChangeTileOwner(TileIndex tile, Owner old_owner, Owner new_owner)
|
|||
_tile_type_procs[GetTileType(tile)]->change_tile_owner_proc(tile, old_owner, new_owner);
|
||||
}
|
||||
|
||||
void GetTileDesc(TileIndex tile, TileDesc *td)
|
||||
void GetTileDesc(TileIndex tile, TileDesc &td)
|
||||
{
|
||||
_tile_type_procs[GetTileType(tile)]->get_tile_desc_proc(tile, td);
|
||||
}
|
||||
|
|
|
@ -144,7 +144,7 @@ public:
|
|||
|
||||
CargoArray acceptance{};
|
||||
AddAcceptedCargo(tile, acceptance, nullptr);
|
||||
GetTileDesc(tile, &td);
|
||||
GetTileDesc(tile, td);
|
||||
|
||||
this->landinfo_data.clear();
|
||||
|
||||
|
|
|
@ -652,15 +652,15 @@ static void AddProducedCargo_Object(TileIndex tile, CargoArray &produced)
|
|||
}
|
||||
|
||||
|
||||
static void GetTileDesc_Object(TileIndex tile, TileDesc *td)
|
||||
static void GetTileDesc_Object(TileIndex tile, TileDesc &td)
|
||||
{
|
||||
const ObjectSpec *spec = ObjectSpec::GetByTile(tile);
|
||||
td->str = spec->name;
|
||||
td->owner[0] = GetTileOwner(tile);
|
||||
td->build_date = Object::GetByTile(tile)->build_date;
|
||||
td.str = spec->name;
|
||||
td.owner[0] = GetTileOwner(tile);
|
||||
td.build_date = Object::GetByTile(tile)->build_date;
|
||||
|
||||
if (spec->grf_prop.HasGrfFile()) {
|
||||
td->grf = GetGRFConfig(spec->grf_prop.grfid)->GetName();
|
||||
td.grf = GetGRFConfig(spec->grf_prop.grfid)->GetName();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2780,15 +2780,15 @@ static bool ClickTile_Track(TileIndex tile)
|
|||
return true;
|
||||
}
|
||||
|
||||
static void GetTileDesc_Track(TileIndex tile, TileDesc *td)
|
||||
static void GetTileDesc_Track(TileIndex tile, TileDesc &td)
|
||||
{
|
||||
const RailTypeInfo *rti = GetRailTypeInfo(GetRailType(tile));
|
||||
td->rail_speed = rti->max_speed;
|
||||
td->railtype = rti->strings.name;
|
||||
td->owner[0] = GetTileOwner(tile);
|
||||
td.rail_speed = rti->max_speed;
|
||||
td.railtype = rti->strings.name;
|
||||
td.owner[0] = GetTileOwner(tile);
|
||||
switch (GetRailTileType(tile)) {
|
||||
case RAIL_TILE_NORMAL:
|
||||
td->str = STR_LAI_RAIL_DESCRIPTION_TRACK;
|
||||
td.str = STR_LAI_RAIL_DESCRIPTION_TRACK;
|
||||
break;
|
||||
|
||||
case RAIL_TILE_SIGNALS: {
|
||||
|
@ -2852,20 +2852,20 @@ static void GetTileDesc_Track(TileIndex tile, TileDesc *td)
|
|||
secondary_signal = primary_signal = GetSignalType(tile, TRACK_LOWER);
|
||||
}
|
||||
|
||||
td->str = signal_type[secondary_signal][primary_signal];
|
||||
td.str = signal_type[secondary_signal][primary_signal];
|
||||
break;
|
||||
}
|
||||
|
||||
case RAIL_TILE_DEPOT:
|
||||
td->str = STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT;
|
||||
td.str = STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT;
|
||||
if (_settings_game.vehicle.train_acceleration_model != AM_ORIGINAL) {
|
||||
if (td->rail_speed > 0) {
|
||||
td->rail_speed = std::min<uint16_t>(td->rail_speed, 61);
|
||||
if (td.rail_speed > 0) {
|
||||
td.rail_speed = std::min<uint16_t>(td.rail_speed, 61);
|
||||
} else {
|
||||
td->rail_speed = 61;
|
||||
td.rail_speed = 61;
|
||||
}
|
||||
}
|
||||
td->build_date = Depot::GetByTile(tile)->build_date;
|
||||
td.build_date = Depot::GetByTile(tile)->build_date;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
@ -2181,7 +2181,7 @@ static const StringID _road_tile_strings[] = {
|
|||
STR_LAI_ROAD_DESCRIPTION_ROAD,
|
||||
};
|
||||
|
||||
static void GetTileDesc_Road(TileIndex tile, TileDesc *td)
|
||||
static void GetTileDesc_Road(TileIndex tile, TileDesc &td)
|
||||
{
|
||||
Owner rail_owner = INVALID_OWNER;
|
||||
Owner road_owner = INVALID_OWNER;
|
||||
|
@ -2191,36 +2191,36 @@ static void GetTileDesc_Road(TileIndex tile, TileDesc *td)
|
|||
RoadType tram_rt = GetRoadTypeTram(tile);
|
||||
if (road_rt != INVALID_ROADTYPE) {
|
||||
const RoadTypeInfo *rti = GetRoadTypeInfo(road_rt);
|
||||
td->roadtype = rti->strings.name;
|
||||
td->road_speed = rti->max_speed / 2;
|
||||
td.roadtype = rti->strings.name;
|
||||
td.road_speed = rti->max_speed / 2;
|
||||
road_owner = GetRoadOwner(tile, RTT_ROAD);
|
||||
}
|
||||
if (tram_rt != INVALID_ROADTYPE) {
|
||||
const RoadTypeInfo *rti = GetRoadTypeInfo(tram_rt);
|
||||
td->tramtype = rti->strings.name;
|
||||
td->tram_speed = rti->max_speed / 2;
|
||||
td.tramtype = rti->strings.name;
|
||||
td.tram_speed = rti->max_speed / 2;
|
||||
tram_owner = GetRoadOwner(tile, RTT_TRAM);
|
||||
}
|
||||
|
||||
switch (GetRoadTileType(tile)) {
|
||||
case ROAD_TILE_CROSSING: {
|
||||
td->str = STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING;
|
||||
td.str = STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING;
|
||||
rail_owner = GetTileOwner(tile);
|
||||
|
||||
const RailTypeInfo *rti = GetRailTypeInfo(GetRailType(tile));
|
||||
td->railtype = rti->strings.name;
|
||||
td->rail_speed = rti->max_speed;
|
||||
td.railtype = rti->strings.name;
|
||||
td.rail_speed = rti->max_speed;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case ROAD_TILE_DEPOT:
|
||||
td->str = STR_LAI_ROAD_DESCRIPTION_ROAD_VEHICLE_DEPOT;
|
||||
td->build_date = Depot::GetByTile(tile)->build_date;
|
||||
td.str = STR_LAI_ROAD_DESCRIPTION_ROAD_VEHICLE_DEPOT;
|
||||
td.build_date = Depot::GetByTile(tile)->build_date;
|
||||
break;
|
||||
|
||||
default: {
|
||||
td->str = (road_rt != INVALID_ROADTYPE ? _road_tile_strings[GetRoadside(tile)] : STR_LAI_ROAD_DESCRIPTION_TRAMWAY);
|
||||
td.str = (road_rt != INVALID_ROADTYPE ? _road_tile_strings[GetRoadside(tile)] : STR_LAI_ROAD_DESCRIPTION_TRAMWAY);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -2235,15 +2235,15 @@ static void GetTileDesc_Road(TileIndex tile, TileDesc *td)
|
|||
|
||||
if (mixed_owners) {
|
||||
/* Multiple owners */
|
||||
td->owner_type[0] = (rail_owner == INVALID_OWNER ? STR_NULL : STR_LAND_AREA_INFORMATION_RAIL_OWNER);
|
||||
td->owner[0] = rail_owner;
|
||||
td->owner_type[1] = (road_owner == INVALID_OWNER ? STR_NULL : STR_LAND_AREA_INFORMATION_ROAD_OWNER);
|
||||
td->owner[1] = road_owner;
|
||||
td->owner_type[2] = (tram_owner == INVALID_OWNER ? STR_NULL : STR_LAND_AREA_INFORMATION_TRAM_OWNER);
|
||||
td->owner[2] = tram_owner;
|
||||
td.owner_type[0] = (rail_owner == INVALID_OWNER ? STR_NULL : STR_LAND_AREA_INFORMATION_RAIL_OWNER);
|
||||
td.owner[0] = rail_owner;
|
||||
td.owner_type[1] = (road_owner == INVALID_OWNER ? STR_NULL : STR_LAND_AREA_INFORMATION_ROAD_OWNER);
|
||||
td.owner[1] = road_owner;
|
||||
td.owner_type[2] = (tram_owner == INVALID_OWNER ? STR_NULL : STR_LAND_AREA_INFORMATION_TRAM_OWNER);
|
||||
td.owner[2] = tram_owner;
|
||||
} else {
|
||||
/* One to rule them all */
|
||||
td->owner[0] = first_owner;
|
||||
td.owner[0] = first_owner;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3448,7 +3448,7 @@ static Foundation GetFoundation_Station(TileIndex, Slope tileh)
|
|||
return FlatteningFoundation(tileh);
|
||||
}
|
||||
|
||||
static void FillTileDescRoadStop(TileIndex tile, TileDesc *td)
|
||||
static void FillTileDescRoadStop(TileIndex tile, TileDesc &td)
|
||||
{
|
||||
RoadType road_rt = GetRoadTypeRoad(tile);
|
||||
RoadType tram_rt = GetRoadTypeTram(tile);
|
||||
|
@ -3456,77 +3456,77 @@ static void FillTileDescRoadStop(TileIndex tile, TileDesc *td)
|
|||
Owner tram_owner = INVALID_OWNER;
|
||||
if (road_rt != INVALID_ROADTYPE) {
|
||||
const RoadTypeInfo *rti = GetRoadTypeInfo(road_rt);
|
||||
td->roadtype = rti->strings.name;
|
||||
td->road_speed = rti->max_speed / 2;
|
||||
td.roadtype = rti->strings.name;
|
||||
td.road_speed = rti->max_speed / 2;
|
||||
road_owner = GetRoadOwner(tile, RTT_ROAD);
|
||||
}
|
||||
|
||||
if (tram_rt != INVALID_ROADTYPE) {
|
||||
const RoadTypeInfo *rti = GetRoadTypeInfo(tram_rt);
|
||||
td->tramtype = rti->strings.name;
|
||||
td->tram_speed = rti->max_speed / 2;
|
||||
td.tramtype = rti->strings.name;
|
||||
td.tram_speed = rti->max_speed / 2;
|
||||
tram_owner = GetRoadOwner(tile, RTT_TRAM);
|
||||
}
|
||||
|
||||
if (IsDriveThroughStopTile(tile)) {
|
||||
/* Is there a mix of owners? */
|
||||
if ((tram_owner != INVALID_OWNER && tram_owner != td->owner[0]) ||
|
||||
(road_owner != INVALID_OWNER && road_owner != td->owner[0])) {
|
||||
if ((tram_owner != INVALID_OWNER && tram_owner != td.owner[0]) ||
|
||||
(road_owner != INVALID_OWNER && road_owner != td.owner[0])) {
|
||||
uint i = 1;
|
||||
if (road_owner != INVALID_OWNER) {
|
||||
td->owner_type[i] = STR_LAND_AREA_INFORMATION_ROAD_OWNER;
|
||||
td->owner[i] = road_owner;
|
||||
td.owner_type[i] = STR_LAND_AREA_INFORMATION_ROAD_OWNER;
|
||||
td.owner[i] = road_owner;
|
||||
i++;
|
||||
}
|
||||
if (tram_owner != INVALID_OWNER) {
|
||||
td->owner_type[i] = STR_LAND_AREA_INFORMATION_TRAM_OWNER;
|
||||
td->owner[i] = tram_owner;
|
||||
td.owner_type[i] = STR_LAND_AREA_INFORMATION_TRAM_OWNER;
|
||||
td.owner[i] = tram_owner;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void FillTileDescRailStation(TileIndex tile, TileDesc *td)
|
||||
void FillTileDescRailStation(TileIndex tile, TileDesc &td)
|
||||
{
|
||||
const StationSpec *spec = GetStationSpec(tile);
|
||||
|
||||
if (spec != nullptr) {
|
||||
td->station_class = StationClass::Get(spec->class_index)->name;
|
||||
td->station_name = spec->name;
|
||||
td.station_class = StationClass::Get(spec->class_index)->name;
|
||||
td.station_name = spec->name;
|
||||
|
||||
if (spec->grf_prop.HasGrfFile()) {
|
||||
const GRFConfig *gc = GetGRFConfig(spec->grf_prop.grfid);
|
||||
td->grf = gc->GetName();
|
||||
td.grf = gc->GetName();
|
||||
}
|
||||
}
|
||||
|
||||
const RailTypeInfo *rti = GetRailTypeInfo(GetRailType(tile));
|
||||
td->rail_speed = rti->max_speed;
|
||||
td->railtype = rti->strings.name;
|
||||
td.rail_speed = rti->max_speed;
|
||||
td.railtype = rti->strings.name;
|
||||
}
|
||||
|
||||
void FillTileDescAirport(TileIndex tile, TileDesc *td)
|
||||
void FillTileDescAirport(TileIndex tile, TileDesc &td)
|
||||
{
|
||||
const AirportSpec *as = Station::GetByTile(tile)->airport.GetSpec();
|
||||
td->airport_class = AirportClass::Get(as->class_index)->name;
|
||||
td->airport_name = as->name;
|
||||
td.airport_class = AirportClass::Get(as->class_index)->name;
|
||||
td.airport_name = as->name;
|
||||
|
||||
const AirportTileSpec *ats = AirportTileSpec::GetByTile(tile);
|
||||
td->airport_tile_name = ats->name;
|
||||
td.airport_tile_name = ats->name;
|
||||
|
||||
if (as->grf_prop.HasGrfFile()) {
|
||||
const GRFConfig *gc = GetGRFConfig(as->grf_prop.grfid);
|
||||
td->grf = gc->GetName();
|
||||
td.grf = gc->GetName();
|
||||
} else if (ats->grf_prop.HasGrfFile()) {
|
||||
const GRFConfig *gc = GetGRFConfig(ats->grf_prop.grfid);
|
||||
td->grf = gc->GetName();
|
||||
td.grf = gc->GetName();
|
||||
}
|
||||
}
|
||||
|
||||
static void GetTileDesc_Station(TileIndex tile, TileDesc *td)
|
||||
static void GetTileDesc_Station(TileIndex tile, TileDesc &td)
|
||||
{
|
||||
td->owner[0] = GetTileOwner(tile);
|
||||
td->build_date = BaseStation::GetByTile(tile)->build_date;
|
||||
td.owner[0] = GetTileOwner(tile);
|
||||
td.build_date = BaseStation::GetByTile(tile)->build_date;
|
||||
|
||||
if (IsAnyRoadStop(tile)) FillTileDescRoadStop(tile, td);
|
||||
if (HasStationRail(tile)) FillTileDescRailStation(tile, td);
|
||||
|
@ -3544,9 +3544,9 @@ static void GetTileDesc_Station(TileIndex tile, TileDesc *td)
|
|||
case StationType::Oilrig: {
|
||||
const Industry *i = Station::GetByTile(tile)->industry;
|
||||
const IndustrySpec *is = GetIndustrySpec(i->type);
|
||||
td->owner[0] = i->owner;
|
||||
td.owner[0] = i->owner;
|
||||
str = is->name;
|
||||
if (is->grf_prop.HasGrfFile()) td->grf = GetGRFConfig(is->grf_prop.grfid)->GetName();
|
||||
if (is->grf_prop.HasGrfFile()) td.grf = GetGRFConfig(is->grf_prop.grfid)->GetName();
|
||||
break;
|
||||
}
|
||||
case StationType::Dock: str = STR_LAI_STATION_DESCRIPTION_SHIP_DOCK; break;
|
||||
|
@ -3554,7 +3554,7 @@ static void GetTileDesc_Station(TileIndex tile, TileDesc *td)
|
|||
case StationType::RailWaypoint: str = STR_LAI_STATION_DESCRIPTION_WAYPOINT; break;
|
||||
case StationType::RoadWaypoint: str = STR_LAI_STATION_DESCRIPTION_WAYPOINT; break;
|
||||
}
|
||||
td->str = str;
|
||||
td.str = str;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -103,7 +103,7 @@ typedef void AddAcceptedCargoProc(TileIndex tile, CargoArray &acceptance, CargoT
|
|||
* @param tile Tile being queried
|
||||
* @param td Storage pointer for returned tile description
|
||||
*/
|
||||
typedef void GetTileDescProc(TileIndex tile, TileDesc *td);
|
||||
typedef void GetTileDescProc(TileIndex tile, TileDesc &td);
|
||||
|
||||
/**
|
||||
* Tile callback function signature for getting the possible tracks
|
||||
|
@ -178,7 +178,7 @@ extern const TileTypeProcs * const _tile_type_procs[16];
|
|||
TrackStatus GetTileTrackStatus(TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side = INVALID_DIAGDIR);
|
||||
VehicleEnterTileStatus VehicleEnterTile(Vehicle *v, TileIndex tile, int x, int y);
|
||||
void ChangeTileOwner(TileIndex tile, Owner old_owner, Owner new_owner);
|
||||
void GetTileDesc(TileIndex tile, TileDesc *td);
|
||||
void GetTileDesc(TileIndex tile, TileDesc &td);
|
||||
|
||||
inline void AddAcceptedCargo(TileIndex tile, CargoArray &acceptance, CargoTypes *always_accepted)
|
||||
{
|
||||
|
|
|
@ -863,14 +863,14 @@ CargoArray GetAcceptedCargoOfHouse(const HouseSpec *hs)
|
|||
return acceptance;
|
||||
}
|
||||
|
||||
static void GetTileDesc_Town(TileIndex tile, TileDesc *td)
|
||||
static void GetTileDesc_Town(TileIndex tile, TileDesc &td)
|
||||
{
|
||||
const HouseID house = GetHouseType(tile);
|
||||
const HouseSpec *hs = HouseSpec::Get(house);
|
||||
bool house_completed = IsHouseCompleted(tile);
|
||||
|
||||
td->str = hs->building_name;
|
||||
td->town_can_upgrade = !IsHouseProtected(tile);
|
||||
td.str = hs->building_name;
|
||||
td.town_can_upgrade = !IsHouseProtected(tile);
|
||||
|
||||
uint16_t callback_res = GetHouseCallback(CBID_HOUSE_CUSTOM_NAME, house_completed ? 1 : 0, 0, house, Town::GetByTile(tile), tile);
|
||||
if (callback_res != CALLBACK_FAILED && callback_res != 0x400) {
|
||||
|
@ -879,22 +879,22 @@ static void GetTileDesc_Town(TileIndex tile, TileDesc *td)
|
|||
} else {
|
||||
StringID new_name = GetGRFStringID(hs->grf_prop.grfid, GRFSTR_MISC_GRF_TEXT + callback_res);
|
||||
if (new_name != STR_NULL && new_name != STR_UNDEFINED) {
|
||||
td->str = new_name;
|
||||
td.str = new_name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!house_completed) {
|
||||
td->dparam = td->str;
|
||||
td->str = STR_LAI_TOWN_INDUSTRY_DESCRIPTION_UNDER_CONSTRUCTION;
|
||||
td.dparam = td.str;
|
||||
td.str = STR_LAI_TOWN_INDUSTRY_DESCRIPTION_UNDER_CONSTRUCTION;
|
||||
}
|
||||
|
||||
if (hs->grf_prop.HasGrfFile()) {
|
||||
const GRFConfig *gc = GetGRFConfig(hs->grf_prop.grfid);
|
||||
td->grf = gc->GetName();
|
||||
td.grf = gc->GetName();
|
||||
}
|
||||
|
||||
td->owner[0] = OWNER_TOWN;
|
||||
td.owner[0] = OWNER_TOWN;
|
||||
}
|
||||
|
||||
static TrackStatus GetTileTrackStatus_Town(TileIndex, TransportType, uint, DiagDirection)
|
||||
|
|
|
@ -733,17 +733,17 @@ static CommandCost ClearTile_Trees(TileIndex tile, DoCommandFlags flags)
|
|||
return CommandCost(EXPENSES_CONSTRUCTION, num * _price[PR_CLEAR_TREES]);
|
||||
}
|
||||
|
||||
static void GetTileDesc_Trees(TileIndex tile, TileDesc *td)
|
||||
static void GetTileDesc_Trees(TileIndex tile, TileDesc &td)
|
||||
{
|
||||
TreeType tt = GetTreeType(tile);
|
||||
|
||||
if (IsInsideMM(tt, TREE_RAINFOREST, TREE_CACTUS)) {
|
||||
td->str = STR_LAI_TREE_NAME_RAINFOREST;
|
||||
td.str = STR_LAI_TREE_NAME_RAINFOREST;
|
||||
} else {
|
||||
td->str = tt == TREE_CACTUS ? STR_LAI_TREE_NAME_CACTUS_PLANTS : STR_LAI_TREE_NAME_TREES;
|
||||
td.str = tt == TREE_CACTUS ? STR_LAI_TREE_NAME_CACTUS_PLANTS : STR_LAI_TREE_NAME_TREES;
|
||||
}
|
||||
|
||||
td->owner[0] = GetTileOwner(tile);
|
||||
td.owner[0] = GetTileOwner(tile);
|
||||
}
|
||||
|
||||
static void TileLoopTreesDesert(TileIndex tile)
|
||||
|
|
|
@ -1684,16 +1684,16 @@ static Foundation GetFoundation_TunnelBridge(TileIndex tile, Slope tileh)
|
|||
return IsTunnel(tile) ? FOUNDATION_NONE : GetBridgeFoundation(tileh, DiagDirToAxis(GetTunnelBridgeDirection(tile)));
|
||||
}
|
||||
|
||||
static void GetTileDesc_TunnelBridge(TileIndex tile, TileDesc *td)
|
||||
static void GetTileDesc_TunnelBridge(TileIndex tile, TileDesc &td)
|
||||
{
|
||||
TransportType tt = GetTunnelBridgeTransportType(tile);
|
||||
|
||||
if (IsTunnel(tile)) {
|
||||
td->str = (tt == TRANSPORT_RAIL) ? STR_LAI_TUNNEL_DESCRIPTION_RAILROAD : STR_LAI_TUNNEL_DESCRIPTION_ROAD;
|
||||
td.str = (tt == TRANSPORT_RAIL) ? STR_LAI_TUNNEL_DESCRIPTION_RAILROAD : STR_LAI_TUNNEL_DESCRIPTION_ROAD;
|
||||
} else { // IsBridge(tile)
|
||||
td->str = (tt == TRANSPORT_WATER) ? STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT : GetBridgeSpec(GetBridgeType(tile))->transport_name[tt];
|
||||
td.str = (tt == TRANSPORT_WATER) ? STR_LAI_BRIDGE_DESCRIPTION_AQUEDUCT : GetBridgeSpec(GetBridgeType(tile))->transport_name[tt];
|
||||
}
|
||||
td->owner[0] = GetTileOwner(tile);
|
||||
td.owner[0] = GetTileOwner(tile);
|
||||
|
||||
Owner road_owner = INVALID_OWNER;
|
||||
Owner tram_owner = INVALID_OWNER;
|
||||
|
@ -1701,51 +1701,51 @@ static void GetTileDesc_TunnelBridge(TileIndex tile, TileDesc *td)
|
|||
RoadType tram_rt = GetRoadTypeTram(tile);
|
||||
if (road_rt != INVALID_ROADTYPE) {
|
||||
const RoadTypeInfo *rti = GetRoadTypeInfo(road_rt);
|
||||
td->roadtype = rti->strings.name;
|
||||
td->road_speed = rti->max_speed / 2;
|
||||
td.roadtype = rti->strings.name;
|
||||
td.road_speed = rti->max_speed / 2;
|
||||
road_owner = GetRoadOwner(tile, RTT_ROAD);
|
||||
}
|
||||
if (tram_rt != INVALID_ROADTYPE) {
|
||||
const RoadTypeInfo *rti = GetRoadTypeInfo(tram_rt);
|
||||
td->tramtype = rti->strings.name;
|
||||
td->tram_speed = rti->max_speed / 2;
|
||||
td.tramtype = rti->strings.name;
|
||||
td.tram_speed = rti->max_speed / 2;
|
||||
tram_owner = GetRoadOwner(tile, RTT_TRAM);
|
||||
}
|
||||
|
||||
/* Is there a mix of owners? */
|
||||
if ((tram_owner != INVALID_OWNER && tram_owner != td->owner[0]) ||
|
||||
(road_owner != INVALID_OWNER && road_owner != td->owner[0])) {
|
||||
if ((tram_owner != INVALID_OWNER && tram_owner != td.owner[0]) ||
|
||||
(road_owner != INVALID_OWNER && road_owner != td.owner[0])) {
|
||||
uint i = 1;
|
||||
if (road_owner != INVALID_OWNER) {
|
||||
td->owner_type[i] = STR_LAND_AREA_INFORMATION_ROAD_OWNER;
|
||||
td->owner[i] = road_owner;
|
||||
td.owner_type[i] = STR_LAND_AREA_INFORMATION_ROAD_OWNER;
|
||||
td.owner[i] = road_owner;
|
||||
i++;
|
||||
}
|
||||
if (tram_owner != INVALID_OWNER) {
|
||||
td->owner_type[i] = STR_LAND_AREA_INFORMATION_TRAM_OWNER;
|
||||
td->owner[i] = tram_owner;
|
||||
td.owner_type[i] = STR_LAND_AREA_INFORMATION_TRAM_OWNER;
|
||||
td.owner[i] = tram_owner;
|
||||
}
|
||||
}
|
||||
|
||||
if (tt == TRANSPORT_RAIL) {
|
||||
const RailTypeInfo *rti = GetRailTypeInfo(GetRailType(tile));
|
||||
td->rail_speed = rti->max_speed;
|
||||
td->railtype = rti->strings.name;
|
||||
td.rail_speed = rti->max_speed;
|
||||
td.railtype = rti->strings.name;
|
||||
|
||||
if (!IsTunnel(tile)) {
|
||||
uint16_t spd = GetBridgeSpec(GetBridgeType(tile))->speed;
|
||||
/* rail speed special-cases 0 as unlimited, hides display of limit etc. */
|
||||
if (spd == UINT16_MAX) spd = 0;
|
||||
if (td->rail_speed == 0 || spd < td->rail_speed) {
|
||||
td->rail_speed = spd;
|
||||
if (td.rail_speed == 0 || spd < td.rail_speed) {
|
||||
td.rail_speed = spd;
|
||||
}
|
||||
}
|
||||
} else if (tt == TRANSPORT_ROAD && !IsTunnel(tile)) {
|
||||
uint16_t spd = GetBridgeSpec(GetBridgeType(tile))->speed;
|
||||
/* road speed special-cases 0 as unlimited, hides display of limit etc. */
|
||||
if (spd == UINT16_MAX) spd = 0;
|
||||
if (road_rt != INVALID_ROADTYPE && (td->road_speed == 0 || spd < td->road_speed)) td->road_speed = spd;
|
||||
if (tram_rt != INVALID_ROADTYPE && (td->tram_speed == 0 || spd < td->tram_speed)) td->tram_speed = spd;
|
||||
if (road_rt != INVALID_ROADTYPE && (td.road_speed == 0 || spd < td.road_speed)) td.road_speed = spd;
|
||||
if (tram_rt != INVALID_ROADTYPE && (td.tram_speed == 0 || spd < td.tram_speed)) td.tram_speed = spd;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -45,10 +45,10 @@ static CommandCost ClearTile_Void(TileIndex, DoCommandFlags)
|
|||
}
|
||||
|
||||
|
||||
static void GetTileDesc_Void(TileIndex, TileDesc *td)
|
||||
static void GetTileDesc_Void(TileIndex, TileDesc &td)
|
||||
{
|
||||
td->str = STR_EMPTY;
|
||||
td->owner[0] = OWNER_NONE;
|
||||
td.str = STR_EMPTY;
|
||||
td.owner[0] = OWNER_NONE;
|
||||
}
|
||||
|
||||
static void TileLoop_Void(TileIndex tile)
|
||||
|
|
|
@ -973,27 +973,27 @@ static Foundation GetFoundation_Water(TileIndex, Slope)
|
|||
return FOUNDATION_NONE;
|
||||
}
|
||||
|
||||
static void GetTileDesc_Water(TileIndex tile, TileDesc *td)
|
||||
static void GetTileDesc_Water(TileIndex tile, TileDesc &td)
|
||||
{
|
||||
switch (GetWaterTileType(tile)) {
|
||||
case WATER_TILE_CLEAR:
|
||||
switch (GetWaterClass(tile)) {
|
||||
case WATER_CLASS_SEA: td->str = STR_LAI_WATER_DESCRIPTION_WATER; break;
|
||||
case WATER_CLASS_CANAL: td->str = STR_LAI_WATER_DESCRIPTION_CANAL; break;
|
||||
case WATER_CLASS_RIVER: td->str = STR_LAI_WATER_DESCRIPTION_RIVER; break;
|
||||
case WATER_CLASS_SEA: td.str = STR_LAI_WATER_DESCRIPTION_WATER; break;
|
||||
case WATER_CLASS_CANAL: td.str = STR_LAI_WATER_DESCRIPTION_CANAL; break;
|
||||
case WATER_CLASS_RIVER: td.str = STR_LAI_WATER_DESCRIPTION_RIVER; break;
|
||||
default: NOT_REACHED();
|
||||
}
|
||||
break;
|
||||
case WATER_TILE_COAST: td->str = STR_LAI_WATER_DESCRIPTION_COAST_OR_RIVERBANK; break;
|
||||
case WATER_TILE_LOCK : td->str = STR_LAI_WATER_DESCRIPTION_LOCK; break;
|
||||
case WATER_TILE_COAST: td.str = STR_LAI_WATER_DESCRIPTION_COAST_OR_RIVERBANK; break;
|
||||
case WATER_TILE_LOCK : td.str = STR_LAI_WATER_DESCRIPTION_LOCK; break;
|
||||
case WATER_TILE_DEPOT:
|
||||
td->str = STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT;
|
||||
td->build_date = Depot::GetByTile(tile)->build_date;
|
||||
td.str = STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT;
|
||||
td.build_date = Depot::GetByTile(tile)->build_date;
|
||||
break;
|
||||
default: NOT_REACHED();
|
||||
}
|
||||
|
||||
td->owner[0] = GetTileOwner(tile);
|
||||
td.owner[0] = GetTileOwner(tile);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue