|
@@ -126,14 +126,14 @@ struct CargoSpec {
|
|
|
private:
|
|
|
static CargoSpec array[NUM_CARGO]; ///< Array holding all CargoSpecs
|
|
|
|
|
|
friend void SetupCargoForClimate(LandscapeID l);
|
|
|
};
|
|
|
|
|
|
extern uint32 _cargo_mask;
|
|
|
extern uint32 _standard_cargo_mask;
|
|
|
extern CargoTypes _cargo_mask;
|
|
|
extern CargoTypes _standard_cargo_mask;
|
|
|
|
|
|
void SetupCargoForClimate(LandscapeID l);
|
|
|
CargoID GetCargoIDByLabel(CargoLabel cl);
|
|
|
CargoID GetCargoIDByBitnum(uint8 bitnum);
|
|
|
|
|
|
void InitializeSortedCargoSpecs();
|
|
@@ -153,13 +153,13 @@ static inline bool IsCargoInClass(CargoI
|
|
|
}
|
|
|
|
|
|
#define FOR_ALL_CARGOSPECS_FROM(var, start) for (size_t cargospec_index = start; var = NULL, cargospec_index < CargoSpec::GetArraySize(); cargospec_index++) \
|
|
|
if ((var = CargoSpec::Get(cargospec_index))->IsValid())
|
|
|
#define FOR_ALL_CARGOSPECS(var) FOR_ALL_CARGOSPECS_FROM(var, 0)
|
|
|
|
|
|
#define FOR_EACH_SET_CARGO_ID(var, cargo_bits) FOR_EACH_SET_BIT_EX(CargoID, var, uint, cargo_bits)
|
|
|
#define FOR_EACH_SET_CARGO_ID(var, cargo_bits) FOR_EACH_SET_BIT_EX(CargoID, var, CargoTypes, cargo_bits)
|
|
|
|
|
|
/**
|
|
|
* Loop header for iterating over cargoes, sorted by name. This includes phony cargoes like regearing cargoes.
|
|
|
* @param var Reference getting the cargospec.
|
|
|
* @see CargoSpec
|
|
|
*/
|