mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r19434) -Add: Add rail speed limit to land area information window.
This commit is contained in:
parent
0dd8110484
commit
604da97364
|
@ -2131,6 +2131,7 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Airport
|
|||
STR_LAND_AREA_INFORMATION_NEWGRF_NAME :{BLACK}NewGRF: {LTBLUE}{RAW_STRING}
|
||||
STR_LAND_AREA_INFORMATION_CARGO_ACCEPTED :{BLACK}Cargo accepted: {LTBLUE}
|
||||
STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STRING})
|
||||
STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Rail speed limit: {LTBLUE}{VELOCITY}
|
||||
|
||||
# Description of land area of different tiles
|
||||
STR_LAI_CLEAR_DESCRIPTION_ROCKS :Rocks
|
||||
|
|
|
@ -159,6 +159,7 @@ public:
|
|||
td.station_class = STR_NULL;
|
||||
td.station_name = STR_NULL;
|
||||
td.airport_tile_name = STR_NULL;
|
||||
td.rail_speed = 0;
|
||||
|
||||
td.grf = NULL;
|
||||
|
||||
|
@ -252,6 +253,13 @@ public:
|
|||
line_nr++;
|
||||
}
|
||||
|
||||
/* Rail speed limit */
|
||||
if (td.rail_speed != 0) {
|
||||
SetDParam(0, td.rail_speed);
|
||||
GetString(this->landinfo_data[line_nr], STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT, lastof(this->landinfo_data[line_nr]));
|
||||
line_nr++;
|
||||
}
|
||||
|
||||
/* NewGRF name */
|
||||
if (td.grf != NULL) {
|
||||
SetDParamStr(0, td.grf);
|
||||
|
|
|
@ -2575,6 +2575,8 @@ static bool ClickTile_Track(TileIndex tile)
|
|||
|
||||
static void GetTileDesc_Track(TileIndex tile, TileDesc *td)
|
||||
{
|
||||
const RailtypeInfo *rti = GetRailTypeInfo(GetRailType(tile));
|
||||
td->rail_speed = rti->max_speed;
|
||||
td->owner[0] = GetTileOwner(tile);
|
||||
switch (GetRailTileType(tile)) {
|
||||
case RAIL_TILE_NORMAL:
|
||||
|
@ -2648,6 +2650,11 @@ static void GetTileDesc_Track(TileIndex tile, TileDesc *td)
|
|||
|
||||
case RAIL_TILE_DEPOT:
|
||||
td->str = STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT;
|
||||
if (td->rail_speed > 0) {
|
||||
td->rail_speed = min(td->rail_speed, 61);
|
||||
} else {
|
||||
td->rail_speed = 61;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
@ -1531,6 +1531,10 @@ static void GetTileDesc_Road(TileIndex tile, TileDesc *td)
|
|||
rail_owner = GetTileOwner(tile);
|
||||
if (HasBit(rts, ROADTYPE_ROAD)) road_owner = GetRoadOwner(tile, ROADTYPE_ROAD);
|
||||
if (HasBit(rts, ROADTYPE_TRAM)) tram_owner = GetRoadOwner(tile, ROADTYPE_TRAM);
|
||||
|
||||
const RailtypeInfo *rti = GetRailTypeInfo(GetRailType(tile));
|
||||
td->rail_speed = rti->max_speed;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -2800,6 +2800,9 @@ static void GetTileDesc_Station(TileIndex tile, TileDesc *td)
|
|||
td->grf = gc->GetName();
|
||||
}
|
||||
}
|
||||
|
||||
const RailtypeInfo *rti = GetRailTypeInfo(GetRailType(tile));
|
||||
td->rail_speed = rti->max_speed;
|
||||
}
|
||||
|
||||
if (IsAirport(tile)) {
|
||||
|
|
|
@ -60,6 +60,7 @@ struct TileDesc {
|
|||
StringID airport_tile_name; ///< Name of the airport tile
|
||||
const char *grf; ///< newGRF used for the tile contents
|
||||
uint64 dparam[2]; ///< Parameters of the \a str string
|
||||
uint16 rail_speed; ///< Speed limit of rail
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -1332,6 +1332,18 @@ static void GetTileDesc_TunnelBridge(TileIndex tile, TileDesc *td)
|
|||
td->owner[i] = tram_owner;
|
||||
}
|
||||
}
|
||||
|
||||
if (tt == TRANSPORT_RAIL) {
|
||||
const RailtypeInfo *rti = GetRailTypeInfo(GetRailType(tile));
|
||||
td->rail_speed = rti->max_speed;
|
||||
|
||||
if (!IsTunnel(tile)) {
|
||||
uint16 spd = GetBridgeSpec(GetBridgeType(tile))->speed;
|
||||
if (td->rail_speed == 0 || spd < td->rail_speed) {
|
||||
td->rail_speed = spd;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue