OpenTTD Source: src/newgrf_cargo.h File Reference

OpenTTD Source 14.1

Namespaces | Functions | Variables
newgrf_cargo.h File Reference
`#include "newgrf_callbacks.h"`
`#include "cargo_type.h"`
`#include "gfx_type.h"`

Go to the source code of this file.

## Namespaces
| SpriteGroupCargo
| Sprite Group Cargo types.

## 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=false)
| Translate a GRF-local cargo slot/bitnum into a CargoID. More...

## Variables
static constexpr CargoID | SpriteGroupCargo::SG_DEFAULT = NUM_CARGO
| Default type used when no more-specific cargo matches.
static constexpr CargoID | SpriteGroupCargo::SG_PURCHASE = NUM_CARGO + 1
| Used in purchase lists before an item exists.
static constexpr CargoID | SpriteGroupCargo::SG_DEFAULT_NA = NUM_CARGO + 2
| Used only by stations and roads when no more-specific cargo matches.

## Detailed Description

Cargo support for NewGRFs.

Definition in file newgrf_cargo.h.

## Function Documentation

## ◆ GetCargoTranslation()

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

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

Parameters

  cargo | GRF-local cargo slot/bitnum.
  grffile | Originating GRF file.
  usebit | Defines 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

  cs | Cargo 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().