Functions

# newgrf_cargo.cpp File Reference

Implementation of NewGRF cargoes. More...

`#include "stdafx.h"`
`#include "debug.h"`
`#include "newgrf_spritegroup.h"`

Go to the source code of this file.

## Functions
static uint32 | CargoGetRandomBits (const ResolverObject *object)
static uint32 | CargoGetTriggers (const ResolverObject *object)
static void | CargoSetTriggers (const ResolverObject *object, int triggers)
static uint32 | CargoGetVariable (const ResolverObject *object, byte variable, uint32 parameter, bool *available)
static const SpriteGroup * | CargoResolveReal (const ResolverObject *object, const RealSpriteGroup *group)
static void | NewCargoResolver (ResolverObject *res, const CargoSpec *cs)
SpriteID | GetCustomCargoSprite (const CargoSpec *cs)
uint16 | GetCargoCallback (CallbackID callback, uint32 param1, uint32 param2, const CargoSpec *cs)
CargoID | GetCargoTranslation (uint8 cargo, const GRFFile *grffile, bool usebit)
| Translate a GRF-local cargo slot/bitnum into a CargoID.
uint8 | GetReverseCargoTranslation (CargoID cargo, const GRFFile *grffile)

## Detailed Description

Implementation of NewGRF cargoes.

Definition in file newgrf_cargo.cpp.

## Function Documentation

CargoID GetCargoTranslation | ( | uint8 | 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 CT_INVALID if the cargo is not available.

Definition at line 112 of file newgrf_cargo.cpp.

References GetCargoIDByBitnum(), and GetCargoIDByLabel().

Referenced by AircraftVehicleChangeInfo(), DoCreateNewIndustry(), HouseGetVariable(), IndustriesChangeInfo(), IndustrytilesChangeInfo(), RailVehicleChangeInfo(), RoadVehicleChangeInfo(), ShipVehicleChangeInfo(), TileLoop_Town(), TownHouseChangeInfo(), and TranslateRefitMask().