27#define MT(a, b, c, d, e, f) { CalendarTime::DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, INVALID_CARGO, e, 0, 8, 0, 0, 0, ExtraEngineFlags::None, STR_EMPTY, Ticks::CARGO_AGING_TICKS, INVALID_ENGINE }
40#define MM(a, b, c, d, e, f) { CalendarTime::DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, INVALID_CARGO, e, 0, 8, 1 << EF_RAIL_IS_MU, 0, 0, ExtraEngineFlags::None, STR_EMPTY, Ticks::CARGO_AGING_TICKS, INVALID_ENGINE }
53#define MW(a, b, c, d, e, f) { CalendarTime::DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, INVALID_CARGO, e, 0, 8, 0, 0, 0, ExtraEngineFlags::None, STR_EMPTY, Ticks::CARGO_AGING_TICKS, INVALID_ENGINE }
66#define MR(a, b, c, d, e, f) { CalendarTime::DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 5, f, INVALID_CARGO, e, 0, 8, 0, 0, 0, ExtraEngineFlags::None, STR_EMPTY, Ticks::CARGO_AGING_TICKS, INVALID_ENGINE }
78#define MS(a, b, c, d, e, f) { CalendarTime::DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 10, f, INVALID_CARGO, e, 0, 8, 0, 0, 0, ExtraEngineFlags::None, STR_EMPTY, Ticks::CARGO_AGING_TICKS, INVALID_ENGINE }
89#define MA(a, b, c, d, e) { CalendarTime::DAYS_TILL_ORIGINAL_BASE_YEAR + a, c, d, b, 20, e, INVALID_CARGO, CT_INVALID, 0, 8, 0, 0, 0, ExtraEngineFlags::None, STR_EMPTY, Ticks::CARGO_AGING_TICKS, INVALID_ENGINE }
100static constexpr EngineInfo _orig_engine_info[] = {
127 MT( 20820, 20, 20, 25, CT_MAIL , T ),
133 MW( 1827, 20, 20, 50, CT_MAIL , T|A|S|Y),
134 MW( 1827, 20, 20, 50, CT_COAL , T|A ),
135 MW( 1827, 20, 20, 50, CT_OIL , T|A|S ),
136 MW( 1827, 20, 20, 50, CT_LIVESTOCK , T|A ),
137 MW( 1827, 20, 20, 50, CT_GOODS , T|A|S ),
139 MW( 1827, 20, 20, 50, CT_WOOD , T|A|S ),
140 MW( 1827, 20, 20, 50, CT_IRON_ORE , T ),
141 MW( 1827, 20, 20, 50, CT_STEEL , T ),
143 MW( 1827, 20, 20, 50, CT_FOOD , A|S ),
144 MW( 1827, 20, 20, 50, CT_PAPER , A ),
145 MW( 1827, 20, 20, 50, CT_COPPER_ORE , S ),
146 MW( 1827, 20, 20, 50, CT_WATER , S ),
147 MW( 1827, 20, 20, 50, CT_FRUIT , S ),
148 MW( 1827, 20, 20, 50, CT_RUBBER , S ),
149 MW( 1827, 20, 20, 50, CT_SUGAR , Y),
150 MW( 1827, 20, 20, 50, CT_COTTON_CANDY, Y),
151 MW( 1827, 20, 20, 50, CT_TOFFEE , Y),
152 MW( 1827, 20, 20, 50, CT_BUBBLES , Y),
153 MW( 1827, 20, 20, 50, CT_COLA , Y),
154 MW( 1827, 20, 20, 50, CT_CANDY , Y),
155 MW( 1827, 20, 20, 50, CT_TOYS , Y),
156 MW( 1827, 20, 20, 50, CT_BATTERIES , Y),
157 MW( 1827, 20, 20, 50, CT_FIZZY_DRINKS, Y),
158 MW( 1827, 20, 20, 50, CT_PLASTIC , Y),
159 MT( 28490, 20, 20, 50,
CT_NONE , T|A|S ),
163 MW( 1827, 20, 20, 50, CT_MAIL , T|A|S|Y),
164 MW( 1827, 20, 20, 50, CT_COAL , T|A ),
165 MW( 1827, 20, 20, 50, CT_OIL , T|A|S ),
166 MW( 1827, 20, 20, 50, CT_LIVESTOCK , T|A ),
167 MW( 1827, 20, 20, 50, CT_GOODS , T|A|S ),
169 MW( 1827, 20, 20, 50, CT_WOOD , T|A|S ),
170 MW( 1827, 20, 20, 50, CT_IRON_ORE , T ),
171 MW( 1827, 20, 20, 50, CT_STEEL , T ),
173 MW( 1827, 20, 20, 50, CT_FOOD , A|S ),
174 MW( 1827, 20, 20, 50, CT_PAPER , A ),
175 MW( 1827, 20, 20, 50, CT_COPPER_ORE , S ),
176 MW( 1827, 20, 20, 50, CT_WATER , S ),
177 MW( 1827, 20, 20, 50, CT_FRUIT , S ),
178 MW( 1827, 20, 20, 50, CT_RUBBER , S ),
179 MW( 1827, 20, 20, 50, CT_SUGAR , Y),
180 MW( 1827, 20, 20, 50, CT_COTTON_CANDY, Y),
181 MW( 1827, 20, 20, 50, CT_TOFFEE , Y),
182 MW( 1827, 20, 20, 50, CT_BUBBLES , Y),
183 MW( 1827, 20, 20, 50, CT_COLA , Y),
184 MW( 1827, 20, 20, 50, CT_CANDY , Y),
185 MW( 1827, 20, 20, 50, CT_TOYS , Y),
186 MW( 1827, 20, 20, 50, CT_BATTERIES , Y),
187 MW( 1827, 20, 20, 50, CT_FIZZY_DRINKS, Y),
188 MW( 1827, 20, 20, 50, CT_PLASTIC , Y),
189 MT( 36525, 20, 20, 50,
CT_NONE , T|A|S ),
190 MT( 39447, 20, 20, 50,
CT_NONE , T|A|S ),
191 MT( 42004, 20, 20, 50,
CT_NONE , T|A|S ),
192 MT( 42735, 20, 20, 50,
CT_NONE , T|A|S ),
195 MW( 1827, 20, 20, 50, CT_MAIL , T|A|S|Y),
196 MW( 1827, 20, 20, 50, CT_COAL , T|A ),
197 MW( 1827, 20, 20, 50, CT_OIL , T|A|S ),
198 MW( 1827, 20, 20, 50, CT_LIVESTOCK , T|A ),
199 MW( 1827, 20, 20, 50, CT_GOODS , T|A|S ),
201 MW( 1827, 20, 20, 50, CT_WOOD , T|A|S ),
202 MW( 1827, 20, 20, 50, CT_IRON_ORE , T ),
203 MW( 1827, 20, 20, 50, CT_STEEL , T ),
205 MW( 1827, 20, 20, 50, CT_FOOD , A|S ),
206 MW( 1827, 20, 20, 50, CT_PAPER , A ),
207 MW( 1827, 20, 20, 50, CT_COPPER_ORE , S ),
208 MW( 1827, 20, 20, 50, CT_WATER , S ),
209 MW( 1827, 20, 20, 50, CT_FRUIT , S ),
210 MW( 1827, 20, 20, 50, CT_RUBBER , S ),
211 MW( 1827, 20, 20, 50, CT_SUGAR , Y),
212 MW( 1827, 20, 20, 50, CT_COTTON_CANDY, Y),
213 MW( 1827, 20, 20, 50, CT_TOFFEE , Y),
214 MW( 1827, 20, 20, 50, CT_BUBBLES , Y),
215 MW( 1827, 20, 20, 50, CT_COLA , Y),
216 MW( 1827, 20, 20, 50, CT_CANDY , Y),
217 MW( 1827, 20, 20, 50, CT_TOYS , Y),
218 MW( 1827, 20, 20, 50, CT_BATTERIES , Y),
219 MW( 1827, 20, 20, 50, CT_FIZZY_DRINKS, Y),
220 MW( 1827, 20, 20, 50, CT_PLASTIC , Y),
228 MR( 5479, 20, 15, 55, CT_COAL , T|A ),
229 MR( 20089, 20, 15, 55, CT_COAL , T|A ),
230 MR( 33969, 20, 15, 85, CT_COAL , T|A ),
231 MR( 5479, 20, 15, 55, CT_MAIL , T|A|S ),
232 MR( 21550, 20, 15, 55, CT_MAIL , T|A|S ),
233 MR( 35795, 20, 15, 85, CT_MAIL , T|A|S ),
234 MR( 5479, 20, 15, 55, CT_MAIL , Y),
235 MR( 21550, 20, 15, 55, CT_MAIL , Y),
236 MR( 35795, 20, 15, 85, CT_MAIL , Y),
237 MR( 5479, 20, 15, 55, CT_OIL , T|A|S ),
238 MR( 19359, 20, 15, 55, CT_OIL , T|A|S ),
239 MR( 31047, 20, 15, 85, CT_OIL , T|A|S ),
240 MR( 5479, 20, 15, 55, CT_LIVESTOCK , T|A ),
241 MR( 21915, 20, 15, 55, CT_LIVESTOCK , T|A ),
242 MR( 37256, 20, 15, 85, CT_LIVESTOCK , T|A ),
243 MR( 5479, 20, 15, 55, CT_GOODS , T|A|S ),
244 MR( 19724, 20, 15, 55, CT_GOODS , T|A|S ),
245 MR( 31047, 20, 15, 85, CT_GOODS , T|A|S ),
249 MR( 5479, 20, 15, 55, CT_WOOD , T|A|S ),
250 MR( 19724, 20, 15, 55, CT_WOOD , T|A|S ),
251 MR( 35430, 20, 15, 85, CT_WOOD , T|A|S ),
252 MR( 5479, 20, 15, 55, CT_IRON_ORE , T ),
253 MR( 20820, 20, 15, 55, CT_IRON_ORE , T ),
254 MR( 33238, 20, 15, 85, CT_IRON_ORE , T ),
255 MR( 5479, 20, 15, 55, CT_STEEL , T ),
256 MR( 21185, 20, 15, 55, CT_STEEL , T ),
257 MR( 31777, 20, 15, 85, CT_STEEL , T ),
261 MR( 5479, 20, 15, 55, CT_FOOD , A|S ),
262 MR( 18628, 20, 15, 55, CT_FOOD , A|S ),
263 MR( 30681, 20, 15, 85, CT_FOOD , A|S ),
264 MR( 5479, 20, 15, 55, CT_PAPER , A ),
265 MR( 21185, 20, 15, 55, CT_PAPER , A ),
266 MR( 31777, 20, 15, 85, CT_PAPER , A ),
267 MR( 5479, 20, 15, 55, CT_COPPER_ORE , S ),
268 MR( 20820, 20, 15, 55, CT_COPPER_ORE , S ),
269 MR( 33238, 20, 15, 85, CT_COPPER_ORE , S ),
270 MR( 5479, 20, 15, 55, CT_WATER , S ),
271 MR( 20970, 20, 15, 55, CT_WATER , S ),
272 MR( 33388, 20, 15, 85, CT_WATER , S ),
273 MR( 5479, 20, 15, 55, CT_FRUIT , S ),
274 MR( 21335, 20, 15, 55, CT_FRUIT , S ),
275 MR( 33753, 20, 15, 85, CT_FRUIT , S ),
276 MR( 5479, 20, 15, 55, CT_RUBBER , S ),
277 MR( 20604, 20, 15, 55, CT_RUBBER , S ),
278 MR( 33023, 20, 15, 85, CT_RUBBER , S ),
279 MR( 5479, 20, 15, 55, CT_SUGAR , Y),
280 MR( 19724, 20, 15, 55, CT_SUGAR , Y),
281 MR( 33238, 20, 15, 85, CT_SUGAR , Y),
282 MR( 5479, 20, 15, 55, CT_COLA , Y),
283 MR( 20089, 20, 15, 55, CT_COLA , Y),
284 MR( 33603, 20, 15, 85, CT_COLA , Y),
285 MR( 5479, 20, 15, 55, CT_COTTON_CANDY, Y),
286 MR( 20454, 20, 15, 55, CT_COTTON_CANDY, Y),
287 MR( 33969, 20, 15, 85, CT_COTTON_CANDY, Y),
288 MR( 5479, 20, 15, 55, CT_TOFFEE , Y),
289 MR( 20820, 20, 15, 55, CT_TOFFEE , Y),
290 MR( 34334, 20, 15, 85, CT_TOFFEE , Y),
291 MR( 5479, 20, 15, 55, CT_TOYS , Y),
292 MR( 21185, 20, 15, 55, CT_TOYS , Y),
293 MR( 34699, 20, 15, 85, CT_TOYS , Y),
294 MR( 5479, 20, 15, 55, CT_CANDY , Y),
295 MR( 21550, 20, 15, 55, CT_CANDY , Y),
296 MR( 35064, 20, 15, 85, CT_CANDY , Y),
297 MR( 5479, 20, 15, 55, CT_BATTERIES , Y),
298 MR( 19874, 20, 15, 55, CT_BATTERIES , Y),
299 MR( 35430, 20, 15, 85, CT_BATTERIES , Y),
300 MR( 5479, 20, 15, 55, CT_FIZZY_DRINKS, Y),
301 MR( 20239, 20, 15, 55, CT_FIZZY_DRINKS, Y),
302 MR( 35795, 20, 15, 85, CT_FIZZY_DRINKS, Y),
303 MR( 5479, 20, 15, 55, CT_PLASTIC , Y),
304 MR( 20604, 20, 15, 55, CT_PLASTIC , Y),
305 MR( 32873, 20, 15, 85, CT_PLASTIC , Y),
306 MR( 5479, 20, 15, 55, CT_BUBBLES , Y),
307 MR( 20970, 20, 15, 55, CT_BUBBLES , Y),
308 MR( 33023, 20, 15, 85, CT_BUBBLES , Y),
309 MS( 2922, 5, 30, 50, CT_OIL , T|A|S ),
310 MS( 17167, 5, 30, 90, CT_OIL , T|A|S ),
316 MS( 2557, 5, 30, 55, CT_GOODS , T|A|S ),
317 MS( 19724, 5, 30, 98, CT_GOODS , T|A|S ),
318 MS( 9587, 5, 30, 45, CT_GOODS , Y),
319 MS( 22371, 5, 30, 90, CT_GOODS , Y),
320 MA( 2922, 20, 20, 20, T|A|S ),
321 MA( 9922, 20, 24, 20, T|A|S ),
322 MA( 12659, 20, 18, 20, T|A|S ),
323 MA( 17652, 20, 25, 35, T|A|S ),
324 MA( 4929, 20, 30, 30, T|A|S ),
325 MA( 13695, 20, 23, 25, T|A|S ),
326 MA( 16341, 20, 26, 30, T|A|S ),
327 MA( 21395, 20, 25, 30, T|A|S ),
328 MA( 18263, 20, 20, 30, T|A|S ),
329 MA( 25233, 20, 25, 30, T|A|S ),
330 MA( 15371, 20, 22, 25, T|A|S ),
331 MA( 15461, 20, 25, 25, T|A|S ),
332 MA( 16952, 20, 22, 25, T|A|S ),
333 MA( 17227, 20, 25, 30, T|A|S ),
334 MA( 22371, 20, 25, 35, T|A|S ),
335 MA( 22341, 20, 25, 30, T|A|S ),
336 MA( 27209, 20, 25, 30, T|A|S ),
337 MA( 17988, 20, 20, 30, T|A|S ),
338 MA( 18993, 20, 24, 35, T|A|S ),
339 MA( 22401, 20, 24, 30, T|A|S ),
340 MA( 24472, 20, 24, 30, T|A|S ),
341 MA( 26724, 20, 24, 30, T|A|S ),
342 MA( 22005, 20, 25, 30, T|A|S ),
343 MA( 24107, 20, 20, 35, T|A|S ),
344 MA( 29310, 20, 25, 60, T|A|S ),
345 MA( 35520, 20, 22, 30, T|A|S ),
346 MA( 36981, 20, 22, 30, T|A|S ),
347 MA( 38807, 20, 22, 50, T|A|S ),
348 MA( 42094, 20, 25, 30, T|A|S ),
349 MA( 44651, 20, 23, 30, T|A|S ),
350 MA( 40268, 20, 25, 30, T|A|S ),
351 MA( 33693, 20, 25, 50, T|A|S ),
352 MA( 32963, 20, 20, 60, T|A|S ),
353 MA( 9222, 20, 20, 35, Y),
354 MA( 12874, 20, 20, 35, Y),
355 MA( 16892, 20, 20, 35, Y),
356 MA( 21275, 20, 20, 99, Y),
357 MA( 23832, 20, 20, 99, Y),
358 MA( 13575, 20, 20, 40, T|A|S ),
359 MA( 28215, 20, 20, 30, T|A|S ),
360 MA( 13575, 20, 20, 99, Y),
389#define RVI(a, b, c, d, e, f, g, h, i, j, k) { a, b, c, j, j, 0, d, e, f, g, h, k, i, 0, 0, VE_DEFAULT, 0, 76, 0, 0, 0 }
390#define M RAILVEH_MULTIHEAD
391#define W RAILVEH_WAGON
392#define G RAILVEH_SINGLEHEAD
401#define R RAILTYPE_RAIL
402#define C RAILTYPE_ELECTRIC
403#define O RAILTYPE_MONO
404#define L RAILTYPE_MAGLEV
406#define RC_S PR_RUNNING_TRAIN_STEAM
407#define RC_D PR_RUNNING_TRAIN_DIESEL
408#define RC_E PR_RUNNING_TRAIN_ELECTRIC
409#define RC_W INVALID_PRICE
418 RVI( 2, G, 7, 64, 300, 47, 50, RC_S, 0, R, S),
419 RVI(19, G, 8, 80, 600, 65, 65, RC_D, 0, R, D),
420 RVI( 2, G, 10, 72, 400, 85, 90, RC_S, 0, R, S),
421 RVI( 0, G, 15, 96, 900, 130, 130, RC_S, 0, R, S),
422 RVI( 1, G, 19, 112, 1000, 140, 145, RC_S, 0, R, S),
423 RVI(12, G, 16, 120, 1400, 95, 125, RC_D, 0, R, D),
424 RVI(14, G, 20, 152, 2000, 120, 135, RC_D, 0, R, D),
425 RVI( 3, G, 14, 88, 1100, 145, 130, RC_S, 0, R, S),
426 RVI( 0, G, 13, 112, 1000, 131, 120, RC_S, 0, R, S),
427 RVI( 1, G, 19, 128, 1200, 162, 140, RC_S, 0, R, S),
428 RVI( 0, G, 22, 144, 1600, 170, 130, RC_S, 0, R, S),
429 RVI( 8,
M, 11, 112, 600, 32, 85, RC_D, 38, R, D),
430 RVI(10,
M, 14, 120, 700, 38, 70, RC_D, 40, R, D),
431 RVI( 4, G, 15, 128, 1250, 72, 95, RC_D, 0, R, D),
432 RVI( 5, G, 17, 144, 1750, 101, 120, RC_D, 0, R, D),
433 RVI( 4, G, 18, 160, 2580, 112, 140, RC_D, 0, R, D),
434 RVI(14, G, 23, 96, 4000, 150, 135, RC_D, 0, R, D),
435 RVI(12, G, 16, 112, 2400, 120, 105, RC_D, 0, R, D),
436 RVI(13, G, 30, 112, 6600, 207, 155, RC_D, 0, R, D),
437 RVI(15, G, 18, 104, 1500, 110, 105, RC_D, 0, R, D),
438 RVI(16,
M, 35, 160, 3500, 95, 205, RC_D, 0, R, D),
439 RVI(18, G, 21, 104, 2200, 120, 145, RC_D, 0, R, D),
440 RVI( 6,
M, 20, 200, 4500, 70, 190, RC_D, 4, R, D),
441 RVI(20, G, 26, 160, 3600, 84, 180, RC_E, 0, C, E),
442 RVI(20, G, 30, 176, 5000, 82, 205, RC_E, 0, C, E),
443 RVI(21,
M, 40, 240, 7000, 90, 240, RC_E, 0, C, E),
444 RVI(23,
M, 43, 264, 8000, 95, 250, RC_E, 0, C, E),
445 RVI(33, W, 247, 0, 0, 25, 0, RC_W, 40, R, A),
446 RVI(35, W, 228, 0, 0, 21, 0, RC_W, 30, R, A),
447 RVI(34, W, 176, 0, 0, 18, 0, RC_W, 30, R, A),
448 RVI(36, W, 200, 0, 0, 24, 0, RC_W, 30, R, A),
449 RVI(37, W, 192, 0, 0, 20, 0, RC_W, 25, R, A),
450 RVI(38, W, 190, 0, 0, 21, 0, RC_W, 25, R, A),
451 RVI(39, W, 182, 0, 0, 19, 0, RC_W, 30, R, A),
452 RVI(40, W, 181, 0, 0, 16, 0, RC_W, 30, R, A),
453 RVI(41, W, 179, 0, 0, 19, 0, RC_W, 30, R, A),
454 RVI(42, W, 196, 0, 0, 18, 0, RC_W, 20, R, A),
455 RVI(43, W, 255, 0, 0, 30, 0, RC_W, 20, R, A),
456 RVI(44, W, 191, 0, 0, 22, 0, RC_W, 25, R, A),
457 RVI(45, W, 196, 0, 0, 18, 0, RC_W, 20, R, A),
458 RVI(46, W, 179, 0, 0, 19, 0, RC_W, 30, R, A),
459 RVI(47, W, 199, 0, 0, 25, 0, RC_W, 25, R, A),
460 RVI(48, W, 182, 0, 0, 18, 0, RC_W, 25, R, A),
461 RVI(49, W, 185, 0, 0, 19, 0, RC_W, 21, R, A),
462 RVI(50, W, 176, 0, 0, 19, 0, RC_W, 30, R, A),
463 RVI(51, W, 178, 0, 0, 20, 0, RC_W, 30, R, A),
464 RVI(52, W, 192, 0, 0, 20, 0, RC_W, 30, R, A),
465 RVI(53, W, 190, 0, 0, 21, 0, RC_W, 20, R, A),
466 RVI(54, W, 182, 0, 0, 24, 0, RC_W, 25, R, A),
467 RVI(55, W, 181, 0, 0, 21, 0, RC_W, 25, R, A),
468 RVI(56, W, 183, 0, 0, 21, 0, RC_W, 20, R, A),
469 RVI(57, W, 196, 0, 0, 18, 0, RC_W, 22, R, A),
470 RVI(58, W, 193, 0, 0, 18, 0, RC_W, 25, R, A),
471 RVI(59, W, 191, 0, 0, 18, 0, RC_W, 30, R, A),
473 RVI(25, G, 52, 304, 9000, 95, 230, RC_E, 0, O, N),
474 RVI(26,
M, 60, 336, 10000, 85, 240, RC_E, 25, O, N),
475 RVI(26, G, 53, 320, 5000, 95, 230, RC_E, 0, O, N),
476 RVI(60, W, 247, 0, 0, 25, 0, RC_W, 45, O, A),
477 RVI(62, W, 228, 0, 0, 21, 0, RC_W, 35, O, A),
478 RVI(61, W, 176, 0, 0, 18, 0, RC_W, 35, O, A),
479 RVI(63, W, 200, 0, 0, 24, 0, RC_W, 35, O, A),
480 RVI(64, W, 192, 0, 0, 20, 0, RC_W, 30, O, A),
481 RVI(65, W, 190, 0, 0, 21, 0, RC_W, 30, O, A),
482 RVI(66, W, 182, 0, 0, 19, 0, RC_W, 35, O, A),
483 RVI(67, W, 181, 0, 0, 16, 0, RC_W, 35, O, A),
484 RVI(68, W, 179, 0, 0, 19, 0, RC_W, 35, O, A),
485 RVI(69, W, 196, 0, 0, 18, 0, RC_W, 25, O, A),
486 RVI(70, W, 255, 0, 0, 30, 0, RC_W, 25, O, A),
487 RVI(71, W, 191, 0, 0, 22, 0, RC_W, 30, O, A),
488 RVI(72, W, 196, 0, 0, 18, 0, RC_W, 25, O, A),
489 RVI(73, W, 179, 0, 0, 19, 0, RC_W, 35, O, A),
490 RVI(47, W, 199, 0, 0, 25, 0, RC_W, 30, O, A),
491 RVI(48, W, 182, 0, 0, 18, 0, RC_W, 30, O, A),
492 RVI(49, W, 185, 0, 0, 19, 0, RC_W, 26, O, A),
493 RVI(50, W, 176, 0, 0, 19, 0, RC_W, 35, O, A),
494 RVI(51, W, 178, 0, 0, 20, 0, RC_W, 35, O, A),
495 RVI(52, W, 192, 0, 0, 20, 0, RC_W, 35, O, A),
496 RVI(53, W, 190, 0, 0, 21, 0, RC_W, 25, O, A),
497 RVI(54, W, 182, 0, 0, 24, 0, RC_W, 30, O, A),
498 RVI(55, W, 181, 0, 0, 21, 0, RC_W, 30, O, A),
499 RVI(56, W, 183, 0, 0, 21, 0, RC_W, 25, O, A),
500 RVI(57, W, 196, 0, 0, 18, 0, RC_W, 27, O, A),
501 RVI(58, W, 193, 0, 0, 18, 0, RC_W, 30, O, A),
502 RVI(59, W, 191, 0, 0, 18, 0, RC_W, 35, O, A),
504 RVI(28, G, 70, 400, 10000, 105, 250, RC_E, 0, L, V),
505 RVI(29, G, 74, 448, 12000, 120, 253, RC_E, 0, L, V),
506 RVI(30, G, 82, 480, 15000, 130, 254, RC_E, 0, L, V),
507 RVI(31,
M, 95, 640, 20000, 150, 255, RC_E, 0, L, V),
508 RVI(28, G, 70, 480, 10000, 120, 250, RC_E, 0, L, V),
509 RVI(60, W, 247, 0, 0, 25, 0, RC_W, 47, L, A),
510 RVI(62, W, 228, 0, 0, 21, 0, RC_W, 37, L, A),
511 RVI(61, W, 176, 0, 0, 18, 0, RC_W, 37, L, A),
512 RVI(63, W, 200, 0, 0, 24, 0, RC_W, 37, L, A),
513 RVI(64, W, 192, 0, 0, 20, 0, RC_W, 32, L, A),
514 RVI(65, W, 190, 0, 0, 21, 0, RC_W, 32, L, A),
515 RVI(66, W, 182, 0, 0, 19, 0, RC_W, 37, L, A),
516 RVI(67, W, 181, 0, 0, 16, 0, RC_W, 37, L, A),
517 RVI(68, W, 179, 0, 0, 19, 0, RC_W, 37, L, A),
518 RVI(69, W, 196, 0, 0, 18, 0, RC_W, 27, L, A),
519 RVI(70, W, 255, 0, 0, 30, 0, RC_W, 27, L, A),
520 RVI(71, W, 191, 0, 0, 22, 0, RC_W, 32, L, A),
521 RVI(72, W, 196, 0, 0, 18, 0, RC_W, 27, L, A),
522 RVI(73, W, 179, 0, 0, 19, 0, RC_W, 37, L, A),
523 RVI(47, W, 199, 0, 0, 25, 0, RC_W, 32, L, A),
524 RVI(48, W, 182, 0, 0, 18, 0, RC_W, 32, L, A),
525 RVI(49, W, 185, 0, 0, 19, 0, RC_W, 28, L, A),
526 RVI(50, W, 176, 0, 0, 19, 0, RC_W, 37, L, A),
527 RVI(51, W, 178, 0, 0, 20, 0, RC_W, 37, L, A),
528 RVI(52, W, 192, 0, 0, 20, 0, RC_W, 37, L, A),
529 RVI(53, W, 190, 0, 0, 21, 0, RC_W, 27, L, A),
530 RVI(54, W, 182, 0, 0, 24, 0, RC_W, 32, L, A),
531 RVI(55, W, 181, 0, 0, 21, 0, RC_W, 32, L, A),
532 RVI(56, W, 183, 0, 0, 21, 0, RC_W, 27, L, A),
533 RVI(57, W, 196, 0, 0, 18, 0, RC_W, 29, L, A),
534 RVI(58, W, 193, 0, 0, 18, 0, RC_W, 32, L, A),
535 RVI(59, W, 191, 0, 0, 18, 0, RC_W, 37, L, A),
567#define SVI(a, b, c, d, e, f, g, h) { a, b, f, c, d, e, g, h, VE_DEFAULT, 0, 0 }
600#define AVI(a, b, c, d, e, f, g, h, i) { a, b, c, d, e, (g * 128) / 10, f, h, i, 0 }
603#define J AIR_CTOL | AIR_FAST
671#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, ROADTYPE_ROAD }
static constexpr CargoLabel CT_NONE
Dummy label for engines that carry no cargo; they actually carry 0 passengers.
static constexpr CargoLabel CT_PASSENGERS
Available types of cargo Labels may be re-used between different climates.
@ MCT_GRAIN_WHEAT_MAIZE
Cargo can be grain, wheat or maize.
@ MCT_VALUABLES_GOLD_DIAMONDS
Cargo can be valuables, gold or diamonds.
#define MA(a, b, c, d, e)
Writes the properties of an aeroplane into the EngineInfo struct.
#define MT(a, b, c, d, e, f)
Writes the properties of a train into the EngineInfo struct.
#define AVI(a, b, c, d, e, f, g, h, i)
Writes the properties of an aircraft into the AircraftVehicleInfo struct.
#define MS(a, b, c, d, e, f)
Writes the properties of a ship into the EngineInfo struct.
#define MR(a, b, c, d, e, f)
Writes the properties of a road vehicle into the EngineInfo struct.
#define SVI(a, b, c, d, e, f, g, h)
Writes the properties of a ship into the ShipVehicleInfo struct.
#define ROV(a, b, c, d, e, f, g, h)
Writes the properties of a road vehicle into the RoadVehicleInfo struct.
#define MM(a, b, c, d, e, f)
Writes the properties of a multiple-unit train into the EngineInfo struct.
#define RVI(a, b, c, d, e, f, g, h, i, j, k)
Writes the properties of a rail vehicle into the RailVehicleInfo struct.
#define MW(a, b, c, d, e, f)
Writes the properties of a train carriage into the EngineInfo struct.
#define M(x)
Helper for creating a bitset of slopes.
@ SND_1B_DEPARTURE_MODERN_BUS
25 == 0x19 Station departure: modern bus (non-toyland)
@ SND_08_TAKEOFF_PROPELLER
6 == 0x06 Takeoff: propeller plane (non-toyland)
@ SND_19_DEPARTURE_OLD_RV_1
23 == 0x17 Station departure: truck and old bus (1) (non-toyland)
@ SND_3F_DEPARTURE_TRUCK_TOYLAND_1
63 == 0x3F Station departure: truck (1) (toyland)
@ SND_40_DEPARTURE_TRUCK_TOYLAND_2
64 == 0x40 Station departure: truck (2) (toyland)
@ SND_1C_DEPARTURE_OLD_BUS
26 == 0x1A Station departure: old bus (non-toyland)
@ SND_3E_DEPARTURE_BUS_TOYLAND_2
62 == 0x3E Station departure: bus (2) (toyland)
@ SND_07_DEPARTURE_FERRY
5 == 0x05 Station departure: passenger ships
@ SND_45_TAKEOFF_PROPELLER_TOYLAND_1
69 == 0x45 Takeoff: propeller plane (1) (toyland)
@ SND_3B_TAKEOFF_JET_FAST
59 == 0x3B Takeoff: supersonic plane (fast)
@ SND_06_DEPARTURE_CARGO_SHIP
4 == 0x04 Station departure: cargo ships
@ SND_3C_DEPARTURE_BUS_TOYLAND_1
60 == 0x3C Station departure: bus (1) (toyland)
@ SND_46_TAKEOFF_PROPELLER_TOYLAND_2
70 == 0x46 Takeoff: propeller plane (2) (toyland)
@ SND_09_TAKEOFF_JET
7 == 0x07 Takeoff: regular jet plane
@ SND_3D_TAKEOFF_JET_BIG
61 == 0x3D Takeoff: huge jet plane (high capacity)
Information about a aircraft vehicle.
Information about a vehicle.
Information about a rail vehicle.
Information about a road vehicle.
Information about a ship vehicle.