|
|
|
@ -29,6 +29,20 @@ enum TownEffect {
|
|
|
|
|
TE_FOOD,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum CargoClass {
|
|
|
|
|
CC_NOAVAILABLE = 0, ///< No cargo class has been specified
|
|
|
|
|
CC_PASSENGERS = 1 << 0, ///< Passengers
|
|
|
|
|
CC_MAIL = 1 << 1, ///< Mail
|
|
|
|
|
CC_EXPRESS = 1 << 2, ///< Express cargo (Goods, Food, Candy, but also possible for passengers)
|
|
|
|
|
CC_ARMOURED = 1 << 3, ///< Armoured cargo (Valuables, Gold, Diamonds)
|
|
|
|
|
CC_BULK = 1 << 4, ///< Bulk cargo (Coal, Grain etc., Ores, Fruit)
|
|
|
|
|
CC_PIECE_GOODS = 1 << 5, ///< Piece goods (Livestock, Wood, Steel, Paper)
|
|
|
|
|
CC_LIQUID = 1 << 6, ///< Liquids (Oil, Water, Rubber)
|
|
|
|
|
CC_REFRIGERATED = 1 << 7, ///< Refrigerated cargo (Food, Fruit)
|
|
|
|
|
CC_HAZARDOUS = 1 << 8, ///< Hazardous cargo (Nuclear Fuel, Explosives, etc.)
|
|
|
|
|
CC_COVERED = 1 << 9, ///< Covered/Sheltered Freight (Transporation in Box Vans, Silo Wagons, etc.)
|
|
|
|
|
CC_SPECIAL = 1 << 15 ///< Special bit used for livery refit tricks instead of normal cargoes.
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static const byte INVALID_CARGO = 0xFF;
|
|
|
|
|
|
|
|
|
@ -115,7 +129,7 @@ SpriteID GetCargoSprite(CargoID i);
|
|
|
|
|
CargoID GetCargoIDByLabel(CargoLabel cl);
|
|
|
|
|
CargoID GetCargoIDByBitnum(uint8 bitnum);
|
|
|
|
|
|
|
|
|
|
static inline bool IsCargoInClass(CargoID c, uint16 cc)
|
|
|
|
|
static inline bool IsCargoInClass(CargoID c, CargoClass cc)
|
|
|
|
|
{
|
|
|
|
|
return (CargoSpec::Get(c)->classes & cc) != 0;
|
|
|
|
|
}
|
|
|
|
|