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 SpriteGroupCargoResolveReal (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.

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 GRFFile::cargo_list, GetCargoIDByBitnum(), GetCargoIDByLabel(), and SmallVector< T, S >::Length().

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