(svn r21966) -Change [FS#4462]: [NewGRF] Disable the flipping of train engines/wagons in the depot by default for NewGRFs

This commit is contained in:
rubidium 2011-02-04 19:20:47 +00:00
parent 1cd4b3bb86
commit 00a766ed27
3 changed files with 144 additions and 131 deletions

View File

@ -134,6 +134,7 @@ enum EngineMiscFlags {
EF_ROAD_TRAM = 0, ///< Road vehicle is a tram/light rail vehicle EF_ROAD_TRAM = 0, ///< Road vehicle is a tram/light rail vehicle
EF_USES_2CC = 1, ///< Vehicle uses two company colours EF_USES_2CC = 1, ///< Vehicle uses two company colours
EF_RAIL_IS_MU = 2, ///< Rail vehicle is a multiple-unit (DMU/EMU) EF_RAIL_IS_MU = 2, ///< Rail vehicle is a multiple-unit (DMU/EMU)
EF_RAIL_FLIPS = 3, ///< Rail vehicle can be flipped in the depot
}; };
/** /**

View File

@ -16,7 +16,7 @@
#define ENGINES_H #define ENGINES_H
/** /**
* Writes the properties of a train or road vehicle into the EngineInfo struct. * Writes the properties of a train into the EngineInfo struct.
* @see EngineInfo * @see EngineInfo
* @param a base introduction date (days since 1920-01-01) * @param a base introduction date (days since 1920-01-01)
* @param b decay speed * @param b decay speed
@ -24,10 +24,9 @@
* @param d base life (years) * @param d base life (years)
* @param e cargo type * @param e cargo type
* @param f Bitmask of the climates * @param f Bitmask of the climates
* @note the 0x80 in parameter b sets the "is carriage bit"
* @note the 5 between b and f is the load amount * @note the 5 between b and f is the load amount
*/ */
#define MK(a, b, c, d, e, f) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, e, 0, 8, 0, 0, 0, STR_EMPTY } #define MT(a, b, c, d, e, f) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, e, 0, 8, 1 << EF_RAIL_FLIPS, 0, 0, STR_EMPTY }
/** /**
* Writes the properties of a train carriage into the EngineInfo struct. * Writes the properties of a train carriage into the EngineInfo struct.
@ -37,10 +36,23 @@
* @param d base life (years) * @param d base life (years)
* @param e cargo type * @param e cargo type
* @param f Bitmask of the climates * @param f Bitmask of the climates
* @see MK * @see MT
* @note the 5 between b and f is the load amount * @note the 5 between b and f is the load amount
*/ */
#define MW(a, b, c, d, e, f) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, e, 0, 8, 0, 0, 0, STR_EMPTY } #define MW(a, b, c, d, e, f) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, e, 0, 8, 1 << EF_RAIL_FLIPS, 0, 0, STR_EMPTY }
/**
* Writes the properties of a road vehicle into the EngineInfo struct.
* @see EngineInfo
* @param a base introduction date (days since 1920-01-01)
* @param b decay speed
* @param c life length (years)
* @param d base life (years)
* @param e cargo type
* @param f Bitmask of the climates
* @note the 5 between b and f is the load amount
*/
#define MR(a, b, c, d, e, f) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, e, 0, 8, 0, 0, 0, STR_EMPTY }
/** /**
* Writes the properties of a ship into the EngineInfo struct. * Writes the properties of a ship into the EngineInfo struct.
@ -50,7 +62,6 @@
* @param d base life (years) * @param d base life (years)
* @param e cargo type * @param e cargo type
* @param f Bitmask of the climates * @param f Bitmask of the climates
* @see MK
* @note the 10 between b and f is the load amount * @note the 10 between b and f is the load amount
*/ */
#define MS(a, b, c, d, e, f) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 10, f, e, 0, 8, 0, 0, 0, STR_EMPTY } #define MS(a, b, c, d, e, f) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 10, f, e, 0, 8, 0, 0, 0, STR_EMPTY }
@ -62,7 +73,6 @@
* @param c life length (years) * @param c life length (years)
* @param d base life (years) * @param d base life (years)
* @param e Bitmask of the climates * @param e Bitmask of the climates
* @see MK
* @note the 20 between b and e is the load amount * @note the 20 between b and e is the load amount
*/ */
#define MA(a, b, c, d, e) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 20, e, CT_INVALID, 0, 8, 0, 0, 0, STR_EMPTY } #define MA(a, b, c, d, e) { DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 20, e, CT_INVALID, 0, 8, 0, 0, 0, STR_EMPTY }
@ -81,33 +91,33 @@ static const EngineInfo _orig_engine_info[] = {
* | decay_speed cargo_type * | decay_speed cargo_type
* | | lifelength | climates * | | lifelength | climates
* | | | | | | */ * | | | | | | */
MK( 1827, 20, 15, 30, 0 , T ), // 0 Kirby Paul Tank (Steam) MT( 1827, 20, 15, 30, 0 , T ), // 0 Kirby Paul Tank (Steam)
MK( 12784, 20, 22, 30, 0 , A|S ), // 1 MJS 250 (Diesel) MT( 12784, 20, 22, 30, 0 , A|S ), // 1 MJS 250 (Diesel)
MK( 9497, 20, 20, 50, 0 , Y), // 2 Ploddyphut Choo-Choo MT( 9497, 20, 20, 50, 0 , Y), // 2 Ploddyphut Choo-Choo
MK( 11688, 20, 20, 30, 0 , Y), // 3 Powernaut Choo-Choo MT( 11688, 20, 20, 30, 0 , Y), // 3 Powernaut Choo-Choo
MK( 16802, 20, 20, 30, 0 , Y), // 4 Mightymover Choo-Choo MT( 16802, 20, 20, 30, 0 , Y), // 4 Mightymover Choo-Choo
MK( 18993, 20, 20, 30, 0 , Y), // 5 Ploddyphut Diesel MT( 18993, 20, 20, 30, 0 , Y), // 5 Ploddyphut Diesel
MK( 20820, 20, 20, 30, 0 , Y), // 6 Powernaut Diesel MT( 20820, 20, 20, 30, 0 , Y), // 6 Powernaut Diesel
MK( 8766, 20, 20, 30, 0 , A|S ), // 7 Wills 2-8-0 (Steam) MT( 8766, 20, 20, 30, 0 , A|S ), // 7 Wills 2-8-0 (Steam)
MK( 5114, 20, 21, 30, 0 , T ), // 8 Chaney 'Jubilee' (Steam) MT( 5114, 20, 21, 30, 0 , T ), // 8 Chaney 'Jubilee' (Steam)
MK( 5479, 20, 20, 30, 0 , T ), // 9 Ginzu 'A4' (Steam) MT( 5479, 20, 20, 30, 0 , T ), // 9 Ginzu 'A4' (Steam)
MK( 12419, 20, 23, 25, 0 , T ), // 10 SH '8P' (Steam) MT( 12419, 20, 23, 25, 0 , T ), // 10 SH '8P' (Steam)
MK( 13149, 20, 12, 30, CT_PASSENGERS , T ), // 11 Manley-Morel DMU (Diesel) MT( 13149, 20, 12, 30, CT_PASSENGERS , T ), // 11 Manley-Morel DMU (Diesel)
MK( 23376, 20, 15, 35, CT_PASSENGERS , T ), // 12 'Dash' (Diesel) MT( 23376, 20, 15, 35, CT_PASSENGERS , T ), // 12 'Dash' (Diesel)
MK( 14976, 20, 18, 28, 0 , T ), // 13 SH/Hendry '25' (Diesel) MT( 14976, 20, 18, 28, 0 , T ), // 13 SH/Hendry '25' (Diesel)
MK( 14245, 20, 20, 30, 0 , T ), // 14 UU '37' (Diesel) MT( 14245, 20, 20, 30, 0 , T ), // 14 UU '37' (Diesel)
MK( 15341, 20, 22, 33, 0 , T ), // 15 Floss '47' (Diesel) MT( 15341, 20, 22, 33, 0 , T ), // 15 Floss '47' (Diesel)
MK( 14976, 20, 20, 25, 0 , A|S ), // 16 CS 4000 (Diesel) MT( 14976, 20, 20, 25, 0 , A|S ), // 16 CS 4000 (Diesel)
MK( 16437, 20, 20, 30, 0 , A|S ), // 17 CS 2400 (Diesel) MT( 16437, 20, 20, 30, 0 , A|S ), // 17 CS 2400 (Diesel)
MK( 18993, 20, 22, 30, 0 , A|S ), // 18 Centennial (Diesel) MT( 18993, 20, 22, 30, 0 , A|S ), // 18 Centennial (Diesel)
MK( 13880, 20, 22, 30, 0 , A|S ), // 19 Kelling 3100 (Diesel) MT( 13880, 20, 22, 30, 0 , A|S ), // 19 Kelling 3100 (Diesel)
MK( 20454, 20, 22, 30, 0 , A|S ), // 20 Turner Turbo (Diesel) MT( 20454, 20, 22, 30, 0 , A|S ), // 20 Turner Turbo (Diesel)
MK( 16071, 20, 22, 30, 0 , A|S ), // 21 MJS 1000 (Diesel) MT( 16071, 20, 22, 30, 0 , A|S ), // 21 MJS 1000 (Diesel)
MK( 20820, 20, 20, 25, CT_MAIL , T ), // 22 SH '125' (Diesel) MT( 20820, 20, 20, 25, CT_MAIL , T ), // 22 SH '125' (Diesel)
MK( 16437, 20, 23, 30, 0 , T ), // 23 SH '30' (Electric) MT( 16437, 20, 23, 30, 0 , T ), // 23 SH '30' (Electric)
MK( 19359, 20, 23, 80, 0 , T ), // 24 SH '40' (Electric) MT( 19359, 20, 23, 80, 0 , T ), // 24 SH '40' (Electric)
MK( 23376, 20, 25, 30, 0 , T ), // 25 'T.I.M.' (Electric) MT( 23376, 20, 25, 30, 0 , T ), // 25 'T.I.M.' (Electric)
MK( 26298, 20, 25, 50, 0 , T ), // 26 'AsiaStar' (Electric) MT( 26298, 20, 25, 50, 0 , T ), // 26 'AsiaStar' (Electric)
MW( 1827, 20, 20, 50, CT_PASSENGERS , T|A|S|Y), // 27 Passenger Carriage MW( 1827, 20, 20, 50, CT_PASSENGERS , T|A|S|Y), // 27 Passenger Carriage
MW( 1827, 20, 20, 50, CT_MAIL , T|A|S|Y), // 28 Mail Van MW( 1827, 20, 20, 50, CT_MAIL , T|A|S|Y), // 28 Mail Van
MW( 1827, 20, 20, 50, CT_COAL , T|A ), // 29 Coal Truck MW( 1827, 20, 20, 50, CT_COAL , T|A ), // 29 Coal Truck
@ -135,9 +145,9 @@ static const EngineInfo _orig_engine_info[] = {
MW( 1827, 20, 20, 50, CT_BATTERIES , Y), // 51 Battery Truck MW( 1827, 20, 20, 50, CT_BATTERIES , Y), // 51 Battery Truck
MW( 1827, 20, 20, 50, CT_FIZZY_DRINKS, Y), // 52 Fizzy Drink Truck MW( 1827, 20, 20, 50, CT_FIZZY_DRINKS, Y), // 52 Fizzy Drink Truck
MW( 1827, 20, 20, 50, CT_PLASTIC , Y), // 53 Plastic Truck MW( 1827, 20, 20, 50, CT_PLASTIC , Y), // 53 Plastic Truck
MK( 28490, 20, 20, 50, 0 , T|A|S ), // 54 'X2001' (Electric) MT( 28490, 20, 20, 50, 0 , T|A|S ), // 54 'X2001' (Electric)
MK( 31047, 20, 20, 50, CT_PASSENGERS , T|A|S ), // 55 'Millennium Z1' (Electric) MT( 31047, 20, 20, 50, CT_PASSENGERS , T|A|S ), // 55 'Millennium Z1' (Electric)
MK( 28855, 20, 20, 50, 0 , Y), // 56 Wizzowow Z99 MT( 28855, 20, 20, 50, 0 , Y), // 56 Wizzowow Z99
MW( 1827, 20, 20, 50, CT_PASSENGERS , T|A|S|Y), // 57 Passenger Carriage MW( 1827, 20, 20, 50, CT_PASSENGERS , T|A|S|Y), // 57 Passenger Carriage
MW( 1827, 20, 20, 50, CT_MAIL , T|A|S|Y), // 58 Mail Van MW( 1827, 20, 20, 50, CT_MAIL , T|A|S|Y), // 58 Mail Van
MW( 1827, 20, 20, 50, CT_COAL , T|A ), // 59 Coal Truck MW( 1827, 20, 20, 50, CT_COAL , T|A ), // 59 Coal Truck
@ -165,11 +175,11 @@ static const EngineInfo _orig_engine_info[] = {
MW( 1827, 20, 20, 50, CT_BATTERIES , Y), // 81 Battery Truck MW( 1827, 20, 20, 50, CT_BATTERIES , Y), // 81 Battery Truck
MW( 1827, 20, 20, 50, CT_FIZZY_DRINKS, Y), // 82 Fizzy Drink Truck MW( 1827, 20, 20, 50, CT_FIZZY_DRINKS, Y), // 82 Fizzy Drink Truck
MW( 1827, 20, 20, 50, CT_PLASTIC , Y), // 83 Plastic Truck MW( 1827, 20, 20, 50, CT_PLASTIC , Y), // 83 Plastic Truck
MK( 36525, 20, 20, 50, 0 , T|A|S ), // 84 Lev1 'Leviathan' (Electric) MT( 36525, 20, 20, 50, 0 , T|A|S ), // 84 Lev1 'Leviathan' (Electric)
MK( 39447, 20, 20, 50, 0 , T|A|S ), // 85 Lev2 'Cyclops' (Electric) MT( 39447, 20, 20, 50, 0 , T|A|S ), // 85 Lev2 'Cyclops' (Electric)
MK( 42004, 20, 20, 50, 0 , T|A|S ), // 86 Lev3 'Pegasus' (Electric) MT( 42004, 20, 20, 50, 0 , T|A|S ), // 86 Lev3 'Pegasus' (Electric)
MK( 42735, 20, 20, 50, 0 , T|A|S ), // 87 Lev4 'Chimaera' (Electric) MT( 42735, 20, 20, 50, 0 , T|A|S ), // 87 Lev4 'Chimaera' (Electric)
MK( 36891, 20, 20, 60, 0 , Y), // 88 Wizzowow Rocketeer MT( 36891, 20, 20, 60, 0 , Y), // 88 Wizzowow Rocketeer
MW( 1827, 20, 20, 50, CT_PASSENGERS , T|A|S|Y), // 89 Passenger Carriage MW( 1827, 20, 20, 50, CT_PASSENGERS , T|A|S|Y), // 89 Passenger Carriage
MW( 1827, 20, 20, 50, CT_MAIL , T|A|S|Y), // 90 Mail Van MW( 1827, 20, 20, 50, CT_MAIL , T|A|S|Y), // 90 Mail Van
MW( 1827, 20, 20, 50, CT_COAL , T|A ), // 91 Coal Truck MW( 1827, 20, 20, 50, CT_COAL , T|A ), // 91 Coal Truck
@ -197,94 +207,94 @@ static const EngineInfo _orig_engine_info[] = {
MW( 1827, 20, 20, 50, CT_BATTERIES , Y), // 113 Battery Truck MW( 1827, 20, 20, 50, CT_BATTERIES , Y), // 113 Battery Truck
MW( 1827, 20, 20, 50, CT_FIZZY_DRINKS, Y), // 114 Fizzy Drink Truck MW( 1827, 20, 20, 50, CT_FIZZY_DRINKS, Y), // 114 Fizzy Drink Truck
MW( 1827, 20, 20, 50, CT_PLASTIC , Y), // 115 Plastic Truck MW( 1827, 20, 20, 50, CT_PLASTIC , Y), // 115 Plastic Truck
MK( 3378, 20, 12, 40, CT_PASSENGERS , T|A|S ), // 116 MPS Regal Bus MR( 3378, 20, 12, 40, CT_PASSENGERS , T|A|S ), // 116 MPS Regal Bus
MK( 16071, 20, 15, 30, CT_PASSENGERS , T|A|S ), // 117 Hereford Leopard Bus MR( 16071, 20, 15, 30, CT_PASSENGERS , T|A|S ), // 117 Hereford Leopard Bus
MK( 24107, 20, 15, 40, CT_PASSENGERS , T|A|S ), // 118 Foster Bus MR( 24107, 20, 15, 40, CT_PASSENGERS , T|A|S ), // 118 Foster Bus
MK( 32142, 20, 15, 80, CT_PASSENGERS , T|A|S ), // 119 Foster MkII Superbus MR( 32142, 20, 15, 80, CT_PASSENGERS , T|A|S ), // 119 Foster MkII Superbus
MK( 9132, 20, 15, 40, CT_PASSENGERS , Y), // 120 Ploddyphut MkI Bus MR( 9132, 20, 15, 40, CT_PASSENGERS , Y), // 120 Ploddyphut MkI Bus
MK( 18993, 20, 15, 40, CT_PASSENGERS , Y), // 121 Ploddyphut MkII Bus MR( 18993, 20, 15, 40, CT_PASSENGERS , Y), // 121 Ploddyphut MkII Bus
MK( 32873, 20, 15, 80, CT_PASSENGERS , Y), // 122 Ploddyphut MkIII Bus MR( 32873, 20, 15, 80, CT_PASSENGERS , Y), // 122 Ploddyphut MkIII Bus
MK( 5479, 20, 15, 55, CT_COAL , T|A ), // 123 Balogh Coal Truck MR( 5479, 20, 15, 55, CT_COAL , T|A ), // 123 Balogh Coal Truck
MK( 20089, 20, 15, 55, CT_COAL , T|A ), // 124 Uhl Coal Truck MR( 20089, 20, 15, 55, CT_COAL , T|A ), // 124 Uhl Coal Truck
MK( 33969, 20, 15, 85, CT_COAL , T|A ), // 125 DW Coal Truck MR( 33969, 20, 15, 85, CT_COAL , T|A ), // 125 DW Coal Truck
MK( 5479, 20, 15, 55, CT_MAIL , T|A|S ), // 126 MPS Mail Truck MR( 5479, 20, 15, 55, CT_MAIL , T|A|S ), // 126 MPS Mail Truck
MK( 21550, 20, 15, 55, CT_MAIL , T|A|S ), // 127 Reynard Mail Truck MR( 21550, 20, 15, 55, CT_MAIL , T|A|S ), // 127 Reynard Mail Truck
MK( 35795, 20, 15, 85, CT_MAIL , T|A|S ), // 128 Perry Mail Truck MR( 35795, 20, 15, 85, CT_MAIL , T|A|S ), // 128 Perry Mail Truck
MK( 5479, 20, 15, 55, CT_MAIL , Y), // 129 MightyMover Mail Truck MR( 5479, 20, 15, 55, CT_MAIL , Y), // 129 MightyMover Mail Truck
MK( 21550, 20, 15, 55, CT_MAIL , Y), // 130 Powernaught Mail Truck MR( 21550, 20, 15, 55, CT_MAIL , Y), // 130 Powernaught Mail Truck
MK( 35795, 20, 15, 85, CT_MAIL , Y), // 131 Wizzowow Mail Truck MR( 35795, 20, 15, 85, CT_MAIL , Y), // 131 Wizzowow Mail Truck
MK( 5479, 20, 15, 55, CT_OIL , T|A|S ), // 132 Witcombe Oil Tanker MR( 5479, 20, 15, 55, CT_OIL , T|A|S ), // 132 Witcombe Oil Tanker
MK( 19359, 20, 15, 55, CT_OIL , T|A|S ), // 133 Foster Oil Tanker MR( 19359, 20, 15, 55, CT_OIL , T|A|S ), // 133 Foster Oil Tanker
MK( 31047, 20, 15, 85, CT_OIL , T|A|S ), // 134 Perry Oil Tanker MR( 31047, 20, 15, 85, CT_OIL , T|A|S ), // 134 Perry Oil Tanker
MK( 5479, 20, 15, 55, CT_LIVESTOCK , T|A ), // 135 Talbott Livestock Van MR( 5479, 20, 15, 55, CT_LIVESTOCK , T|A ), // 135 Talbott Livestock Van
MK( 21915, 20, 15, 55, CT_LIVESTOCK , T|A ), // 136 Uhl Livestock Van MR( 21915, 20, 15, 55, CT_LIVESTOCK , T|A ), // 136 Uhl Livestock Van
MK( 37256, 20, 15, 85, CT_LIVESTOCK , T|A ), // 137 Foster Livestock Van MR( 37256, 20, 15, 85, CT_LIVESTOCK , T|A ), // 137 Foster Livestock Van
MK( 5479, 20, 15, 55, CT_GOODS , T|A|S ), // 138 Balogh Goods Truck MR( 5479, 20, 15, 55, CT_GOODS , T|A|S ), // 138 Balogh Goods Truck
MK( 19724, 20, 15, 55, CT_GOODS , T|A|S ), // 139 Craighead Goods Truck MR( 19724, 20, 15, 55, CT_GOODS , T|A|S ), // 139 Craighead Goods Truck
MK( 31047, 20, 15, 85, CT_GOODS , T|A|S ), // 140 Goss Goods Truck MR( 31047, 20, 15, 85, CT_GOODS , T|A|S ), // 140 Goss Goods Truck
MK( 5479, 20, 15, 55, CT_GRAIN , T|A|S ), // 141 Hereford Grain Truck MR( 5479, 20, 15, 55, CT_GRAIN , T|A|S ), // 141 Hereford Grain Truck
MK( 21185, 20, 15, 55, CT_GRAIN , T|A|S ), // 142 Thomas Grain Truck MR( 21185, 20, 15, 55, CT_GRAIN , T|A|S ), // 142 Thomas Grain Truck
MK( 32873, 20, 15, 85, CT_GRAIN , T|A|S ), // 143 Goss Grain Truck MR( 32873, 20, 15, 85, CT_GRAIN , T|A|S ), // 143 Goss Grain Truck
MK( 5479, 20, 15, 55, CT_WOOD , T|A|S ), // 144 Witcombe Wood Truck MR( 5479, 20, 15, 55, CT_WOOD , T|A|S ), // 144 Witcombe Wood Truck
MK( 19724, 20, 15, 55, CT_WOOD , T|A|S ), // 145 Foster Wood Truck MR( 19724, 20, 15, 55, CT_WOOD , T|A|S ), // 145 Foster Wood Truck
MK( 35430, 20, 15, 85, CT_WOOD , T|A|S ), // 146 Moreland Wood Truck MR( 35430, 20, 15, 85, CT_WOOD , T|A|S ), // 146 Moreland Wood Truck
MK( 5479, 20, 15, 55, CT_IRON_ORE , T ), // 147 MPS Iron Ore Truck MR( 5479, 20, 15, 55, CT_IRON_ORE , T ), // 147 MPS Iron Ore Truck
MK( 20820, 20, 15, 55, CT_IRON_ORE , T ), // 148 Uhl Iron Ore Truck MR( 20820, 20, 15, 55, CT_IRON_ORE , T ), // 148 Uhl Iron Ore Truck
MK( 33238, 20, 15, 85, CT_IRON_ORE , T ), // 149 Chippy Iron Ore Truck MR( 33238, 20, 15, 85, CT_IRON_ORE , T ), // 149 Chippy Iron Ore Truck
MK( 5479, 20, 15, 55, CT_STEEL , T ), // 150 Balogh Steel Truck MR( 5479, 20, 15, 55, CT_STEEL , T ), // 150 Balogh Steel Truck
MK( 21185, 20, 15, 55, CT_STEEL , T ), // 151 Uhl Steel Truck MR( 21185, 20, 15, 55, CT_STEEL , T ), // 151 Uhl Steel Truck
MK( 31777, 20, 15, 85, CT_STEEL , T ), // 152 Kelling Steel Truck MR( 31777, 20, 15, 85, CT_STEEL , T ), // 152 Kelling Steel Truck
MK( 5479, 20, 15, 55, CT_VALUABLES , T|A|S ), // 153 Balogh Armoured Truck MR( 5479, 20, 15, 55, CT_VALUABLES , T|A|S ), // 153 Balogh Armoured Truck
MK( 22281, 20, 15, 55, CT_VALUABLES , T|A|S ), // 154 Uhl Armoured Truck MR( 22281, 20, 15, 55, CT_VALUABLES , T|A|S ), // 154 Uhl Armoured Truck
MK( 33603, 20, 15, 85, CT_VALUABLES , T|A|S ), // 155 Foster Armoured Truck MR( 33603, 20, 15, 85, CT_VALUABLES , T|A|S ), // 155 Foster Armoured Truck
MK( 5479, 20, 15, 55, CT_FOOD , A|S ), // 156 Foster Food Van MR( 5479, 20, 15, 55, CT_FOOD , A|S ), // 156 Foster Food Van
MK( 18628, 20, 15, 55, CT_FOOD , A|S ), // 157 Perry Food Van MR( 18628, 20, 15, 55, CT_FOOD , A|S ), // 157 Perry Food Van
MK( 30681, 20, 15, 85, CT_FOOD , A|S ), // 158 Chippy Food Van MR( 30681, 20, 15, 85, CT_FOOD , A|S ), // 158 Chippy Food Van
MK( 5479, 20, 15, 55, CT_PAPER , A ), // 159 Uhl Paper Truck MR( 5479, 20, 15, 55, CT_PAPER , A ), // 159 Uhl Paper Truck
MK( 21185, 20, 15, 55, CT_PAPER , A ), // 160 Balogh Paper Truck MR( 21185, 20, 15, 55, CT_PAPER , A ), // 160 Balogh Paper Truck
MK( 31777, 20, 15, 85, CT_PAPER , A ), // 161 MPS Paper Truck MR( 31777, 20, 15, 85, CT_PAPER , A ), // 161 MPS Paper Truck
MK( 5479, 20, 15, 55, CT_COPPER_ORE , S ), // 162 MPS Copper Ore Truck MR( 5479, 20, 15, 55, CT_COPPER_ORE , S ), // 162 MPS Copper Ore Truck
MK( 20820, 20, 15, 55, CT_COPPER_ORE , S ), // 163 Uhl Copper Ore Truck MR( 20820, 20, 15, 55, CT_COPPER_ORE , S ), // 163 Uhl Copper Ore Truck
MK( 33238, 20, 15, 85, CT_COPPER_ORE , S ), // 164 Goss Copper Ore Truck MR( 33238, 20, 15, 85, CT_COPPER_ORE , S ), // 164 Goss Copper Ore Truck
MK( 5479, 20, 15, 55, CT_WATER , S ), // 165 Uhl Water Tanker MR( 5479, 20, 15, 55, CT_WATER , S ), // 165 Uhl Water Tanker
MK( 20970, 20, 15, 55, CT_WATER , S ), // 166 Balogh Water Tanker MR( 20970, 20, 15, 55, CT_WATER , S ), // 166 Balogh Water Tanker
MK( 33388, 20, 15, 85, CT_WATER , S ), // 167 MPS Water Tanker MR( 33388, 20, 15, 85, CT_WATER , S ), // 167 MPS Water Tanker
MK( 5479, 20, 15, 55, CT_FRUIT , S ), // 168 Balogh Fruit Truck MR( 5479, 20, 15, 55, CT_FRUIT , S ), // 168 Balogh Fruit Truck
MK( 21335, 20, 15, 55, CT_FRUIT , S ), // 169 Uhl Fruit Truck MR( 21335, 20, 15, 55, CT_FRUIT , S ), // 169 Uhl Fruit Truck
MK( 33753, 20, 15, 85, CT_FRUIT , S ), // 170 Kelling Fruit Truck MR( 33753, 20, 15, 85, CT_FRUIT , S ), // 170 Kelling Fruit Truck
MK( 5479, 20, 15, 55, CT_RUBBER , S ), // 171 Balogh Rubber Truck MR( 5479, 20, 15, 55, CT_RUBBER , S ), // 171 Balogh Rubber Truck
MK( 20604, 20, 15, 55, CT_RUBBER , S ), // 172 Uhl Rubber Truck MR( 20604, 20, 15, 55, CT_RUBBER , S ), // 172 Uhl Rubber Truck
MK( 33023, 20, 15, 85, CT_RUBBER , S ), // 173 RMT Rubber Truck MR( 33023, 20, 15, 85, CT_RUBBER , S ), // 173 RMT Rubber Truck
MK( 5479, 20, 15, 55, CT_SUGAR , Y), // 174 MightyMover Sugar Truck MR( 5479, 20, 15, 55, CT_SUGAR , Y), // 174 MightyMover Sugar Truck
MK( 19724, 20, 15, 55, CT_SUGAR , Y), // 175 Powernaught Sugar Truck MR( 19724, 20, 15, 55, CT_SUGAR , Y), // 175 Powernaught Sugar Truck
MK( 33238, 20, 15, 85, CT_SUGAR , Y), // 176 Wizzowow Sugar Truck MR( 33238, 20, 15, 85, CT_SUGAR , Y), // 176 Wizzowow Sugar Truck
MK( 5479, 20, 15, 55, CT_COLA , Y), // 177 MightyMover Cola Truck MR( 5479, 20, 15, 55, CT_COLA , Y), // 177 MightyMover Cola Truck
MK( 20089, 20, 15, 55, CT_COLA , Y), // 178 Powernaught Cola Truck MR( 20089, 20, 15, 55, CT_COLA , Y), // 178 Powernaught Cola Truck
MK( 33603, 20, 15, 85, CT_COLA , Y), // 179 Wizzowow Cola Truck MR( 33603, 20, 15, 85, CT_COLA , Y), // 179 Wizzowow Cola Truck
MK( 5479, 20, 15, 55, CT_COTTON_CANDY, Y), // 180 MightyMover Candyfloss Truck MR( 5479, 20, 15, 55, CT_COTTON_CANDY, Y), // 180 MightyMover Candyfloss Truck
MK( 20454, 20, 15, 55, CT_COTTON_CANDY, Y), // 181 Powernaught Candyfloss Truck MR( 20454, 20, 15, 55, CT_COTTON_CANDY, Y), // 181 Powernaught Candyfloss Truck
MK( 33969, 20, 15, 85, CT_COTTON_CANDY, Y), // 182 Wizzowow Candyfloss Truck MR( 33969, 20, 15, 85, CT_COTTON_CANDY, Y), // 182 Wizzowow Candyfloss Truck
MK( 5479, 20, 15, 55, CT_TOFFEE , Y), // 183 MightyMover Toffee Truck MR( 5479, 20, 15, 55, CT_TOFFEE , Y), // 183 MightyMover Toffee Truck
MK( 20820, 20, 15, 55, CT_TOFFEE , Y), // 184 Powernaught Toffee Truck MR( 20820, 20, 15, 55, CT_TOFFEE , Y), // 184 Powernaught Toffee Truck
MK( 34334, 20, 15, 85, CT_TOFFEE , Y), // 185 Wizzowow Toffee Truck MR( 34334, 20, 15, 85, CT_TOFFEE , Y), // 185 Wizzowow Toffee Truck
MK( 5479, 20, 15, 55, CT_TOYS , Y), // 186 MightyMover Toy Van MR( 5479, 20, 15, 55, CT_TOYS , Y), // 186 MightyMover Toy Van
MK( 21185, 20, 15, 55, CT_TOYS , Y), // 187 Powernaught Toy Van MR( 21185, 20, 15, 55, CT_TOYS , Y), // 187 Powernaught Toy Van
MK( 34699, 20, 15, 85, CT_TOYS , Y), // 188 Wizzowow Toy Van MR( 34699, 20, 15, 85, CT_TOYS , Y), // 188 Wizzowow Toy Van
MK( 5479, 20, 15, 55, CT_CANDY , Y), // 189 MightyMover Sweet Truck MR( 5479, 20, 15, 55, CT_CANDY , Y), // 189 MightyMover Sweet Truck
MK( 21550, 20, 15, 55, CT_CANDY , Y), // 190 Powernaught Sweet Truck MR( 21550, 20, 15, 55, CT_CANDY , Y), // 190 Powernaught Sweet Truck
MK( 35064, 20, 15, 85, CT_CANDY , Y), // 191 Wizzowow Sweet Truck MR( 35064, 20, 15, 85, CT_CANDY , Y), // 191 Wizzowow Sweet Truck
MK( 5479, 20, 15, 55, CT_BATTERIES , Y), // 192 MightyMover Battery Truck MR( 5479, 20, 15, 55, CT_BATTERIES , Y), // 192 MightyMover Battery Truck
MK( 19874, 20, 15, 55, CT_BATTERIES , Y), // 193 Powernaught Battery Truck MR( 19874, 20, 15, 55, CT_BATTERIES , Y), // 193 Powernaught Battery Truck
MK( 35430, 20, 15, 85, CT_BATTERIES , Y), // 194 Wizzowow Battery Truck MR( 35430, 20, 15, 85, CT_BATTERIES , Y), // 194 Wizzowow Battery Truck
MK( 5479, 20, 15, 55, CT_FIZZY_DRINKS, Y), // 195 MightyMover Fizzy Drink Truck MR( 5479, 20, 15, 55, CT_FIZZY_DRINKS, Y), // 195 MightyMover Fizzy Drink Truck
MK( 20239, 20, 15, 55, CT_FIZZY_DRINKS, Y), // 196 Powernaught Fizzy Drink Truck MR( 20239, 20, 15, 55, CT_FIZZY_DRINKS, Y), // 196 Powernaught Fizzy Drink Truck
MK( 35795, 20, 15, 85, CT_FIZZY_DRINKS, Y), // 197 Wizzowow Fizzy Drink Truck MR( 35795, 20, 15, 85, CT_FIZZY_DRINKS, Y), // 197 Wizzowow Fizzy Drink Truck
MK( 5479, 20, 15, 55, CT_PLASTIC , Y), // 198 MightyMover Plastic Truck MR( 5479, 20, 15, 55, CT_PLASTIC , Y), // 198 MightyMover Plastic Truck
MK( 20604, 20, 15, 55, CT_PLASTIC , Y), // 199 Powernaught Plastic Truck MR( 20604, 20, 15, 55, CT_PLASTIC , Y), // 199 Powernaught Plastic Truck
MK( 32873, 20, 15, 85, CT_PLASTIC , Y), // 200 Wizzowow Plastic Truck MR( 32873, 20, 15, 85, CT_PLASTIC , Y), // 200 Wizzowow Plastic Truck
MK( 5479, 20, 15, 55, CT_BUBBLES , Y), // 201 MightyMover Bubble Truck MR( 5479, 20, 15, 55, CT_BUBBLES , Y), // 201 MightyMover Bubble Truck
MK( 20970, 20, 15, 55, CT_BUBBLES , Y), // 202 Powernaught Bubble Truck MR( 20970, 20, 15, 55, CT_BUBBLES , Y), // 202 Powernaught Bubble Truck
MK( 33023, 20, 15, 85, CT_BUBBLES , Y), // 203 Wizzowow Bubble Truck MR( 33023, 20, 15, 85, CT_BUBBLES , Y), // 203 Wizzowow Bubble Truck
MS( 2922, 5, 30, 50, CT_OIL , T|A|S ), // 204 MPS Oil Tanker MS( 2922, 5, 30, 50, CT_OIL , T|A|S ), // 204 MPS Oil Tanker
MS( 17167, 5, 30, 90, CT_OIL , T|A|S ), // 205 CS-Inc. Oil Tanker MS( 17167, 5, 30, 90, CT_OIL , T|A|S ), // 205 CS-Inc. Oil Tanker
MS( 2192, 5, 30, 55, CT_PASSENGERS , T|A|S ), // 206 MPS Passenger Ferry MS( 2192, 5, 30, 55, CT_PASSENGERS , T|A|S ), // 206 MPS Passenger Ferry
@ -342,8 +352,9 @@ static const EngineInfo _orig_engine_info[] = {
#undef S #undef S
#undef A #undef A
#undef T #undef T
#undef MK #undef MT
#undef MW #undef MW
#undef MR
#undef MS #undef MS
#undef MA #undef MA

View File

@ -1792,6 +1792,7 @@ CommandCost CmdReverseTrainDirection(TileIndex tile, DoCommandFlag flags, uint32
if (v->IsMultiheaded() || HasBit(EngInfo(v->engine_type)->callback_mask, CBM_VEHICLE_ARTIC_ENGINE)) { if (v->IsMultiheaded() || HasBit(EngInfo(v->engine_type)->callback_mask, CBM_VEHICLE_ARTIC_ENGINE)) {
return_cmd_error(STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS); return_cmd_error(STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS);
} }
if (!HasBit(EngInfo(v->engine_type)->misc_flags, EF_RAIL_FLIPS)) return CMD_ERROR;
Train *front = v->First(); Train *front = v->First();
/* make sure the vehicle is stopped in the depot */ /* make sure the vehicle is stopped in the depot */