bjarni@6268: /* $Id$ */ bjarni@6268: bjarni@6268: /** @file cargotype.h */ bjarni@6268: bjarni@6268: #ifndef CARGOTYPE_H bjarni@6268: #define CARGOTYPE_H bjarni@6268: bjarni@6268: bjarni@6268: typedef uint32 CargoLabel; bjarni@6268: bjarni@6268: bjarni@6268: typedef struct CargoSpec { bjarni@6268: uint8 bitnum; bjarni@6268: CargoLabel label; bjarni@6268: uint32 grfid; bjarni@6268: uint8 legend_colour; bjarni@6268: uint8 rating_colour; bjarni@6268: uint8 weight; bjarni@6268: uint16 initial_payment; bjarni@6268: uint8 transit_days[2]; bjarni@6268: bjarni@6268: bool is_freight; bjarni@6268: uint8 substitutetowngrowth; bjarni@6268: uint16 multipliertowngrowth; bjarni@6268: uint8 callbackflags; bjarni@6268: bjarni@6268: StringID name; bjarni@6268: StringID name_plural; bjarni@6268: StringID units_volume; bjarni@6268: StringID quantifier; bjarni@6268: StringID abbrev; bjarni@6268: bjarni@6268: SpriteID sprite; bjarni@6268: bjarni@6268: uint16 classes; bjarni@6268: bjarni@6268: bool IsValid() const; bjarni@6268: } CargoSpec; bjarni@6268: bjarni@6268: bjarni@6268: extern uint32 _cargo_mask; bjarni@6268: bjarni@6268: bjarni@6268: /* Set up the default cargo types for the given landscape type */ bjarni@6268: void SetupCargoForClimate(LandscapeID l); bjarni@6268: /* Retrieve cargo details for the given cargo ID */ bjarni@6268: const CargoSpec *GetCargo(CargoID c); bjarni@6268: /* Get the cargo ID with the cargo label */ bjarni@6268: CargoID GetCargoIDByLabel(CargoLabel cl); bjarni@6268: bjarni@6268: bjarni@6268: #endif /* CARGOTYPE_H */