(svn r19796) -Codechange: introduce and use a {DEPOT} string command

pull/155/head
rubidium 14 years ago
parent a75c228efb
commit 99e88d6f7f

@ -62,7 +62,7 @@ enum DepotWindowWidgets {
static const NWidgetPart _nested_train_depot_widgets[] = {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
NWidget(WWT_CAPTION, COLOUR_GREY, DEPOT_WIDGET_CAPTION),
NWidget(WWT_CAPTION, COLOUR_GREY, DEPOT_WIDGET_CAPTION), SetDataTip(STR_DEPOT_CAPTION, STR_NULL),
NWidget(WWT_SHADEBOX, COLOUR_GREY),
NWidget(WWT_STICKYBOX, COLOUR_GREY),
EndContainer(),
@ -340,14 +340,8 @@ struct DepotWindow : Window {
/* locate the depot struct */
TileIndex tile = this->window_number;
if (this->type == VEH_AIRCRAFT) {
SetDParam(0, GetStationIndex(tile)); // Airport name
} else {
Depot *depot = Depot::GetByTile(tile);
assert(depot != NULL);
SetDParam(0, depot->town_index);
}
SetDParam(0, this->type);
SetDParam(1, (this->type == VEH_AIRCRAFT) ? GetStationIndex(tile) : GetDepotIndex(tile));
}
struct GetDepotVehiclePtData {
@ -543,7 +537,6 @@ struct DepotWindow : Window {
{
if (type != VEH_TRAIN) this->GetWidget<NWidgetCore>(DEPOT_WIDGET_SELL_CHAIN)->fill_y = 0; // Disable vertical filling of chain-sell widget for non-train windows.
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_CAPTION)->widget_data = STR_DEPOT_TRAIN_CAPTION + type;
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_STOP_ALL)->tool_tip = STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP + type;
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_START_ALL)->tool_tip = STR_DEPOT_MASS_START_DEPOT_TRAIN_TOOLTIP + type;
this->GetWidget<NWidgetCore>(DEPOT_WIDGET_SELL)->tool_tip = STR_DEPOT_TRAIN_SELL_TOOLTIP + type;
@ -752,9 +745,10 @@ struct DepotWindow : Window {
TileIndex tile = this->window_number;
byte vehtype = this->type;
SetDParam(0, (vehtype == VEH_AIRCRAFT) ? GetStationIndex(tile) : Depot::GetByTile(tile)->town_index);
SetDParam(0, vehtype);
SetDParam(1, (vehtype == VEH_AIRCRAFT) ? GetStationIndex(tile) : GetDepotIndex(tile));
ShowQuery(
STR_DEPOT_TRAIN_CAPTION + vehtype,
STR_DEPOT_CAPTION,
STR_DEPOT_SELL_CONFIRMATION_TEXT,
this,
DepotSellAllConfirmationCallback

@ -2666,10 +2666,10 @@ STR_INDUSTRY_VIEW_PRODUCES_CARGO_CARGO :{BLACK}Produces
STR_CONFIG_GAME_PRODUCTION :{WHITE}Change production (multiple of 8, up to 2040)
# Vehicle lists
STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING1} - {COMMA} Train{P "" s}
STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING1} - {COMMA} Road Vehicle{P "" s}
STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING1} - {COMMA} Ship{P "" s}
STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING1} - {COMMA} Aircraft
STR_VEHICLE_LIST_TRAIN_CAPTION :{WHITE}{STRING2} - {COMMA} Train{P "" s}
STR_VEHICLE_LIST_ROAD_VEHICLE_CAPTION :{WHITE}{STRING2} - {COMMA} Road Vehicle{P "" s}
STR_VEHICLE_LIST_SHIP_CAPTION :{WHITE}{STRING2} - {COMMA} Ship{P "" s}
STR_VEHICLE_LIST_AIRCRAFT_CAPTION :{WHITE}{STRING2} - {COMMA} Aircraft
STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP :{BLACK}Trains - click on train for information
STR_VEHICLE_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Road vehicles - click on vehicle for information
@ -2781,10 +2781,7 @@ STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Rename s
STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Rename aircraft type
# Depot window
STR_DEPOT_TRAIN_CAPTION :{WHITE}{TOWN} Train Depot
STR_DEPOT_ROAD_VEHICLE_CAPTION :{WHITE}{TOWN} Road Vehicle Depot
STR_DEPOT_SHIP_CAPTION :{WHITE}{TOWN} Ship Depot
STR_DEPOT_AIRCRAFT_CAPTION :{WHITE}{STATION} Aircraft Hangar
STR_DEPOT_CAPTION :{WHITE}{DEPOT}
STR_DEPOT_NO_ENGINE :{BLACK}-
STR_DEPOT_VEHICLE_TOOLTIP :{BLACK}{ENGINE}{RAW_STRING}
@ -2964,23 +2961,11 @@ STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}No orde
STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT :{LTBLUE}Heading for {WAYPOINT}
STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Heading for {WAYPOINT}, {VELOCITY}
STR_VEHICLE_STATUS_HEADING_FOR_TRAIN_DEPOT :{ORANGE}Heading for {TOWN} Train Depot
STR_VEHICLE_STATUS_HEADING_FOR_TRAIN_DEPOT_VEL :{ORANGE}Heading for {TOWN} Train Depot, {VELOCITY}
STR_VEHICLE_STATUS_HEADING_FOR_ROAD_VEHICLE_DEPOT :{ORANGE}Heading for {TOWN} Road Depot
STR_VEHICLE_STATUS_HEADING_FOR_ROAD_VEHICLE_DEPOT_VEL :{ORANGE}Heading for {TOWN} Road Depot, {VELOCITY}
STR_VEHICLE_STATUS_HEADING_FOR_SHIP_DEPOT :{ORANGE}Heading for {TOWN} Ship Depot
STR_VEHICLE_STATUS_HEADING_FOR_SHIP_DEPOT_VEL :{ORANGE}Heading for {TOWN} Ship Depot, {VELOCITY}
STR_VEHICLE_STATUS_HEADING_FOR_HANGAR :{ORANGE}Heading for {STATION} Hangar
STR_VEHICLE_STATUS_HEADING_FOR_HANGAR_VEL :{ORANGE}Heading for {STATION} Hangar, {VELOCITY}
STR_VEHICLE_STATUS_HEADING_FOR_TRAIN_DEPOT_SERVICE :{LTBLUE}Service at {TOWN} Train Depot
STR_VEHICLE_STATUS_HEADING_FOR_TRAIN_DEPOT_SERVICE_VEL :{LTBLUE}Service at {TOWN} Train Depot, {VELOCITY}
STR_VEHICLE_STATUS_HEADING_FOR_ROAD_VEHICLE_DEPOT_SERVICE :{LTBLUE}Service at {TOWN} Road Depot
STR_VEHICLE_STATUS_HEADING_FOR_ROAD_VEHICLE_DEPOT_SERVICE_VEL :{LTBLUE}Service at {TOWN} Road Depot, {VELOCITY}
STR_VEHICLE_STATUS_HEADING_FOR_SHIP_DEPOT_SERVICE :{LTBLUE}Service at {TOWN} Ship Depot
STR_VEHICLE_STATUS_HEADING_FOR_SHIP_DEPOT_SERVICE_VEL :{LTBLUE}Service at {TOWN} Ship Depot, {VELOCITY}
STR_VEHICLE_STATUS_HEADING_FOR_HANGAR_SERVICE :{LTBLUE}Service at {STATION} Hangar
STR_VEHICLE_STATUS_HEADING_FOR_HANGAR_SERVICE_VEL :{LTBLUE}Service at {STATION} Hangar, {VELOCITY}
STR_VEHICLE_STATUS_HEADING_FOR_DEPOT :{ORANGE}Heading for {DEPOT}
STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Heading for {DEPOT}, {VELOCITY}
STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE :{LTBLUE}Service at {DEPOT}
STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Service at {DEPOT}, {VELOCITY}
# Vehicle stopped/started animations
STR_VEHICLE_COMMAND_STOPPED_SMALL :{TINYFONT}{RED}Stopped
@ -3161,9 +3146,8 @@ STR_ORDER_NEAREST_HANGAR :the nearest Han
STR_ORDER_TRAIN_DEPOT :Train Depot
STR_ORDER_ROAD_VEHICLE_DEPOT :Road Vehicle Depot
STR_ORDER_SHIP_DEPOT :Ship Depot
STR_ORDER_GO_TO_DEPOT_FORMAT :{STRING} {TOWN} {STRING}
STR_ORDER_GO_TO_NEAREST_DEPOT_FORMAT :{STRING} {STRING} {STRING}
STR_ORDER_GO_TO_HANGAR_FORMAT :{STRING} {STATION} Hangar
STR_ORDER_GO_TO_DEPOT_FORMAT :{STRING} {DEPOT}
STR_ORDER_REFIT_ORDER :(Refit to {STRING})
STR_ORDER_REFIT_STOP_ORDER :(Refit to {STRING} and stop)
@ -4075,6 +4059,11 @@ STR_FORMAT_INDUSTRY_NAME :{TOWN} {STRING}
STR_FORMAT_WAYPOINT_NAME :{TOWN} Waypoint
STR_FORMAT_WAYPOINT_NAME_SERIAL :{TOWN} Waypoint #{COMMA}
STR_FORMAT_DEPOT_NAME_TRAIN :{TOWN} Train Depot
STR_FORMAT_DEPOT_NAME_ROAD_VEHICLE :{TOWN} Road Vehicle Depot
STR_FORMAT_DEPOT_NAME_SHIP :{TOWN} Ship Depot
STR_FORMAT_DEPOT_NAME_AIRCRAFT :{STATION} Hangar
STR_UNKNOWN_STATION :unknown station
STR_DEFAULT_SIGN_NAME :Sign
STR_COMPANY_SOMEONE :someone

