OpenTTD Source
12.0-beta2
|
Go to the documentation of this file.
18 #include "table/strings.h"
34 Money feeder_share = 0;
39 DrawString(left, right, y + y_offset, STR_VEHICLE_INFO_BUILT_VALUE);
46 memset(subtype_text, 0,
sizeof(subtype_text));
48 for (
const Vehicle *u = v; u !=
nullptr; u = u->
Next()) {
49 max_cargo[u->cargo_type] += u->cargo_cap;
50 if (u->cargo_cap > 0) {
52 if (text != STR_EMPTY) subtype_text[u->cargo_type] = text;
56 GetString(capacity, STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY,
lastof(capacity));
60 if (max_cargo[i] > 0) {
65 GetString(buffer, STR_JUST_CARGO,
lastof(buffer));
70 if (subtype_text[i] != 0) {
71 GetString(buffer, subtype_text[i],
lastof(buffer));
81 for (
const Vehicle *u = v; u !=
nullptr; u = u->
Next()) {
82 if (u->cargo_cap == 0)
continue;
84 str = STR_VEHICLE_DETAILS_CARGO_EMPTY;
85 if (u->cargo.StoredCount() > 0) {
89 str = STR_VEHICLE_DETAILS_CARGO_FROM;
90 feeder_share += u->cargo.FeederShare();
104 str = STR_VEHICLE_DETAILS_CARGO_EMPTY;
109 str = STR_VEHICLE_DETAILS_CARGO_FROM;
136 int max_width = right - left + 1;
143 int px = rtl ? max_width + skip : -skip;
144 for (; u !=
nullptr && (rtl ? px > 0 : px < max_width); u = u->
Next()) {
148 if (rtl ? px + width > 0 : px - width < max_width) {
155 px += rtl ? -width : width;
158 if (v->
index == selection) {
Buses, trucks and trams belong to this class.
uint StoredCount() const
Returns sum of cargo on board the vehicle (ie not only reserved).
Direction
Defines the 8 directions on the map.
Money value
Value of the vehicle.
Vehicle * Next() const
Get the next vehicle of this vehicle.
T * Next() const
Get next vehicle in the chain.
Tindex index
Index of this pool item.
Class for storing amounts of cargo.
int DrawString(int left, int right, int top, const char *str, TextColour colour, StringAlignment align, bool underline, FontSize fontsize)
Draw string, possibly truncated to make it fit in its allocated space.
EngineImageType
Visualisation contexts of vehicles and engines.
void Draw(int x, int y, PaletteID default_pal, bool force_pal) const
Draw the sprite sequence.
static void SetDParam(uint n, uint64 v)
Set a string parameter v at index n in the global string parameter array.
void DrawRoadVehDetails(const Vehicle *v, int left, int right, int y)
Draw the details for the given vehicle at the given position.
EngineID engine_type
The type of engine used for this vehicle.
@ VS_CRASHED
Vehicle is crashed.
Sprite sequence for a vehicle part.
VehicleCargoList cargo
The cargo this vehicle is carrying.
Coordinates of a point in 2D.
bool FillDrawPixelInfo(DrawPixelInfo *n, int left, int top, int width, int height)
Set up a clipping area for only drawing into a certain area.
StringID GetCargoSubtypeText(const Vehicle *v)
Get the cargo subtype text from NewGRF for the vehicle details window.
uint32 StringID
Numeric value that represents a string, independent of the selected language.
static const PaletteID PALETTE_CRASH
Recolour sprite greying of crashed vehicles.
void DrawRoadVehImage(const Vehicle *v, int left, int right, int y, VehicleID selection, EngineImageType image_type, int skip)
Draws an image of a road vehicle chain.
uint16 cargo_cap
total capacity
int GetDisplayImageWidth(Point *offset=nullptr) const
Get the width of a road vehicle image in the GUI.
static RoadVehicle * From(Vehicle *v)
Converts a Vehicle to SpecializedVehicle with type checking.
PaletteID GetVehiclePalette(const Vehicle *v)
Get the colour map for a vehicle.
#define FONT_HEIGHT_NORMAL
Height of characters in the normal (FS_NORMAL) font.
static int ScaleGUITrad(int value)
Scale traditional pixel dimensions to GUI zoom level.
uint32 PaletteID
The number of the palette.
@ NUM_CARGO
Maximal number of cargo types in a game.
bool HasArticulatedPart() const
Check if an engine has an articulated part.
Year build_year
Year the vehicle has been built.
StationID Source() const
Returns source of the first cargo packet in this list.
uint32 VehicleID
The type all our vehicle IDs have.
void GetImage(Direction direction, EngineImageType image_type, VehicleSpriteSeq *result) const
Gets the sprite to show for the given direction.
byte CargoID
Cargo slots to indicate a cargo type within a game.
CargoID cargo_type
type of cargo this vehicle is carrying
char * strecat(char *dst, const char *src, const char *last)
Appends characters from one string to another.
Money FeederShare() const
Returns total sum of the feeder share for all packets.
#define lastof(x)
Get the last element of an fixed size array.
@ TD_RTL
Text is written right-to-left by default.
TextDirection _current_text_dir
Text direction of the currently selected language.
@ FR_BORDERONLY
Draw border only, no background.
Data about how and where to blit pixels.