|
@@ -70,13 +70,13 @@ static const WindowDesc _land_info_desc
|
|
|
WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET,
|
|
|
_land_info_widgets,
|
|
|
};
|
|
|
|
|
|
class LandInfoWindow : public Window {
|
|
|
enum {
|
|
|
LAND_INFO_CENTERED_LINES = 9, ///< Up to 9 centered lines
|
|
|
LAND_INFO_CENTERED_LINES = 12, ///< Up to 12 centered lines
|
|
|
LAND_INFO_MULTICENTER_LINE = LAND_INFO_CENTERED_LINES, ///< One multicenter line
|
|
|
LAND_INFO_LINE_END,
|
|
|
|
|
|
LAND_INFO_LINE_BUFF_SIZE = 512,
|
|
|
};
|
|
|
|
|
@@ -128,12 +128,17 @@ public:
|
|
|
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.grf = NULL;
|
|
|
|
|
|
GetAcceptedCargo(tile, ac);
|
|
|
GetTileDesc(tile, &td);
|
|
|
|
|
|
uint line_nr = 0;
|
|
|
|
|
|
/* Tiletype */
|
|
@@ -183,12 +188,35 @@ public:
|
|
|
if (td.build_date != INVALID_DATE) {
|
|
|
SetDParam(0, td.build_date);
|
|
|
GetString(this->landinfo_data[line_nr], STR_BUILD_DATE, lastof(this->landinfo_data[line_nr]));
|
|
|
line_nr++;
|
|
|
}
|
|
|
|
|
|
/* Station class */
|
|
|
if (td.station_class != STR_NULL) {
|
|
|
SetDParam(0, td.station_class);
|
|
|
GetString(this->landinfo_data[line_nr], STR_TILEDESC_STATION_CLASS, lastof(this->landinfo_data[line_nr]));
|
|
|
line_nr++;
|
|
|
}
|
|
|
|
|
|
/* Station type name */
|
|
|
if (td.station_name != STR_NULL) {
|
|
|
SetDParam(0, td.station_name);
|
|
|
GetString(this->landinfo_data[line_nr], STR_TILEDESC_STATION_TYPE, lastof(this->landinfo_data[line_nr]));
|
|
|
line_nr++;
|
|
|
}
|
|
|
|
|
|
/* NewGRF name */
|
|
|
if (td.grf != NULL) {
|
|
|
SetDParamStr(0, td.grf);
|
|
|
GetString(this->landinfo_data[line_nr], STR_TILEDESC_NEWGRF_NAME, lastof(this->landinfo_data[line_nr]));
|
|
|
line_nr++;
|
|
|
}
|
|
|
|
|
|
assert(line_nr < LAND_INFO_CENTERED_LINES);
|
|
|
|
|
|
/* Mark last line empty */
|
|
|
this->landinfo_data[line_nr][0] = '\0';
|
|
|
|
|
|
/* Cargo acceptance is displayed in a extra multiline */
|
|
|
char *strp = GetString(this->landinfo_data[LAND_INFO_MULTICENTER_LINE], STR_01CE_CARGO_ACCEPTED, lastof(this->landinfo_data[LAND_INFO_MULTICENTER_LINE]));
|
|
|
bool found = false;
|