Files @ r27884:803962be0328
Branch filter:

Location: cpp/openttd-patchpack/source/src/table/railtypes.h - annotation

Tyler Trahan
Codechange: Move date consts and functions to CalendarTime and TimerGameCalendar classes
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
r12768:980ae0491352
r12768:980ae0491352
r12768:980ae0491352
r12768:980ae0491352
r12768:980ae0491352
r12768:980ae0491352
r12768:980ae0491352
r15610:623a23fb6560
r15610:623a23fb6560
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r15610:623a23fb6560
r15610:623a23fb6560
r8228:c885c6f5f4a4
r10001:05b97b3a1a5d
r8228:c885c6f5f4a4
r11362:d9d4adbc4779
r13961:4b8e11a57b4f
r8228:c885c6f5f4a4
r9493:05bde2cb9794
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r19451:8423efa2af95
r19451:8423efa2af95
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r10000:91824eb4383b
r18283:584850043783
r11725:57bc99fdc1bc
r11725:57bc99fdc1bc
r12943:c1043c7d6f68
r12622:202e83a6cee7
r11725:57bc99fdc1bc
r10000:91824eb4383b
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8236:a2ecfe92ab23
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8236:a2ecfe92ab23
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r17654:f28c4b7b0c47
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8860:3fd806ac9c65
r8860:3fd806ac9c65
r8860:3fd806ac9c65
r10002:a1c2314c8164
r10002:a1c2314c8164
r10002:a1c2314c8164
r11076:462de50d5ea7
r18560:ff3a65f20dab
r18560:ff3a65f20dab
r18560:ff3a65f20dab
r14245:d4bd5b040e5a
r14205:9013b6f06a1e
r14205:9013b6f06a1e
r14405:7117441a16e3
r14405:7117441a16e3
r14405:7117441a16e3
r11076:462de50d5ea7
r11076:462de50d5ea7
r14477:752d803ed3be
r18899:ef33cbcd1b49
r18899:ef33cbcd1b49
r18899:ef33cbcd1b49
r14712:9d62e352cb76
r14712:9d62e352cb76
r14712:9d62e352cb76
r17095:192110abe258
r27884:803962be0328
r17095:192110abe258
r17095:192110abe258
r17095:192110abe258
r17095:192110abe258
r17094:1ed01cf3929b
r17094:1ed01cf3929b
r17094:1ed01cf3929b
r17119:e6a7587b0348
r17119:e6a7587b0348
r17119:e6a7587b0348
r23607:36c15679007d
r23607:36c15679007d
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r11362:d9d4adbc4779
r13961:4b8e11a57b4f
r8228:c885c6f5f4a4
r9493:05bde2cb9794
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r19451:8423efa2af95
r19451:8423efa2af95
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r10000:91824eb4383b
r18283:584850043783
r11725:57bc99fdc1bc
r11725:57bc99fdc1bc
r12943:c1043c7d6f68
r12622:202e83a6cee7
r23698:1872cc5b7dd7
r10000:91824eb4383b
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8236:a2ecfe92ab23
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8236:a2ecfe92ab23
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r17654:f28c4b7b0c47
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8860:3fd806ac9c65
r8860:3fd806ac9c65
r8860:3fd806ac9c65
r10002:a1c2314c8164
r10002:a1c2314c8164
r10002:a1c2314c8164
r11076:462de50d5ea7
r18560:ff3a65f20dab
r18560:ff3a65f20dab
r18560:ff3a65f20dab
r14205:9013b6f06a1e
r14205:9013b6f06a1e
r14205:9013b6f06a1e
r14405:7117441a16e3
r14405:7117441a16e3
r14405:7117441a16e3
r11076:462de50d5ea7
r11076:462de50d5ea7
r14477:752d803ed3be
r18899:ef33cbcd1b49
r18899:ef33cbcd1b49
r18899:ef33cbcd1b49
r14712:9d62e352cb76
r14712:9d62e352cb76
r14712:9d62e352cb76
r17095:192110abe258
r27884:803962be0328
r17095:192110abe258
r17095:192110abe258
r17095:192110abe258
r17095:192110abe258
r17094:1ed01cf3929b
r17094:1ed01cf3929b
r17094:1ed01cf3929b
r17119:e6a7587b0348
r17119:e6a7587b0348
r17119:e6a7587b0348
r23607:36c15679007d
r23607:36c15679007d
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r11362:d9d4adbc4779
r13961:4b8e11a57b4f
r8228:c885c6f5f4a4
r9493:05bde2cb9794
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r19451:8423efa2af95
r19451:8423efa2af95
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r10000:91824eb4383b
r18283:584850043783
r11725:57bc99fdc1bc
r11725:57bc99fdc1bc
r12943:c1043c7d6f68
r12622:202e83a6cee7
r11725:57bc99fdc1bc
r10000:91824eb4383b
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8236:a2ecfe92ab23
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8236:a2ecfe92ab23
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r17654:f28c4b7b0c47
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8860:3fd806ac9c65
r8860:3fd806ac9c65
r8860:3fd806ac9c65
r10002:a1c2314c8164
r10002:a1c2314c8164
r10002:a1c2314c8164
r11076:462de50d5ea7
r18560:ff3a65f20dab
r18560:ff3a65f20dab
r18560:ff3a65f20dab
r14205:9013b6f06a1e
r14205:9013b6f06a1e
r14205:9013b6f06a1e
r14405:7117441a16e3
r14405:7117441a16e3
r14405:7117441a16e3
r11076:462de50d5ea7
r11076:462de50d5ea7
r14477:752d803ed3be
r18899:ef33cbcd1b49
r18899:ef33cbcd1b49
r18899:ef33cbcd1b49
r14712:9d62e352cb76
r14712:9d62e352cb76
r14712:9d62e352cb76
r17095:192110abe258
r27884:803962be0328
r17095:192110abe258
r17095:192110abe258
r17095:192110abe258
r17095:192110abe258
r17094:1ed01cf3929b
r17094:1ed01cf3929b
r17094:1ed01cf3929b
r17119:e6a7587b0348
r17119:e6a7587b0348
r17119:e6a7587b0348
r23607:36c15679007d
r23607:36c15679007d
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r11362:d9d4adbc4779
r13961:4b8e11a57b4f
r8228:c885c6f5f4a4
r9493:05bde2cb9794
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r19451:8423efa2af95
r19451:8423efa2af95
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r10000:91824eb4383b
r18283:584850043783
r11725:57bc99fdc1bc
r11725:57bc99fdc1bc
r12943:c1043c7d6f68
r12622:202e83a6cee7
r11725:57bc99fdc1bc
r10000:91824eb4383b
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8236:a2ecfe92ab23
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8236:a2ecfe92ab23
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r17654:f28c4b7b0c47
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8860:3fd806ac9c65
r8860:3fd806ac9c65
r8860:3fd806ac9c65
r10002:a1c2314c8164
r10002:a1c2314c8164
r10002:a1c2314c8164
r11076:462de50d5ea7
r18560:ff3a65f20dab
r18560:ff3a65f20dab
r18560:ff3a65f20dab
r14205:9013b6f06a1e
r14205:9013b6f06a1e
r14205:9013b6f06a1e
r14405:7117441a16e3
r14405:7117441a16e3
r14405:7117441a16e3
r11076:462de50d5ea7
r11076:462de50d5ea7
r14477:752d803ed3be
r18899:ef33cbcd1b49
r18899:ef33cbcd1b49
r18899:ef33cbcd1b49
r14712:9d62e352cb76
r14712:9d62e352cb76
r14712:9d62e352cb76
r17095:192110abe258
r27884:803962be0328
r17095:192110abe258
r17095:192110abe258
r17095:192110abe258
r17095:192110abe258
r17094:1ed01cf3929b
r17094:1ed01cf3929b
r17094:1ed01cf3929b
r17119:e6a7587b0348
r17119:e6a7587b0348
r17119:e6a7587b0348
r23607:36c15679007d
r23607:36c15679007d
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
r8228:c885c6f5f4a4
/*
 * This file is part of OpenTTD.
 * 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.
 * 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.
 * 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/>.
 */

