author | belugas |
Mon, 30 Jun 2008 16:59:35 +0000 | |
changeset 11107 | 6db1c5112e97 |
parent 10429 | 1b99254f9607 |
permissions | -rw-r--r-- |
3866
113de2b20059
(svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff
changeset
|
1 |
/* $Id$ */ |
113de2b20059
(svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff
changeset
|
2 |
|
10429
1b99254f9607
(svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
rubidium
parents:
8760
diff
changeset
|
3 |
/** @file newgrf_cargo.h Cargo support for NewGRFs. */ |
6674
64f4781b4653
(svn r9385) -Cleanup: doxygen changes. Today, we are exploring the letter N.
belugas
parents:
6474
diff
changeset
|
4 |
|
3866
113de2b20059
(svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff
changeset
|
5 |
#ifndef NEWGRF_CARGO_H |
113de2b20059
(svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff
changeset
|
6 |
#define NEWGRF_CARGO_H |
113de2b20059
(svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff
changeset
|
7 |
|
7823
cad4dec2b899
(svn r10690) -Codechange: use the enum that describes all callback IDs in favor of "just" using an untyped integer.
rubidium
parents:
7695
diff
changeset
|
8 |
#include "newgrf_callbacks.h" |
8615
6b91ca653bad
(svn r11680) -Codechange: refactor more out of openttd.h and functions.h.
rubidium
parents:
8517
diff
changeset
|
9 |
#include "cargo_type.h" |
8760
ce0891c412ce
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium
parents:
8615
diff
changeset
|
10 |
#include "gfx_type.h" |
7823
cad4dec2b899
(svn r10690) -Codechange: use the enum that describes all callback IDs in favor of "just" using an untyped integer.
rubidium
parents:
7695
diff
changeset
|
11 |
|
3866
113de2b20059
(svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff
changeset
|
12 |
enum { |
8517
80ef931323f5
(svn r11581) -Codechange: add some missing cargo classes and some documentation.
rubidium
parents:
8213
diff
changeset
|
13 |
CC_NOAVAILABLE = 0, ///< No cargo class has been specified |
80ef931323f5
(svn r11581) -Codechange: add some missing cargo classes and some documentation.
rubidium
parents:
8213
diff
changeset
|
14 |
CC_PASSENGERS = 1 << 0, ///< Passengers |
80ef931323f5
(svn r11581) -Codechange: add some missing cargo classes and some documentation.
rubidium
parents:
8213
diff
changeset
|
15 |
CC_MAIL = 1 << 1, ///< Mail |
80ef931323f5
(svn r11581) -Codechange: add some missing cargo classes and some documentation.
rubidium
parents:
8213
diff
changeset
|
16 |
CC_EXPRESS = 1 << 2, ///< Express cargo (Goods, Food, Candy, but also possible for passengers) |
80ef931323f5
(svn r11581) -Codechange: add some missing cargo classes and some documentation.
rubidium
parents:
8213
diff
changeset
|
17 |
CC_ARMOURED = 1 << 3, ///< Armoured cargo (Valuables, Gold, Diamonds) |
80ef931323f5
(svn r11581) -Codechange: add some missing cargo classes and some documentation.
rubidium
parents:
8213
diff
changeset
|
18 |
CC_BULK = 1 << 4, ///< Bulk cargo (Coal, Grain etc., Ores, Fruit) |
80ef931323f5
(svn r11581) -Codechange: add some missing cargo classes and some documentation.
rubidium
parents:
8213
diff
changeset
|
19 |
CC_PIECE_GOODS = 1 << 5, ///< Piece goods (Livestock, Wood, Steel, Paper) |
80ef931323f5
(svn r11581) -Codechange: add some missing cargo classes and some documentation.
rubidium
parents:
8213
diff
changeset
|
20 |
CC_LIQUID = 1 << 6, ///< Liquids (Oil, Water, Rubber) |
80ef931323f5
(svn r11581) -Codechange: add some missing cargo classes and some documentation.
rubidium
parents:
8213
diff
changeset
|
21 |
CC_REFRIGERATED = 1 << 7, ///< Refrigerated cargo (Food, Fruit) |
80ef931323f5
(svn r11581) -Codechange: add some missing cargo classes and some documentation.
rubidium
parents:
8213
diff
changeset
|
22 |
CC_HAZARDOUS = 1 << 8, ///< Hazardous cargo (Nucleair Fuel, Explosives, etc.) |
80ef931323f5
(svn r11581) -Codechange: add some missing cargo classes and some documentation.
rubidium
parents:
8213
diff
changeset
|
23 |
CC_COVERED = 1 << 9, ///< Covered/Sheltered Freight (Transporation in Box Vans, Silo Wagons, etc.) |
80ef931323f5
(svn r11581) -Codechange: add some missing cargo classes and some documentation.
rubidium
parents:
8213
diff
changeset
|
24 |
CC_SPECIAL = 1 << 15 ///< Special bit used for livery refit tricks instead of normal cargoes. |
3866
113de2b20059
(svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff
changeset
|
25 |
}; |
113de2b20059
(svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff
changeset
|
26 |
|
6474
24e7ceeb25f5
(svn r8891) -Codechange: Remove remains of global cargo scheme. All cargo mapping is now dealt with only in NewGRF code, on load where possible.
peter1138
parents:
6439
diff
changeset
|
27 |
static const CargoID CT_DEFAULT = NUM_CARGO + 0; |
24e7ceeb25f5
(svn r8891) -Codechange: Remove remains of global cargo scheme. All cargo mapping is now dealt with only in NewGRF code, on load where possible.
peter1138
parents:
6439
diff
changeset
|
28 |
static const CargoID CT_PURCHASE = NUM_CARGO + 1; |
24e7ceeb25f5
(svn r8891) -Codechange: Remove remains of global cargo scheme. All cargo mapping is now dealt with only in NewGRF code, on load where possible.
peter1138
parents:
6439
diff
changeset
|
29 |
static const CargoID CT_DEFAULT_NA = NUM_CARGO + 2; |
3866
113de2b20059
(svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff
changeset
|
30 |
|
6956
0d884da2fd1c
(svn r9620) -Codechange: apply cargo translation table to newstation variables 0x60..0x65
peter1138
parents:
6697
diff
changeset
|
31 |
/* Forward declarations of structs used */ |
6697
a58fd5043165
(svn r9434) -Fix (r9418): remove typedef from forward declaration to appease MSVC or something
peter1138
parents:
6691
diff
changeset
|
32 |
struct CargoSpec; |
6956
0d884da2fd1c
(svn r9620) -Codechange: apply cargo translation table to newstation variables 0x60..0x65
peter1138
parents:
6697
diff
changeset
|
33 |
struct GRFFile; |
6691
e8c27a509894
(svn r9418) -Codechange: Implement actions 1/2/3 for cargos, callback handler and custom icon sprites
peter1138
parents:
6674
diff
changeset
|
34 |
|
e8c27a509894
(svn r9418) -Codechange: Implement actions 1/2/3 for cargos, callback handler and custom icon sprites
peter1138
parents:
6674
diff
changeset
|
35 |
SpriteID GetCustomCargoSprite(const CargoSpec *cs); |
7823
cad4dec2b899
(svn r10690) -Codechange: use the enum that describes all callback IDs in favor of "just" using an untyped integer.
rubidium
parents:
7695
diff
changeset
|
36 |
uint16 GetCargoCallback(CallbackID callback, uint32 param1, uint32 param2, const CargoSpec *cs); |
8213
fc7a2b3164dd
(svn r11252) -Revert r11239, Fix r9620: cargo translation was not done correctly
glx
parents:
7823
diff
changeset
|
37 |
CargoID GetCargoTranslation(uint8 cargo, const GRFFile *grffile, bool usebit = false); |
7695
b15538ba7152
(svn r10477) -Codechange: add some callbacks to customise the acceptance of industries.
rubidium
parents:
6956
diff
changeset
|
38 |
uint8 GetReverseCargoTranslation(CargoID cargo, const GRFFile *grffile); |
6691
e8c27a509894
(svn r9418) -Codechange: Implement actions 1/2/3 for cargos, callback handler and custom icon sprites
peter1138
parents:
6674
diff
changeset
|
39 |
|
3866
113de2b20059
(svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff
changeset
|
40 |
#endif /* NEWGRF_CARGO_H */ |