src/newgrf_cargo.h
author bjarni
Mon, 28 May 2007 21:40:40 +0000
changeset 6735 dd792fed65e2
parent 6460 705fbddbf3dc
child 7199 e65a28455ee3
permissions -rw-r--r--
(svn r9967) -Fix (r9938): autoreplace would in certain conditions move dualheaded engines in a train (usually to the rear)
-Change: moving an engine in between the two ends of a dualheaded engine will now move the rear dualheaded engine to the front of the newly added engine (instead of moving the new engine to the rear of the rear dualheaded engine)
This can make a difference if there are wagons in the train
3866
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
     1
/* $Id$ */
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
     2
6348
6dd01da7a02b (svn r9385) -Cleanup: doxygen changes. Today, we are exploring the letter N.
belugas
parents: 6148
diff changeset
     3
/** @file newgrf_cargo.h */
6dd01da7a02b (svn r9385) -Cleanup: doxygen changes. Today, we are exploring the letter N.
belugas
parents: 6148
diff changeset
     4
3866
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
     5
#ifndef NEWGRF_CARGO_H
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
     6
#define NEWGRF_CARGO_H
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
     7
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
     8
enum {
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
     9
	CC_NOAVAILABLE  = 0,
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
    10
	CC_PASSENGERS   = 1 << 0,
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
    11
	CC_MAIL         = 1 << 1,
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
    12
	CC_EXPRESS      = 1 << 2,
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
    13
	CC_ARMOURED     = 1 << 3,
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
    14
	CC_BULK         = 1 << 4,
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
    15
	CC_PIECE_GOODS  = 1 << 5,
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
    16
	CC_LIQUID       = 1 << 6,
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
    17
	CC_REFRIGERATED = 1 << 7,
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
    18
};
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
    19
6148
5247b66aad19 (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: 6113
diff changeset
    20
static const CargoID CT_DEFAULT      = NUM_CARGO + 0;
5247b66aad19 (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: 6113
diff changeset
    21
static const CargoID CT_PURCHASE     = NUM_CARGO + 1;
5247b66aad19 (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: 6113
diff changeset
    22
static const CargoID CT_DEFAULT_NA   = NUM_CARGO + 2;
3866
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
    23
6460
705fbddbf3dc (svn r9620) -Codechange: apply cargo translation table to newstation variables 0x60..0x65
peter1138
parents: 6371
diff changeset
    24
/* Forward declarations of structs used */
6371
8ce1cab720e5 (svn r9434) -Fix (r9418): remove typedef from forward declaration to appease MSVC or something
peter1138
parents: 6365
diff changeset
    25
struct CargoSpec;
6460
705fbddbf3dc (svn r9620) -Codechange: apply cargo translation table to newstation variables 0x60..0x65
peter1138
parents: 6371
diff changeset
    26
struct GRFFile;
6365
b52bd4ca10b6 (svn r9418) -Codechange: Implement actions 1/2/3 for cargos, callback handler and custom icon sprites
peter1138
parents: 6348
diff changeset
    27
b52bd4ca10b6 (svn r9418) -Codechange: Implement actions 1/2/3 for cargos, callback handler and custom icon sprites
peter1138
parents: 6348
diff changeset
    28
SpriteID GetCustomCargoSprite(const CargoSpec *cs);
b52bd4ca10b6 (svn r9418) -Codechange: Implement actions 1/2/3 for cargos, callback handler and custom icon sprites
peter1138
parents: 6348
diff changeset
    29
uint16 GetCargoCallback(uint16 callback, uint32 param1, uint32 param2, const CargoSpec *cs);
6460
705fbddbf3dc (svn r9620) -Codechange: apply cargo translation table to newstation variables 0x60..0x65
peter1138
parents: 6371
diff changeset
    30
CargoID GetCargoTranslation(uint8 cargo, const GRFFile *grffile);
6365
b52bd4ca10b6 (svn r9418) -Codechange: Implement actions 1/2/3 for cargos, callback handler and custom icon sprites
peter1138
parents: 6348
diff changeset
    31
3866
b13553406a0a (svn r4902) Newgrf : Introduction of the newgrf_cargo files.
belugas
parents:
diff changeset
    32
#endif /* NEWGRF_CARGO_H */