30 #include "table/strings.h"
43 default: NOT_REACHED();
44 case VEH_ROAD:
return STR_ENGINE_PREVIEW_ROAD_VEHICLE;
46 case VEH_SHIP:
return STR_ENGINE_PREVIEW_SHIP;
52 static const NWidgetPart _nested_engine_preview_widgets[] = {
58 NWidget(
WWT_EMPTY, INVALID_COLOUR,
WID_EP_QUESTION),
SetMinimalSize(300, 0),
SetPadding(8, 8, 8, 8),
SetFill(1, 0),
90 default: NOT_REACHED();
96 this->vehicle_space = max<int>(40, y - y_offs);
98 size->width =
max(size->width, x - x_offs);
111 int y = r.top +
GetStringHeight(STR_ENGINE_PREVIEW_MESSAGE, r.right - r.top + 1);
120 y += this->vehicle_space;
138 if (!gui_scope)
return;
149 _nested_engine_preview_widgets,
lengthof(_nested_engine_preview_widgets)
153 void ShowEnginePreviewWindow(
EngineID engine)
155 AllocateWindowDescFront<EnginePreviewWindow>(&_engine_preview_desc, engine);
166 return cap.
GetSum<uint>();
192 uint16 mail_capacity;
203 if (mail_capacity > 0) {
207 return range > 0 ? STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_CAPACITY_RUNCOST : STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_CAPACITY_RUNCOST;
210 return range > 0 ? STR_ENGINE_PREVIEW_COST_MAX_SPEED_RANGE_CAPACITY_RUNCOST : STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST;
227 return STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST;
244 return STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE;
255 return STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAPACITY_RUNCOST;
271 return GetTrainEngineInfoString(e);
274 return GetRoadVehEngineInfoString(e);
277 return GetShipEngineInfoString(e);
280 return GetAircraftEngineInfoString(e);
282 default: NOT_REACHED();
301 DrawTrainEngine(left, right, preferred_x, y, engine, pal, image_type);
309 DrawShipEngine(left, right, preferred_x, y, engine, pal, image_type);
313 DrawAircraftEngine(left, right, preferred_x, y, engine, pal, image_type);
316 default: NOT_REACHED();
330 if (size < 2)
return;
343 if (num_items < 2)
return;
344 assert(begin < el->Length());
345 assert(begin + num_items <= el->Length());
346 QSortT(el->
Get(begin), num_items, compare);