20 #include "table/strings.h"
36 Money feeder_share = 0;
41 DrawString(left, right, y + y_offset, STR_VEHICLE_INFO_BUILT_VALUE);
48 memset(subtype_text, 0,
sizeof(subtype_text));
50 for (
const Vehicle *u = v; u != NULL; u = u->
Next()) {
51 max_cargo[u->cargo_type] += u->cargo_cap;
52 if (u->cargo_cap > 0) {
54 if (text != STR_EMPTY) subtype_text[u->cargo_type] = text;
58 GetString(capacity, STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY,
lastof(capacity));
62 if (max_cargo[i] > 0) {
67 GetString(buffer, STR_JUST_CARGO,
lastof(buffer));
72 if (subtype_text[i] != 0) {
73 GetString(buffer, subtype_text[i],
lastof(buffer));
83 for (
const Vehicle *u = v; u != NULL; u = u->
Next()) {
84 if (u->cargo_cap == 0)
continue;
86 str = STR_VEHICLE_DETAILS_CARGO_EMPTY;
87 if (u->cargo.StoredCount() > 0) {
91 str = STR_VEHICLE_DETAILS_CARGO_FROM;
92 feeder_share += u->cargo.FeederShare();
106 str = STR_VEHICLE_DETAILS_CARGO_EMPTY;
111 str = STR_VEHICLE_DETAILS_CARGO_FROM;
138 int max_width = right - left + 1;
145 int px = rtl ? max_width + skip : -skip;
146 for (; u != NULL && (rtl ? px > 0 : px < max_width); u = u->
Next()) {
148 int width = u->GetDisplayImageWidth(&offset);
150 if (rtl ? px + width > 0 : px - width < max_width) {
152 DrawSprite(u->GetImage(dir, image_type), pal, px + (rtl ? -offset.x : offset.x),
ScaleGUITrad(6) + offset.y);
155 px += rtl ? -width : width;
158 if (v->
index == selection) {