OpenTTD
railtypes.h
Go to the documentation of this file.
1 /* $Id: railtypes.h 24368 2012-07-02 15:55:13Z frosch $ */
2 
3 /*
4  * This file is part of OpenTTD.
5  * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
6  * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7  * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
8  */
9 
15 #ifndef RAILTYPES_H
16 #define RAILTYPES_H
17 
23  { // Main Sprites
24  { SPR_RAIL_TRACK_Y, SPR_RAIL_TRACK_N_S, SPR_RAIL_TRACK_BASE, SPR_RAIL_SINGLE_X, SPR_RAIL_SINGLE_Y,
25  SPR_RAIL_SINGLE_NORTH, SPR_RAIL_SINGLE_SOUTH, SPR_RAIL_SINGLE_EAST, SPR_RAIL_SINGLE_WEST,
26  SPR_TRACKS_FOR_SLOPES_RAIL_BASE,
27  SPR_CROSSING_OFF_X_RAIL,
28  SPR_TUNNEL_ENTRY_REAR_RAIL
29  },
30 
31  /* GUI sprites */
32  { 0x4E3, 0x4E4, 0x4E5, 0x4E6,
33  SPR_IMG_AUTORAIL,
34  SPR_IMG_DEPOT_RAIL,
35  SPR_IMG_TUNNEL_RAIL,
36  SPR_IMG_CONVERT_RAIL,
37  {}
38  },
39 
40  {
41  SPR_CURSOR_NS_TRACK,
42  SPR_CURSOR_SWNE_TRACK,
43  SPR_CURSOR_EW_TRACK,
44  SPR_CURSOR_NWSE_TRACK,
45  SPR_CURSOR_AUTORAIL,
46  SPR_CURSOR_RAIL_DEPOT,
47  SPR_CURSOR_TUNNEL_RAIL,
48  SPR_CURSOR_CONVERT_RAIL
49  },
50 
51  /* strings */
52  {
53  STR_RAIL_NAME_RAILROAD,
54  STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION,
55  STR_RAIL_MENU_RAILROAD_CONSTRUCTION,
56  STR_BUY_VEHICLE_TRAIN_RAIL_CAPTION,
57  STR_REPLACE_RAIL_VEHICLES,
58  STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE,
59  },
60 
61  /* Offset of snow tiles */
62  SPR_RAIL_SNOW_OFFSET,
63 
64  /* Powered railtypes */
66 
67  /* Compatible railtypes */
69 
70  /* bridge offset */
71  0,
72 
73  /* fallback_railtype */
74  0,
75 
76  /* curve speed advantage (multiplier) */
77  0,
78 
79  /* flags */
80  RTFB_NONE,
81 
82  /* cost multiplier */
83  8,
84 
85  /* maintenance cost multiplier */
86  8,
87 
88  /* acceleration type */
89  0,
90 
91  /* max speed */
92  0,
93 
94  /* rail type label */
95  'RAIL',
96 
97  /* alternate labels */
99 
100  /* map colour */
101  0x0A,
102 
103  /* introduction date */
104  INVALID_DATE,
105 
106  /* railtypes required for this to be introduced */
108 
109  /* introduction rail types */
111 
112  /* sort order */
113  0 << 4 | 7,
114 
115  { NULL },
116  { NULL },
117  },
118 
120  { // Main Sprites
121  { SPR_RAIL_TRACK_Y, SPR_RAIL_TRACK_N_S, SPR_RAIL_TRACK_BASE, SPR_RAIL_SINGLE_X, SPR_RAIL_SINGLE_Y,
122  SPR_RAIL_SINGLE_NORTH, SPR_RAIL_SINGLE_SOUTH, SPR_RAIL_SINGLE_EAST, SPR_RAIL_SINGLE_WEST,
123  SPR_TRACKS_FOR_SLOPES_RAIL_BASE,
124  SPR_CROSSING_OFF_X_RAIL,
125  SPR_TUNNEL_ENTRY_REAR_RAIL
126  },
127 
128  /* GUI sprites */
129  {
130  SPR_BUILD_NS_ELRAIL,
131  SPR_BUILD_X_ELRAIL,
132  SPR_BUILD_EW_ELRAIL,
133  SPR_BUILD_Y_ELRAIL,
134  SPR_IMG_AUTOELRAIL,
135  SPR_IMG_DEPOT_ELRAIL,
136  SPR_BUILD_TUNNEL_ELRAIL,
137  SPR_IMG_CONVERT_ELRAIL,
138  {}
139  },
140 
141  {
142  SPR_CURSOR_NS_ELRAIL,
143  SPR_CURSOR_SWNE_ELRAIL,
144  SPR_CURSOR_EW_ELRAIL,
145  SPR_CURSOR_NWSE_ELRAIL,
146  SPR_CURSOR_AUTOELRAIL,
147  SPR_CURSOR_ELRAIL_DEPOT,
148  SPR_CURSOR_TUNNEL_ELRAIL,
149  SPR_CURSOR_CONVERT_ELRAIL
150  },
151 
152  /* strings */
153  {
154  STR_RAIL_NAME_ELRAIL,
155  STR_RAIL_TOOLBAR_ELRAIL_CONSTRUCTION_CAPTION,
156  STR_RAIL_MENU_ELRAIL_CONSTRUCTION,
157  STR_BUY_VEHICLE_TRAIN_ELRAIL_CAPTION,
158  STR_REPLACE_ELRAIL_VEHICLES,
159  STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE,
160  },
161 
162  /* Offset of snow tiles */
163  SPR_RAIL_SNOW_OFFSET,
164 
165  /* Powered railtypes */
167 
168  /* Compatible railtypes */
169  RAILTYPES_ELECTRIC | RAILTYPES_RAIL,
170 
171  /* bridge offset */
172  0,
173 
174  /* fallback_railtype */
175  0,
176 
177  /* curve speed advantage (multiplier) */
178  0,
179 
180  /* flags */
182 
183  /* cost multiplier */
184  12,
185 
186  /* maintenance cost multiplier */
187  12,
188 
189  /* acceleration type */
190  0,
191 
192  /* max speed */
193  0,
194 
195  /* rail type label */
196  'ELRL',
197 
198  /* alternate labels */
200 
201  /* map colour */
202  0x0A,
203 
204  /* introduction date */
205  INVALID_DATE,
206 
207  /* railtypes required for this to be introduced */
209 
210  /* introduction rail types */
212 
213  /* sort order */
214  1 << 4 | 7,
215 
216  { NULL },
217  { NULL },
218  },
219 
221  { // Main Sprites
222  { SPR_MONO_TRACK_Y, SPR_MONO_TRACK_N_S, SPR_MONO_TRACK_BASE, SPR_MONO_SINGLE_X, SPR_MONO_SINGLE_Y,
223  SPR_MONO_SINGLE_NORTH, SPR_MONO_SINGLE_SOUTH, SPR_MONO_SINGLE_EAST, SPR_MONO_SINGLE_WEST,
224  SPR_TRACKS_FOR_SLOPES_MONO_BASE,
225  SPR_CROSSING_OFF_X_MONO,
226  SPR_TUNNEL_ENTRY_REAR_MONO
227  },
228 
229  /* GUI sprites */
230  { 0x4E7, 0x4E8, 0x4E9, 0x4EA,
231  SPR_IMG_AUTOMONO,
232  SPR_IMG_DEPOT_MONO,
233  SPR_IMG_TUNNEL_MONO,
234  SPR_IMG_CONVERT_MONO,
235  {}
236  },
237 
238  {
239  SPR_CURSOR_NS_MONO,
240  SPR_CURSOR_SWNE_MONO,
241  SPR_CURSOR_EW_MONO,
242  SPR_CURSOR_NWSE_MONO,
243  SPR_CURSOR_AUTOMONO,
244  SPR_CURSOR_MONO_DEPOT,
245  SPR_CURSOR_TUNNEL_MONO,
246  SPR_CURSOR_CONVERT_MONO
247  },
248 
249  /* strings */
250  {
251  STR_RAIL_NAME_MONORAIL,
252  STR_RAIL_TOOLBAR_MONORAIL_CONSTRUCTION_CAPTION,
253  STR_RAIL_MENU_MONORAIL_CONSTRUCTION,
254  STR_BUY_VEHICLE_TRAIN_MONORAIL_CAPTION,
255  STR_REPLACE_MONORAIL_VEHICLES,
256  STR_ENGINE_PREVIEW_MONORAIL_LOCOMOTIVE,
257  },
258 
259  /* Offset of snow tiles */
260  SPR_MONO_SNOW_OFFSET,
261 
262  /* Powered railtypes */
264 
265  /* Compatible Railtypes */
267 
268  /* bridge offset */
269  16,
270 
271  /* fallback_railtype */
272  1,
273 
274  /* curve speed advantage (multiplier) */
275  1,
276 
277  /* flags */
278  RTFB_NONE,
279 
280  /* cost multiplier */
281  16,
282 
283  /* maintenance cost multiplier */
284  16,
285 
286  /* acceleration type */
287  1,
288 
289  /* max speed */
290  0,
291 
292  /* rail type label */
293  'MONO',
294 
295  /* alternate labels */
297 
298  /* map colour */
299  0x0A,
300 
301  /* introduction date */
302  INVALID_DATE,
303 
304  /* railtypes required for this to be introduced */
306 
307  /* introduction rail types */
309 
310  /* sort order */
311  2 << 4 | 7,
312 
313  { NULL },
314  { NULL },
315  },
316 
318  { // Main sprites
319  { SPR_MGLV_TRACK_Y, SPR_MGLV_TRACK_N_S, SPR_MGLV_TRACK_BASE, SPR_MGLV_SINGLE_X, SPR_MGLV_SINGLE_Y,
320  SPR_MGLV_SINGLE_NORTH, SPR_MGLV_SINGLE_SOUTH, SPR_MGLV_SINGLE_EAST, SPR_MGLV_SINGLE_WEST,
321  SPR_TRACKS_FOR_SLOPES_MAGLEV_BASE,
322  SPR_CROSSING_OFF_X_MAGLEV,
323  SPR_TUNNEL_ENTRY_REAR_MAGLEV
324  },
325 
326  /* GUI sprites */
327  { 0x4EB, 0x4EC, 0x4EE, 0x4ED,
328  SPR_IMG_AUTOMAGLEV,
329  SPR_IMG_DEPOT_MAGLEV,
330  SPR_IMG_TUNNEL_MAGLEV,
331  SPR_IMG_CONVERT_MAGLEV,
332  {}
333  },
334 
335  {
336  SPR_CURSOR_NS_MAGLEV,
337  SPR_CURSOR_SWNE_MAGLEV,
338  SPR_CURSOR_EW_MAGLEV,
339  SPR_CURSOR_NWSE_MAGLEV,
340  SPR_CURSOR_AUTOMAGLEV,
341  SPR_CURSOR_MAGLEV_DEPOT,
342  SPR_CURSOR_TUNNEL_MAGLEV,
343  SPR_CURSOR_CONVERT_MAGLEV
344  },
345 
346  /* strings */
347  {
348  STR_RAIL_NAME_MAGLEV,
349  STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION,
350  STR_RAIL_MENU_MAGLEV_CONSTRUCTION,
351  STR_BUY_VEHICLE_TRAIN_MAGLEV_CAPTION,
352  STR_REPLACE_MAGLEV_VEHICLES,
353  STR_ENGINE_PREVIEW_MAGLEV_LOCOMOTIVE,
354  },
355 
356  /* Offset of snow tiles */
357  SPR_MGLV_SNOW_OFFSET,
358 
359  /* Powered railtypes */
361 
362  /* Compatible Railtypes */
364 
365  /* bridge offset */
366  24,
367 
368  /* fallback_railtype */
369  2,
370 
371  /* curve speed advantage (multiplier) */
372  2,
373 
374  /* flags */
375  RTFB_NONE,
376 
377  /* cost multiplier */
378  24,
379 
380  /* maintenance cost multiplier */
381  24,
382 
383  /* acceleration type */
384  2,
385 
386  /* max speed */
387  0,
388 
389  /* rail type label */
390  'MGLV',
391 
392  /* alternate labels */
394 
395  /* map colour */
396  0x0A,
397 
398  /* introduction date */
399  INVALID_DATE,
400 
401  /* railtypes required for this to be introduced */
403 
404  /* introduction rail types */
406 
407  /* sort order */
408  3 << 4 | 7,
409 
410  { NULL },
411  { NULL },
412  },
413 };
414 
415 #endif /* RAILTYPES_H */