/**
 * @file railtypes.h
 * All the railtype-specific information is stored here.
 */

#ifndef RAILTYPES_H
#define RAILTYPES_H

/**
 * Global Railtype definition
 */
static const RailtypeInfo _original_railtypes[] = {
	/** Railway */
	{ // Main Sprites
		{ SPR_RAIL_TRACK_Y, SPR_RAIL_TRACK_N_S, SPR_RAIL_TRACK_BASE, SPR_RAIL_SINGLE_X, SPR_RAIL_SINGLE_Y,
			SPR_RAIL_SINGLE_NORTH, SPR_RAIL_SINGLE_SOUTH, SPR_RAIL_SINGLE_EAST, SPR_RAIL_SINGLE_WEST,
			SPR_TRACKS_FOR_SLOPES_RAIL_BASE,
			SPR_CROSSING_OFF_X_RAIL,
			SPR_TUNNEL_ENTRY_REAR_RAIL
		},

		/* GUI sprites */
		{ 0x4E3, 0x4E4, 0x4E5, 0x4E6,
			SPR_IMG_AUTORAIL,
			SPR_IMG_DEPOT_RAIL,
			SPR_IMG_TUNNEL_RAIL,
			SPR_IMG_CONVERT_RAIL,
			{}
		},

		{
			SPR_CURSOR_NS_TRACK,
			SPR_CURSOR_SWNE_TRACK,
			SPR_CURSOR_EW_TRACK,
			SPR_CURSOR_NWSE_TRACK,
			SPR_CURSOR_AUTORAIL,
			SPR_CURSOR_RAIL_DEPOT,
			SPR_CURSOR_TUNNEL_RAIL,
			SPR_CURSOR_CONVERT_RAIL
		},

		/* strings */
		{
			STR_RAIL_NAME_RAILROAD,
			STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION,
			STR_RAIL_MENU_RAILROAD_CONSTRUCTION,
			STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION,
			STR_REPLACE_RAIL_VEHICLES,
			STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE,
		},

		/* Offset of snow tiles */
		SPR_RAIL_SNOW_OFFSET,

		/* Powered railtypes */
		RAILTYPES_RAIL | RAILTYPES_ELECTRIC,

		/* Compatible railtypes */
		RAILTYPES_RAIL | RAILTYPES_ELECTRIC,

		/* bridge offset */
		0,

		/* fallback_railtype */
		0,

		/* curve speed advantage (multiplier) */
		0,

		/* flags */
		RTFB_NONE,

		/* cost multiplier */
		8,

		/* maintenance cost multiplier */
		8,

		/* acceleration type */
		0,

		/* max speed */
		0,

		/* rail type label */
		'RAIL',

		/* alternate labels */
		RailTypeLabelList(),

		/* map colour */
		0x0A,

		/* introduction date */
		CalendarTime::INVALID_DATE,

		/* railtypes required for this to be introduced */
		RAILTYPES_NONE,

		/* introduction rail types */
		RAILTYPES_RAIL,

		/* sort order */
		0 << 4 | 7,

		{ nullptr },
		{ nullptr },
	},

	/** Electrified railway */
	{ // Main Sprites
		{ SPR_RAIL_TRACK_Y, SPR_RAIL_TRACK_N_S, SPR_RAIL_TRACK_BASE, SPR_RAIL_SINGLE_X, SPR_RAIL_SINGLE_Y,
			SPR_RAIL_SINGLE_NORTH, SPR_RAIL_SINGLE_SOUTH, SPR_RAIL_SINGLE_EAST, SPR_RAIL_SINGLE_WEST,
			SPR_TRACKS_FOR_SLOPES_RAIL_BASE,
			SPR_CROSSING_OFF_X_RAIL,
			SPR_TUNNEL_ENTRY_REAR_RAIL
		},

		/* GUI sprites */
		{
			SPR_BUILD_NS_ELRAIL,
			SPR_BUILD_X_ELRAIL,
			SPR_BUILD_EW_ELRAIL,
			SPR_BUILD_Y_ELRAIL,
			SPR_IMG_AUTOELRAIL,
			SPR_IMG_DEPOT_ELRAIL,
			SPR_BUILD_TUNNEL_ELRAIL,
			SPR_IMG_CONVERT_ELRAIL,
			{}
		},

		{
			SPR_CURSOR_NS_ELRAIL,
			SPR_CURSOR_SWNE_ELRAIL,
			SPR_CURSOR_EW_ELRAIL,
			SPR_CURSOR_NWSE_ELRAIL,
			SPR_CURSOR_AUTOELRAIL,
			SPR_CURSOR_ELRAIL_DEPOT,
			SPR_CURSOR_TUNNEL_ELRAIL,
			SPR_CURSOR_CONVERT_ELRAIL
		},

		/* strings */
		{
			STR_RAIL_NAME_ELRAIL,
			STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION,
			STR_RAIL_MENU_ELRAIL_CONSTRUCTION,
			STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION,
			STR_REPLACE_ELRAIL_VEHICLES,
			STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE,
		},

		/* Offset of snow tiles */
		SPR_RAIL_SNOW_OFFSET,

		/* Powered railtypes */
		RAILTYPES_ELECTRIC,

		/* Compatible railtypes */
		RAILTYPES_ELECTRIC | RAILTYPES_RAIL,

		/* bridge offset */
		0,

		/* fallback_railtype */
		0,

		/* curve speed advantage (multiplier) */
		0,

		/* flags */
		RTFB_CATENARY,

		/* cost multiplier */
		12,

		/* maintenance cost multiplier */
		12,

		/* acceleration type */
		0,

		/* max speed */
		0,

		/* rail type label */
		'ELRL',

		/* alternate labels */
		RailTypeLabelList(),

		/* map colour */
		0x0A,

		/* introduction date */
		CalendarTime::INVALID_DATE,

		/* railtypes required for this to be introduced */
		RAILTYPES_NONE,

		/* introduction rail types */
		RAILTYPES_ELECTRIC,

		/* sort order */
		1 << 4 | 7,

		{ nullptr },
		{ nullptr },
	},

	/** Monorail */
	{ // Main Sprites
		{ SPR_MONO_TRACK_Y, SPR_MONO_TRACK_N_S, SPR_MONO_TRACK_BASE, SPR_MONO_SINGLE_X, SPR_MONO_SINGLE_Y,
			SPR_MONO_SINGLE_NORTH, SPR_MONO_SINGLE_SOUTH, SPR_MONO_SINGLE_EAST, SPR_MONO_SINGLE_WEST,
			SPR_TRACKS_FOR_SLOPES_MONO_BASE,
			SPR_CROSSING_OFF_X_MONO,
			SPR_TUNNEL_ENTRY_REAR_MONO
		},

		/* GUI sprites */
		{ 0x4E7, 0x4E8, 0x4E9, 0x4EA,
			SPR_IMG_AUTOMONO,
			SPR_IMG_DEPOT_MONO,
			SPR_IMG_TUNNEL_MONO,
			SPR_IMG_CONVERT_MONO,
			{}
		},

		{
			SPR_CURSOR_NS_MONO,
			SPR_CURSOR_SWNE_MONO,
			SPR_CURSOR_EW_MONO,
			SPR_CURSOR_NWSE_MONO,
			SPR_CURSOR_AUTOMONO,
			SPR_CURSOR_MONO_DEPOT,
			SPR_CURSOR_TUNNEL_MONO,
			SPR_CURSOR_CONVERT_MONO
		},

		/* strings */
		{
			STR_RAIL_NAME_MONORAIL,
			STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION,
			STR_RAIL_MENU_MONORAIL_CONSTRUCTION,
			STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION,
			STR_REPLACE_MONORAIL_VEHICLES,
			STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE,
		},

		/* Offset of snow tiles */
		SPR_MONO_SNOW_OFFSET,

		/* Powered railtypes */
		RAILTYPES_MONO,

		/* Compatible Railtypes */
		RAILTYPES_MONO,

		/* bridge offset */
		16,

		/* fallback_railtype */
		1,

		/* curve speed advantage (multiplier) */
		1,

		/* flags */
		RTFB_NONE,

		/* cost multiplier */
		16,

		/* maintenance cost multiplier */
		16,

		/* acceleration type */
		1,

		/* max speed */
		0,

		/* rail type label */
		'MONO',

		/* alternate labels */
		RailTypeLabelList(),

		/* map colour */
		0x0A,

		/* introduction date */
		CalendarTime::INVALID_DATE,

		/* railtypes required for this to be introduced */
		RAILTYPES_NONE,

		/* introduction rail types */
		RAILTYPES_MONO,

		/* sort order */
		2 << 4 | 7,

		{ nullptr },
		{ nullptr },
	},

	/** Maglev */
	{ // Main sprites
		{ SPR_MGLV_TRACK_Y, SPR_MGLV_TRACK_N_S, SPR_MGLV_TRACK_BASE, SPR_MGLV_SINGLE_X, SPR_MGLV_SINGLE_Y,
			SPR_MGLV_SINGLE_NORTH, SPR_MGLV_SINGLE_SOUTH, SPR_MGLV_SINGLE_EAST, SPR_MGLV_SINGLE_WEST,
			SPR_TRACKS_FOR_SLOPES_MAGLEV_BASE,
			SPR_CROSSING_OFF_X_MAGLEV,
			SPR_TUNNEL_ENTRY_REAR_MAGLEV
		},

		/* GUI sprites */
		{ 0x4EB, 0x4EC, 0x4EE, 0x4ED,
			SPR_IMG_AUTOMAGLEV,
			SPR_IMG_DEPOT_MAGLEV,
			SPR_IMG_TUNNEL_MAGLEV,
			SPR_IMG_CONVERT_MAGLEV,
			{}
		},

		{
			SPR_CURSOR_NS_MAGLEV,
			SPR_CURSOR_SWNE_MAGLEV,
			SPR_CURSOR_EW_MAGLEV,
			SPR_CURSOR_NWSE_MAGLEV,
			SPR_CURSOR_AUTOMAGLEV,
			SPR_CURSOR_MAGLEV_DEPOT,
			SPR_CURSOR_TUNNEL_MAGLEV,
			SPR_CURSOR_CONVERT_MAGLEV
		},

		/* strings */
		{
			STR_RAIL_NAME_MAGLEV,
			STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION,
			STR_RAIL_MENU_MAGLEV_CONSTRUCTION,
			STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION,
			STR_REPLACE_MAGLEV_VEHICLES,
			STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE,
		},

		/* Offset of snow tiles */
		SPR_MGLV_SNOW_OFFSET,

		/* Powered railtypes */
		RAILTYPES_MAGLEV,

		/* Compatible Railtypes */
		RAILTYPES_MAGLEV,

		/* bridge offset */
		24,

		/* fallback_railtype */
		2,

		/* curve speed advantage (multiplier) */
		2,

		/* flags */
		RTFB_NONE,

		/* cost multiplier */
		24,

		/* maintenance cost multiplier */
		24,

		/* acceleration type */
		2,

		/* max speed */
		0,

		/* rail type label */
		'MGLV',

		/* alternate labels */
		RailTypeLabelList(),

		/* map colour */
		0x0A,

		/* introduction date */
		CalendarTime::INVALID_DATE,

		/* railtypes required for this to be introduced */
		RAILTYPES_NONE,

		/* introduction rail types */
		RAILTYPES_MAGLEV,

		/* sort order */
		3 << 4 | 7,

		{ nullptr },
		{ nullptr },
	},
};

#endif /* RAILTYPES_H */