OpenTTD Source: src/newgrf_cargo.h File Reference

OpenTTD Source 15.3

Functions
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.

## Functions
SpriteID | GetCustomCargoSprite (const CargoSpec *cs)
| Get the custom sprite for the given cargo type.
uint16_t | GetCargoCallback (CallbackID callback, uint32_t param1, uint32_t param2, const CargoSpec *cs, std::span< int32_t > regs100={})
CargoType | GetCargoTranslation (uint8_t cargo, const GRFFile *grffile, bool usebit=false)
| Translate a GRF-local cargo slot/bitnum into a CargoType.
std::span< const CargoLabel > | GetClimateDependentCargoTranslationTable ()
| Get default climate-dependent cargo translation table for a NewGRF, used if the NewGRF does not provide its own.
std::span< const CargoLabel > | GetClimateIndependentCargoTranslationTable ()
| Get default climate-independent cargo translation table for a NewGRF, used if the NewGRF does not provide its own.

## Detailed Description

Cargo support for NewGRFs.

Definition in file newgrf_cargo.h.

## Function Documentation

## ◆ GetCargoCallback()

uint16_t GetCargoCallback | ( | CallbackID | callback,
|  | uint32_t | param1,
|  | uint32_t | param2,
|  | const CargoSpec * | cs,
|  | std::span< int32_t > | regs100 = `{}`
| ) |  |

Definition at line 65 of file newgrf_cargo.cpp.

## ◆ GetCargoTranslation()

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

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

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

Definition at line 80 of file newgrf_cargo.cpp.

References GRFFile::cargo_list, GRFFile::cargo_list_is_fallback, GetClimateDependentCargoTranslationTable(), and GetClimateIndependentCargoTranslationTable().

Referenced by AddAcceptedCargoOfHouse(), AircraftVehicleChangeInfo(), DoCreateNewIndustry(), GetProducedCargoOfHouse(), HouseScopeResolver::GetVariable(), IndustriesScopeResolver::GetVariable(), IndustriesChangeInfo(), IndustrytilesChangeInfo(), ProcessNewGRFStringControlCode(), RailVehicleChangeInfo(), RoadVehicleChangeInfo(), ShipVehicleChangeInfo(), TileLoop_Town(), TownHouseChangeInfo(), and TranslateRefitMask().

## ◆ GetClimateDependentCargoTranslationTable()

std::span< const CargoLabel > GetClimateDependentCargoTranslationTable | ( |  | ) |

Get default climate-dependent cargo translation table for a NewGRF, used if the NewGRF does not provide its own.

Returns
  Default translation table for GRF version.

Definition at line 113 of file cargotype.cpp.

References _climate_dependent_cargo_labels.

Referenced by GetCargoTranslation(), and GetCargoTranslationTable().

## ◆ GetClimateIndependentCargoTranslationTable()

std::span< const CargoLabel > GetClimateIndependentCargoTranslationTable | ( |  | ) |

Get default climate-independent cargo translation table for a NewGRF, used if the NewGRF does not provide its own.

Returns
  Default translation table for GRF version.

Definition at line 122 of file cargotype.cpp.

References _climate_independent_cargo_labels.

Referenced by GetCargoTranslation(), and GetCargoTranslationTable().

## ◆ 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 55 of file newgrf_cargo.cpp.

Referenced by CargoSpec::GetCargoIcon().