OpenTTD Source  20240919-master-gdf0233f4c2
newgrf_cargo.cpp File Reference
#include "stdafx.h"
#include "debug.h"
#include "newgrf_spritegroup.h"
#include "safeguards.h"

Go to the source code of this file.

Data Structures

struct  CargoResolverObject
 Resolver of cargo. More...
 

Functions

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

Detailed Description

Implementation of NewGRF cargoes.

Definition in file newgrf_cargo.cpp.

Function Documentation

◆ GetCargoTranslation()

CargoID GetCargoTranslation ( uint8_t  cargo,
const GRFFile grffile,
bool  usebit 
)

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

Parameters
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.
Returns
CargoID or INVALID_CARGO if the cargo is not available.

Definition at line 79 of file newgrf_cargo.cpp.

References CargoSpec::Get(), and CargoSpec::GetArraySize().

◆ GetCustomCargoSprite()

SpriteID GetCustomCargoSprite ( const CargoSpec cs)

Get the custom sprite for the given cargo type.

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

Definition at line 54 of file newgrf_cargo.cpp.

References SpriteGroup::Resolve().

Referenced by CargoSpec::GetCargoIcon().