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

## Enumerations

enum | CargoClass { CC_NOAVAILABLE = 0, CC_PASSENGERS = 1 << 0, CC_MAIL = 1 << 1, CC_EXPRESS = 1 << 2, CC_ARMOURED = 1 << 3, CC_BULK = 1 << 4, CC_PIECE_GOODS = 1 << 5, CC_LIQUID = 1 << 6, CC_REFRIGERATED = 1 << 7, CC_HAZARDOUS = 1 << 8, CC_COVERED = 1 << 9, CC_SPECIAL = 1 << 15 }

## Functions

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=false)
uint8 | GetReverseCargoTranslation (CargoID cargo, const GRFFile *grffile)

## Variables

static const CargoID | CT_DEFAULT = NUM_CARGO + 0
static const CargoID | CT_PURCHASE = NUM_CARGO + 1
static const CargoID | CT_DEFAULT_NA = NUM_CARGO + 2

## Detailed Description

Cargo support for NewGRFs.

Definition in file newgrf_cargo.h.

## Enumeration Type Documentation

enum CargoClass

Enumerator:

  CC_NOAVAILABLE | No cargo class has been specified.
  CC_PASSENGERS | Passengers.
  CC_MAIL | Mail.
  CC_EXPRESS | Express cargo (Goods, Food, Candy, but also possible for passengers).
  CC_ARMOURED | Armoured cargo (Valuables, Gold, Diamonds).
  CC_BULK | Bulk cargo (Coal, Grain etc., Ores, Fruit).
  CC_PIECE_GOODS | Piece goods (Livestock, Wood, Steel, Paper).
  CC_LIQUID | Liquids (Oil, Water, Rubber).
  CC_REFRIGERATED | Refrigerated cargo (Food, Fruit).
  CC_HAZARDOUS | Hazardous cargo (Nuclear Fuel, Explosives, etc.).
  CC_COVERED | Covered/Sheltered Freight (Transporation in Box Vans, Silo Wagons, etc.).
  CC_SPECIAL | Special bit used for livery refit tricks instead of normal cargoes.

Definition at line 12 of file newgrf_cargo.h.