Functions | Variables
newgrf_cargo.h File Reference

Cargo support for NewGRFs. More...

#include "newgrf_callbacks.h"
#include "cargo_type.h"
#include "gfx_type.h"

Go to the source code of this file.


SpriteID GetCustomCargoSprite (const CargoSpec *cs)
 Get the custom sprite for the given cargo type. More...
uint16 GetCargoCallback (CallbackID callback, uint32 param1, uint32 param2, const CargoSpec *cs)
CargoID GetCargoTranslation (uint8 cargo, const GRFFile *grffile, bool usebit=false)
 Translate a GRF-local cargo slot/bitnum into a CargoID. More...


static const CargoID CT_DEFAULT = NUM_CARGO + 0
static const CargoID CT_PURCHASE = NUM_CARGO + 1
static const CargoID CT_DEFAULT_NA = NUM_CARGO + 2

Detailed Description

Cargo support for NewGRFs.

Definition in file newgrf_cargo.h.

Function Documentation

◆ GetCargoTranslation()

CargoID GetCargoTranslation ( uint8  cargo,
const GRFFile grffile,
bool  usebit 

Translate a GRF-local cargo slot/bitnum into a CargoID.

cargoGRF-local cargo slot/bitnum.
grffileOriginating GRF file.
usebitDefines the meaning of cargo for GRF version < 7. If true, then cargo is a bitnum. If false, then cargo is a cargoslot. For GRF version >= 7 cargo is always a translated cargo bit.
CargoID or CT_INVALID if the cargo is not available.

Definition at line 78 of file newgrf_cargo.cpp.

References GRFFile::cargo_list, CT_INVALID, GetCargoIDByBitnum(), GetCargoIDByLabel(), and SmallVector< T, S >::Length().

Referenced by RoadVehicleChangeInfo(), ShipVehicleChangeInfo(), and TranslateRefitMask().

◆ GetCustomCargoSprite()

SpriteID GetCustomCargoSprite ( const CargoSpec cs)

Get the custom sprite for the given cargo type.

csCargo being queried.
Custom sprite to draw, or 0 if not available.

Definition at line 53 of file newgrf_cargo.cpp.

References SpriteGroup::Resolve().

Referenced by CargoSpec::GetCargoIcon().