140 } SignalState; |
140 } SignalState; |
141 |
141 |
142 /** This struct contains all the info that is needed to draw and construct tracks. |
142 /** This struct contains all the info that is needed to draw and construct tracks. |
143 */ |
143 */ |
144 typedef struct RailtypeInfo { |
144 typedef struct RailtypeInfo { |
|
145 /** Struct containing the main sprites. @note not all sprites are listed, but only |
|
146 * the ones used directly in the code */ |
145 struct { |
147 struct { |
146 SpriteID track_y; ///< single piece of rail in Y direction, with ground |
148 SpriteID track_y; ///< single piece of rail in Y direction, with ground |
147 SpriteID track_ns; ///< two pieces of rail in North and South corner (East-West direction) |
149 SpriteID track_ns; ///< two pieces of rail in North and South corner (East-West direction) |
148 SpriteID ground; ///< ground sprite for a 3-way switch |
150 SpriteID ground; ///< ground sprite for a 3-way switch |
149 SpriteID single_y; ///< single piece of rail in Y direction, without ground |
151 SpriteID single_y; ///< single piece of rail in Y direction, without ground |
151 SpriteID single_n; ///< single piece of rail in the northern corner |
153 SpriteID single_n; ///< single piece of rail in the northern corner |
152 SpriteID single_s; ///< single piece of rail in the southern corner |
154 SpriteID single_s; ///< single piece of rail in the southern corner |
153 SpriteID single_e; ///< single piece of rail in the eastern corner |
155 SpriteID single_e; ///< single piece of rail in the eastern corner |
154 SpriteID single_w; ///< single piece of rail in the western corner |
156 SpriteID single_w; ///< single piece of rail in the western corner |
155 } base_sprites; |
157 } base_sprites; |
|
158 |
|
159 /** struct containing the sprites for the rail GUI. @note only sprites referred to |
|
160 * directly in the code are listed */ |
|
161 struct { |
|
162 SpriteID build_ns_rail; ///< button for building single rail in N-S direction |
|
163 SpriteID build_x_rail; ///< button for building single rail in X direction |
|
164 SpriteID build_ew_rail; ///< button for building single rail in E-W direction |
|
165 SpriteID build_y_rail; ///< button for building single rail in Y direction |
|
166 SpriteID auto_rail; ///< button for the autorail construction |
|
167 SpriteID build_depot; ///< button for building depots |
|
168 SpriteID build_tunnel; ///< button for building a tunnel |
|
169 SpriteID convert_rail; ///< button for converting rail |
|
170 } gui_sprites; |
|
171 |
|
172 struct { |
|
173 StringID toolbar_caption; |
|
174 } strings; |
156 |
175 |
157 /** sprite number difference between a piece of track on a snowy ground and the corresponding one on normal ground */ |
176 /** sprite number difference between a piece of track on a snowy ground and the corresponding one on normal ground */ |
158 SpriteID snow_offset; |
177 SpriteID snow_offset; |
159 |
178 |
160 /** bitmask to the OTHER railtypes that can be used by an engine of THIS railtype */ |
179 /** bitmask to the OTHER railtypes that can be used by an engine of THIS railtype */ |