|
OpenTTD Source
14.0-beta1
|
#include "economy_type.h"#include "cargo_type.h"#include "gfx_type.h"#include "strings_type.h"#include "landscape_type.h"#include "core/bitmath_func.hpp"Go to the source code of this file.
Data Structures | |
| struct | CargoSpec |
| Specification of a cargo type. More... | |
| struct | CargoSpec::Iterator |
| Iterator to iterate all valid CargoSpec. More... | |
| struct | CargoSpec::IterateWrapper |
| struct | CargoIDComparator |
| Comparator to sort CargoID by according to desired order. More... | |
Typedefs | |
| typedef uint32_t | CargoLabel |
| Globally unique label of a cargo type. | |
| using | SetCargoBitIterator = SetBitIterator< CargoID, CargoTypes > |
Enumerations | |
| enum | TownAcceptanceEffect : byte { TAE_BEGIN = 0, TAE_NONE = TAE_BEGIN, TAE_PASSENGERS, TAE_MAIL, TAE_GOODS, TAE_WATER, TAE_FOOD, TAE_END, NUM_TAE = TAE_END } |
| Town growth effect when delivering cargo. More... | |
| enum | TownProductionEffect : byte { TPE_NONE, TPE_PASSENGERS, TPE_MAIL, NUM_TPE, INVALID_TPE } |
| Town effect when producing cargo. More... | |
| enum | CargoClass { CC_NOAVAILABLE = 0, CC_PASSENGERS = 1 << 0, CC_MAIL = 1 << 1, CC_EXPRESS = 1 << 2, CC_ARMOURED = 1 << 3, CC_BULK = 1 << 4, CC_PIECE_GOODS = 1 << 5, CC_LIQUID = 1 << 6, CC_REFRIGERATED = 1 << 7, CC_HAZARDOUS = 1 << 8, CC_COVERED = 1 << 9, CC_SPECIAL = 1 << 15 } |
| Cargo classes. More... | |
Functions | |
| void | SetupCargoForClimate (LandscapeID l) |
| Set up the default cargo types for the given landscape type. More... | |
| CargoID | GetCargoIDByLabel (CargoLabel cl) |
| Get the cargo ID by cargo label. More... | |
| CargoID | GetCargoIDByBitnum (uint8_t bitnum) |
| Find the CargoID of a 'bitnum' value. More... | |
| CargoID | GetDefaultCargoID (LandscapeID l, CargoType ct) |
| Get the cargo ID of a default cargo, if present. More... | |
| Dimension | GetLargestCargoIconSize () |
| Get dimensions of largest cargo icon. More... | |
| void | InitializeSortedCargoSpecs () |
| Initialize the list of sorted cargo specifications. | |
| bool | IsCargoInClass (CargoID c, CargoClass cc) |
| Does cargo c have cargo class cc? More... | |
Variables | |
| static const byte | INVALID_CARGO_BITNUM = 0xFF |
| Constant representing invalid cargo. | |
| static const uint | TOWN_PRODUCTION_DIVISOR = 256 |
| CargoTypes | _cargo_mask |
| Bitmask of cargo types available. More... | |
| CargoTypes | _standard_cargo_mask |
| Bitmask of real cargo types available. More... | |
| std::array< uint8_t, NUM_CARGO > | _sorted_cargo_types |
| Sort order of cargoes by cargo ID. | |
| std::vector< const CargoSpec * > | _sorted_cargo_specs |
| Cargo specifications sorted alphabetically by name. | |
| std::span< const CargoSpec * > | _sorted_standard_cargo_specs |
| Standard cargo specifications sorted alphabetically by name. | |
Types/functions related to cargoes.
Definition in file cargotype.h.
| enum CargoClass |
Cargo classes.
Definition at line 51 of file cargotype.h.
| enum TownAcceptanceEffect : byte |
Town growth effect when delivering cargo.
Definition at line 24 of file cargotype.h.
| enum TownProductionEffect : byte |
Town effect when producing cargo.
| Enumerator | |
|---|---|
| TPE_NONE | Town will not produce this cargo type. |
| TPE_PASSENGERS | Cargo behaves passenger-like for production. |
| TPE_MAIL | Cargo behaves mail-like for production. |
| INVALID_TPE | Invalid town production effect. Used as a sentinel to indicate if a NewGRF has explicitly set an effect. This does not 'exist' after cargo types are finalised. |
Definition at line 37 of file cargotype.h.
| CargoID GetCargoIDByBitnum | ( | uint8_t | bitnum | ) |
Find the CargoID of a 'bitnum' value.
| bitnum | 'bitnum' to find. |
Definition at line 131 of file cargotype.cpp.
References INVALID_CARGO_BITNUM.
| CargoID GetCargoIDByLabel | ( | CargoLabel | cl | ) |
Get the cargo ID by cargo label.
| cl | Cargo type to get. |
Definition at line 115 of file cargotype.cpp.
References CargoSpec::Iterate().
| CargoID GetDefaultCargoID | ( | LandscapeID | l, |
| CargoType | ct | ||
| ) |
Get the cargo ID of a default cargo, if present.
| l | Landscape |
| ct | Default cargo type. |
Definition at line 94 of file cargotype.cpp.
References _default_climate_cargo, IsValidCargoType(), and lengthof.
Referenced by CalculateRefitMasks().
| Dimension GetLargestCargoIconSize | ( | ) |
Get dimensions of largest cargo icon.
Definition at line 79 of file cargotype.cpp.
References _sorted_cargo_specs, GetSpriteSize(), and maxdim().
Referenced by BaseVehicleListWindow::BuildCargoDropDownList().
|
inline |
Does cargo c have cargo class cc?
| c | Cargo type. |
| cc | Cargo class. |
Definition at line 222 of file cargotype.h.
References CargoSpec::Get().
Referenced by CargoFilterSingle(), Vehicle::Crash(), RoadVehicle::IsBus(), and UpdateStationAcceptance().
| void SetupCargoForClimate | ( | LandscapeID | l | ) |
Set up the default cargo types for the given landscape type.
| l | Landscape |
Definition at line 42 of file cargotype.cpp.
References _cargo_mask, _default_cargo, _default_climate_cargo, CargoSpec::array, CargoSpec::label, and lengthof.
| CargoTypes _cargo_mask |
Bitmask of cargo types available.
This includes phony cargoes like regearing cargoes. Initialized during a call to SetupCargoForClimate.
Definition at line 31 of file cargotype.cpp.
Referenced by SetupCargoForClimate().
| CargoTypes _standard_cargo_mask |
Bitmask of real cargo types available.
Phony cargoes like regearing cargoes are excluded.
Definition at line 36 of file cargotype.cpp.
Referenced by CargoAndEngineFilter(), InitializeSortedCargoSpecs(), and BuildVehicleWindow::SetCargoFilterArray().