4 * This file is part of OpenTTD.
5 * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
6 * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7 * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
11 * @file table/engines.h
12 * This file contains all the data for vehicles
19 * Writes the properties of a train into the EngineInfo struct.
21 * @param a base introduction date (days since 1920-01-01)
22 * @param b decay speed
23 * @param c life length (years)
24 * @param d base life (years)
26 * @param f Bitmask of the climates
27 * @note the 5 between b and f is the load amount
29 #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, CARGO_AGING_TICKS }
32 * Writes the properties of a train carriage into the EngineInfo struct.
33 * @param a base introduction date (days since 1920-01-01)
34 * @param b decay speed
35 * @param c life length (years)
36 * @param d base life (years)
38 * @param f Bitmask of the climates
40 * @note the 5 between b and f is the load amount
42 #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, CARGO_AGING_TICKS }
45 * Writes the properties of a road vehicle into the EngineInfo struct.
47 * @param a base introduction date (days since 1920-01-01)
48 * @param b decay speed
49 * @param c life length (years)
50 * @param d base life (years)
52 * @param f Bitmask of the climates
53 * @note the 5 between b and f is the load amount
55 #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, CARGO_AGING_TICKS }
58 * Writes the properties of a ship into the EngineInfo struct.
59 * @param a base introduction date (days since 1920-01-01)
60 * @param b decay speed
61 * @param c life length (years)
62 * @param d base life (years)
64 * @param f Bitmask of the climates
65 * @note the 10 between b and f is the load amount
67 #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, CARGO_AGING_TICKS }
70 * Writes the properties of an aeroplane into the EngineInfo struct.
71 * @param a base introduction date (days since 1920-01-01)
72 * @param b decay speed
73 * @param c life length (years)
74 * @param d base life (years)
75 * @param e Bitmask of the climates
76 * @note the 20 between b and e is the load amount
78 #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, CARGO_AGING_TICKS }
89 static const EngineInfo _orig_engine_info
[] = {
90 /* base_intro base_life
91 * | decay_speed cargo_type
92 * | | lifelength | climates
94 MT( 1827, 20, 15, 30, 0 , T
), // 0 Kirby Paul Tank (Steam)
95 MT( 12784, 20, 22, 30, 0 , A
|S
), // 1 MJS 250 (Diesel)
96 MT( 9497, 20, 20, 50, 0 , Y
), // 2 Ploddyphut Choo-Choo
97 MT( 11688, 20, 20, 30, 0 , Y
), // 3 Powernaut Choo-Choo
98 MT( 16802, 20, 20, 30, 0 , Y
), // 4 Mightymover Choo-Choo
99 MT( 18993, 20, 20, 30, 0 , Y
), // 5 Ploddyphut Diesel
100 MT( 20820, 20, 20, 30, 0 , Y
), // 6 Powernaut Diesel
101 MT( 8766, 20, 20, 30, 0 , A
|S
), // 7 Wills 2-8-0 (Steam)
102 MT( 5114, 20, 21, 30, 0 , T
), // 8 Chaney 'Jubilee' (Steam)
103 MT( 5479, 20, 20, 30, 0 , T
), // 9 Ginzu 'A4' (Steam)
104 MT( 12419, 20, 23, 25, 0 , T
), // 10 SH '8P' (Steam)
105 MT( 13149, 20, 12, 30, CT_PASSENGERS
, T
), // 11 Manley-Morel DMU (Diesel)
106 MT( 23376, 20, 15, 35, CT_PASSENGERS
, T
), // 12 'Dash' (Diesel)
107 MT( 14976, 20, 18, 28, 0 , T
), // 13 SH/Hendry '25' (Diesel)
108 MT( 14245, 20, 20, 30, 0 , T
), // 14 UU '37' (Diesel)
109 MT( 15341, 20, 22, 33, 0 , T
), // 15 Floss '47' (Diesel)
110 MT( 14976, 20, 20, 25, 0 , A
|S
), // 16 CS 4000 (Diesel)
111 MT( 16437, 20, 20, 30, 0 , A
|S
), // 17 CS 2400 (Diesel)
112 MT( 18993, 20, 22, 30, 0 , A
|S
), // 18 Centennial (Diesel)
113 MT( 13880, 20, 22, 30, 0 , A
|S
), // 19 Kelling 3100 (Diesel)
114 MT( 20454, 20, 22, 30, 0 , A
|S
), // 20 Turner Turbo (Diesel)
115 MT( 16071, 20, 22, 30, 0 , A
|S
), // 21 MJS 1000 (Diesel)
116 MT( 20820, 20, 20, 25, CT_MAIL
, T
), // 22 SH '125' (Diesel)
117 MT( 16437, 20, 23, 30, 0 , T
), // 23 SH '30' (Electric)
118 MT( 19359, 20, 23, 80, 0 , T
), // 24 SH '40' (Electric)
119 MT( 23376, 20, 25, 30, 0 , T
), // 25 'T.I.M.' (Electric)
120 MT( 26298, 20, 25, 50, 0 , T
), // 26 'AsiaStar' (Electric)
121 MW( 1827, 20, 20, 50, CT_PASSENGERS
, T
|A
|S
|Y
), // 27 Passenger Carriage
122 MW( 1827, 20, 20, 50, CT_MAIL
, T
|A
|S
|Y
), // 28 Mail Van
123 MW( 1827, 20, 20, 50, CT_COAL
, T
|A
), // 29 Coal Truck
124 MW( 1827, 20, 20, 50, CT_OIL
, T
|A
|S
), // 30 Oil Tanker
125 MW( 1827, 20, 20, 50, CT_LIVESTOCK
, T
|A
), // 31 Livestock Van
126 MW( 1827, 20, 20, 50, CT_GOODS
, T
|A
|S
), // 32 Goods Van
127 MW( 1827, 20, 20, 50, CT_GRAIN
, T
|A
|S
), // 33 Grain Hopper
128 MW( 1827, 20, 20, 50, CT_WOOD
, T
|A
|S
), // 34 Wood Truck
129 MW( 1827, 20, 20, 50, CT_IRON_ORE
, T
), // 35 Iron Ore Hopper
130 MW( 1827, 20, 20, 50, CT_STEEL
, T
), // 36 Steel Truck
131 MW( 1827, 20, 20, 50, CT_VALUABLES
, T
|A
|S
), // 37 Armoured Van
132 MW( 1827, 20, 20, 50, CT_FOOD
, A
|S
), // 38 Food Van
133 MW( 1827, 20, 20, 50, CT_PAPER
, A
), // 39 Paper Truck
134 MW( 1827, 20, 20, 50, CT_COPPER_ORE
, S
), // 40 Copper Ore Hopper
135 MW( 1827, 20, 20, 50, CT_WATER
, S
), // 41 Water Tanker
136 MW( 1827, 20, 20, 50, CT_FRUIT
, S
), // 42 Fruit Truck
137 MW( 1827, 20, 20, 50, CT_RUBBER
, S
), // 43 Rubber Truck
138 MW( 1827, 20, 20, 50, CT_SUGAR
, Y
), // 44 Sugar Truck
139 MW( 1827, 20, 20, 50, CT_COTTON_CANDY
, Y
), // 45 Candyfloss Hopper
140 MW( 1827, 20, 20, 50, CT_TOFFEE
, Y
), // 46 Toffee Hopper
141 MW( 1827, 20, 20, 50, CT_BUBBLES
, Y
), // 47 Bubble Van
142 MW( 1827, 20, 20, 50, CT_COLA
, Y
), // 48 Cola Tanker
143 MW( 1827, 20, 20, 50, CT_CANDY
, Y
), // 49 Sweet Van
144 MW( 1827, 20, 20, 50, CT_TOYS
, Y
), // 50 Toy Van
145 MW( 1827, 20, 20, 50, CT_BATTERIES
, Y
), // 51 Battery Truck
146 MW( 1827, 20, 20, 50, CT_FIZZY_DRINKS
, Y
), // 52 Fizzy Drink Truck
147 MW( 1827, 20, 20, 50, CT_PLASTIC
, Y
), // 53 Plastic Truck
148 MT( 28490, 20, 20, 50, 0 , T
|A
|S
), // 54 'X2001' (Electric)
149 MT( 31047, 20, 20, 50, CT_PASSENGERS
, T
|A
|S
), // 55 'Millennium Z1' (Electric)
150 MT( 28855, 20, 20, 50, 0 , Y
), // 56 Wizzowow Z99
151 MW( 1827, 20, 20, 50, CT_PASSENGERS
, T
|A
|S
|Y
), // 57 Passenger Carriage
152 MW( 1827, 20, 20, 50, CT_MAIL
, T
|A
|S
|Y
), // 58 Mail Van
153 MW( 1827, 20, 20, 50, CT_COAL
, T
|A
), // 59 Coal Truck
154 MW( 1827, 20, 20, 50, CT_OIL
, T
|A
|S
), // 60 Oil Tanker
155 MW( 1827, 20, 20, 50, CT_LIVESTOCK
, T
|A
), // 61 Livestock Van
156 MW( 1827, 20, 20, 50, CT_GOODS
, T
|A
|S
), // 62 Goods Van
157 MW( 1827, 20, 20, 50, CT_GRAIN
, T
|A
|S
), // 63 Grain Hopper
158 MW( 1827, 20, 20, 50, CT_WOOD
, T
|A
|S
), // 64 Wood Truck
159 MW( 1827, 20, 20, 50, CT_IRON_ORE
, T
), // 65 Iron Ore Hopper
160 MW( 1827, 20, 20, 50, CT_STEEL
, T
), // 66 Steel Truck
161 MW( 1827, 20, 20, 50, CT_VALUABLES
, T
|A
|S
), // 67 Armoured Van
162 MW( 1827, 20, 20, 50, CT_FOOD
, A
|S
), // 68 Food Van
163 MW( 1827, 20, 20, 50, CT_PAPER
, A
), // 69 Paper Truck
164 MW( 1827, 20, 20, 50, CT_COPPER_ORE
, S
), // 70 Copper Ore Hopper
165 MW( 1827, 20, 20, 50, CT_WATER
, S
), // 71 Water Tanker
166 MW( 1827, 20, 20, 50, CT_FRUIT
, S
), // 72 Fruit Truck
167 MW( 1827, 20, 20, 50, CT_RUBBER
, S
), // 73 Rubber Truck
168 MW( 1827, 20, 20, 50, CT_SUGAR
, Y
), // 74 Sugar Truck
169 MW( 1827, 20, 20, 50, CT_COTTON_CANDY
, Y
), // 75 Candyfloss Hopper
170 MW( 1827, 20, 20, 50, CT_TOFFEE
, Y
), // 76 Toffee Hopper
171 MW( 1827, 20, 20, 50, CT_BUBBLES
, Y
), // 77 Bubble Van
172 MW( 1827, 20, 20, 50, CT_COLA
, Y
), // 78 Cola Tanker
173 MW( 1827, 20, 20, 50, CT_CANDY
, Y
), // 79 Sweet Van
174 MW( 1827, 20, 20, 50, CT_TOYS
, Y
), // 80 Toy Van
175 MW( 1827, 20, 20, 50, CT_BATTERIES
, Y
), // 81 Battery Truck
176 MW( 1827, 20, 20, 50, CT_FIZZY_DRINKS
, Y
), // 82 Fizzy Drink Truck
177 MW( 1827, 20, 20, 50, CT_PLASTIC
, Y
), // 83 Plastic Truck
178 MT( 36525, 20, 20, 50, 0 , T
|A
|S
), // 84 Lev1 'Leviathan' (Electric)
179 MT( 39447, 20, 20, 50, 0 , T
|A
|S
), // 85 Lev2 'Cyclops' (Electric)
180 MT( 42004, 20, 20, 50, 0 , T
|A
|S
), // 86 Lev3 'Pegasus' (Electric)
181 MT( 42735, 20, 20, 50, 0 , T
|A
|S
), // 87 Lev4 'Chimaera' (Electric)
182 MT( 36891, 20, 20, 60, 0 , Y
), // 88 Wizzowow Rocketeer
183 MW( 1827, 20, 20, 50, CT_PASSENGERS
, T
|A
|S
|Y
), // 89 Passenger Carriage
184 MW( 1827, 20, 20, 50, CT_MAIL
, T
|A
|S
|Y
), // 90 Mail Van
185 MW( 1827, 20, 20, 50, CT_COAL
, T
|A
), // 91 Coal Truck
186 MW( 1827, 20, 20, 50, CT_OIL
, T
|A
|S
), // 92 Oil Tanker
187 MW( 1827, 20, 20, 50, CT_LIVESTOCK
, T
|A
), // 93 Livestock Van
188 MW( 1827, 20, 20, 50, CT_GOODS
, T
|A
|S
), // 94 Goods Van
189 MW( 1827, 20, 20, 50, CT_GRAIN
, T
|A
|S
), // 95 Grain Hopper
190 MW( 1827, 20, 20, 50, CT_WOOD
, T
|A
|S
), // 96 Wood Truck
191 MW( 1827, 20, 20, 50, CT_IRON_ORE
, T
), // 97 Iron Ore Hopper
192 MW( 1827, 20, 20, 50, CT_STEEL
, T
), // 98 Steel Truck
193 MW( 1827, 20, 20, 50, CT_VALUABLES
, T
|A
|S
), // 99 Armoured Van
194 MW( 1827, 20, 20, 50, CT_FOOD
, A
|S
), // 100 Food Van
195 MW( 1827, 20, 20, 50, CT_PAPER
, A
), // 101 Paper Truck
196 MW( 1827, 20, 20, 50, CT_COPPER_ORE
, S
), // 102 Copper Ore Hopper
197 MW( 1827, 20, 20, 50, CT_WATER
, S
), // 103 Water Tanker
198 MW( 1827, 20, 20, 50, CT_FRUIT
, S
), // 104 Fruit Truck
199 MW( 1827, 20, 20, 50, CT_RUBBER
, S
), // 105 Rubber Truck
200 MW( 1827, 20, 20, 50, CT_SUGAR
, Y
), // 106 Sugar Truck
201 MW( 1827, 20, 20, 50, CT_COTTON_CANDY
, Y
), // 107 Candyfloss Hopper
202 MW( 1827, 20, 20, 50, CT_TOFFEE
, Y
), // 108 Toffee Hopper
203 MW( 1827, 20, 20, 50, CT_BUBBLES
, Y
), // 109 Bubble Van
204 MW( 1827, 20, 20, 50, CT_COLA
, Y
), // 110 Cola Tanker
205 MW( 1827, 20, 20, 50, CT_CANDY
, Y
), // 111 Sweet Van
206 MW( 1827, 20, 20, 50, CT_TOYS
, Y
), // 112 Toy Van
207 MW( 1827, 20, 20, 50, CT_BATTERIES
, Y
), // 113 Battery Truck
208 MW( 1827, 20, 20, 50, CT_FIZZY_DRINKS
, Y
), // 114 Fizzy Drink Truck
209 MW( 1827, 20, 20, 50, CT_PLASTIC
, Y
), // 115 Plastic Truck
210 MR( 3378, 20, 12, 40, CT_PASSENGERS
, T
|A
|S
), // 116 MPS Regal Bus
211 MR( 16071, 20, 15, 30, CT_PASSENGERS
, T
|A
|S
), // 117 Hereford Leopard Bus
212 MR( 24107, 20, 15, 40, CT_PASSENGERS
, T
|A
|S
), // 118 Foster Bus
213 MR( 32142, 20, 15, 80, CT_PASSENGERS
, T
|A
|S
), // 119 Foster MkII Superbus
214 MR( 9132, 20, 15, 40, CT_PASSENGERS
, Y
), // 120 Ploddyphut MkI Bus
215 MR( 18993, 20, 15, 40, CT_PASSENGERS
, Y
), // 121 Ploddyphut MkII Bus
216 MR( 32873, 20, 15, 80, CT_PASSENGERS
, Y
), // 122 Ploddyphut MkIII Bus
217 MR( 5479, 20, 15, 55, CT_COAL
, T
|A
), // 123 Balogh Coal Truck
218 MR( 20089, 20, 15, 55, CT_COAL
, T
|A
), // 124 Uhl Coal Truck
219 MR( 33969, 20, 15, 85, CT_COAL
, T
|A
), // 125 DW Coal Truck
220 MR( 5479, 20, 15, 55, CT_MAIL
, T
|A
|S
), // 126 MPS Mail Truck
221 MR( 21550, 20, 15, 55, CT_MAIL
, T
|A
|S
), // 127 Reynard Mail Truck
222 MR( 35795, 20, 15, 85, CT_MAIL
, T
|A
|S
), // 128 Perry Mail Truck
223 MR( 5479, 20, 15, 55, CT_MAIL
, Y
), // 129 MightyMover Mail Truck
224 MR( 21550, 20, 15, 55, CT_MAIL
, Y
), // 130 Powernaught Mail Truck
225 MR( 35795, 20, 15, 85, CT_MAIL
, Y
), // 131 Wizzowow Mail Truck
226 MR( 5479, 20, 15, 55, CT_OIL
, T
|A
|S
), // 132 Witcombe Oil Tanker
227 MR( 19359, 20, 15, 55, CT_OIL
, T
|A
|S
), // 133 Foster Oil Tanker
228 MR( 31047, 20, 15, 85, CT_OIL
, T
|A
|S
), // 134 Perry Oil Tanker
229 MR( 5479, 20, 15, 55, CT_LIVESTOCK
, T
|A
), // 135 Talbott Livestock Van
230 MR( 21915, 20, 15, 55, CT_LIVESTOCK
, T
|A
), // 136 Uhl Livestock Van
231 MR( 37256, 20, 15, 85, CT_LIVESTOCK
, T
|A
), // 137 Foster Livestock Van
232 MR( 5479, 20, 15, 55, CT_GOODS
, T
|A
|S
), // 138 Balogh Goods Truck
233 MR( 19724, 20, 15, 55, CT_GOODS
, T
|A
|S
), // 139 Craighead Goods Truck
234 MR( 31047, 20, 15, 85, CT_GOODS
, T
|A
|S
), // 140 Goss Goods Truck
235 MR( 5479, 20, 15, 55, CT_GRAIN
, T
|A
|S
), // 141 Hereford Grain Truck
236 MR( 21185, 20, 15, 55, CT_GRAIN
, T
|A
|S
), // 142 Thomas Grain Truck
237 MR( 32873, 20, 15, 85, CT_GRAIN
, T
|A
|S
), // 143 Goss Grain Truck
238 MR( 5479, 20, 15, 55, CT_WOOD
, T
|A
|S
), // 144 Witcombe Wood Truck
239 MR( 19724, 20, 15, 55, CT_WOOD
, T
|A
|S
), // 145 Foster Wood Truck
240 MR( 35430, 20, 15, 85, CT_WOOD
, T
|A
|S
), // 146 Moreland Wood Truck
241 MR( 5479, 20, 15, 55, CT_IRON_ORE
, T
), // 147 MPS Iron Ore Truck
242 MR( 20820, 20, 15, 55, CT_IRON_ORE
, T
), // 148 Uhl Iron Ore Truck
243 MR( 33238, 20, 15, 85, CT_IRON_ORE
, T
), // 149 Chippy Iron Ore Truck
244 MR( 5479, 20, 15, 55, CT_STEEL
, T
), // 150 Balogh Steel Truck
245 MR( 21185, 20, 15, 55, CT_STEEL
, T
), // 151 Uhl Steel Truck
246 MR( 31777, 20, 15, 85, CT_STEEL
, T
), // 152 Kelling Steel Truck
247 MR( 5479, 20, 15, 55, CT_VALUABLES
, T
|A
|S
), // 153 Balogh Armoured Truck
248 MR( 22281, 20, 15, 55, CT_VALUABLES
, T
|A
|S
), // 154 Uhl Armoured Truck
249 MR( 33603, 20, 15, 85, CT_VALUABLES
, T
|A
|S
), // 155 Foster Armoured Truck
250 MR( 5479, 20, 15, 55, CT_FOOD
, A
|S
), // 156 Foster Food Van
251 MR( 18628, 20, 15, 55, CT_FOOD
, A
|S
), // 157 Perry Food Van
252 MR( 30681, 20, 15, 85, CT_FOOD
, A
|S
), // 158 Chippy Food Van
253 MR( 5479, 20, 15, 55, CT_PAPER
, A
), // 159 Uhl Paper Truck
254 MR( 21185, 20, 15, 55, CT_PAPER
, A
), // 160 Balogh Paper Truck
255 MR( 31777, 20, 15, 85, CT_PAPER
, A
), // 161 MPS Paper Truck
256 MR( 5479, 20, 15, 55, CT_COPPER_ORE
, S
), // 162 MPS Copper Ore Truck
257 MR( 20820, 20, 15, 55, CT_COPPER_ORE
, S
), // 163 Uhl Copper Ore Truck
258 MR( 33238, 20, 15, 85, CT_COPPER_ORE
, S
), // 164 Goss Copper Ore Truck
259 MR( 5479, 20, 15, 55, CT_WATER
, S
), // 165 Uhl Water Tanker
260 MR( 20970, 20, 15, 55, CT_WATER
, S
), // 166 Balogh Water Tanker
261 MR( 33388, 20, 15, 85, CT_WATER
, S
), // 167 MPS Water Tanker
262 MR( 5479, 20, 15, 55, CT_FRUIT
, S
), // 168 Balogh Fruit Truck
263 MR( 21335, 20, 15, 55, CT_FRUIT
, S
), // 169 Uhl Fruit Truck
264 MR( 33753, 20, 15, 85, CT_FRUIT
, S
), // 170 Kelling Fruit Truck
265 MR( 5479, 20, 15, 55, CT_RUBBER
, S
), // 171 Balogh Rubber Truck
266 MR( 20604, 20, 15, 55, CT_RUBBER
, S
), // 172 Uhl Rubber Truck
267 MR( 33023, 20, 15, 85, CT_RUBBER
, S
), // 173 RMT Rubber Truck
268 MR( 5479, 20, 15, 55, CT_SUGAR
, Y
), // 174 MightyMover Sugar Truck
269 MR( 19724, 20, 15, 55, CT_SUGAR
, Y
), // 175 Powernaught Sugar Truck
270 MR( 33238, 20, 15, 85, CT_SUGAR
, Y
), // 176 Wizzowow Sugar Truck
271 MR( 5479, 20, 15, 55, CT_COLA
, Y
), // 177 MightyMover Cola Truck
272 MR( 20089, 20, 15, 55, CT_COLA
, Y
), // 178 Powernaught Cola Truck
273 MR( 33603, 20, 15, 85, CT_COLA
, Y
), // 179 Wizzowow Cola Truck
274 MR( 5479, 20, 15, 55, CT_COTTON_CANDY
, Y
), // 180 MightyMover Candyfloss Truck
275 MR( 20454, 20, 15, 55, CT_COTTON_CANDY
, Y
), // 181 Powernaught Candyfloss Truck
276 MR( 33969, 20, 15, 85, CT_COTTON_CANDY
, Y
), // 182 Wizzowow Candyfloss Truck
277 MR( 5479, 20, 15, 55, CT_TOFFEE
, Y
), // 183 MightyMover Toffee Truck
278 MR( 20820, 20, 15, 55, CT_TOFFEE
, Y
), // 184 Powernaught Toffee Truck
279 MR( 34334, 20, 15, 85, CT_TOFFEE
, Y
), // 185 Wizzowow Toffee Truck
280 MR( 5479, 20, 15, 55, CT_TOYS
, Y
), // 186 MightyMover Toy Van
281 MR( 21185, 20, 15, 55, CT_TOYS
, Y
), // 187 Powernaught Toy Van
282 MR( 34699, 20, 15, 85, CT_TOYS
, Y
), // 188 Wizzowow Toy Van
283 MR( 5479, 20, 15, 55, CT_CANDY
, Y
), // 189 MightyMover Sweet Truck
284 MR( 21550, 20, 15, 55, CT_CANDY
, Y
), // 190 Powernaught Sweet Truck
285 MR( 35064, 20, 15, 85, CT_CANDY
, Y
), // 191 Wizzowow Sweet Truck
286 MR( 5479, 20, 15, 55, CT_BATTERIES
, Y
), // 192 MightyMover Battery Truck
287 MR( 19874, 20, 15, 55, CT_BATTERIES
, Y
), // 193 Powernaught Battery Truck
288 MR( 35430, 20, 15, 85, CT_BATTERIES
, Y
), // 194 Wizzowow Battery Truck
289 MR( 5479, 20, 15, 55, CT_FIZZY_DRINKS
, Y
), // 195 MightyMover Fizzy Drink Truck
290 MR( 20239, 20, 15, 55, CT_FIZZY_DRINKS
, Y
), // 196 Powernaught Fizzy Drink Truck
291 MR( 35795, 20, 15, 85, CT_FIZZY_DRINKS
, Y
), // 197 Wizzowow Fizzy Drink Truck
292 MR( 5479, 20, 15, 55, CT_PLASTIC
, Y
), // 198 MightyMover Plastic Truck
293 MR( 20604, 20, 15, 55, CT_PLASTIC
, Y
), // 199 Powernaught Plastic Truck
294 MR( 32873, 20, 15, 85, CT_PLASTIC
, Y
), // 200 Wizzowow Plastic Truck
295 MR( 5479, 20, 15, 55, CT_BUBBLES
, Y
), // 201 MightyMover Bubble Truck
296 MR( 20970, 20, 15, 55, CT_BUBBLES
, Y
), // 202 Powernaught Bubble Truck
297 MR( 33023, 20, 15, 85, CT_BUBBLES
, Y
), // 203 Wizzowow Bubble Truck
298 MS( 2922, 5, 30, 50, CT_OIL
, T
|A
|S
), // 204 MPS Oil Tanker
299 MS( 17167, 5, 30, 90, CT_OIL
, T
|A
|S
), // 205 CS-Inc. Oil Tanker
300 MS( 2192, 5, 30, 55, CT_PASSENGERS
, T
|A
|S
), // 206 MPS Passenger Ferry
301 MS( 18628, 5, 30, 90, CT_PASSENGERS
, T
|A
|S
), // 207 FFP Passenger Ferry
302 MS( 17257, 10, 25, 90, CT_PASSENGERS
, T
|A
|S
), // 208 Bakewell 300 Hovercraft
303 MS( 9587, 5, 30, 40, CT_PASSENGERS
, Y
), // 209 Chugger-Chug Passenger Ferry
304 MS( 20544, 5, 30, 90, CT_PASSENGERS
, Y
), // 210 Shivershake Passenger Ferry
305 MS( 2557, 5, 30, 55, CT_GOODS
, T
|A
|S
), // 211 Yate Cargo ship
306 MS( 19724, 5, 30, 98, CT_GOODS
, T
|A
|S
), // 212 Bakewell Cargo ship
307 MS( 9587, 5, 30, 45, CT_GOODS
, Y
), // 213 Mightymover Cargo ship
308 MS( 22371, 5, 30, 90, CT_GOODS
, Y
), // 214 Powernaut Cargo ship
309 MA( 2922, 20, 20, 20, T
|A
|S
), // 215 Sampson U52
310 MA( 9922, 20, 24, 20, T
|A
|S
), // 216 Coleman Count
311 MA( 12659, 20, 18, 20, T
|A
|S
), // 217 FFP Dart
312 MA( 17652, 20, 25, 35, T
|A
|S
), // 218 Yate Haugan
313 MA( 4929, 20, 30, 30, T
|A
|S
), // 219 Bakewell Cotswald LB-3
314 MA( 13695, 20, 23, 25, T
|A
|S
), // 220 Bakewell Luckett LB-8
315 MA( 16341, 20, 26, 30, T
|A
|S
), // 221 Bakewell Luckett LB-9
316 MA( 21395, 20, 25, 30, T
|A
|S
), // 222 Bakewell Luckett LB80
317 MA( 18263, 20, 20, 30, T
|A
|S
), // 223 Bakewell Luckett LB-10
318 MA( 25233, 20, 25, 30, T
|A
|S
), // 224 Bakewell Luckett LB-11
319 MA( 15371, 20, 22, 25, T
|A
|S
), // 225 Yate Aerospace YAC 1-11
320 MA( 15461, 20, 25, 25, T
|A
|S
), // 226 Darwin 100
321 MA( 16952, 20, 22, 25, T
|A
|S
), // 227 Darwin 200
322 MA( 17227, 20, 25, 30, T
|A
|S
), // 228 Darwin 300
323 MA( 22371, 20, 25, 35, T
|A
|S
), // 229 Darwin 400
324 MA( 22341, 20, 25, 30, T
|A
|S
), // 230 Darwin 500
325 MA( 27209, 20, 25, 30, T
|A
|S
), // 231 Darwin 600
326 MA( 17988, 20, 20, 30, T
|A
|S
), // 232 Guru Galaxy
327 MA( 18993, 20, 24, 35, T
|A
|S
), // 233 Airtaxi A21
328 MA( 22401, 20, 24, 30, T
|A
|S
), // 234 Airtaxi A31
329 MA( 24472, 20, 24, 30, T
|A
|S
), // 235 Airtaxi A32
330 MA( 26724, 20, 24, 30, T
|A
|S
), // 236 Airtaxi A33
331 MA( 22005, 20, 25, 30, T
|A
|S
), // 237 Yate Aerospace YAe46
332 MA( 24107, 20, 20, 35, T
|A
|S
), // 238 Dinger 100
333 MA( 29310, 20, 25, 60, T
|A
|S
), // 239 AirTaxi A34-1000
334 MA( 35520, 20, 22, 30, T
|A
|S
), // 240 Yate Z-Shuttle
335 MA( 36981, 20, 22, 30, T
|A
|S
), // 241 Kelling K1
336 MA( 38807, 20, 22, 50, T
|A
|S
), // 242 Kelling K6
337 MA( 42094, 20, 25, 30, T
|A
|S
), // 243 Kelling K7
338 MA( 44651, 20, 23, 30, T
|A
|S
), // 244 Darwin 700
339 MA( 40268, 20, 25, 30, T
|A
|S
), // 245 FFP Hyperdart 2
340 MA( 33693, 20, 25, 50, T
|A
|S
), // 246 Dinger 200
341 MA( 32963, 20, 20, 60, T
|A
|S
), // 247 Dinger 1000
342 MA( 9222, 20, 20, 35, Y
), // 248 Ploddyphut 100
343 MA( 12874, 20, 20, 35, Y
), // 249 Ploddyphut 500
344 MA( 16892, 20, 20, 35, Y
), // 250 Flashbang X1
345 MA( 21275, 20, 20, 99, Y
), // 251 Juggerplane M1
346 MA( 23832, 20, 20, 99, Y
), // 252 Flashbang Wizzer
347 MA( 13575, 20, 20, 40, T
|A
|S
), // 253 Tricario Helicopter
348 MA( 28215, 20, 20, 30, T
|A
|S
), // 254 Guru X2 Helicopter
349 MA( 13575, 20, 20, 99, Y
), // 255 Powernaut Helicopter
362 * Writes the properties of a rail vehicle into the RailVehicleInfo struct.
363 * @see RailVehicleInfo
364 * @param a image_index
366 * @param c cost_factor
367 * @param d max_speed (1 unit = 1/1.6 mph = 1 km-ish/h)
368 * @param e power (hp)
369 * @param f weight (tons)
370 * @param g running_cost
371 * @param h running_cost_class
372 * @param i capacity (persons, bags, tons, pieces, items, cubic metres, ...)
375 * Tractive effort coefficient by default is the same as TTDPatch, 0.30*256=76
376 * Air drag value depends on the top speed of the vehicle.
378 #define RVI(a, b, c, d, e, f, g, h, i, j, k) { a, b, c, {j}, d, e, f, g, h, k, i, 0, 0, 0, VE_DEFAULT, 0, 76, 0, 0 }
379 #define M RAILVEH_MULTIHEAD
380 #define W RAILVEH_WAGON
381 #define G RAILVEH_SINGLEHEAD
384 #define E EC_ELECTRIC
385 #define N EC_MONORAIL
387 /* Wagons always have engine type 0, i.e. steam. */
390 #define R RAILTYPE_RAIL
391 #define C RAILTYPE_ELECTRIC
392 #define O RAILTYPE_MONO
393 #define L RAILTYPE_MAGLEV
395 #define RC_S PR_RUNNING_TRAIN_STEAM
396 #define RC_D PR_RUNNING_TRAIN_DIESEL
397 #define RC_E PR_RUNNING_TRAIN_ELECTRIC
398 #define RC_W INVALID_PRICE
400 static const RailVehicleInfo _orig_rail_vehicle_info
[] = {
401 /* image_index max_speed running_cost engclass
402 * | type | power | running_cost_class
403 * | | cost_factor | weight | | capacity
404 * | | | | | | | | | railtype
405 * | | | | | | | | | | | */
407 RVI( 2, G
, 7, 64, 300, 47, 50, RC_S
, 0, R
, S
), // 0 Kirby Paul Tank (Steam)
408 RVI(19, G
, 8, 80, 600, 65, 65, RC_D
, 0, R
, D
), // 1 MJS 250 (Diesel)
409 RVI( 2, G
, 10, 72, 400, 85, 90, RC_S
, 0, R
, S
), // 2 Ploddyphut Choo-Choo
410 RVI( 0, G
, 15, 96, 900, 130, 130, RC_S
, 0, R
, S
), // 3 Powernaut Choo-Choo
411 RVI( 1, G
, 19, 112, 1000, 140, 145, RC_S
, 0, R
, S
), // 4 Mightymover Choo-Choo
412 RVI(12, G
, 16, 120, 1400, 95, 125, RC_D
, 0, R
, D
), // 5 Ploddyphut Diesel
413 RVI(14, G
, 20, 152, 2000, 120, 135, RC_D
, 0, R
, D
), // 6 Powernaut Diesel
414 RVI( 3, G
, 14, 88, 1100, 145, 130, RC_S
, 0, R
, S
), // 7 Wills 2-8-0 (Steam)
415 RVI( 0, G
, 13, 112, 1000, 131, 120, RC_S
, 0, R
, S
), // 8 Chaney 'Jubilee' (Steam)
416 RVI( 1, G
, 19, 128, 1200, 162, 140, RC_S
, 0, R
, S
), // 9 Ginzu 'A4' (Steam)
417 RVI( 0, G
, 22, 144, 1600, 170, 130, RC_S
, 0, R
, S
), // 10 SH '8P' (Steam)
418 RVI( 8, M
, 11, 112, 600, 32, 85, RC_D
, 38, R
, D
), // 11 Manley-Morel DMU (Diesel)
419 RVI(10, M
, 14, 120, 700, 38, 70, RC_D
, 40, R
, D
), // 12 'Dash' (Diesel)
420 RVI( 4, G
, 15, 128, 1250, 72, 95, RC_D
, 0, R
, D
), // 13 SH/Hendry '25' (Diesel)
421 RVI( 5, G
, 17, 144, 1750, 101, 120, RC_D
, 0, R
, D
), // 14 UU '37' (Diesel)
422 RVI( 4, G
, 18, 160, 2580, 112, 140, RC_D
, 0, R
, D
), // 15 Floss '47' (Diesel)
423 RVI(14, G
, 23, 96, 4000, 150, 135, RC_D
, 0, R
, D
), // 16 CS 4000 (Diesel)
424 RVI(12, G
, 16, 112, 2400, 120, 105, RC_D
, 0, R
, D
), // 17 CS 2400 (Diesel)
425 RVI(13, G
, 30, 112, 6600, 207, 155, RC_D
, 0, R
, D
), // 18 Centennial (Diesel)
426 RVI(15, G
, 18, 104, 1500, 110, 105, RC_D
, 0, R
, D
), // 19 Kelling 3100 (Diesel)
427 RVI(16, M
, 35, 160, 3500, 95, 205, RC_D
, 0, R
, D
), // 20 Turner Turbo (Diesel)
428 RVI(18, G
, 21, 104, 2200, 120, 145, RC_D
, 0, R
, D
), // 21 MJS 1000 (Diesel)
429 RVI( 6, M
, 20, 200, 4500, 70, 190, RC_D
, 4, R
, D
), // 22 SH '125' (Diesel)
430 RVI(20, G
, 26, 160, 3600, 84, 180, RC_E
, 0, C
, E
), // 23 SH '30' (Electric)
431 RVI(20, G
, 30, 176, 5000, 82, 205, RC_E
, 0, C
, E
), // 24 SH '40' (Electric)
432 RVI(21, M
, 40, 240, 7000, 90, 240, RC_E
, 0, C
, E
), // 25 'T.I.M.' (Electric)
433 RVI(23, M
, 43, 264, 8000, 95, 250, RC_E
, 0, C
, E
), // 26 'AsiaStar' (Electric)
434 RVI(33, W
, 247, 0, 0, 25, 0, RC_W
, 40, R
, A
), // 27 Passenger Carriage
435 RVI(35, W
, 228, 0, 0, 21, 0, RC_W
, 30, R
, A
), // 28 Mail Van
436 RVI(34, W
, 176, 0, 0, 18, 0, RC_W
, 30, R
, A
), // 29 Coal Truck
437 RVI(36, W
, 200, 0, 0, 24, 0, RC_W
, 30, R
, A
), // 30 Oil Tanker
438 RVI(37, W
, 192, 0, 0, 20, 0, RC_W
, 25, R
, A
), // 31 Livestock Van
439 RVI(38, W
, 190, 0, 0, 21, 0, RC_W
, 25, R
, A
), // 32 Goods Van
440 RVI(39, W
, 182, 0, 0, 19, 0, RC_W
, 30, R
, A
), // 33 Grain Hopper
441 RVI(40, W
, 181, 0, 0, 16, 0, RC_W
, 30, R
, A
), // 34 Wood Truck
442 RVI(41, W
, 179, 0, 0, 19, 0, RC_W
, 30, R
, A
), // 35 Iron Ore Hopper
443 RVI(42, W
, 196, 0, 0, 18, 0, RC_W
, 20, R
, A
), // 36 Steel Truck
444 RVI(43, W
, 255, 0, 0, 30, 0, RC_W
, 20, R
, A
), // 37 Armoured Van
445 RVI(44, W
, 191, 0, 0, 22, 0, RC_W
, 25, R
, A
), // 38 Food Van
446 RVI(45, W
, 196, 0, 0, 18, 0, RC_W
, 20, R
, A
), // 39 Paper Truck
447 RVI(46, W
, 179, 0, 0, 19, 0, RC_W
, 30, R
, A
), // 40 Copper Ore Hopper
448 RVI(47, W
, 199, 0, 0, 25, 0, RC_W
, 25, R
, A
), // 41 Water Tanker
449 RVI(48, W
, 182, 0, 0, 18, 0, RC_W
, 25, R
, A
), // 42 Fruit Truck
450 RVI(49, W
, 185, 0, 0, 19, 0, RC_W
, 21, R
, A
), // 43 Rubber Truck
451 RVI(50, W
, 176, 0, 0, 19, 0, RC_W
, 30, R
, A
), // 44 Sugar Truck
452 RVI(51, W
, 178, 0, 0, 20, 0, RC_W
, 30, R
, A
), // 45 Candyfloss Hopper
453 RVI(52, W
, 192, 0, 0, 20, 0, RC_W
, 30, R
, A
), // 46 Toffee Hopper
454 RVI(53, W
, 190, 0, 0, 21, 0, RC_W
, 20, R
, A
), // 47 Bubble Van
455 RVI(54, W
, 182, 0, 0, 24, 0, RC_W
, 25, R
, A
), // 48 Cola Tanker
456 RVI(55, W
, 181, 0, 0, 21, 0, RC_W
, 25, R
, A
), // 49 Sweet Van
457 RVI(56, W
, 183, 0, 0, 21, 0, RC_W
, 20, R
, A
), // 50 Toy Van
458 RVI(57, W
, 196, 0, 0, 18, 0, RC_W
, 22, R
, A
), // 51 Battery Truck
459 RVI(58, W
, 193, 0, 0, 18, 0, RC_W
, 25, R
, A
), // 52 Fizzy Drink Truck
460 RVI(59, W
, 191, 0, 0, 18, 0, RC_W
, 30, R
, A
), // 53 Plastic Truck
462 RVI(25, G
, 52, 304, 9000, 95, 230, RC_E
, 0, O
, N
), // 54 'X2001' (Electric)
463 RVI(26, M
, 60, 336, 10000, 85, 240, RC_E
, 25, O
, N
), // 55 'Millennium Z1' (Electric)
464 RVI(26, G
, 53, 320, 5000, 95, 230, RC_E
, 0, O
, N
), // 56 Wizzowow Z99
465 RVI(60, W
, 247, 0, 0, 25, 0, RC_W
, 45, O
, A
), // 57 Passenger Carriage
466 RVI(62, W
, 228, 0, 0, 21, 0, RC_W
, 35, O
, A
), // 58 Mail Van
467 RVI(61, W
, 176, 0, 0, 18, 0, RC_W
, 35, O
, A
), // 59 Coal Truck
468 RVI(63, W
, 200, 0, 0, 24, 0, RC_W
, 35, O
, A
), // 60 Oil Tanker
469 RVI(64, W
, 192, 0, 0, 20, 0, RC_W
, 30, O
, A
), // 61 Livestock Van
470 RVI(65, W
, 190, 0, 0, 21, 0, RC_W
, 30, O
, A
), // 62 Goods Van
471 RVI(66, W
, 182, 0, 0, 19, 0, RC_W
, 35, O
, A
), // 63 Grain Hopper
472 RVI(67, W
, 181, 0, 0, 16, 0, RC_W
, 35, O
, A
), // 64 Wood Truck
473 RVI(68, W
, 179, 0, 0, 19, 0, RC_W
, 35, O
, A
), // 65 Iron Ore Hopper
474 RVI(69, W
, 196, 0, 0, 18, 0, RC_W
, 25, O
, A
), // 66 Steel Truck
475 RVI(70, W
, 255, 0, 0, 30, 0, RC_W
, 25, O
, A
), // 67 Armoured Van
476 RVI(71, W
, 191, 0, 0, 22, 0, RC_W
, 30, O
, A
), // 68 Food Van
477 RVI(72, W
, 196, 0, 0, 18, 0, RC_W
, 25, O
, A
), // 69 Paper Truck
478 RVI(73, W
, 179, 0, 0, 19, 0, RC_W
, 35, O
, A
), // 70 Copper Ore Hopper
479 RVI(47, W
, 199, 0, 0, 25, 0, RC_W
, 30, O
, A
), // 71 Water Tanker
480 RVI(48, W
, 182, 0, 0, 18, 0, RC_W
, 30, O
, A
), // 72 Fruit Truck
481 RVI(49, W
, 185, 0, 0, 19, 0, RC_W
, 26, O
, A
), // 73 Rubber Truck
482 RVI(50, W
, 176, 0, 0, 19, 0, RC_W
, 35, O
, A
), // 74 Sugar Truck
483 RVI(51, W
, 178, 0, 0, 20, 0, RC_W
, 35, O
, A
), // 75 Candyfloss Hopper
484 RVI(52, W
, 192, 0, 0, 20, 0, RC_W
, 35, O
, A
), // 76 Toffee Hopper
485 RVI(53, W
, 190, 0, 0, 21, 0, RC_W
, 25, O
, A
), // 77 Bubble Van
486 RVI(54, W
, 182, 0, 0, 24, 0, RC_W
, 30, O
, A
), // 78 Cola Tanker
487 RVI(55, W
, 181, 0, 0, 21, 0, RC_W
, 30, O
, A
), // 79 Sweet Van
488 RVI(56, W
, 183, 0, 0, 21, 0, RC_W
, 25, O
, A
), // 80 Toy Van
489 RVI(57, W
, 196, 0, 0, 18, 0, RC_W
, 27, O
, A
), // 81 Battery Truck
490 RVI(58, W
, 193, 0, 0, 18, 0, RC_W
, 30, O
, A
), // 82 Fizzy Drink Truck
491 RVI(59, W
, 191, 0, 0, 18, 0, RC_W
, 35, O
, A
), // 83 Plastic Truck
493 RVI(28, G
, 70, 400, 10000, 105, 250, RC_E
, 0, L
, V
), // 84 Lev1 'Leviathan' (Electric)
494 RVI(29, G
, 74, 448, 12000, 120, 253, RC_E
, 0, L
, V
), // 85 Lev2 'Cyclops' (Electric)
495 RVI(30, G
, 82, 480, 15000, 130, 254, RC_E
, 0, L
, V
), // 86 Lev3 'Pegasus' (Electric)
496 RVI(31, M
, 95, 640, 20000, 150, 255, RC_E
, 0, L
, V
), // 87 Lev4 'Chimaera' (Electric)
497 RVI(28, G
, 70, 480, 10000, 120, 250, RC_E
, 0, L
, V
), // 88 Wizzowow Rocketeer
498 RVI(60, W
, 247, 0, 0, 25, 0, RC_W
, 47, L
, A
), // 89 Passenger Carriage
499 RVI(62, W
, 228, 0, 0, 21, 0, RC_W
, 37, L
, A
), // 90 Mail Van
500 RVI(61, W
, 176, 0, 0, 18, 0, RC_W
, 37, L
, A
), // 91 Coal Truck
501 RVI(63, W
, 200, 0, 0, 24, 0, RC_W
, 37, L
, A
), // 92 Oil Tanker
502 RVI(64, W
, 192, 0, 0, 20, 0, RC_W
, 32, L
, A
), // 93 Livestock Van
503 RVI(65, W
, 190, 0, 0, 21, 0, RC_W
, 32, L
, A
), // 94 Goods Van
504 RVI(66, W
, 182, 0, 0, 19, 0, RC_W
, 37, L
, A
), // 95 Grain Hopper
505 RVI(67, W
, 181, 0, 0, 16, 0, RC_W
, 37, L
, A
), // 96 Wood Truck
506 RVI(68, W
, 179, 0, 0, 19, 0, RC_W
, 37, L
, A
), // 97 Iron Ore Hopper
507 RVI(69, W
, 196, 0, 0, 18, 0, RC_W
, 27, L
, A
), // 98 Steel Truck
508 RVI(70, W
, 255, 0, 0, 30, 0, RC_W
, 27, L
, A
), // 99 Armoured Van
509 RVI(71, W
, 191, 0, 0, 22, 0, RC_W
, 32, L
, A
), // 100 Food Van
510 RVI(72, W
, 196, 0, 0, 18, 0, RC_W
, 27, L
, A
), // 101 Paper Truck
511 RVI(73, W
, 179, 0, 0, 19, 0, RC_W
, 37, L
, A
), // 102 Copper Ore Hopper
512 RVI(47, W
, 199, 0, 0, 25, 0, RC_W
, 32, L
, A
), // 103 Water Tanker
513 RVI(48, W
, 182, 0, 0, 18, 0, RC_W
, 32, L
, A
), // 104 Fruit Truck
514 RVI(49, W
, 185, 0, 0, 19, 0, RC_W
, 28, L
, A
), // 105 Rubber Truck
515 RVI(50, W
, 176, 0, 0, 19, 0, RC_W
, 37, L
, A
), // 106 Sugar Truck
516 RVI(51, W
, 178, 0, 0, 20, 0, RC_W
, 37, L
, A
), // 107 Candyfloss Hopper
517 RVI(52, W
, 192, 0, 0, 20, 0, RC_W
, 37, L
, A
), // 108 Toffee Hopper
518 RVI(53, W
, 190, 0, 0, 21, 0, RC_W
, 27, L
, A
), // 109 Bubble Van
519 RVI(54, W
, 182, 0, 0, 24, 0, RC_W
, 32, L
, A
), // 110 Cola Tanker
520 RVI(55, W
, 181, 0, 0, 21, 0, RC_W
, 32, L
, A
), // 111 Sweet Van
521 RVI(56, W
, 183, 0, 0, 21, 0, RC_W
, 27, L
, A
), // 112 Toy Van
522 RVI(57, W
, 196, 0, 0, 18, 0, RC_W
, 29, L
, A
), // 113 Battery Truck
523 RVI(58, W
, 193, 0, 0, 18, 0, RC_W
, 32, L
, A
), // 114 Fizzy Drink Truck
524 RVI(59, W
, 191, 0, 0, 18, 0, RC_W
, 37, L
, A
), // 115 Plastic Truck
545 * Writes the properties of a ship into the ShipVehicleInfo struct.
546 * @see ShipVehicleInfo
547 * @param a image_index
548 * @param b cost_factor
549 * @param c max_speed (1 unit = 1/3.2 mph = 0.5 km-ish/h)
550 * @param d capacity (persons, bags, tons, pieces, items, cubic metres, ...)
551 * @param e running_cost
552 * @param f sound effect
553 * @param g refittable
555 #define SVI(a, b, c, d, e, f, g) { a, b, c, d, e, f, g, VE_DEFAULT, 0, 0 }
556 static const ShipVehicleInfo _orig_ship_vehicle_info
[] = {
557 /* image_index capacity refittable
558 * | cost_factor running_cost |
559 * | | max_speed | sfx |
561 SVI( 1, 160, 48, 220, 140, SND_06_SHIP_HORN
, 0 ), // 0 MPS Oil Tanker
562 SVI( 1, 176, 80, 350, 125, SND_06_SHIP_HORN
, 0 ), // 1 CS-Inc. Oil Tanker
563 SVI( 2, 96, 64, 100, 90, SND_07_FERRY_HORN
, 0 ), // 2 MPS Passenger Ferry
564 SVI( 2, 112, 128, 130, 80, SND_07_FERRY_HORN
, 0 ), // 3 FFP Passenger Ferry
565 SVI( 3, 148, 224, 100, 190, SND_07_FERRY_HORN
, 0 ), // 4 Bakewell 300 Hovercraft
566 SVI( 2, 96, 64, 100, 90, SND_07_FERRY_HORN
, 0 ), // 5 Chugger-Chug Passenger Ferry
567 SVI( 2, 112, 128, 130, 80, SND_07_FERRY_HORN
, 0 ), // 6 Shivershake Passenger Ferry
568 SVI( 0, 128, 48, 160, 150, SND_06_SHIP_HORN
, 1 ), // 7 Yate Cargo ship
569 SVI( 0, 144, 80, 190, 113, SND_06_SHIP_HORN
, 1 ), // 8 Bakewell Cargo ship
570 SVI( 0, 128, 48, 160, 150, SND_06_SHIP_HORN
, 1 ), // 9 Mightymover Cargo ship
571 SVI( 0, 144, 80, 190, 113, SND_06_SHIP_HORN
, 1 ), // 10 Powernaut Cargo ship
576 * Writes the properties of an aircraft into the AircraftVehicleInfo struct.
577 * @see AircraftVehicleInfo
578 * @param a image_index
579 * @param b cost_factor
580 * @param c running_Cost
581 * @param d subtype (bit 0 - plane, bit 1 - large plane)
582 * @param e sound effect
583 * @param f acceleration (1 unit = 3/8 mph/tick = 3/5 km-ish/h/tick) (stays the same in the variable)
584 * @param g max_speed (1 unit = 8 mph = 12.8 km-ish/h) (is converted to km-ish/h by the macro)
585 * @param h mail_capacity (bags)
586 * @param i passenger_capacity (persons)
588 #define AVI(a, b, c, d, e, f, g, h, i) { a, b, c, d, e, f, (g * 128) / 10, h, i, 0 }
591 #define J AIR_CTOL | AIR_FAST
592 static const AircraftVehicleInfo _orig_aircraft_vehicle_info
[] = {
593 /* image_index sfx acceleration
594 * | cost_factor | | max_speed
595 * | | running_cost | | mail_capacity
596 * | | | subtype | | | | passenger_capacity
597 * | | | | | | | | | */
598 AVI( 1, 14, 85, P
, SND_08_PLANE_TAKE_OFF
, 18, 37, 4, 25 ), // 0 Sampson U52
599 AVI( 0, 15, 100, P
, SND_08_PLANE_TAKE_OFF
, 20, 37, 8, 65 ), // 1 Coleman Count
600 AVI( 2, 16, 130, J
, SND_09_JET
, 35, 74, 10, 90 ), // 2 FFP Dart
601 AVI( 8, 75, 250, J
, SND_3B_JET_OVERHEAD
, 50, 181, 20, 100 ), // 3 Yate Haugan
602 AVI( 5, 15, 98, P
, SND_08_PLANE_TAKE_OFF
, 20, 37, 6, 30 ), // 4 Bakewell Cotswald LB-3
603 AVI( 6, 18, 240, J
, SND_09_JET
, 40, 74, 30, 200 ), // 5 Bakewell Luckett LB-8
604 AVI( 2, 17, 150, P
, SND_09_JET
, 35, 74, 15, 100 ), // 6 Bakewell Luckett LB-9
605 AVI( 2, 18, 245, J
, SND_09_JET
, 40, 74, 30, 150 ), // 7 Bakewell Luckett LB80
606 AVI( 3, 19, 192, J
, SND_09_JET
, 40, 74, 40, 220 ), // 8 Bakewell Luckett LB-10
607 AVI( 3, 20, 190, J
, SND_09_JET
, 40, 74, 25, 230 ), // 9 Bakewell Luckett LB-11
608 AVI( 2, 16, 135, J
, SND_09_JET
, 35, 74, 10, 95 ), // 10 Yate Aerospace YAC 1-11
609 AVI( 2, 18, 240, J
, SND_09_JET
, 40, 74, 35, 170 ), // 11 Darwin 100
610 AVI( 4, 17, 155, J
, SND_09_JET
, 40, 74, 15, 110 ), // 12 Darwin 200
611 AVI( 7, 30, 253, J
, SND_3D_ANOTHER_JET_OVERHEAD
, 40, 74, 50, 300 ), // 13 Darwin 300
612 AVI( 4, 18, 210, J
, SND_09_JET
, 40, 74, 25, 200 ), // 14 Darwin 400
613 AVI( 4, 19, 220, J
, SND_09_JET
, 40, 74, 25, 240 ), // 15 Darwin 500
614 AVI( 4, 27, 230, J
, SND_09_JET
, 40, 74, 40, 260 ), // 16 Darwin 600
615 AVI( 3, 25, 225, J
, SND_09_JET
, 40, 74, 35, 240 ), // 17 Guru Galaxy
616 AVI( 4, 20, 235, J
, SND_09_JET
, 40, 74, 30, 260 ), // 18 Airtaxi A21
617 AVI( 4, 19, 220, J
, SND_09_JET
, 40, 74, 25, 210 ), // 19 Airtaxi A31
618 AVI( 4, 18, 170, J
, SND_09_JET
, 40, 74, 20, 160 ), // 20 Airtaxi A32
619 AVI( 4, 26, 210, J
, SND_09_JET
, 40, 74, 20, 220 ), // 21 Airtaxi A33
620 AVI( 6, 16, 125, P
, SND_09_JET
, 50, 74, 10, 80 ), // 22 Yate Aerospace YAe46
621 AVI( 2, 17, 145, P
, SND_09_JET
, 40, 74, 10, 85 ), // 23 Dinger 100
622 AVI( 11, 16, 130, P
, SND_09_JET
, 40, 74, 10, 75 ), // 24 AirTaxi A34-1000
623 AVI( 10, 16, 149, P
, SND_09_JET
, 40, 74, 10, 85 ), // 25 Yate Z-Shuttle
624 AVI( 15, 17, 170, P
, SND_09_JET
, 40, 74, 18, 65 ), // 26 Kelling K1
625 AVI( 12, 18, 210, J
, SND_09_JET
, 40, 74, 25, 110 ), // 27 Kelling K6
626 AVI( 13, 20, 230, J
, SND_09_JET
, 40, 74, 60, 180 ), // 28 Kelling K7
627 AVI( 14, 21, 220, J
, SND_09_JET
, 40, 74, 65, 150 ), // 29 Darwin 700
628 AVI( 16, 19, 160, J
, SND_09_JET
, 40, 181, 45, 85 ), // 30 FFP Hyperdart 2
629 AVI( 17, 24, 248, J
, SND_3D_ANOTHER_JET_OVERHEAD
, 40, 74, 80, 400 ), // 31 Dinger 200
630 AVI( 18, 80, 251, J
, SND_3B_JET_OVERHEAD
, 50, 181, 45, 130 ), // 32 Dinger 1000
631 AVI( 20, 13, 85, P
, SND_45_PLANE_CRASHING
, 18, 37, 5, 25 ), // 33 Ploddyphut 100
632 AVI( 21, 18, 100, P
, SND_46_PLANE_ENGINE_SPUTTERING
, 20, 37, 9, 60 ), // 34 Ploddyphut 500
633 AVI( 22, 25, 140, P
, SND_09_JET
, 40, 74, 12, 90 ), // 35 Flashbang X1
634 AVI( 23, 32, 220, J
, SND_3D_ANOTHER_JET_OVERHEAD
, 40, 74, 40, 200 ), // 36 Juggerplane M1
635 AVI( 24, 80, 255, J
, SND_3B_JET_OVERHEAD
, 50, 181, 30, 100 ), // 37 Flashbang Wizzer
636 AVI( 9, 15, 81, H
, SND_09_JET
, 20, 25, 15, 40 ), // 38 Tricario Helicopter
637 AVI( 19, 17, 77, H
, SND_09_JET
, 20, 40, 20, 55 ), // 39 Guru X2 Helicopter
638 AVI( 25, 15, 80, H
, SND_09_JET
, 20, 25, 10, 40 ), // 40 Powernaut Helicopter
646 * Writes the properties of a road vehicle into the RoadVehicleInfo struct.
647 * @see RoadVehicleInfo
648 * @param a image_index
649 * @param b cost_factor
650 * @param c running_cost
651 * @param d sound effect
652 * @param e max_speed (1 unit = 1/3.2 mph = 0.5 km-ish/h)
653 * @param f capacity (persons, bags, tons, pieces, items, cubic metres, ...)
654 * @param g weight (1/4 ton)
655 * @param h power (10 hp)
656 * Tractive effort coefficient by default is the same as TTDPatch, 0.30*256=76
657 * Air drag value depends on the top speed of the vehicle.
659 #define ROV(a, b, c, d, e, f, g, h) { a, b, c, PR_RUNNING_ROADVEH, d, e, f, g, h, 76, 0, VE_DEFAULT, 0 }
660 static const RoadVehicleInfo _orig_road_vehicle_info
[] = {
661 /* image_index sfx max_speed power
662 * | cost_factor | | capacity |
663 * | | running_cost | | weight
665 ROV( 0, 120, 91, SND_19_BUS_START_PULL_AWAY
, 112, 31, 42, 9), // 0 MPS Regal Bus
666 ROV( 17, 140, 128, SND_1C_TRUCK_START_2
, 176, 35, 60, 12), // 1 Hereford Leopard Bus
667 ROV( 17, 150, 178, SND_1B_TRUCK_START
, 224, 37, 70, 15), // 2 Foster Bus
668 ROV( 34, 160, 240, SND_1B_TRUCK_START
, 255, 40, 100, 25), // 3 Foster MkII Superbus
669 ROV( 51, 120, 91, SND_3C_COMEDY_CAR
, 112, 30, 42, 9), // 4 Ploddyphut MkI Bus
670 ROV( 51, 140, 171, SND_3E_COMEDY_CAR_2
, 192, 35, 60, 15), // 5 Ploddyphut MkII Bus
671 ROV( 51, 160, 240, SND_3C_COMEDY_CAR
, 240, 38, 90, 25), // 6 Ploddyphut MkIII Bus
672 ROV( 1, 108, 90, SND_19_BUS_START_PULL_AWAY
, 96, 20, 38, 12), // 7 Balogh Coal Truck
673 ROV( 18, 128, 168, SND_19_BUS_START_PULL_AWAY
, 176, 25, 48, 22), // 8 Uhl Coal Truck
674 ROV( 35, 138, 240, SND_19_BUS_START_PULL_AWAY
, 224, 28, 69, 45), // 9 DW Coal Truck
675 ROV( 2, 115, 90, SND_19_BUS_START_PULL_AWAY
, 96, 22, 38, 12), // 10 MPS Mail Truck
676 ROV( 19, 135, 168, SND_19_BUS_START_PULL_AWAY
, 176, 28, 48, 22), // 11 Reynard Mail Truck
677 ROV( 36, 145, 240, SND_19_BUS_START_PULL_AWAY
, 224, 30, 69, 45), // 12 Perry Mail Truck
678 ROV( 57, 115, 90, SND_3E_COMEDY_CAR_2
, 96, 22, 38, 12), // 13 MightyMover Mail Truck
679 ROV( 57, 135, 168, SND_3C_COMEDY_CAR
, 176, 28, 48, 22), // 14 Powernaught Mail Truck
680 ROV( 57, 145, 240, SND_3E_COMEDY_CAR_2
, 224, 30, 69, 45), // 15 Wizzowow Mail Truck
681 ROV( 3, 110, 90, SND_19_BUS_START_PULL_AWAY
, 96, 21, 38, 12), // 16 Witcombe Oil Tanker
682 ROV( 20, 140, 168, SND_19_BUS_START_PULL_AWAY
, 176, 25, 48, 22), // 17 Foster Oil Tanker
683 ROV( 37, 150, 240, SND_19_BUS_START_PULL_AWAY
, 224, 27, 69, 45), // 18 Perry Oil Tanker
684 ROV( 4, 105, 90, SND_19_BUS_START_PULL_AWAY
, 96, 14, 38, 12), // 19 Talbott Livestock Van
685 ROV( 21, 130, 168, SND_19_BUS_START_PULL_AWAY
, 176, 16, 48, 22), // 20 Uhl Livestock Van
686 ROV( 38, 140, 240, SND_19_BUS_START_PULL_AWAY
, 224, 18, 69, 45), // 21 Foster Livestock Van
687 ROV( 5, 107, 90, SND_19_BUS_START_PULL_AWAY
, 96, 14, 38, 12), // 22 Balogh Goods Truck
688 ROV( 22, 130, 168, SND_19_BUS_START_PULL_AWAY
, 176, 16, 48, 22), // 23 Craighead Goods Truck
689 ROV( 39, 140, 240, SND_19_BUS_START_PULL_AWAY
, 224, 18, 69, 45), // 24 Goss Goods Truck
690 ROV( 6, 114, 90, SND_19_BUS_START_PULL_AWAY
, 96, 20, 38, 12), // 25 Hereford Grain Truck
691 ROV( 23, 133, 168, SND_19_BUS_START_PULL_AWAY
, 176, 25, 48, 22), // 26 Thomas Grain Truck
692 ROV( 40, 143, 240, SND_19_BUS_START_PULL_AWAY
, 224, 30, 69, 45), // 27 Goss Grain Truck
693 ROV( 7, 118, 90, SND_19_BUS_START_PULL_AWAY
, 96, 20, 38, 12), // 28 Witcombe Wood Truck
694 ROV( 24, 137, 168, SND_19_BUS_START_PULL_AWAY
, 176, 22, 48, 22), // 29 Foster Wood Truck
695 ROV( 41, 147, 240, SND_19_BUS_START_PULL_AWAY
, 224, 24, 69, 45), // 30 Moreland Wood Truck
696 ROV( 8, 121, 90, SND_19_BUS_START_PULL_AWAY
, 96, 22, 38, 12), // 31 MPS Iron Ore Truck
697 ROV( 25, 140, 168, SND_19_BUS_START_PULL_AWAY
, 176, 25, 48, 22), // 32 Uhl Iron Ore Truck
698 ROV( 42, 150, 240, SND_19_BUS_START_PULL_AWAY
, 224, 27, 69, 45), // 33 Chippy Iron Ore Truck
699 ROV( 9, 112, 90, SND_19_BUS_START_PULL_AWAY
, 96, 15, 38, 12), // 34 Balogh Steel Truck
700 ROV( 26, 135, 168, SND_19_BUS_START_PULL_AWAY
, 176, 18, 48, 22), // 35 Uhl Steel Truck
701 ROV( 43, 145, 240, SND_19_BUS_START_PULL_AWAY
, 224, 20, 69, 45), // 36 Kelling Steel Truck
702 ROV( 10, 145, 90, SND_19_BUS_START_PULL_AWAY
, 96, 12, 38, 12), // 37 Balogh Armoured Truck
703 ROV( 27, 170, 168, SND_19_BUS_START_PULL_AWAY
, 176, 15, 48, 22), // 38 Uhl Armoured Truck
704 ROV( 44, 180, 240, SND_19_BUS_START_PULL_AWAY
, 224, 16, 69, 45), // 39 Foster Armoured Truck
705 ROV( 11, 112, 90, SND_19_BUS_START_PULL_AWAY
, 96, 17, 38, 12), // 40 Foster Food Van
706 ROV( 28, 134, 168, SND_19_BUS_START_PULL_AWAY
, 176, 20, 48, 22), // 41 Perry Food Van
707 ROV( 45, 144, 240, SND_19_BUS_START_PULL_AWAY
, 224, 22, 69, 45), // 42 Chippy Food Van
708 ROV( 12, 112, 90, SND_19_BUS_START_PULL_AWAY
, 96, 15, 38, 12), // 43 Uhl Paper Truck
709 ROV( 29, 135, 168, SND_19_BUS_START_PULL_AWAY
, 176, 18, 48, 22), // 44 Balogh Paper Truck
710 ROV( 46, 145, 240, SND_19_BUS_START_PULL_AWAY
, 224, 20, 69, 45), // 45 MPS Paper Truck
711 ROV( 13, 121, 90, SND_19_BUS_START_PULL_AWAY
, 96, 22, 38, 12), // 46 MPS Copper Ore Truck
712 ROV( 30, 140, 168, SND_19_BUS_START_PULL_AWAY
, 176, 25, 48, 22), // 47 Uhl Copper Ore Truck
713 ROV( 47, 150, 240, SND_19_BUS_START_PULL_AWAY
, 224, 27, 69, 45), // 48 Goss Copper Ore Truck
714 ROV( 14, 111, 90, SND_19_BUS_START_PULL_AWAY
, 96, 21, 38, 12), // 49 Uhl Water Tanker
715 ROV( 31, 141, 168, SND_19_BUS_START_PULL_AWAY
, 176, 25, 48, 22), // 50 Balogh Water Tanker
716 ROV( 48, 151, 240, SND_19_BUS_START_PULL_AWAY
, 224, 27, 69, 45), // 51 MPS Water Tanker
717 ROV( 15, 118, 90, SND_19_BUS_START_PULL_AWAY
, 96, 18, 38, 12), // 52 Balogh Fruit Truck
718 ROV( 32, 148, 168, SND_19_BUS_START_PULL_AWAY
, 176, 20, 48, 22), // 53 Uhl Fruit Truck
719 ROV( 49, 158, 240, SND_19_BUS_START_PULL_AWAY
, 224, 23, 69, 45), // 54 Kelling Fruit Truck
720 ROV( 16, 117, 90, SND_19_BUS_START_PULL_AWAY
, 96, 17, 38, 12), // 55 Balogh Rubber Truck
721 ROV( 33, 147, 168, SND_19_BUS_START_PULL_AWAY
, 176, 19, 48, 22), // 56 Uhl Rubber Truck
722 ROV( 50, 157, 240, SND_19_BUS_START_PULL_AWAY
, 224, 22, 69, 45), // 57 RMT Rubber Truck
723 ROV( 52, 117, 90, SND_3F_COMEDY_CAR_3
, 96, 17, 38, 12), // 58 MightyMover Sugar Truck
724 ROV( 52, 147, 168, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 176, 19, 48, 22), // 59 Powernaught Sugar Truck
725 ROV( 52, 157, 240, SND_3F_COMEDY_CAR_3
, 224, 22, 69, 45), // 60 Wizzowow Sugar Truck
726 ROV( 53, 117, 90, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 96, 17, 38, 12), // 61 MightyMover Cola Truck
727 ROV( 53, 147, 168, SND_3F_COMEDY_CAR_3
, 176, 19, 48, 22), // 62 Powernaught Cola Truck
728 ROV( 53, 157, 240, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 224, 22, 69, 45), // 63 Wizzowow Cola Truck
729 ROV( 54, 117, 90, SND_3F_COMEDY_CAR_3
, 96, 17, 38, 12), // 64 MightyMover Candyfloss Truck
730 ROV( 54, 147, 168, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 176, 19, 48, 22), // 65 Powernaught Candyfloss Truck
731 ROV( 54, 157, 240, SND_3F_COMEDY_CAR_3
, 224, 22, 69, 45), // 66 Wizzowow Candyfloss Truck
732 ROV( 55, 117, 90, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 96, 17, 38, 12), // 67 MightyMover Toffee Truck
733 ROV( 55, 147, 168, SND_3F_COMEDY_CAR_3
, 176, 19, 48, 22), // 68 Powernaught Toffee Truck
734 ROV( 55, 157, 240, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 224, 22, 69, 45), // 69 Wizzowow Toffee Truck
735 ROV( 56, 117, 90, SND_3F_COMEDY_CAR_3
, 96, 17, 38, 12), // 70 MightyMover Toy Van
736 ROV( 56, 147, 168, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 176, 19, 48, 22), // 71 Powernaught Toy Van
737 ROV( 56, 157, 240, SND_3F_COMEDY_CAR_3
, 224, 22, 69, 45), // 72 Wizzowow Toy Van
738 ROV( 58, 117, 90, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 96, 17, 38, 12), // 73 MightyMover Sweet Truck
739 ROV( 58, 147, 168, SND_3F_COMEDY_CAR_3
, 176, 19, 48, 22), // 74 Powernaught Sweet Truck
740 ROV( 58, 157, 240, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 224, 22, 69, 45), // 75 Wizzowow Sweet Truck
741 ROV( 59, 117, 90, SND_3F_COMEDY_CAR_3
, 96, 17, 38, 12), // 76 MightyMover Battery Truck
742 ROV( 59, 147, 168, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 176, 19, 48, 22), // 77 Powernaught Battery Truck
743 ROV( 59, 157, 240, SND_3F_COMEDY_CAR_3
, 224, 22, 69, 45), // 78 Wizzowow Battery Truck
744 ROV( 60, 117, 90, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 96, 17, 38, 12), // 79 MightyMover Fizzy Drink Truck
745 ROV( 60, 147, 168, SND_3F_COMEDY_CAR_3
, 176, 19, 48, 22), // 80 Powernaught Fizzy Drink Truck
746 ROV( 60, 157, 240, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 224, 22, 69, 45), // 81 Wizzowow Fizzy Drink Truck
747 ROV( 61, 117, 90, SND_3F_COMEDY_CAR_3
, 96, 17, 38, 12), // 82 MightyMover Plastic Truck
748 ROV( 61, 147, 168, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 176, 19, 48, 22), // 83 Powernaught Plastic Truck
749 ROV( 61, 157, 240, SND_3F_COMEDY_CAR_3
, 224, 22, 69, 45), // 84 Wizzowow Plastic Truck
750 ROV( 62, 117, 90, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 96, 17, 38, 12), // 85 MightyMover Bubble Truck
751 ROV( 62, 147, 168, SND_3F_COMEDY_CAR_3
, 176, 19, 48, 22), // 86 Powernaught Bubble Truck
752 ROV( 62, 157, 240, SND_40_COMEDY_CAR_START_AND_PULL_AWAY
, 224, 22, 69, 45), // 87 Wizzowow Bubble Truck
756 #endif /* ENGINES_H */