Mercurial > hg > openttd
annotate src/rail.h @ 8123:c26c28875749 draft
(svn r11684) -Codechange: split gfx.h in a type and functional header.
author | rubidium <rubidium@openttd.org> |
---|---|
date | Sun, 23 Dec 2007 10:56:02 +0000 |
parents | 89722abcfd91 |
children | 60ea0f95de91 |
rev | line source |
---|---|
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
1 /* $Id$ */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
2 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
3 /** @file rail.h */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
4 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
5 #ifndef RAIL_H |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
6 #define RAIL_H |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
7 |
8101
b222582555cb
(svn r11662) -Codechange: move some rail types/related functions around.
rubidium <rubidium@openttd.org>
parents:
8100
diff
changeset
|
8 #include "rail_type.h" |
b222582555cb
(svn r11662) -Codechange: move some rail types/related functions around.
rubidium <rubidium@openttd.org>
parents:
8100
diff
changeset
|
9 #include "track_type.h" |
8119
b6ec923e9fa8
(svn r11680) -Codechange: refactor more out of openttd.h and functions.h.
rubidium <rubidium@openttd.org>
parents:
8116
diff
changeset
|
10 #include "vehicle_type.h" |
8123
c26c28875749
(svn r11684) -Codechange: split gfx.h in a type and functional header.
rubidium <rubidium@openttd.org>
parents:
8121
diff
changeset
|
11 #include "gfx_type.h" |
8113
c35412099303
(svn r11674) -Codechange: refactor some functions out of macros.h into more logical locations.
rubidium <rubidium@openttd.org>
parents:
8108
diff
changeset
|
12 #include "core/bitmath_func.hpp" |
8123
c26c28875749
(svn r11684) -Codechange: split gfx.h in a type and functional header.
rubidium <rubidium@openttd.org>
parents:
8121
diff
changeset
|
13 #include "economy_func.h" |
7730
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
14 #include "variables.h" |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
15 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
16 /** This struct contains all the info that is needed to draw and construct tracks. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
17 */ |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6162
diff
changeset
|
18 struct RailtypeInfo { |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
19 /** Struct containing the main sprites. @note not all sprites are listed, but only |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
20 * the ones used directly in the code */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
21 struct { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
22 SpriteID track_y; ///< single piece of rail in Y direction, with ground |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
23 SpriteID track_ns; ///< two pieces of rail in North and South corner (East-West direction) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
24 SpriteID ground; ///< ground sprite for a 3-way switch |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
25 SpriteID single_y; ///< single piece of rail in Y direction, without ground |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
26 SpriteID single_x; ///< single piece of rail in X direction |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
27 SpriteID single_n; ///< single piece of rail in the northern corner |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
28 SpriteID single_s; ///< single piece of rail in the southern corner |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
29 SpriteID single_e; ///< single piece of rail in the eastern corner |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
30 SpriteID single_w; ///< single piece of rail in the western corner |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
31 SpriteID crossing; ///< level crossing, rail in X direction |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
32 SpriteID tunnel; ///< tunnel sprites base |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
33 } base_sprites; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
34 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
35 /** struct containing the sprites for the rail GUI. @note only sprites referred to |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
36 * directly in the code are listed */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
37 struct { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
38 SpriteID build_ns_rail; ///< button for building single rail in N-S direction |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
39 SpriteID build_x_rail; ///< button for building single rail in X direction |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
40 SpriteID build_ew_rail; ///< button for building single rail in E-W direction |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
41 SpriteID build_y_rail; ///< button for building single rail in Y direction |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
42 SpriteID auto_rail; ///< button for the autorail construction |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
43 SpriteID build_depot; ///< button for building depots |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
44 SpriteID build_tunnel; ///< button for building a tunnel |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
45 SpriteID convert_rail; ///< button for converting rail |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
46 } gui_sprites; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
47 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
48 struct { |
7396
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
49 CursorID rail_ns; ///< Cursor for building rail in N-S direction |
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
50 CursorID rail_swne; ///< Cursor for building rail in X direction |
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
51 CursorID rail_ew; ///< Cursor for building rail in E-W direction |
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
52 CursorID rail_nwse; ///< Cursor for building rail in Y direction |
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
53 CursorID autorail; ///< Cursor for autorail tool |
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
54 CursorID depot; ///< Cursor for building a depot |
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
55 CursorID tunnel; ///< Cursor for building a tunnel |
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
56 CursorID convert; ///< Cursor for converting track |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
57 } cursor; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
58 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
59 struct { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
60 StringID toolbar_caption; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
61 } strings; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
62 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
63 /** sprite number difference between a piece of track on a snowy ground and the corresponding one on normal ground */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
64 SpriteID snow_offset; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
65 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
66 /** bitmask to the OTHER railtypes on which an engine of THIS railtype generates power */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
67 RailTypeMask powered_railtypes; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
68 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
69 /** bitmask to the OTHER railtypes on which an engine of THIS railtype can physically travel */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
70 RailTypeMask compatible_railtypes; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
71 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
72 /** |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
73 * Offset between the current railtype and normal rail. This means that:<p> |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
74 * 1) All the sprites in a railset MUST be in the same order. This order |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
75 * is determined by normal rail. Check sprites 1005 and following for this order<p> |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
76 * 2) The position where the railtype is loaded must always be the same, otherwise |
6420
080aae477331
(svn r9556) -Documentation: doxygen and comment-style changes. 'R', 'S'.. The end of the preliminary work is near
belugas <belugas@openttd.org>
parents:
6248
diff
changeset
|
77 * the offset will fail. |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
78 * @note: Something more flexible might be desirable in the future. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
79 */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
80 SpriteID total_offset; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
81 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
82 /** |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
83 * Bridge offset |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
84 */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
85 SpriteID bridge_offset; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
86 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
87 /** |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
88 * Offset to add to ground sprite when drawing custom waypoints / stations |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
89 */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
90 byte custom_ground_offset; |
6248
0789677a15a0
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium <rubidium@openttd.org>
parents:
6162
diff
changeset
|
91 }; |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
92 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
93 |
6420
080aae477331
(svn r9556) -Documentation: doxygen and comment-style changes. 'R', 'S'.. The end of the preliminary work is near
belugas <belugas@openttd.org>
parents:
6248
diff
changeset
|
94 /** these are the maximums used for updating signal blocks, and checking if a depot is in a pbs block */ |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
95 enum { |
6420
080aae477331
(svn r9556) -Documentation: doxygen and comment-style changes. 'R', 'S'.. The end of the preliminary work is near
belugas <belugas@openttd.org>
parents:
6248
diff
changeset
|
96 NUM_SSD_ENTRY = 256, ///< max amount of blocks |
080aae477331
(svn r9556) -Documentation: doxygen and comment-style changes. 'R', 'S'.. The end of the preliminary work is near
belugas <belugas@openttd.org>
parents:
6248
diff
changeset
|
97 NUM_SSD_STACK = 32, ///< max amount of blocks to check recursively |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
98 }; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
99 |
7396
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
100 /* |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
101 * Functions to map tracks to the corresponding bits in the signal |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
102 * presence/status bytes in the map. You should not use these directly, but |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
103 * wrapper functions below instead. XXX: Which are these? |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
104 */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
105 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
106 /** |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
107 * Maps a trackdir to the bit that stores its status in the map arrays, in the |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
108 * direction along with the trackdir. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
109 */ |
6162
d7bcc0708818
(svn r8912) -Codechange: coding style cleanup and moving of two global externs into the functions that use them.
rubidium <rubidium@openttd.org>
parents:
6156
diff
changeset
|
110 static inline byte SignalAlongTrackdir(Trackdir trackdir) |
d7bcc0708818
(svn r8912) -Codechange: coding style cleanup and moving of two global externs into the functions that use them.
rubidium <rubidium@openttd.org>
parents:
6156
diff
changeset
|
111 { |
d7bcc0708818
(svn r8912) -Codechange: coding style cleanup and moving of two global externs into the functions that use them.
rubidium <rubidium@openttd.org>
parents:
6156
diff
changeset
|
112 extern const byte _signal_along_trackdir[TRACKDIR_END]; |
d7bcc0708818
(svn r8912) -Codechange: coding style cleanup and moving of two global externs into the functions that use them.
rubidium <rubidium@openttd.org>
parents:
6156
diff
changeset
|
113 return _signal_along_trackdir[trackdir]; |
d7bcc0708818
(svn r8912) -Codechange: coding style cleanup and moving of two global externs into the functions that use them.
rubidium <rubidium@openttd.org>
parents:
6156
diff
changeset
|
114 } |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
115 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
116 /** |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
117 * Maps a trackdir to the bit that stores its status in the map arrays, in the |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
118 * direction against the trackdir. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
119 */ |
6162
d7bcc0708818
(svn r8912) -Codechange: coding style cleanup and moving of two global externs into the functions that use them.
rubidium <rubidium@openttd.org>
parents:
6156
diff
changeset
|
120 static inline byte SignalAgainstTrackdir(Trackdir trackdir) |
d7bcc0708818
(svn r8912) -Codechange: coding style cleanup and moving of two global externs into the functions that use them.
rubidium <rubidium@openttd.org>
parents:
6156
diff
changeset
|
121 { |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
122 extern const byte _signal_against_trackdir[TRACKDIR_END]; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
123 return _signal_against_trackdir[trackdir]; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
124 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
125 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
126 /** |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
127 * Maps a Track to the bits that store the status of the two signals that can |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
128 * be present on the given track. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
129 */ |
6162
d7bcc0708818
(svn r8912) -Codechange: coding style cleanup and moving of two global externs into the functions that use them.
rubidium <rubidium@openttd.org>
parents:
6156
diff
changeset
|
130 static inline byte SignalOnTrack(Track track) |
d7bcc0708818
(svn r8912) -Codechange: coding style cleanup and moving of two global externs into the functions that use them.
rubidium <rubidium@openttd.org>
parents:
6156
diff
changeset
|
131 { |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
132 extern const byte _signal_on_track[TRACK_END]; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
133 return _signal_on_track[track]; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
134 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
135 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
136 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
137 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
138 /** |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
139 * Returns a pointer to the Railtype information for a given railtype |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
140 * @param railtype the rail type which the information is requested for |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
141 * @return The pointer to the RailtypeInfo |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
142 */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
143 static inline const RailtypeInfo *GetRailTypeInfo(RailType railtype) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
144 { |
6162
d7bcc0708818
(svn r8912) -Codechange: coding style cleanup and moving of two global externs into the functions that use them.
rubidium <rubidium@openttd.org>
parents:
6156
diff
changeset
|
145 extern RailtypeInfo _railtypes[RAILTYPE_END]; |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
146 assert(railtype < RAILTYPE_END); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
147 return &_railtypes[railtype]; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
148 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
149 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
150 /** |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
151 * Checks if an engine of the given RailType can drive on a tile with a given |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
152 * RailType. This would normally just be an equality check, but for electric |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
153 * rails (which also support non-electric engines). |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
154 * @return Whether the engine can drive on this tile. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
155 * @param enginetype The RailType of the engine we are considering. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
156 * @param tiletype The RailType of the tile we are considering. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
157 */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
158 static inline bool IsCompatibleRail(RailType enginetype, RailType tiletype) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
159 { |
7928
4e8dfd103163
(svn r11481) -Codechange: Rename the HASBIT function to fit with the naming style
skidd13 <skidd13@openttd.org>
parents:
7833
diff
changeset
|
160 return HasBit(GetRailTypeInfo(enginetype)->compatible_railtypes, tiletype); |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
161 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
162 |
7396
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
163 /** |
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
164 * Checks if an engine of the given RailType got power on a tile with a given |
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
165 * RailType. This would normally just be an equality check, but for electric |
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
166 * rails (which also support non-electric engines). |
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
167 * @return Whether the engine got power on this tile. |
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
168 * @param enginetype The RailType of the engine we are considering. |
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
169 * @param tiletype The RailType of the tile we are considering. |
57ff3c1c55de
(svn r10765) -Documentation [FS#1100]: of rail.h. Based on a patch by Progman.
rubidium <rubidium@openttd.org>
parents:
7335
diff
changeset
|
170 */ |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
171 static inline bool HasPowerOnRail(RailType enginetype, RailType tiletype) |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
172 { |
7928
4e8dfd103163
(svn r11481) -Codechange: Rename the HASBIT function to fit with the naming style
skidd13 <skidd13@openttd.org>
parents:
7833
diff
changeset
|
173 return HasBit(GetRailTypeInfo(enginetype)->powered_railtypes, tiletype); |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
174 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
175 |
7730
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
176 |
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
177 extern int _railtype_cost_multiplier[RAILTYPE_END]; |
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
178 extern const int _default_railtype_cost_multiplier[RAILTYPE_END]; |
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
179 |
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
180 /** |
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
181 * Returns the cost of building the specified railtype. |
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
182 * @param railtype The railtype being built. |
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
183 * @return The cost multiplier. |
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
184 */ |
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
185 static inline Money RailBuildCost(RailType railtype) |
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
186 { |
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
187 assert(railtype < RAILTYPE_END); |
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
188 return (_price.build_rail * _railtype_cost_multiplier[railtype]) >> 3; |
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
189 } |
b2ca338938ed
(svn r11265) -Feature: Make more advanced rail types more expensive to build.
maedhros <maedhros@openttd.org>
parents:
7703
diff
changeset
|
190 |
8043
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
191 /** |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
192 * Calculates the cost of rail conversion |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
193 * @param from The railtype we are converting from |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
194 * @param to The railtype we are converting to |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
195 * @return Cost per TrackBit |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
196 */ |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
197 static inline Money RailConvertCost(RailType from, RailType to) |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
198 { |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
199 /* rail -> el. rail |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
200 * calculate the price as 5 / 4 of (cost build el. rail) - (cost build rail) |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
201 * (the price of workers to get to place is that 1/4) |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
202 */ |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
203 if (HasPowerOnRail(from, to)) { |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
204 return ((RailBuildCost(to) - RailBuildCost(from)) * 5) >> 2; |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
205 } |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
206 |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
207 /* el. rail -> rail |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
208 * calculate the price as 1 / 4 of (cost build el. rail) - (cost build rail) |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
209 * (the price of workers is 1 / 4 + price of copper sold to a recycle center) |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
210 */ |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
211 if (HasPowerOnRail(to, from)) { |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
212 return (RailBuildCost(from) - RailBuildCost(to)) >> 2; |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
213 } |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
214 |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
215 /* make the price the same as remove + build new type */ |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
216 return RailBuildCost(to) + _price.remove_rail; |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
217 } |
ec0309fb003a
(svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic
smatz <smatz@openttd.org>
parents:
7929
diff
changeset
|
218 |
7539
2695ac2e8baa
(svn r11059) -Fix [FS#1182]: inconsistency between Rail<->ElRail conversions of different kinds of rail containing tiles (normal rail, stations, depots, etc). Patch by SmatZ.
rubidium <rubidium@openttd.org>
parents:
7396
diff
changeset
|
219 void *UpdateTrainPowerProc(Vehicle *v, void *data); |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
220 void DrawTrainDepotSprite(int x, int y, int image, RailType railtype); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
221 void DrawDefaultWaypointSprite(int x, int y, RailType railtype); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
222 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
223 /** |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
224 * Draws overhead wires and pylons for electric railways. |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
225 * @param ti The TileInfo struct of the tile being drawn |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
226 * @see DrawCatenaryRailway |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
227 */ |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
228 void DrawCatenary(const TileInfo *ti); |
7601
b5ee57f72673
(svn r11128) -Fix: a lot of graphical glitches by changing some bounding boxes. It's not perfect yet, but a *very* good step into the right direction. Patch by frosch.
rubidium <rubidium@openttd.org>
parents:
7539
diff
changeset
|
229 void DrawCatenaryOnTunnel(const TileInfo *ti); |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
230 |
7335
0090d1c6b978
(svn r10698) -Codechange [FS#1082]: simplify the code related to foundations. Primarily removal of (duplicated|magic) code and introduction of few helper functions to ease foundation determination. Patch by frosch.
rubidium <rubidium@openttd.org>
parents:
7155
diff
changeset
|
231 Foundation GetRailFoundation(Slope tileh, TrackBits bits); |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
232 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
233 int32 SettingsDisableElrail(int32 p1); ///< _patches.disable_elrail callback |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
234 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
235 #endif /* RAIL_H */ |