rail.h
changeset 2274 d94004c14b6c
parent 2254 72f8883ff3ac
child 2436 177cb6a8339f
equal deleted inserted replaced
2273:95dd61d9ca47 2274:d94004c14b6c
   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 */