@ -232,25 +232,19 @@ void DrawOrderString(const Vehicle *v, const Order *order, int order_index, int
} break;
case OT_GOTO_DEPOT:
if (v->type == VEH_AIRCRAFT) {
if (order->GetDepotActionType() & ODATFB_NEAREST_DEPOT) {
SetDParam(0, STR_ORDER_GO_TO_NEAREST_DEPOT_FORMAT);
if (order->GetDepotActionType() & ODATFB_NEAREST_DEPOT) {
SetDParam(0, STR_ORDER_GO_TO_NEAREST_DEPOT_FORMAT);
if (v->type == VEH_AIRCRAFT) {
SetDParam(2, STR_ORDER_NEAREST_HANGAR);
SetDParam(3, STR_EMPTY);
} else {
SetDParam(0, STR_ORDER_GO_TO_HANGAR_FORMAT);
SetDParam(2, order->GetDestination());
}
SetDParam(3, STR_EMPTY);
} else {
if (order->GetDepotActionType() & ODATFB_NEAREST_DEPOT) {
SetDParam(0, STR_ORDER_GO_TO_NEAREST_DEPOT_FORMAT);
SetDParam(2, STR_ORDER_NEAREST_DEPOT);
} else {
SetDParam(0, STR_ORDER_GO_TO_DEPOT_FORMAT);
SetDParam(2, Depot::Get(order->GetDestination())->town_index);
SetDParam(3, STR_ORDER_TRAIN_DEPOT + v->type);
}
SetDParam(3, STR_ORDER_TRAIN_DEPOT + v->type);
} else {
SetDParam(0, STR_ORDER_GO_TO_DEPOT_FORMAT);
SetDParam(2, v->type);
SetDParam(3, order->GetDestination());
}
if (order->GetDepotOrderType() & ODTFB_SERVICE) {

@ -15,6 +15,7 @@
#include "town.h"
#include "screenshot.h"
#include "waypoint_base.h"
#include "depot_base.h"
#include "industry.h"
#include "newgrf_text.h"
#include "fileio_func.h"
@ -944,6 +945,13 @@ static char *FormatString(char *buff, const char *str, int64 *argv, uint casei,
break;
}
case SCC_DEPOT_NAME: { // {DEPOT}
VehicleType vt = (VehicleType)GetInt32(&argv);
int64 temp[1] = { vt == VEH_AIRCRAFT ? GetInt32(&argv) : Depot::Get(GetInt32(&argv))->town_index };
buff = GetStringWithArgs(buff, STR_FORMAT_DEPOT_NAME_TRAIN + vt, temp, last);
break;
}
case SCC_TOWN_NAME: { // {TOWN}
const Town *t = Town::Get(GetInt32(&argv));

@ -36,6 +36,7 @@ enum StringControlCode {
SCC_INDUSTRY_NAME,
SCC_WAYPOINT_NAME,
SCC_STATION_NAME,
SCC_DEPOT_NAME,
SCC_TOWN_NAME,
SCC_GROUP_NAME,
SCC_VEHICLE_NAME,

@ -101,6 +101,7 @@ static const CmdStruct _cmd_structs[] = {
{"WAYPOINT", EmitSingleChar, SCC_WAYPOINT_NAME, 1, C_NONE | C_GENDER}, // waypoint name
{"STATION", EmitSingleChar, SCC_STATION_NAME, 1, C_NONE | C_GENDER},
{"DEPOT", EmitSingleChar, SCC_DEPOT_NAME, 2, C_NONE | C_GENDER},
{"TOWN", EmitSingleChar, SCC_TOWN_NAME, 1, C_NONE | C_GENDER},
{"GROUP", EmitSingleChar, SCC_GROUP_NAME, 1, C_NONE | C_GENDER},
{"SIGN", EmitSingleChar, SCC_SIGN_NAME, 1, C_NONE | C_GENDER},

@ -1073,29 +1073,26 @@ public:
case VLW_STANDARD: // Company Name
SetDParam(0, STR_COMPANY_NAME);
SetDParam(1, index);
SetDParam(2, this->vscroll.GetCount());
SetDParam(3, this->vscroll.GetCount());
break;
case VLW_WAYPOINT_LIST:
SetDParam(0, STR_WAYPOINT_NAME);
SetDParam(1, index);
SetDParam(2, this->vscroll.GetCount());
SetDParam(3, this->vscroll.GetCount());
break;
case VLW_STATION_LIST: // Station Name
SetDParam(0, STR_STATION_NAME);
SetDParam(1, index);
SetDParam(2, this->vscroll.GetCount());
SetDParam(3, this->vscroll.GetCount());
break;
case VLW_DEPOT_LIST:
SetDParam(0, STR_DEPOT_TRAIN_CAPTION + this->vehicle_type);
if (this->vehicle_type == VEH_AIRCRAFT) {
SetDParam(1, index); // Airport name
} else {
SetDParam(1, Depot::Get(index)->town_index);
}
SetDParam(2, this->vscroll.GetCount());
SetDParam(0, STR_DEPOT_CAPTION);
SetDParam(1, this->vehicle_type);
SetDParam(2, index);
SetDParam(3, this->vscroll.GetCount());
break;
default: NOT_REACHED();
}
@ -2086,19 +2083,13 @@ public:
} break;
case OT_GOTO_DEPOT: {
if (v->type == VEH_AIRCRAFT) {
/* Aircrafts always go to a station, even if you say depot */
SetDParam(0, v->current_order.GetDestination());
SetDParam(1, v->GetDisplaySpeed());
} else {
Depot *depot = Depot::Get(v->current_order.GetDestination());
SetDParam(0, depot->town_index);
SetDParam(1, v->GetDisplaySpeed());
}
SetDParam(0, v->type);
SetDParam(1, v->current_order.GetDestination());
SetDParam(2, v->GetDisplaySpeed());
if (v->current_order.GetDepotActionType() & ODATFB_HALT) {
str = STR_VEHICLE_STATUS_HEADING_FOR_TRAIN_DEPOT + 2 * v->type + _settings_client.gui.vehicle_speed;
str = STR_VEHICLE_STATUS_HEADING_FOR_DEPOT + _settings_client.gui.vehicle_speed;
} else {
str = STR_VEHICLE_STATUS_HEADING_FOR_TRAIN_DEPOT_SERVICE + 2 * v->type + _settings_client.gui.vehicle_speed;
str = STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE + _settings_client.gui.vehicle_speed;
}
} break;

Loading…
Cancel
Save