src/table/railtypes.h
author rubidium
Mon, 13 Oct 2008 03:26:48 +0000
changeset 10233 ac41e2898d9b
parent 10002 87148ad75853
permissions -rw-r--r--
(svn r14461) -Document: add some doxygen comments (Albert)
2269
1163fd659b88 (svn r2789) -Fix: Wrong Id tag :)
celestar
parents: 2263
diff changeset
     1
/* $Id$ */
2236
34daee5dfc60 (svn r2756) Renamed railtypes into _railtypes
ludde
parents:
diff changeset
     2
34daee5dfc60 (svn r2756) Renamed railtypes into _railtypes
ludde
parents:
diff changeset
     3
/** @file railtypes.h
34daee5dfc60 (svn r2756) Renamed railtypes into _railtypes
ludde
parents:
diff changeset
     4
 * All the railtype-specific information is stored here.
34daee5dfc60 (svn r2756) Renamed railtypes into _railtypes
ludde
parents:
diff changeset
     5
 */
34daee5dfc60 (svn r2756) Renamed railtypes into _railtypes
ludde
parents:
diff changeset
     6
6393
e1e4939d19b5 (svn r9523) -Cleanup: doxygen changes. Time to take care of "R"
belugas
parents: 5475
diff changeset
     7
#ifndef RAILTYPES_H
e1e4939d19b5 (svn r9523) -Cleanup: doxygen changes. Time to take care of "R"
belugas
parents: 5475
diff changeset
     8
#define RAILTYPES_H
e1e4939d19b5 (svn r9523) -Cleanup: doxygen changes. Time to take care of "R"
belugas
parents: 5475
diff changeset
     9
2236
34daee5dfc60 (svn r2756) Renamed railtypes into _railtypes
ludde
parents:
diff changeset
    10
/** Global Railtype definition
34daee5dfc60 (svn r2756) Renamed railtypes into _railtypes
ludde
parents:
diff changeset
    11
 */
10001
df9284007ed5 (svn r14158) -Codechange: Initialization of rail type data from static source, so data can be changed.
peter1138
parents: 10000
diff changeset
    12
