author | truebrain |
Mon, 30 Jun 2008 13:36:06 +0000 | |
branch | noai |
changeset 11100 | b960288098b9 |
parent 11070 | f2460a97f516 |
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 |
|
10455
22c441f5adf9
(svn r12997) [NoAI] -Sync: with trunk r12895:12996.
rubidium
parents:
9724
diff
changeset
|
3 |
/** @file newgrf_cargo.h Cargo support for NewGRFs. */ |
9505 | 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 |
|
9694
e72987579514
(svn r10775) [NoAI] -Sync: with trunk r10535:r10774.
rubidium
parents:
9641
diff
changeset
|
8 |
#include "newgrf_callbacks.h" |
9723
eee46cb39750
(svn r11796) [NoAI] -Sync: with trunk r11502:11795.
rubidium
parents:
9718
diff
changeset
|
9 |
#include "cargo_type.h" |
9724
b39bc69bb2f2
(svn r12051) [NoAI] -Sync: with trunk (r11795:12050).
rubidium
parents:
9723
diff
changeset
|
10 |
#include "gfx_type.h" |
9694
e72987579514
(svn r10775) [NoAI] -Sync: with trunk r10535:r10774.
rubidium
parents:
9641
diff
changeset
|
11 |
|
10675
b16fdb811ebb
(svn r13219) [NoAI] -Add: added AICargo.HasCargoClass(), which allows you to find, say, passenger-based cargo (tnx kuifware for the pointer!)
truebrain
parents:
10455
diff
changeset
|
12 |
enum CargoClass { |
9723
eee46cb39750
(svn r11796) [NoAI] -Sync: with trunk r11502:11795.
rubidium
parents:
9718
diff
changeset
|
13 |
CC_NOAVAILABLE = 0, ///< No cargo class has been specified |
eee46cb39750
(svn r11796) [NoAI] -Sync: with trunk r11502:11795.
rubidium
parents:
9718
diff
changeset
|
14 |
CC_PASSENGERS = 1 << 0, ///< Passengers |
eee46cb39750
(svn r11796) [NoAI] -Sync: with trunk r11502:11795.
rubidium
parents:
9718
diff
changeset
|
15 |
CC_MAIL = 1 << 1, ///< Mail |
eee46cb39750
(svn r11796) [NoAI] -Sync: with trunk r11502:11795.
rubidium
parents:
9718
diff
changeset
|
16 |
CC_EXPRESS = 1 << 2, ///< Express cargo (Goods, Food, Candy, but also possible for passengers) |
eee46cb39750
(svn r11796) [NoAI] -Sync: with trunk r11502:11795.
rubidium
parents:
9718
diff
changeset
|
17 |
CC_ARMOURED = 1 << 3, ///< Armoured cargo (Valuables, Gold, Diamonds) |
eee46cb39750
(svn r11796) [NoAI] -Sync: with trunk r11502:11795.
rubidium
parents:
9718
diff
changeset
|
18 |
CC_BULK = 1 << 4, ///< Bulk cargo (Coal, Grain etc., Ores, Fruit) |
eee46cb39750
(svn r11796) [NoAI] -Sync: with trunk r11502:11795.
rubidium
parents:
9718
diff
changeset
|
19 |
CC_PIECE_GOODS = 1 << 5, ///< Piece goods (Livestock, Wood, Steel, Paper) |
eee46cb39750
(svn r11796) [NoAI] -Sync: with trunk r11502:11795.
rubidium
parents:
9718
diff
changeset
|
20 |
CC_LIQUID = 1 << 6, ///< Liquids (Oil, Water, Rubber) |
eee46cb39750
(svn r11796) [NoAI] -Sync: with trunk r11502:11795.
rubidium
parents:
9718
diff
changeset
|
21 |
CC_REFRIGERATED = 1 << 7, ///< Refrigerated cargo (Food, Fruit) |
11070
f2460a97f516
(svn r13627) [NoAI] -Fix: typo in word 'nuclear' (Finaldeath)
truebrain
parents:
10675
diff
changeset
|
22 |
CC_HAZARDOUS = 1 << 8, ///< Hazardous cargo (Nuclear Fuel, Explosives, etc.) |
9723
eee46cb39750
(svn r11796) [NoAI] -Sync: with trunk r11502:11795.
rubidium
parents:
9718
diff
changeset
|
23 |
CC_COVERED = 1 << 9, ///< Covered/Sheltered Freight (Transporation in Box Vans, Silo Wagons, etc.) |
eee46cb39750
(svn r11796) [NoAI] -Sync: with trunk r11502:11795.
rubidium
parents:
9718
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 |
|
9599 | 31 |
/* Forward declarations of structs used */ |
9543
609e870e3aa4
(svn r9465) [NoAI] -Fix: fatal warning during compilation on MSVC
KUDr
parents:
9517
diff
changeset
|
32 |
struct CargoSpec; |
9599 | 33 |
struct GRFFile; |
9517 | 34 |
|
35 |
SpriteID GetCustomCargoSprite(const CargoSpec *cs); |
|
9694
e72987579514
(svn r10775) [NoAI] -Sync: with trunk r10535:r10774.
rubidium
parents:
9641
diff
changeset
|
36 |
uint16 GetCargoCallback(CallbackID callback, uint32 param1, uint32 param2, const CargoSpec *cs); |
9718
f82a4facea8b
(svn r11309) [NoAI] -Sync: with trunk r11145:11308.
truelight
parents:
9694
diff
changeset
|
37 |
CargoID GetCargoTranslation(uint8 cargo, const GRFFile *grffile, bool usebit = false); |
9641
855e32c08c9b
(svn r10533) [NoAI] -Sync with trunk r10460:r10532.
truelight
parents:
9599
diff
changeset
|
38 |
uint8 GetReverseCargoTranslation(CargoID cargo, const GRFFile *grffile); |
9517 | 39 |
|
3866
113de2b20059
(svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff
changeset
|
40 |
#endif /* NEWGRF_CARGO_H */ |