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;
204 if (mail_capacity > 0) {
208 return range > 0 ? STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST : STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST;
211 return range > 0 ? STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST : STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST;
228 return STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST;
245 return STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE;
256 return STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST;
272 return GetTrainEngineInfoString(e);
275 return GetRoadVehEngineInfoString(e);
278 return GetShipEngineInfoString(e);
281 return GetAircraftEngineInfoString(e);
283 default: NOT_REACHED();
302 DrawTrainEngine(left, right, preferred_x, y, engine, pal, image_type);
310 DrawShipEngine(left, right, preferred_x, y, engine, pal, image_type);
314 DrawAircraftEngine(left, right, preferred_x, y, engine, pal, image_type);
317 default: NOT_REACHED();
331 if (size < 2)
return;
344 if (num_items < 2)
return;
345 assert(begin < el->Length());
346 assert(begin + num_items <= el->Length());
347 QSortT(el->
Get(begin), num_items, compare);