static const RailtypeInfo _original_railtypes[] = {
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
    13
	/** Railway */
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
    14
	{ /* Main Sprites */
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
    15
		{ SPR_RAIL_TRACK_Y, SPR_RAIL_TRACK_N_S, SPR_RAIL_TRACK_BASE, SPR_RAIL_SINGLE_Y, SPR_RAIL_SINGLE_X,
2511
3eb6cb6b750d (svn r3037) Don't deduce the sprites for tunnels and level crossings from magic numbers, but fetch them from the central rail info array. This is a preparation step for electrified rails
tron
parents: 2293
diff changeset
    16
			SPR_RAIL_SINGLE_NORTH, SPR_RAIL_SINGLE_SOUTH, SPR_RAIL_SINGLE_EAST, SPR_RAIL_SINGLE_WEST,
9493
030cfc495f31 (svn r13469) -Codechange: add support for loading Action 0x05, type 0F: "tracks for slopes". It's not useful right now, but it will be in the future.
rubidium
parents: 8860
diff changeset
    17
			SPR_TRACKS_FOR_SLOPES_RAIL_BASE,
2511
3eb6cb6b750d (svn r3037) Don't deduce the sprites for tunnels and level crossings from magic numbers, but fetch them from the central rail info array. This is a preparation step for electrified rails
tron
parents: 2293
diff changeset
    18
			SPR_CROSSING_OFF_X_RAIL,
3eb6cb6b750d (svn r3037) Don't deduce the sprites for tunnels and level crossings from magic numbers, but fetch them from the central rail info array. This is a preparation step for electrified rails
tron
parents: 2293
diff changeset
    19
			SPR_TUNNEL_ENTRY_REAR_RAIL
3eb6cb6b750d (svn r3037) Don't deduce the sprites for tunnels and level crossings from magic numbers, but fetch them from the central rail info array. This is a preparation step for electrified rails
tron
parents: 2293
diff changeset
    20
		},
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
    21
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
    22
		/* GUI sprites */
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
    23
		{ 0x4E3, 0x4E4, 0x4E5, 0x4E6,
2571
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
    24
			SPR_IMG_AUTORAIL,
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
    25
			SPR_IMG_DEPOT_RAIL,
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
    26
			SPR_IMG_TUNNEL_RAIL,
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
    27
			SPR_IMG_CONVERT_RAIL
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
    28
		},
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
    29
2514
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
    30
		{
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
    31
			SPR_CURSOR_NS_TRACK,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
    32
			SPR_CURSOR_SWNE_TRACK,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
    33
			SPR_CURSOR_EW_TRACK,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
    34
			SPR_CURSOR_NWSE_TRACK,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
    35
			SPR_CURSOR_AUTORAIL,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
    36
			SPR_CURSOR_RAIL_DEPOT,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
    37
			SPR_CURSOR_TUNNEL_RAIL,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
    38
			SPR_CURSOR_CONVERT_RAIL
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
    39
		},
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
    40
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
    41
		/* strings */
10000
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
    42
		{
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
    43
			STR_100A_RAILROAD_CONSTRUCTION,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
    44
			STR_1015_RAILROAD_CONSTRUCTION,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
    45
			STR_881C_NEW_RAIL_VEHICLES,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
    46
			STR_RAIL_VEHICLES,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
    47
			STR_8102_RAILROAD_LOCOMOTIVE,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
    48
		},
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
    49
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
    50
		/* Offset of snow tiles */
2236
34daee5dfc60 (svn r2756) Renamed railtypes into _railtypes
ludde
parents:
diff changeset
    51
		SPR_RAIL_SNOW_OFFSET,
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
    52
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    53
		/* Powered railtypes */
8236
8a5dd0b42e47 (svn r11800) -Codechange: move some functions to a more logical location + some type safety.
rubidium
parents: 8228
diff changeset
    54
		RAILTYPES_RAIL | RAILTYPES_ELECTRIC,
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    55
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
    56
		/* Compatible railtypes */
8236
8a5dd0b42e47 (svn r11800) -Codechange: move some functions to a more logical location + some type safety.
rubidium
parents: 8228
diff changeset
    57
		RAILTYPES_RAIL | RAILTYPES_ELECTRIC,
2293
b48192aec903 (svn r2817) -Codechange: [autoreplace]: moved autoreplace and autorenew to serverside
bjarni
parents: 2274
diff changeset
    58
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
    59
		/* main offset */
2254
99de94953104 (svn r2774) -Codechange: Removed TRACKTYPE_SPRITE_PITCH globally and replaced it by a member of RailtypeInfo
celestar
parents: 2236
diff changeset
    60
		0,
2536
634914d741b4 (svn r3065) -Codechange/Add: Modified the bridge drawing code so that the basic offset is read from the RailTypeInfo struct. This is (hopefully) the last DrawTile change on the way to electrified railways. While being at it, de-mystified the function a bit and added some asserts.
celestar
parents: 2514
diff changeset
    61
634914d741b4 (svn r3065) -Codechange/Add: Modified the bridge drawing code so that the basic offset is read from the RailTypeInfo struct. This is (hopefully) the last DrawTile change on the way to electrified railways. While being at it, de-mystified the function a bit and added some asserts.
celestar
parents: 2514
diff changeset
    62
		/* bridge offset */
634914d741b4 (svn r3065) -Codechange/Add: Modified the bridge drawing code so that the basic offset is read from the RailTypeInfo struct. This is (hopefully) the last DrawTile change on the way to electrified railways. While being at it, de-mystified the function a bit and added some asserts.
celestar
parents: 2514
diff changeset
    63
		0,
3503
44f50afb0a75 (svn r4354) [Elrail][NewGRF] Codechange: Drawing of custom waypoints with custom ground sprites used the index of the rail type as an offset. With the introduction of elrails this offset is incorrect, so instead there is now a lookup table within the RailTypeInfo struct to explicitly list the offset.
peter1138
parents: 3355
diff changeset
    64
44f50afb0a75 (svn r4354) [Elrail][NewGRF] Codechange: Drawing of custom waypoints with custom ground sprites used the index of the rail type as an offset. With the introduction of elrails this offset is incorrect, so instead there is now a lookup table within the RailTypeInfo struct to explicitly list the offset.
peter1138
parents: 3355
diff changeset
    65
		/* custom ground offset */
44f50afb0a75 (svn r4354) [Elrail][NewGRF] Codechange: Drawing of custom waypoints with custom ground sprites used the index of the rail type as an offset. With the introduction of elrails this offset is incorrect, so instead there is now a lookup table within the RailTypeInfo struct to explicitly list the offset.
peter1138
parents: 3355
diff changeset
    66
		0,
8169
31d57d9de945 (svn r11732) -Fix (r4150): elrail merge gave elrail, monorail & maglev unintended speed bonuses for curves, as the bonus was based on the railtype index. The bonus is now specified by a property of the railtype.
peter1138
parents: 7800
diff changeset
    67
31d57d9de945 (svn r11732) -Fix (r4150): elrail merge gave elrail, monorail & maglev unintended speed bonuses for curves, as the bonus was based on the railtype index. The bonus is now specified by a property of the railtype.
peter1138
parents: 7800
diff changeset
    68
		/* curve speed advantage (multiplier) */
31d57d9de945 (svn r11732) -Fix (r4150): elrail merge gave elrail, monorail & maglev unintended speed bonuses for curves, as the bonus was based on the railtype index. The bonus is now specified by a property of the railtype.
peter1138
parents: 7800
diff changeset
    69
		0,
8860
a30cd0629e2b (svn r12624) -Codechange: Make drawing of catenary an attribute of rail types, instead of deciding by the rail type directly.
peter1138
parents: 8236
diff changeset
    70
a30cd0629e2b (svn r12624) -Codechange: Make drawing of catenary an attribute of rail types, instead of deciding by the rail type directly.
peter1138
parents: 8236
diff changeset
    71
		/* flags */
a30cd0629e2b (svn r12624) -Codechange: Make drawing of catenary an attribute of rail types, instead of deciding by the rail type directly.
peter1138
parents: 8236
diff changeset
    72
		RTFB_NONE,
10002
87148ad75853 (svn r14160) -Codechange: Move _railtype_cost_multipliers into the rail type information struct.
peter1138
parents: 10001
diff changeset
    73
87148ad75853 (svn r14160) -Codechange: Move _railtype_cost_multipliers into the rail type information struct.
peter1138
parents: 10001
diff changeset
    74
		/* cost multiplier */
87148ad75853 (svn r14160) -Codechange: Move _railtype_cost_multipliers into the rail type information struct.
peter1138
parents: 10001
diff changeset
    75
		8,
2236
34daee5dfc60 (svn r2756) Renamed railtypes into _railtypes
ludde
parents:
diff changeset
    76
	},
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
    77
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    78
	/** Electrified railway */
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    79
	{ /* Main Sprites */
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    80
		{ SPR_RAIL_TRACK_Y, SPR_RAIL_TRACK_N_S, SPR_RAIL_TRACK_BASE, SPR_RAIL_SINGLE_Y, SPR_RAIL_SINGLE_X,
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    81
			SPR_RAIL_SINGLE_NORTH, SPR_RAIL_SINGLE_SOUTH, SPR_RAIL_SINGLE_EAST, SPR_RAIL_SINGLE_WEST,
9493
030cfc495f31 (svn r13469) -Codechange: add support for loading Action 0x05, type 0F: "tracks for slopes". It's not useful right now, but it will be in the future.
rubidium
parents: 8860
diff changeset
    82
			SPR_TRACKS_FOR_SLOPES_RAIL_BASE,
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    83
			SPR_CROSSING_OFF_X_RAIL,
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    84
			SPR_TUNNEL_ENTRY_REAR_RAIL
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    85
		},
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    86
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    87
		/* GUI sprites */
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    88
		{
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    89
			SPR_BUILD_NS_ELRAIL,
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    90
			SPR_BUILD_X_ELRAIL,
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    91
			SPR_BUILD_EW_ELRAIL,
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    92
			SPR_BUILD_Y_ELRAIL,
7800
21e2862cc0d2 (svn r11350) -Change: add missing elrail sprites for some rail build buttons/cursors. Sprites by skidd13.
rubidium
parents: 6393
diff changeset
    93
			SPR_IMG_AUTOELRAIL,
21e2862cc0d2 (svn r11350) -Change: add missing elrail sprites for some rail build buttons/cursors. Sprites by skidd13.
rubidium
parents: 6393
diff changeset
    94
			SPR_IMG_DEPOT_ELRAIL,
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    95
			SPR_BUILD_TUNNEL_ELRAIL,
7800
21e2862cc0d2 (svn r11350) -Change: add missing elrail sprites for some rail build buttons/cursors. Sprites by skidd13.
rubidium
parents: 6393
diff changeset
    96
			SPR_IMG_CONVERT_ELRAIL
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    97
		},
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    98
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
    99
		{
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   100
			SPR_CURSOR_NS_ELRAIL,
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   101
			SPR_CURSOR_SWNE_ELRAIL,
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   102
			SPR_CURSOR_EW_ELRAIL,
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   103
			SPR_CURSOR_NWSE_ELRAIL,
7800
21e2862cc0d2 (svn r11350) -Change: add missing elrail sprites for some rail build buttons/cursors. Sprites by skidd13.
rubidium
parents: 6393
diff changeset
   104
			SPR_CURSOR_AUTOELRAIL,
21e2862cc0d2 (svn r11350) -Change: add missing elrail sprites for some rail build buttons/cursors. Sprites by skidd13.
rubidium
parents: 6393
diff changeset
   105
			SPR_CURSOR_ELRAIL_DEPOT,
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   106
			SPR_CURSOR_TUNNEL_ELRAIL,
7800
21e2862cc0d2 (svn r11350) -Change: add missing elrail sprites for some rail build buttons/cursors. Sprites by skidd13.
rubidium
parents: 6393
diff changeset
   107
			SPR_CURSOR_CONVERT_ELRAIL
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   108
		},
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   109
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   110
		/* strings */
10000
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   111
		{
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   112
			STR_TITLE_ELRAIL_CONSTRUCTION,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   113
			STR_TOOLB_ELRAIL_CONSTRUCTION,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   114
			STR_NEW_ELRAIL_VEHICLES,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   115
			STR_ELRAIL_VEHICLES,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   116
			STR_8102_RAILROAD_LOCOMOTIVE,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   117
		},
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   118
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   119
		/* Offset of snow tiles */
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   120
		SPR_RAIL_SNOW_OFFSET,
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   121
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   122
		/* Powered railtypes */
8236
8a5dd0b42e47 (svn r11800) -Codechange: move some functions to a more logical location + some type safety.
rubidium
parents: 8228
diff changeset
   123
		RAILTYPES_ELECTRIC,
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   124
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   125
		/* Compatible railtypes */
8236
8a5dd0b42e47 (svn r11800) -Codechange: move some functions to a more logical location + some type safety.
rubidium
parents: 8228
diff changeset
   126
		RAILTYPES_ELECTRIC | RAILTYPES_RAIL,
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   127
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   128
		/* main offset */
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   129
		0,
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   130
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   131
		/* bridge offset */
3503
44f50afb0a75 (svn r4354) [Elrail][NewGRF] Codechange: Drawing of custom waypoints with custom ground sprites used the index of the rail type as an offset. With the introduction of elrails this offset is incorrect, so instead there is now a lookup table within the RailTypeInfo struct to explicitly list the offset.
peter1138
parents: 3355
diff changeset
   132
		0,
44f50afb0a75 (svn r4354) [Elrail][NewGRF] Codechange: Drawing of custom waypoints with custom ground sprites used the index of the rail type as an offset. With the introduction of elrails this offset is incorrect, so instead there is now a lookup table within the RailTypeInfo struct to explicitly list the offset.
peter1138
parents: 3355
diff changeset
   133
44f50afb0a75 (svn r4354) [Elrail][NewGRF] Codechange: Drawing of custom waypoints with custom ground sprites used the index of the rail type as an offset. With the introduction of elrails this offset is incorrect, so instead there is now a lookup table within the RailTypeInfo struct to explicitly list the offset.
peter1138
parents: 3355
diff changeset
   134
		/* custom ground offset */
44f50afb0a75 (svn r4354) [Elrail][NewGRF] Codechange: Drawing of custom waypoints with custom ground sprites used the index of the rail type as an offset. With the introduction of elrails this offset is incorrect, so instead there is now a lookup table within the RailTypeInfo struct to explicitly list the offset.
peter1138
parents: 3355
diff changeset
   135
		0,
8169
31d57d9de945 (svn r11732) -Fix (r4150): elrail merge gave elrail, monorail & maglev unintended speed bonuses for curves, as the bonus was based on the railtype index. The bonus is now specified by a property of the railtype.
peter1138
parents: 7800
diff changeset
   136
31d57d9de945 (svn r11732) -Fix (r4150): elrail merge gave elrail, monorail & maglev unintended speed bonuses for curves, as the bonus was based on the railtype index. The bonus is now specified by a property of the railtype.
peter1138
parents: 7800
diff changeset
   137
		/* curve speed advantage (multiplier) */
31d57d9de945 (svn r11732) -Fix (r4150): elrail merge gave elrail, monorail & maglev unintended speed bonuses for curves, as the bonus was based on the railtype index. The bonus is now specified by a property of the railtype.
peter1138
parents: 7800
diff changeset
   138
		0,
8860
a30cd0629e2b (svn r12624) -Codechange: Make drawing of catenary an attribute of rail types, instead of deciding by the rail type directly.
peter1138
parents: 8236
diff changeset
   139
a30cd0629e2b (svn r12624) -Codechange: Make drawing of catenary an attribute of rail types, instead of deciding by the rail type directly.
peter1138
parents: 8236
diff changeset
   140
		/* flags */
a30cd0629e2b (svn r12624) -Codechange: Make drawing of catenary an attribute of rail types, instead of deciding by the rail type directly.
peter1138
parents: 8236
diff changeset
   141
		RTFB_CATENARY,
10002
87148ad75853 (svn r14160) -Codechange: Move _railtype_cost_multipliers into the rail type information struct.
peter1138
parents: 10001
diff changeset
   142
87148ad75853 (svn r14160) -Codechange: Move _railtype_cost_multipliers into the rail type information struct.
peter1138
parents: 10001
diff changeset
   143
		/* cost multiplier */
87148ad75853 (svn r14160) -Codechange: Move _railtype_cost_multipliers into the rail type information struct.
peter1138
parents: 10001
diff changeset
   144
		12,
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   145
	},
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   146
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   147
	/** Monorail */
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   148
	{ /* Main Sprites */
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   149
		{ SPR_MONO_TRACK_Y, SPR_MONO_TRACK_N_S, SPR_MONO_TRACK_BASE, SPR_MONO_SINGLE_Y, SPR_MONO_SINGLE_X,
2511
3eb6cb6b750d (svn r3037) Don't deduce the sprites for tunnels and level crossings from magic numbers, but fetch them from the central rail info array. This is a preparation step for electrified rails
tron
parents: 2293
diff changeset
   150
			SPR_MONO_SINGLE_NORTH, SPR_MONO_SINGLE_SOUTH, SPR_MONO_SINGLE_EAST, SPR_MONO_SINGLE_WEST,
9493
030cfc495f31 (svn r13469) -Codechange: add support for loading Action 0x05, type 0F: "tracks for slopes". It's not useful right now, but it will be in the future.
rubidium
parents: 8860
diff changeset
   151
			SPR_TRACKS_FOR_SLOPES_MONO_BASE,
2511
3eb6cb6b750d (svn r3037) Don't deduce the sprites for tunnels and level crossings from magic numbers, but fetch them from the central rail info array. This is a preparation step for electrified rails
tron
parents: 2293
diff changeset
   152
			SPR_CROSSING_OFF_X_MONO,
3eb6cb6b750d (svn r3037) Don't deduce the sprites for tunnels and level crossings from magic numbers, but fetch them from the central rail info array. This is a preparation step for electrified rails
tron
parents: 2293
diff changeset
   153
			SPR_TUNNEL_ENTRY_REAR_MONO
3eb6cb6b750d (svn r3037) Don't deduce the sprites for tunnels and level crossings from magic numbers, but fetch them from the central rail info array. This is a preparation step for electrified rails
tron
parents: 2293
diff changeset
   154
		},
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   155
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   156
		/* GUI sprites */
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   157
		{ 0x4E7, 0x4E8, 0x4E9, 0x4EA,
2571
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
   158
			SPR_IMG_AUTOMONO,
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
   159
			SPR_IMG_DEPOT_MONO,
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
   160
			SPR_IMG_TUNNEL_MONO,
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
   161
			SPR_IMG_CONVERT_MONO
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
   162
		},
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   163
2514
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   164
		{
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   165
			SPR_CURSOR_NS_MONO,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   166
			SPR_CURSOR_SWNE_MONO,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   167
			SPR_CURSOR_EW_MONO,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   168
			SPR_CURSOR_NWSE_MONO,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   169
			SPR_CURSOR_AUTOMONO,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   170
			SPR_CURSOR_MONO_DEPOT,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   171
			SPR_CURSOR_TUNNEL_MONO,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   172
			SPR_CURSOR_CONVERT_MONO
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   173
		},
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   174
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   175
		/* strings */
10000
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   176
		{
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   177
			STR_100B_MONORAIL_CONSTRUCTION,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   178
			STR_1016_MONORAIL_CONSTRUCTION,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   179
			STR_881D_NEW_MONORAIL_VEHICLES,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   180
			STR_MONORAIL_VEHICLES,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   181
			STR_8106_MONORAIL_LOCOMOTIVE,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   182
		},
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   183
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   184
		/* Offset of snow tiles */
2236
34daee5dfc60 (svn r2756) Renamed railtypes into _railtypes
ludde
parents:
diff changeset
   185
		SPR_MONO_SNOW_OFFSET,
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   186
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   187
		/* Powered railtypes */
8236
8a5dd0b42e47 (svn r11800) -Codechange: move some functions to a more logical location + some type safety.
rubidium
parents: 8228
diff changeset
   188
		RAILTYPES_MONO,
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   189
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   190
		/* Compatible Railtypes */
8236
8a5dd0b42e47 (svn r11800) -Codechange: move some functions to a more logical location + some type safety.
rubidium
parents: 8228
diff changeset
   191
		RAILTYPES_MONO,
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   192
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   193
		/* main offset */
2254
99de94953104 (svn r2774) -Codechange: Removed TRACKTYPE_SPRITE_PITCH globally and replaced it by a member of RailtypeInfo
celestar
parents: 2236
diff changeset
   194
		82,
2536
634914d741b4 (svn r3065) -Codechange/Add: Modified the bridge drawing code so that the basic offset is read from the RailTypeInfo struct. This is (hopefully) the last DrawTile change on the way to electrified railways. While being at it, de-mystified the function a bit and added some asserts.
celestar
parents: 2514
diff changeset
   195
634914d741b4 (svn r3065) -Codechange/Add: Modified the bridge drawing code so that the basic offset is read from the RailTypeInfo struct. This is (hopefully) the last DrawTile change on the way to electrified railways. While being at it, de-mystified the function a bit and added some asserts.
celestar
parents: 2514
diff changeset
   196
		/* bridge offset */
634914d741b4 (svn r3065) -Codechange/Add: Modified the bridge drawing code so that the basic offset is read from the RailTypeInfo struct. This is (hopefully) the last DrawTile change on the way to electrified railways. While being at it, de-mystified the function a bit and added some asserts.
celestar
parents: 2514
diff changeset
   197
		16,
3503
44f50afb0a75 (svn r4354) [Elrail][NewGRF] Codechange: Drawing of custom waypoints with custom ground sprites used the index of the rail type as an offset. With the introduction of elrails this offset is incorrect, so instead there is now a lookup table within the RailTypeInfo struct to explicitly list the offset.
peter1138
parents: 3355
diff changeset
   198
44f50afb0a75 (svn r4354) [Elrail][NewGRF] Codechange: Drawing of custom waypoints with custom ground sprites used the index of the rail type as an offset. With the introduction of elrails this offset is incorrect, so instead there is now a lookup table within the RailTypeInfo struct to explicitly list the offset.
peter1138
parents: 3355
diff changeset
   199
		/* custom ground offset */
44f50afb0a75 (svn r4354) [Elrail][NewGRF] Codechange: Drawing of custom waypoints with custom ground sprites used the index of the rail type as an offset. With the introduction of elrails this offset is incorrect, so instead there is now a lookup table within the RailTypeInfo struct to explicitly list the offset.
peter1138
parents: 3355
diff changeset
   200
		1,
8169
31d57d9de945 (svn r11732) -Fix (r4150): elrail merge gave elrail, monorail & maglev unintended speed bonuses for curves, as the bonus was based on the railtype index. The bonus is now specified by a property of the railtype.
peter1138
parents: 7800
diff changeset
   201
31d57d9de945 (svn r11732) -Fix (r4150): elrail merge gave elrail, monorail & maglev unintended speed bonuses for curves, as the bonus was based on the railtype index. The bonus is now specified by a property of the railtype.
peter1138
parents: 7800
diff changeset
   202
		/* curve speed advantage (multiplier) */
31d57d9de945 (svn r11732) -Fix (r4150): elrail merge gave elrail, monorail & maglev unintended speed bonuses for curves, as the bonus was based on the railtype index. The bonus is now specified by a property of the railtype.
peter1138
parents: 7800
diff changeset
   203
		1,
8860
a30cd0629e2b (svn r12624) -Codechange: Make drawing of catenary an attribute of rail types, instead of deciding by the rail type directly.
peter1138
parents: 8236
diff changeset
   204
a30cd0629e2b (svn r12624) -Codechange: Make drawing of catenary an attribute of rail types, instead of deciding by the rail type directly.
peter1138
parents: 8236
diff changeset
   205
		/* flags */
a30cd0629e2b (svn r12624) -Codechange: Make drawing of catenary an attribute of rail types, instead of deciding by the rail type directly.
peter1138
parents: 8236
diff changeset
   206
		RTFB_NONE,
10002
87148ad75853 (svn r14160) -Codechange: Move _railtype_cost_multipliers into the rail type information struct.
peter1138
parents: 10001
diff changeset
   207
87148ad75853 (svn r14160) -Codechange: Move _railtype_cost_multipliers into the rail type information struct.
peter1138
parents: 10001
diff changeset
   208
		/* cost multiplier */
87148ad75853 (svn r14160) -Codechange: Move _railtype_cost_multipliers into the rail type information struct.
peter1138
parents: 10001
diff changeset
   209
		16,
2236
34daee5dfc60 (svn r2756) Renamed railtypes into _railtypes
ludde
parents:
diff changeset
   210
	},
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   211
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   212
	/** Maglev */
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   213
	{ /* Main sprites */
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   214
		{ SPR_MGLV_TRACK_Y, SPR_MGLV_TRACK_N_S, SPR_MGLV_TRACK_BASE, SPR_MGLV_SINGLE_Y, SPR_MGLV_SINGLE_X,
2511
3eb6cb6b750d (svn r3037) Don't deduce the sprites for tunnels and level crossings from magic numbers, but fetch them from the central rail info array. This is a preparation step for electrified rails
tron
parents: 2293
diff changeset
   215
			SPR_MGLV_SINGLE_NORTH, SPR_MGLV_SINGLE_SOUTH, SPR_MGLV_SINGLE_EAST, SPR_MGLV_SINGLE_WEST,
9493
030cfc495f31 (svn r13469) -Codechange: add support for loading Action 0x05, type 0F: "tracks for slopes". It's not useful right now, but it will be in the future.
rubidium
parents: 8860
diff changeset
   216
			SPR_TRACKS_FOR_SLOPES_MAGLEV_BASE,
2511
3eb6cb6b750d (svn r3037) Don't deduce the sprites for tunnels and level crossings from magic numbers, but fetch them from the central rail info array. This is a preparation step for electrified rails
tron
parents: 2293
diff changeset
   217
			SPR_CROSSING_OFF_X_MAGLEV,
3eb6cb6b750d (svn r3037) Don't deduce the sprites for tunnels and level crossings from magic numbers, but fetch them from the central rail info array. This is a preparation step for electrified rails
tron
parents: 2293
diff changeset
   218
			SPR_TUNNEL_ENTRY_REAR_MAGLEV
3eb6cb6b750d (svn r3037) Don't deduce the sprites for tunnels and level crossings from magic numbers, but fetch them from the central rail info array. This is a preparation step for electrified rails
tron
parents: 2293
diff changeset
   219
		},
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   220
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   221
		/* GUI sprites */
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   222
		{ 0x4EB, 0x4EC, 0x4EE, 0x4ED,
2571
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
   223
			SPR_IMG_AUTOMAGLEV,
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
   224
			SPR_IMG_DEPOT_MAGLEV,
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
   225
			SPR_IMG_TUNNEL_MAGLEV,
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
   226
			SPR_IMG_CONVERT_MAGLEV
550a7d323ced (svn r3108) Confine the use of SPR_OPENTTD_BASE to table/sprites.h by adding/using some sprite enums
tron
parents: 2548
diff changeset
   227
		},
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   228
2514
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   229
		{
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   230
			SPR_CURSOR_NS_MAGLEV,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   231
			SPR_CURSOR_SWNE_MAGLEV,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   232
			SPR_CURSOR_EW_MAGLEV,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   233
			SPR_CURSOR_NWSE_MAGLEV,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   234
			SPR_CURSOR_AUTOMAGLEV,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   235
			SPR_CURSOR_MAGLEV_DEPOT,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   236
			SPR_CURSOR_TUNNEL_MAGLEV,
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   237
			SPR_CURSOR_CONVERT_MAGLEV
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   238
		},
859692ffa65a (svn r3040) Don't deduce the cursor sprites when building rails from magic numbers, but fetch them from the central rail info array.
tron
parents: 2511
diff changeset
   239
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   240
		/* strings */
10000
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   241
		{
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   242
			STR_100C_MAGLEV_CONSTRUCTION,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   243
			STR_1017_MAGLEV_CONSTRUCTION,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   244
			STR_881E_NEW_MAGLEV_VEHICLES,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   245
			STR_MAGLEV_VEHICLES,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   246
			STR_8107_MAGLEV_LOCOMOTIVE,
57463dc267a0 (svn r14157) -Codechange: Add and use string properties for rail types instead of relying on consecutive string IDs.
peter1138
parents: 9493
diff changeset
   247
		},
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   248
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   249
		/* Offset of snow tiles */
2236
34daee5dfc60 (svn r2756) Renamed railtypes into _railtypes
ludde
parents:
diff changeset
   250
		SPR_MGLV_SNOW_OFFSET,
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   251
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   252
		/* Powered railtypes */
8236
8a5dd0b42e47 (svn r11800) -Codechange: move some functions to a more logical location + some type safety.
rubidium
parents: 8228
diff changeset
   253
		RAILTYPES_MAGLEV,
3355
e414a0b104a6 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas.
celestar
parents: 2571
diff changeset
   254
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   255
		/* Compatible Railtypes */
8236
8a5dd0b42e47 (svn r11800) -Codechange: move some functions to a more logical location + some type safety.
rubidium
parents: 8228
diff changeset
   256
		RAILTYPES_MAGLEV,
2274
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   257
2c99425c1086 (svn r2798) -Codechange: Unified the rail toolbars into one that is modified by
celestar
parents: 2269
diff changeset
   258
		/* main offset */
2254
99de94953104 (svn r2774) -Codechange: Removed TRACKTYPE_SPRITE_PITCH globally and replaced it by a member of RailtypeInfo
celestar
parents: 2236
diff changeset
   259
		164,
2536
634914d741b4 (svn r3065) -Codechange/Add: Modified the bridge drawing code so that the basic offset is read from the RailTypeInfo struct. This is (hopefully) the last DrawTile change on the way to electrified railways. While being at it, de-mystified the function a bit and added some asserts.
celestar
parents: 2514
diff changeset
   260
634914d741b4 (svn r3065) -Codechange/Add: Modified the bridge drawing code so that the basic offset is read from the RailTypeInfo struct. This is (hopefully) the last DrawTile change on the way to electrified railways. While being at it, de-mystified the function a bit and added some asserts.
celestar
parents: 2514
diff changeset
   261
		/* bridge offset */
634914d741b4 (svn r3065) -Codechange/Add: Modified the bridge drawing code so that the basic offset is read from the RailTypeInfo struct. This is (hopefully) the last DrawTile change on the way to electrified railways. While being at it, de-mystified the function a bit and added some asserts.
celestar
parents: 2514
diff changeset
   262
		24,
3503
44f50afb0a75 (svn r4354) [Elrail][NewGRF] Codechange: Drawing of custom waypoints with custom ground sprites used the index of the rail type as an offset. With the introduction of elrails this offset is incorrect, so instead there is now a lookup table within the RailTypeInfo struct to explicitly list the offset.
peter1138
parents: 3355
diff changeset
   263
44f50afb0a75 (svn r4354) [Elrail][NewGRF] Codechange: Drawing of custom waypoints with custom ground sprites used the index of the rail type as an offset. With the introduction of elrails this offset is incorrect, so instead there is now a lookup table within the RailTypeInfo struct to explicitly list the offset.
peter1138
parents: 3355
diff changeset
   264
		/* custom ground offset */
44f50afb0a75 (svn r4354) [Elrail][NewGRF] Codechange: Drawing of custom waypoints with custom ground sprites used the index of the rail type as an offset. With the introduction of elrails this offset is incorrect, so instead there is now a lookup table within the RailTypeInfo struct to explicitly list the offset.
peter1138
parents: 3355
diff changeset
   265
		2,
8169
31d57d9de945 (svn r11732) -Fix (r4150): elrail merge gave elrail, monorail & maglev unintended speed bonuses for curves, as the bonus was based on the railtype index. The bonus is now specified by a property of the railtype.
peter1138
parents: 7800
diff changeset
   266
31d57d9de945 (svn r11732) -Fix (r4150): elrail merge gave elrail, monorail & maglev unintended speed bonuses for curves, as the bonus was based on the railtype index. The bonus is now specified by a property of the railtype.
peter1138
parents: 7800
diff changeset
   267
		/* curve speed advantage (multiplier) */
31d57d9de945 (svn r11732) -Fix (r4150): elrail merge gave elrail, monorail & maglev unintended speed bonuses for curves, as the bonus was based on the railtype index. The bonus is now specified by a property of the railtype.
peter1138
parents: 7800
diff changeset
   268
		2,
8860
a30cd0629e2b (svn r12624) -Codechange: Make drawing of catenary an attribute of rail types, instead of deciding by the rail type directly.
peter1138
parents: 8236
diff changeset
   269
a30cd0629e2b (svn r12624) -Codechange: Make drawing of catenary an attribute of rail types, instead of deciding by the rail type directly.
peter1138
parents: 8236
diff changeset
   270
		/* flags */
a30cd0629e2b (svn r12624) -Codechange: Make drawing of catenary an attribute of rail types, instead of deciding by the rail type directly.
peter1138
parents: 8236
diff changeset
   271
		RTFB_NONE,
10002
87148ad75853 (svn r14160) -Codechange: Move _railtype_cost_multipliers into the rail type information struct.
peter1138
parents: 10001
diff changeset
   272
87148ad75853 (svn r14160) -Codechange: Move _railtype_cost_multipliers into the rail type information struct.
peter1138
parents: 10001
diff changeset
   273
		/* cost multiplier */
87148ad75853 (svn r14160) -Codechange: Move _railtype_cost_multipliers into the rail type information struct.
peter1138
parents: 10001
diff changeset
   274
		24,
2236
34daee5dfc60 (svn r2756) Renamed railtypes into _railtypes
ludde
parents:
diff changeset
   275
	},
34daee5dfc60 (svn r2756) Renamed railtypes into _railtypes
ludde
parents:
diff changeset
   276
};
4666
172a0cdf28a6 (svn r6560) - Codechange: Minor fix; add missing #include guards and comments, and correct svn properties on bmp.[ch]
peter1138
parents: 3890
diff changeset
   277
172a0cdf28a6 (svn r6560) - Codechange: Minor fix; add missing #include guards and comments, and correct svn properties on bmp.[ch]
peter1138
parents: 3890
diff changeset
   278
#endif /* RAILTYPES_H */