table/sprites.h
changeset 513 a6eaa0d97d8d
child 579 e977d17c89b1
equal deleted inserted replaced
512:a607202acd7b 513:a6eaa0d97d8d
       
     1 #ifndef SPRITES_H
       
     2 #define SPRITES_H
       
     3 
       
     4 /* NOTE:
       
     5 	ALL SPRITE NUMBERS BELOW 5126 are in the main files
       
     6 	SPR_CANALS_BASE is in canalsw.grf
       
     7 	SPR_SLOPES_BASE is in trkfoundw.grf
       
     8 	SPR_OPENTTD_BASE is in openttd.grf
       
     9 */
       
    10 
       
    11 /*
       
    12 	All elements which consist of two elements should
       
    13 	have the same name and then suffixes
       
    14 		_GROUND and _BUILD for building-type sprites
       
    15 		_REAR and _FRONT for transport-type sprites (tiles where vehicles are on)
       
    16 	These sprites are split because of the Z order of the elements
       
    17 		(like some parts of a bridge are behind the vehicle, while others are before)
       
    18 */
       
    19 
       
    20 /*
       
    21 	All sprites which are described here are referenced only one to a handful of times
       
    22 	throughout the code. When introducing new sprite enums, use meaningful names.
       
    23 	Don't be lazy and typing, and only use abbrevations when their meaning is clear or
       
    24 	the length of the enum would get out of hand. In that case EXPLAIN THE ABBREVATION
       
    25 	IN THIS FILE, and perhaps add some comments in the code where it is used.
       
    26 	Now, don't whine about this being too much typing work if the enums are like
       
    27 	30 characters in length. If your editor doen't help you simplifying your work,
       
    28 	get a proper editor. If your Operating Systems don't have any decent editors,
       
    29 	get a proper Operating System.
       
    30 */
       
    31 
       
    32 
       
    33 enum Sprites {
       
    34 	SPR_SELECT_TILE	 = 752,
       
    35 	SPR_DOT          = 774, // corner marker for lower/raise land
       
    36 	SPR_DOT_SMALL    = 4078,
       
    37 	SPR_WHITE_POINT  = 4079,
       
    38 
       
    39 	/* ASCII */
       
    40 	SPR_ASCII_SPACE       = 2,
       
    41 	SPR_ASCII_SPACE_SMALL = 226,
       
    42 	SPR_ASCII_SPACE_BIG   = 450,
       
    43 
       
    44 	/* Extra graphic spritenumbers */
       
    45 	SPR_CANALS_BASE		= 5126,
       
    46 	SPR_SLOPES_BASE		= SPR_CANALS_BASE + 70,
       
    47 	SPR_OPENTTD_BASE	= SPR_SLOPES_BASE + 74,		//5270
       
    48 
       
    49 	SPR_BLOT = SPR_OPENTTD_BASE + 10, // used as vehicle profit marker
       
    50 
       
    51 	/* Manager face sprites */
       
    52 	SPR_GRADIENT = 874, // background gradient behind manager face
       
    53 
       
    54 	/* Shadow cell */
       
    55 	SPR_SHADOW_CELL = 1004,
       
    56 	
       
    57 	/* Sliced view shadow cells */
       
    58 	/* Maybe we have differen ones in the future */
       
    59 	SPR_MAX_SLICE = SPR_OPENTTD_BASE + 71,
       
    60 	SPR_MIN_SLICE = SPR_OPENTTD_BASE + 71,
       
    61 
       
    62 	/* Unmovables spritenumbers */
       
    63 	SPR_UNMOVABLE_TRANSMITTER 	= 2601,
       
    64 	SPR_UNMOVABLE_LIGHTHOUSE		= 2602,
       
    65 	SPR_TINYHQ_NORTH						= 2603,
       
    66 	SPR_TINYHQ_EAST							= 2604,
       
    67 	SPR_TINYHQ_WEST							= 2605,
       
    68 	SPR_TINYHQ_SOUTH						= 2606,
       
    69 	SPR_SMALLHQ_NORTH						= 2607,
       
    70 	SPR_SMALLHQ_EAST						= 2608,
       
    71 	SPR_SMALLHQ_WEST						= 2609,
       
    72 	SPR_SMALLHQ_SOUTH						= 2610,
       
    73 	SPR_MEDIUMHQ_NORTH					= 2611,
       
    74 	SPR_MEDIUMHQ_NORTH_WALL			= 2612,
       
    75 	SPR_MEDIUMHQ_EAST						= 2613,
       
    76 	SPR_MEDIUMHQ_EAST_WALL			= 2614,
       
    77 	SPR_MEDIUMHQ_WEST						= 2615,
       
    78 	SPR_MEDIUMHQ_WEST_WALL			= 2616,	//very tiny piece of wall
       
    79 	SPR_MEDIUMHQ_SOUTH					= 2617,
       
    80 	SPR_LARGEHQ_NORTH_GROUND		= 2618,
       
    81 	SPR_LARGEHQ_NORTH_BUILD			= 2619,
       
    82 	SPR_LARGEHQ_EAST_GROUND			= 2620,
       
    83 	SPR_LARGEHQ_EAST_BUILD			= 2621,
       
    84 	SPR_LARGEHQ_WEST_GROUND			= 2622,
       
    85 	SPR_LARGEHQ_WEST_BUILD			= 2623,
       
    86 	SPR_LARGEHQ_SOUTH						= 2624,
       
    87 	SPR_HUGEHQ_NORTH_GROUND			= 2625,
       
    88 	SPR_HUGEHQ_NORTH_BUILD			= 2626,
       
    89 	SPR_HUGEHQ_EAST_GROUND			= 2627,
       
    90 	SPR_HUGEHQ_EAST_BUILD				=	2628,
       
    91 	SPR_HUGEHQ_WEST_GROUND			= 2629,
       
    92 	SPR_HUGEHQ_WEST_BUILD				= 2630,
       
    93 	SPR_HUGEHQ_SOUTH						= 2631,
       
    94 	SPR_STATUE_GROUND						= 1420,
       
    95 	SPR_STATUE_COMPANY					=	2623,
       
    96 	SPR_BOUGHT_LAND							= 4790,
       
    97 
       
    98 	/* sprites for rail and rail stations*/
       
    99 	SPR_RAIL_TRACK_Y						= 1011,
       
   100 	SPR_RAIL_TRACK_X						= 1012,
       
   101 	SPR_RAIL_TRACK_Y_SNOW				= 1037,
       
   102 	SPR_RAIL_TRACK_X_SNOW				= 1038,
       
   103 	SPR_RAIL_DEPOT_SE_1					= 1063,
       
   104 	SPR_RAIL_DEPOT_SE_2					= 1064,
       
   105 	SPR_RAIL_DEPOT_SW_1					= 1065,
       
   106 	SPR_RAIL_DEPOT_SW_2					= 1066,
       
   107 	SPR_RAIL_DEPOT_NE						= 1067,
       
   108 	SPR_RAIL_DEPOT_NW						= 1068,
       
   109 	SPR_RAIL_PLATFORM_Y_FRONT					= 1069,
       
   110 	SPR_RAIL_PLATFORM_X_REAR					= 1070,
       
   111 	SPR_RAIL_PLATFORM_Y_REAR					= 1071,
       
   112 	SPR_RAIL_PLATFORM_X_FRONT					= 1072,
       
   113 	SPR_RAIL_PLATFORM_BUILDING_X			= 1073,
       
   114 	SPR_RAIL_PLATFORM_BUILDING_Y			= 1074,
       
   115 	SPR_RAIL_PLATFORM_PILLARS_Y_FRONT	= 1075,
       
   116 	SPR_RAIL_PLATFORM_PILLARS_X_REAR	= 1076,
       
   117 	SPR_RAIL_PLATFORM_PILLARS_Y_REAR	= 1077,
       
   118 	SPR_RAIL_PLATFORM_PILLARS_X_FRONT	= 1078,
       
   119 	SPR_RAIL_ROOF_STRUCTURE_X_TILE_A	= 1079,	//First half of the roof structure
       
   120 	SPR_RAIL_ROOF_STRUCTURE_Y_TILE_A	= 1080,
       
   121 	SPR_RAIL_ROOF_STRUCTURE_X_TILE_B	= 1081,	//Second half of the roof structure
       
   122 	SPR_RAIL_ROOF_STRUCTURE_Y_TILE_B	= 1082,
       
   123 	SPR_RAIL_ROOF_GLASS_X_TILE_A			= 1083,	//First half of the roof glass
       
   124 	SPR_RAIL_ROOF_GLASS_Y_TILE_A			= 1084,
       
   125 	SPR_RAIL_ROOF_GLASS_X_TILE_B			= 1085,	//second half of the roof glass
       
   126 	SPR_RAIL_ROOF_GLASS_Y_TILE_B			= 1086,
       
   127 	SPR_CHECKPOINT_X_1					= SPR_OPENTTD_BASE + 18,
       
   128 	SPR_CHECKPOINT_X_2					= SPR_OPENTTD_BASE + 19,
       
   129 	SPR_CHECKPOINT_Y_1					= SPR_OPENTTD_BASE + 20,
       
   130 	SPR_CHECKPOINT_Y_2					= SPR_OPENTTD_BASE + 21,
       
   131 	OFFSET_TILEH_IMPOSSIBLE			= 0,
       
   132 	OFFSET_TILEH_1							= 14,
       
   133 	OFFSET_TILEH_2							= 15,
       
   134 	OFFSET_TILEH_3							= 22,
       
   135 	OFFSET_TILEH_4							= 13,
       
   136 	OFFSET_TILEH_6							= 21,
       
   137 	OFFSET_TILEH_7							= 17,
       
   138 	OFFSET_TILEH_8							= 12,
       
   139 	OFFSET_TILEH_9							= 23,
       
   140 	OFFSET_TILEH_11							= 18,
       
   141 	OFFSET_TILEH_12							= 20,
       
   142 	OFFSET_TILEH_13							= 19,
       
   143 	OFFSET_TILEH_14							= 16,
       
   144 
       
   145 	/* sprites for airports and airfields*/
       
   146 	/* Small airports are AIRFIELD, everything else is AIRPORT */
       
   147 	SPR_HELIPORT										= 2633,
       
   148 	SPR_AIRPORT_APRON								= 2634,
       
   149 	SPR_AIRPORT_AIRCRAFT_STAND			= 2635,
       
   150 	SPR_AIRPORT_TAXIWAY_NS_WEST			= 2636,
       
   151 	SPR_AIRPORT_TAXIWAY_EW_SOUTH		=	2637,
       
   152 	SPR_AIRPORT_TAXIWAY_XING_SOUTH	= 2638,
       
   153 	SPR_AIRPORT_TAXIWAY_XING_WEST		= 2639,
       
   154 	SPR_AIRPORT_TAXIWAY_NS_CTR			= 2640,
       
   155 	SPR_AIRPORT_TAXIWAY_XING_EAST		= 2641,
       
   156 	SPR_AIRPORT_TAXIWAY_NS_EAST			= 2642,
       
   157 	SPR_AIRPORT_TAXIWAY_EW_NORTH		= 2643,
       
   158 	SPR_AIRPORT_TAXIWAY_EW_CTR			= 2644,
       
   159 	SPR_AIRPORT_RUNWAY_EXIT_A				= 2645,
       
   160 	SPR_AIRPORT_RUNWAY_EXIT_B				= 2646,
       
   161 	SPR_AIRPORT_RUNWAY_EXIT_C				= 2647,
       
   162 	SPR_AIRPORT_RUNWAY_EXIT_D				= 2648,
       
   163 	SPR_AIRPORT_RUNWAY_END					= 2649,	//We should have different ends
       
   164 	SPR_AIRPORT_TERMINAL_A					= 2650,
       
   165 	SPR_AIRPORT_TOWER								= 2651,
       
   166 	SPR_AIRPORT_CONCOURSE						= 2652,
       
   167 	SPR_AIRPORT_TERMINAL_B					= 2653,
       
   168 	SPR_AIRPORT_TERMINAL_C					= 2654,
       
   169 	SPR_AIRPORT_HANGAR_FRONT				= 2655,
       
   170 	SPR_AIRPORT_HANGAR_REAR					= 2656,
       
   171 	SPR_AIRFIELD_HANGAR_FRONT				= 2657,
       
   172 	SPR_AIRFIELD_HANGAR_REAR				= 2658,
       
   173 	SPR_AIRPORT_JETWAY_1						= 2659,
       
   174 	SPR_AIRPORT_JETWAY_2						= 2660,
       
   175 	SPR_AIRPORT_JETWAY_3						= 2661,
       
   176 	SPR_AIRPORT_PASSENGER_TUNNEL		= 2662,
       
   177 	SPR_AIRPORT_FENCE_Y							= 2663,
       
   178 	SPR_AIRPORT_FENCE_X							= 2664,
       
   179 	SPR_AIRFIELD_TERM_A							= 2665,
       
   180 	SPR_AIRFIELD_TERM_B							= 2666,
       
   181 	SPR_AIRFIELD_TERM_C_GROUND			= 2667,
       
   182 	SPR_AIRFIELD_TERM_C_BUILD				= 2668,
       
   183 	SPR_AIRFIELD_APRON_A						= 2669,
       
   184 	SPR_AIRFIELD_APRON_B						= 2670,
       
   185 	SPR_AIRFIELD_APRON_C						= 2671,
       
   186 	SPR_AIRFIELD_APRON_D						= 2672,
       
   187 	SPR_AIRFIELD_RUNWAY_NEAR_END		= 2673,
       
   188 	SPR_AIRFIELD_RUNWAY_MIDDLE			= 2674,
       
   189 	SPR_AIRFIELD_RUNWAY_FAR_END			= 2675,
       
   190 	SPR_AIRFIELD_WIND_1							= 2676,
       
   191 	SPR_AIRFIELD_WIND_2							= 2677,
       
   192 	SPR_AIRFIELD_WIND_3							= 2678,
       
   193 	SPR_AIRFIELD_WIND_4							= 2679,
       
   194 	SPR_AIRPORT_RADAR_1							= 2680,
       
   195 	SPR_AIRPORT_RADAR_2							= 2681,
       
   196 	SPR_AIRPORT_RADAR_3							= 2682,
       
   197 	SPR_AIRPORT_RADAR_4							= 2683,
       
   198 	SPR_AIRPORT_RADAR_5							= 2684,
       
   199 	SPR_AIRPORT_RADAR_6							= 2685,
       
   200 	SPR_AIRPORT_RADAR_7							= 2686,
       
   201 	SPR_AIRPORT_RADAR_8							= 2687,
       
   202 	SPR_AIRPORT_RADAR_9							= 2688,
       
   203 	SPR_AIRPORT_RADAR_A							= 2689,
       
   204 	SPR_AIRPORT_RADAR_B							= 2690,
       
   205 	SPR_AIRPORT_RADAR_C							= 2691,
       
   206 	SPR_AIRPORT_HELIPAD							= SPR_OPENTTD_BASE + 31,
       
   207 
       
   208 	/* Road Stops */
       
   209 	/* Road stops have a ground tile and 3 buildings, one on each side
       
   210 			(except the side where the entry is). These are marked _A _B and _C
       
   211 	*/
       
   212 	SPR_BUS_STOP_NE_GROUND					= 2692,
       
   213 	SPR_BUS_STOP_SE_GROUND					= 2693,
       
   214 	SPR_BUS_STOP_SW_GROUND					= 2694,
       
   215 	SPR_BUS_STOP_NW_GROUND					= 2695,
       
   216 	SPR_BUS_STOP_NE_BUILD_A					= 2696,
       
   217 	SPR_BUS_STOP_SE_BUILD_A					= 2697,
       
   218 	SPR_BUS_STOP_SW_BUILD_A					= 2698,
       
   219 	SPR_BUS_STOP_NW_BUILD_A					= 2699,
       
   220 	SPR_BUS_STOP_NE_BUILD_B					= 2700,
       
   221 	SPR_BUS_STOP_SE_BUILD_B					= 2701,
       
   222 	SPR_BUS_STOP_SW_BUILD_B					= 2702,
       
   223 	SPR_BUS_STOP_NW_BUILD_B					= 2703,
       
   224 	SPR_BUS_STOP_NE_BUILD_C					= 2704,
       
   225 	SPR_BUS_STOP_SE_BUILD_C					= 2705,
       
   226 	SPR_BUS_STOP_SW_BUILD_C					= 2706,
       
   227 	SPR_BUS_STOP_NW_BUILD_C					= 2707,
       
   228 	SPR_TRUCK_STOP_NE_GROUND				= 2708,
       
   229 	SPR_TRUCK_STOP_SE_GROUND				= 2709,
       
   230 	SPR_TRUCK_STOP_SW_GROUND				= 2710,
       
   231 	SPR_TRUCK_STOP_NW_GROUND				= 2711,
       
   232 	SPR_TRUCK_STOP_NE_BUILD_A				= 2712,
       
   233 	SPR_TRUCK_STOP_SE_BUILD_A				= 2713,
       
   234 	SPR_TRUCK_STOP_SW_BUILD_A				= 2714,
       
   235 	SPR_TRUCK_STOP_NW_BUILD_A				= 2715,
       
   236 	SPR_TRUCK_STOP_NE_BUILD_B				= 2716,
       
   237 	SPR_TRUCK_STOP_SE_BUILD_B				= 2717,
       
   238 	SPR_TRUCK_STOP_SW_BUILD_B				= 2718,
       
   239 	SPR_TRUCK_STOP_NW_BUILD_B				= 2719,
       
   240 	SPR_TRUCK_STOP_NE_BUILD_C				= 2720,
       
   241 	SPR_TRUCK_STOP_SE_BUILD_C				= 2721,
       
   242 	SPR_TRUCK_STOP_SW_BUILD_C				= 2722,
       
   243 	SPR_TRUCK_STOP_NW_BUILD_C				= 2723,
       
   244 
       
   245 	/* Sprites for docks */
       
   246 	/* Docks consist of two tiles, the sloped one and the flat one */
       
   247 	SPR_DOCK_SLOPE_NE								= 2727,
       
   248 	SPR_DOCK_SLOPE_SE								= 2728,
       
   249 	SPR_DOCK_SLOPE_SW								= 2729,
       
   250 	SPR_DOCK_SLOPE_NW								= 2730,
       
   251 	SPR_DOCK_FLAT_X 								= 2731,	//for NE and SW
       
   252 	SPR_DOCK_FLAT_Y									= 2732,	//for NW and SE
       
   253 	SPR_BUOY												= 4076,	//XXX this sucks, because it displays wrong stuff on canals
       
   254 
       
   255 	/* Sprites for road */
       
   256 	SPR_ROAD_Y									= 1332,
       
   257 	SPR_ROAD_X									= 1333,
       
   258 	SPR_ROAD_Y_SNOW							= 1351,
       
   259 	SPR_ROAD_X_SNOW							= 1352,
       
   260 
       
   261 	/* Landscape sprites */
       
   262 	SPR_FLAT_BARE_LAND					= 3924,
       
   263 	SPR_FLAT_1_THIRD_GRASS_TILE	= 3943,
       
   264 	SPR_FLAT_2_THIRD_GRASS_TILE	= 3962,
       
   265 	SPR_FLAT_GRASS_TILE					= 3981,
       
   266 	SPR_FLAT_ROUGH_LAND					= 4000,
       
   267 	SPR_FLAT_ROUGH_LAND_1				= 4019,
       
   268 	SPR_FLAT_ROUGH_LAND_2				= 4020,
       
   269 	SPR_FLAT_ROUGH_LAND_3				= 4021,
       
   270 	SPR_FLAT_ROUGH_LAND_4				= 4022,
       
   271 	SPR_FLAT_ROCKY_LAND_1				= 4023,
       
   272 	SPR_FLAT_ROCKY_LAND_2				= 4042,
       
   273 	SPR_FLAT_WATER_TILE					= 4061,
       
   274 	SPR_FLAT_1_QUART_SNOWY_TILE	= 4493,
       
   275 	SPR_FLAT_2_QUART_SNOWY_TILE	= 4512,
       
   276 	SPR_FLAT_3_QUART_SNOWY_TILE	= 4531,
       
   277 	SPR_FLAT_SNOWY_TILE					= 4550,
       
   278 
       
   279 	/* Hedge, Farmland-fence sprites */
       
   280 	SPR_HEDGE_BUSHES						= 4090,
       
   281 	SPR_HEDGE_BUSHES_WITH_GATE	= 4096,
       
   282 	SPR_HEDGE_FENCE							= 4102,
       
   283 	SPR_HEDGE_BLOOMBUSH_YELLOW	= 4108,
       
   284 	SPR_HEDGE_BLOOMBUSH_RED			= 4114,
       
   285 	SPR_HEDGE_STONE							= 4120,
       
   286 
       
   287 	/* Farmland sprites, only flat tiles listed, various stages */
       
   288 	SPR_FARMLAND_BARE						= 4126,
       
   289 	SPR_FARMLAND_STATE_1				= 4145,
       
   290 	SPR_FARMLAND_STATE_2				= 4164,
       
   291 	SPR_FARMLAND_STATE_3				= 4183,
       
   292 	SPR_FARMLAND_STATE_4				= 4202,
       
   293 	SPR_FARMLAND_STATE_5				= 4221,
       
   294 	SPR_FARMLAND_STATE_6				= 4240,
       
   295 	SPR_FARMLAND_STATE_7				= 4259,
       
   296 	SPR_FARMLAND_HAYPACKS				= 4278,
       
   297 
       
   298 	/* Shores */
       
   299 	SPR_NO_SHORE								= 0,	//used for tileh which have no shore
       
   300 	SPR_SHORE_TILEH_4						= 4062,
       
   301 	SPR_SHORE_TILEH_1						= 4063,
       
   302 	SPR_SHORE_TILEH_2						= 4064,
       
   303 	SPR_SHORE_TILEH_8						= 4065,
       
   304 	SPR_SHORE_TILEH_6						= 4066,
       
   305 	SPR_SHORE_TILEH_12					= 4067,
       
   306 	SPR_SHORE_TILEH_3						= 4068,
       
   307 	SPR_SHORE_TILEH_9						= 4069,
       
   308 
       
   309 	/* Water-related sprites */
       
   310 	SPR_SHIP_DEPOT_SE_FRONT			= 4070,
       
   311 	SPR_SHIP_DEPOT_SW_FRONT			= 4071,
       
   312 	SPR_SHIP_DEPOT_NW						= 4072,
       
   313 	SPR_SHIP_DEPOT_NE						= 4073,
       
   314 	SPR_SHIP_DEPOT_SE_REAR			= 4074,
       
   315 	SPR_SHIP_DEPOT_SW_REAR			= 4075,
       
   316 	//here come sloped water sprites
       
   317 	SPR_WATER_SLOPE_Y_UP				= SPR_CANALS_BASE + 5, //Water flowing negative Y direction
       
   318 	SPR_WATER_SLOPE_X_DOWN			= SPR_CANALS_BASE + 6, //positive X
       
   319 	SPR_WATER_SLOPE_X_UP				= SPR_CANALS_BASE + 7, //negative X
       
   320 	SPR_WATER_SLOPE_Y_DOWN			= SPR_CANALS_BASE + 8,	//positive Y
       
   321 	//sprites for the shiplifts
       
   322 	//there are 4 kinds of shiplifts, each of them is 3 tiles long.
       
   323 	//the four kinds are running in the X and Y direction and
       
   324 	//are "lowering" either in the "+" or the "-" direction.
       
   325 	//the three tiles are the center tile (where the slope is)
       
   326 	//and a bottom and a top tile
       
   327 	SPR_SHIPLIFT_Y_UP_CENTER_REAR			= SPR_CANALS_BASE + 9,
       
   328 	SPR_SHIPLIFT_X_DOWN_CENTER_REAR		=	SPR_CANALS_BASE + 10,
       
   329 	SPR_SHIPLIFT_X_UP_CENTER_REAR			= SPR_CANALS_BASE + 11,
       
   330 	SPR_SHIPLIFT_Y_DOWN_CENTER_REAR		= SPR_CANALS_BASE + 12,
       
   331 	SPR_SHIPLIFT_Y_UP_CENTER_FRONT		= SPR_CANALS_BASE + 13,
       
   332 	SPR_SHIPLIFT_X_DOWN_CENTER_FRONT 	= SPR_CANALS_BASE + 14,
       
   333 	SPR_SHIPLIFT_X_UP_CENTER_FRONT		= SPR_CANALS_BASE + 15,
       
   334 	SPR_SHIPLIFT_Y_DOWN_CENTER_FRONT	= SPR_CANALS_BASE + 16,
       
   335 	SPR_SHIPLIFT_Y_UP_BOTTOM_REAR			= SPR_CANALS_BASE + 17,
       
   336 	SPR_SHIPLIFT_X_DOWN_BOTTOM_REAR		= SPR_CANALS_BASE + 18,
       
   337 	SPR_SHIPLIFT_X_UP_BOTTOM_REAR			= SPR_CANALS_BASE + 19,
       
   338 	SPR_SHIPLIFT_Y_DOWN_BOTTOM_REAR		= SPR_CANALS_BASE + 20,
       
   339 	SPR_SHIPLIFT_Y_UP_BOTTOM_FRONT		= SPR_CANALS_BASE + 21,
       
   340 	SPR_SHIPLIFT_X_DOWN_BOTTOM_FRONT	= SPR_CANALS_BASE + 22,
       
   341 	SPR_SHIPLIFT_X_UP_BOTTOM_FRONT		= SPR_CANALS_BASE + 23,
       
   342 	SPR_SHIPLIFT_Y_DOWN_BOTTOM_FRONT	= SPR_CANALS_BASE + 24,
       
   343 	SPR_SHIPLIFT_Y_UP_TOP_REAR			  = SPR_CANALS_BASE + 25,
       
   344 	SPR_SHIPLIFT_X_DOWN_TOP_REAR			= SPR_CANALS_BASE + 26,
       
   345 	SPR_SHIPLIFT_X_UP_TOP_REAR				= SPR_CANALS_BASE + 27,
       
   346 	SPR_SHIPLIFT_Y_DOWN_TOP_REAR			= SPR_CANALS_BASE + 28,
       
   347 	SPR_SHIPLIFT_Y_UP_TOP_FRONT				= SPR_CANALS_BASE + 29,
       
   348 	SPR_SHIPLIFT_X_DOWN_TOP_FRONT			= SPR_CANALS_BASE + 30,
       
   349 	SPR_SHIPLIFT_X_UP_TOP_FRONT				= SPR_CANALS_BASE + 31,
       
   350 	SPR_SHIPLIFT_Y_DOWN_TOP_FRONT			= SPR_CANALS_BASE + 32,
       
   351 
       
   352 	/* Sprites for tunnels and bridges */
       
   353 	SPR_TUNNEL_ENTRY_REAR_RAIL	= 2365,
       
   354 	SPR_TUNNEL_ENTRY_REAR_ROAD	= 2389,
       
   355 
       
   356 		/* bridge type sprites */
       
   357 
       
   358 	/* Wooden bridge (type 0) */
       
   359 	SPR_BTWDN_RAIL_Y_REAR				= 2545,
       
   360 	SPR_BTWDN_RAIL_X_REAR				= 2546,
       
   361 	SPR_BTWDN_ROAD_Y_REAR				= 2547,
       
   362 	SPR_BTWDN_ROAD_X_REAR				= 2548,
       
   363 	SPR_BTWDN_Y_FRONT						= 2549,
       
   364 	SPR_BTWDN_X_FRONT						= 2550,
       
   365 	SPR_BTWDN_Y_PILLAR					= 2551,
       
   366 	SPR_BTWDN_X_PILLAR					= 2552,
       
   367 	SPR_BTWDN_MONO_Y_REAR				= 4361,
       
   368 	SPR_BTWDN_MONO_X_REAR				= 4362,
       
   369 	SPR_BTWDN_MGLV_Y_REAR				= 4400,
       
   370 	SPR_BTWDN_MGLV_X_REAR				= 4401,
       
   371 	/* ramps */
       
   372 	SPR_BTWDN_ROAD_RAMP_Y_DOWN	= 2529,
       
   373 	SPR_BTWDN_ROAD_RAMP_X_DOWN	= 2530,
       
   374 	SPR_BTWDN_ROAD_RAMP_X_UP		= 2531,	//for some weird reason the order is swapped
       
   375 	SPR_BTWDN_ROAD_RAMP_Y_UP		= 2532,	//between X and Y.
       
   376 	SPR_BTWDN_ROAD_Y_SLOPE_UP		= 2533,
       
   377 	SPR_BTWDN_ROAD_X_SLOPE_UP		= 2534,
       
   378 	SPR_BTWDN_ROAD_Y_SLOPE_DOWN	= 2535,
       
   379 	SPR_BTWDN_ROAD_X_SLOPE_DOWN = 2536,
       
   380 	SPR_BTWDN_RAIL_RAMP_Y_DOWN	= 2537,
       
   381 	SPR_BTWDN_RAIL_RAMP_X_DOWN	= 2538,
       
   382 	SPR_BTWDN_RAIL_RAMP_X_UP		= 2539,	//for some weird reason the order is swapped
       
   383 	SPR_BTWDN_RAIL_RAMP_Y_UP		= 2540,	//between X and Y.
       
   384 	SPR_BTWDN_RAIL_Y_SLOPE_UP		= 2541,
       
   385 	SPR_BTWDN_RAIL_X_SLOPE_UP		= 2542,
       
   386 	SPR_BTWDN_RAIL_Y_SLOPE_DOWN	= 2543,
       
   387 	SPR_BTWDN_RAIL_X_SLOPE_DOWN = 2544,
       
   388 	SPR_BTWDN_MONO_RAMP_Y_DOWN	= 4352,
       
   389 	SPR_BTWDN_MONO_RAMP_X_DOWN	= 4353,
       
   390 	SPR_BTWDN_MONO_RAMP_X_UP		= 4354,	//for some weird reason the order is swapped
       
   391 	SPR_BTWDN_MONO_RAMP_Y_UP		= 4355,	//between X and Y.
       
   392 	SPR_BTWDN_MONO_Y_SLOPE_UP		= 4356,
       
   393 	SPR_BTWDN_MONO_X_SLOPE_UP		= 4357,
       
   394 	SPR_BTWDN_MONO_Y_SLOPE_DOWN	= 4358,
       
   395 	SPR_BTWDN_MONO_X_SLOPE_DOWN = 4359,
       
   396 	SPR_BTWDN_MGLV_RAMP_Y_DOWN	= 4392,
       
   397 	SPR_BTWDN_MGLV_RAMP_X_DOWN	= 4393,
       
   398 	SPR_BTWDN_MGLV_RAMP_X_UP		= 4394,	//for some weird reason the order is swapped
       
   399 	SPR_BTWDN_MGLV_RAMP_Y_UP		= 4395,	//between X and Y.
       
   400 	SPR_BTWDN_MGLV_Y_SLOPE_UP		= 4396,
       
   401 	SPR_BTWDN_MGLV_X_SLOPE_UP		= 4397,
       
   402 	SPR_BTWDN_MGLV_Y_SLOPE_DOWN	= 4398,
       
   403 	SPR_BTWDN_MGLV_X_SLOPE_DOWN = 4399,
       
   404 
       
   405 	/* Steel Girder with arches */
       
   406 	/* BTSGA == Bridge Type Steel Girder Arched */
       
   407 	/* This is bridge type number 2 */
       
   408 	SPR_BTSGA_RAIL_X_REAR				= 2499,
       
   409 	SPR_BTSGA_RAIL_Y_REAR				= 2500,
       
   410 	SPR_BTSGA_ROAD_X_REAR				= 2501,
       
   411 	SPR_BTSGA_ROAD_Y_REAR				= 2502,
       
   412 	SPR_BTSGA_X_FRONT						= 2503,
       
   413 	SPR_BTSGA_Y_FRONT						= 2504,
       
   414 	SPR_BTSGA_X_PILLAR					= 2505,
       
   415 	SPR_BTSGA_Y_PILLAR					= 2606,
       
   416 	SPR_BTSGA_MONO_X_REAR				= 4324,
       
   417 	SPR_BTSGA_MONO_Y_REAR				= 4325,
       
   418 	SPR_BTSGA_MGLV_X_REAR				= 4364,
       
   419 	SPR_BTSGA_MGLV_Y_REAR				= 4365,
       
   420 
       
   421 	/* BTSUS == Suspension bridge */
       
   422 	/* TILE_* denotes the different tiles a suspension bridge
       
   423 		can have
       
   424 		TILE_A and TILE_B are the "beginnings" and "ends" of the
       
   425 			suspension system. they have small rectangluar endcaps
       
   426 	 	TILE_C and TILE_D look almost identical to TILE_A and
       
   427 			TILE_B, but they do not have the "endcaps". They form the
       
   428 			middle part
       
   429 		TILE_E is a condensed configuration of two pillars. while they
       
   430 			are usually 2 pillars apart, they only have 1 pillar separation
       
   431 			here
       
   432 		TILE_F is an extended configuration of pillars. they are
       
   433 			plugged in when pillars should be 3 tiles apart
       
   434 
       
   435 	*/
       
   436 	SPR_BTSUS_ROAD_Y_REAR_TILE_A	= 2453,
       
   437 	SPR_BTSUS_ROAD_Y_REAR_TILE_B	= 2454,
       
   438 	SPR_BTSUS_Y_FRONT_TILE_A			= 2455,
       
   439 	SPR_BTSUS_Y_FRONT_TILE_B			= 2456,
       
   440 	SPR_BTSUS_ROAD_Y_REAR_TILE_D	= 2457,
       
   441 	SPR_BTSUS_ROAD_Y_REAR_TILE_C	= 2458,
       
   442 	SPR_BTSUS_Y_FRONT_TILE_D			= 2459,
       
   443 	SPR_BTSUS_Y_FRONT_TILE_C			= 2460,
       
   444 	SPR_BTSUS_ROAD_X_REAR_TILE_A	= 2461,
       
   445 	SPR_BTSUS_ROAD_X_REAR_TILE_B	= 2462,
       
   446 	SPR_BTSUS_X_FRONT_TILE_A			= 2463,
       
   447 	SPR_BTSUS_X_FRONT_TILE_B			= 2464,
       
   448 	SPR_BTSUS_ROAD_X_TILE_D				= 2465,
       
   449 	SPR_BTSUS_ROAD_X_TILE_C				= 2466,
       
   450 	SPR_BTSUS_X_FRONT_TILE_D			= 2467,
       
   451 	SPR_BTSUS_X_FRONT_TILE_C			= 2468,
       
   452 	SPR_BTSUS_RAIL_Y_REAR_TILE_A	= 2469,
       
   453 	SPR_BTSUS_RAIL_Y_REAR_TILE_B	= 2470,
       
   454 	SPR_BTSUS_RAIL_Y_REAR_TILE_D	= 2471,
       
   455 	SPR_BTSUS_RAIL_Y_REAR_TILE_C	= 2472,
       
   456 	SPR_BTSUS_RAIL_X_REAR_TILE_A	= 2473,
       
   457 	SPR_BTSUS_RAIL_X_REAR_TILE_B 	= 2474,
       
   458 	SPR_BTSUS_RAIL_X_REAR_TILE_D 	= 2475,
       
   459 	SPR_BTSUS_RAIL_X_REAR_TILE_C	= 2476,
       
   460 	SPR_BTSUS_Y_PILLAR_TILE_A			= 2477,
       
   461 	SPR_BTSUS_Y_PILLAR_TILE_B			= 2478,
       
   462 	SPR_BTSUS_Y_PILLAR_TILE_D			= 2479,
       
   463 	SPR_BTSUS_Y_PILLAR_TILE_C			= 2480,
       
   464 	SPR_BTSUS_X_PILLAR_TILE_A			= 2481,
       
   465 	SPR_BTSUS_X_PILLAR_TILE_B			= 2482,
       
   466 	SPR_BTSUS_X_PILLAR_TILE_D			= 2483,
       
   467 	SPR_BTSUS_X_PILLAR_TILE_C			= 2484,
       
   468 	SPR_BTSUS_RAIL_Y_REAR_TILE_E	= 2485,
       
   469 	SPR_BTSUS_RAIL_X_REAR_TILE_E	= 2486,
       
   470 	SPR_BTSUS_ROAD_Y_REAR_TILE_E	= 2487,
       
   471 	SPR_BTSUS_ROAD_X_REAR_TILE_E	= 2488,
       
   472 	SPR_BTSUS_Y_FRONT_TILE_E			= 2489,
       
   473 	SPR_BTSUS_X_FRONT_TILE_E			= 2490,
       
   474 	SPR_BTSUS_Y_PILLAR_TILE_E			= 2491,
       
   475 	SPR_BTSUS_X_PILLAR_TILE_E			= 2492,
       
   476 	SPR_BTSUS_RAIL_X_REAR_TILE_F	= 2493,
       
   477 	SPR_BTSUS_RAIL_Y_REAR_TILE_F	= 2494,
       
   478 	SPR_BTSUS_ROAD_X_REAR_TILE_F	= 2495,
       
   479 	SPR_BTSUS_ROAD_Y_REAR_TILE_F	= 2496,
       
   480 	SPR_BTSUS_Y_FRONT							= 2497,
       
   481 	SPR_BTSUS_X_FRONT							= 2498,
       
   482 	SPR_BTSUS_MONO_Y_REAR_TILE_A	= 4334,
       
   483 	SPR_BTSUS_MONO_Y_REAR_TILE_B	= 4335,
       
   484 	SPR_BTSUS_MONO_Y_REAR_TILE_D	= 4336,
       
   485 	SPR_BTSUS_MONO_Y_REAR_TILE_C	= 4337,
       
   486 	SPR_BTSUS_MONO_X_REAR_TILE_A	= 4338,
       
   487 	SPR_BTSUS_MONO_X_REAR_TILE_B	= 4339,
       
   488 	SPR_BTSUS_MONO_X_REAR_TILE_D	= 4340,
       
   489 	SPR_BTSUS_MONO_X_REAR_TILE_C	= 4341,
       
   490 	SPR_BTSUS_MONO_Y_REAR_TILE_E	= 4342,
       
   491 	SPR_BTSUS_MONO_X_REAR_TILE_E	= 4343,
       
   492 	SPR_BTSUS_MONO_X_REAR_TILE_F	= 4344,
       
   493 	SPR_BTSUS_MONO_Y_REAR_TILE_F	= 4345,
       
   494 	SPR_BTSUS_MGLV_Y_REAR_TILE_A 	=	4374,
       
   495 	SPR_BTSUS_MGLV_Y_REAR_TILE_B 	=	4375,
       
   496 	SPR_BTSUS_MGLV_Y_REAR_TILE_D 	=	4376,
       
   497 	SPR_BTSUS_MGLV_Y_REAR_TILE_C	= 4377,
       
   498 	SPR_BTSUS_MGLV_X_REAR_TILE_A	= 4378,
       
   499 	SPR_BTSUS_MGLV_X_REAR_TILE_B	= 4379,
       
   500 	SPR_BTSUS_MGLV_X_REAR_TILE_D	= 4380,
       
   501 	SPR_BTSUS_MGLV_X_REAR_TILE_C	= 4381,
       
   502 	SPR_BTSUS_MGLV_Y_REAR_TILE_E	= 4382,
       
   503 	SPR_BTSUS_MGLV_X_REAR_TILE_E	= 4383,
       
   504 	SPR_BTSUS_MGLV_X_REAR_TILE_F	= 4384,
       
   505 	SPR_BTSUS_MGLV_Y_REAR_TILE_F	= 4385,
       
   506 
       
   507 	/* cantilever bridges */
       
   508 	/* They have three different kinds of tiles:
       
   509 		END(ing), MID(dle), BEG(gining)
       
   510 	*/
       
   511 	SPR_BTCAN_RAIL_X_BEG					= 2507,
       
   512 	SPR_BTCAN_RAIL_X_MID					= 2508,
       
   513 	SPR_BTCAN_RAIL_X_END					= 2509,
       
   514 	SPR_BTCAN_RAIL_Y_END					= 2510,
       
   515 	SPR_BTCAN_RAIL_Y_MID					= 2511,
       
   516 	SPR_BTCAN_RAIL_Y_BEG					= 2512,
       
   517 	SPR_BTCAN_ROAD_X_BEG					= 2513,
       
   518 	SPR_BTCAN_ROAD_X_MID					= 2514,
       
   519 	SPR_BTCAN_ROAD_X_END					= 2515,
       
   520 	SPR_BTCAN_ROAD_Y_END					= 2516,
       
   521 	SPR_BTCAN_ROAD_Y_MID					= 2517,
       
   522 	SPR_BTCAN_ROAD_Y_BEG					= 2518,
       
   523 	SPR_BTCAN_X_FRONT_BEG					= 2519,
       
   524 	SPR_BTCAN_X_FRONT_MID					= 2520,
       
   525 	SPR_BTCAN_X_FRONT_END					= 2521,
       
   526 	SPR_BTCAN_Y_FRONT_END					= 2522,
       
   527 	SPR_BTCAN_Y_FRONT_MID					= 2523,
       
   528 	SPR_BTCAN_Y_FRONT_BEG					= 2524,
       
   529 	SPR_BTCAN_X_PILLAR_BEG				= 2525,
       
   530 	SPR_BTCAN_X_PILLAR_MID				= 2526,
       
   531 	SPR_BTCAN_Y_PILLAR_MID				= 2527,
       
   532 	SPR_BTCAN_Y_PILLAR_BEG				= 2528,
       
   533 	SPR_BTCAN_MONO_X_BEG					= 4346,
       
   534 	SPR_BTCAN_MONO_X_MID					= 4347,
       
   535 	SPR_BTCAN_MONO_X_END					= 4348,
       
   536 	SPR_BTCAN_MONO_Y_END					= 4349,
       
   537 	SPR_BTCAN_MONO_Y_MID					= 4350,
       
   538 	SPR_BTCAN_MONO_Y_BEG					= 4351,
       
   539 	SPR_BTCAN_MGLV_X_BEG					= 4386,
       
   540 	SPR_BTCAN_MGLV_X_MID					= 4387,
       
   541 	SPR_BTCAN_MGLV_X_END					= 4388,
       
   542 	SPR_BTCAN_MGLV_Y_END					= 4389,
       
   543 	SPR_BTCAN_MGLV_Y_MID					= 4390,
       
   544 	SPR_BTCAN_MGLV_Y_BEG					= 4391,
       
   545 
       
   546 	/* little concrete bridge */
       
   547 	SPR_BTCON_RAIL_X				= 2493,
       
   548 	SPR_BTCON_RAIL_Y				= 2494,
       
   549 	SPR_BTCON_ROAD_X				= 2495,
       
   550 	SPR_BTCON_ROAD_Y				= 2496,
       
   551 	SPR_BTCON_X_FRONT				= 2497,
       
   552 	SPR_BTCON_Y_FRONT				= 2498,
       
   553 	SPR_BTCON_X_PILLAR			= 2505,
       
   554 	SPR_BTCON_Y_PILLAR			= 2506,
       
   555 	SPR_BTCON_MONO_X				= 4344,
       
   556 	SPR_BTCON_MONO_Y				= 4345,
       
   557 	SPR_BTCON_MGLV_X				= 4384,
       
   558 	SPR_BTCON_MGLV_Y				= 4385,
       
   559 
       
   560 	/* little steel girder bridge */
       
   561 	SPR_BTGIR_RAIL_X				= 2553,
       
   562 	SPR_BTGIR_RAIL_Y				= 2554,
       
   563 	SPR_BTGIR_ROAD_X				= 2555,
       
   564 	SPR_BTGIR_ROAD_Y				= 2556,
       
   565 	SPR_BTGIR_X_FRONT				= 2557,
       
   566 	SPR_BTGIR_Y_FRONT				= 2558,
       
   567 	SPR_BTGIR_X_PILLAR			= 2505,
       
   568 	SPR_BTGIR_Y_PILLAR			= 2506,
       
   569 	SPR_BTGIR_MONO_X				= 4362,
       
   570 	SPR_BTGIR_MONO_Y				= 4363,
       
   571 	SPR_BTGIR_MGLV_X				= 4402,
       
   572 	SPR_BTGIR_MGLV_Y				= 4403,
       
   573 
       
   574 	/* tubular bridges */
       
   575 	/* tubular bridges have 3 kinds of tiles:
       
   576 			a start tile (with only half a tube on the far side, marked _BEG
       
   577 			a middle tile (full tunnel), marked _MID
       
   578 			and an end tile (half a tube on the near side, maked _END
       
   579 	*/
       
   580 	SPR_BTTUB_X_FRONT_BEG				= 2559,
       
   581 	SPR_BTTUB_X_FRONT_MID				= 2660,
       
   582 	SPR_BTTUB_X_FRONT_END				= 2561,
       
   583 	SPR_BTTUB_Y_FRONT_END				= 2562,
       
   584 	SPR_BTTUB_Y_FRONT_MID				= 2563,
       
   585 	SPR_BTTUB_Y_FRONT_BEG				= 2564,
       
   586 	SPR_BTTUB_X_RAIL_REAR_BEG		= 2569,
       
   587 	SPR_BTTUB_X_RAIL_REAR_MID		= 2570,
       
   588 	SPR_BTTUB_X_RAIL_REAR_END		= 2571,
       
   589 
       
   590 
       
   591 	/* ramps (for all bridges except wood and tubular?)*/
       
   592 	SPR_BTGEN_RAIL_X_SLOPE_DOWN = 2437,
       
   593 	SPR_BTGEN_RAIL_X_SLOPE_UP		= 2438,
       
   594 	SPR_BTGEN_RAIL_Y_SLOPE_DOWN	= 2439,
       
   595 	SPR_BTGEN_RAIL_Y_SLOPE_UP		= 2440,
       
   596 	SPR_BTGEN_RAIL_RAMP_X_UP		= 2441,
       
   597 	SPR_BTGEN_RAIL_RAMP_X_DOWN	= 2442,
       
   598 	SPR_BTGEN_RAIL_RAMP_Y_UP		= 2443,
       
   599 	SPR_BTGEN_RAIL_RAMP_Y_DOWN	= 2444,
       
   600 	SPR_BTGEN_ROAD_X_SLOPE_DOWN = 2445,
       
   601 	SPR_BTGEN_ROAD_X_SLOPE_UP		= 2446,
       
   602 	SPR_BTGEN_ROAD_Y_SLOPE_DOWN	= 2447,
       
   603 	SPR_BTGEN_ROAD_Y_SLOPE_UP		= 2448,
       
   604 	SPR_BTGEN_ROAD_RAMP_X_UP		= 2449,
       
   605 	SPR_BTGEN_ROAD_RAMP_X_DOWN	= 2450,
       
   606 	SPR_BTGEN_ROAD_RAMP_Y_UP		= 2451,
       
   607 	SPR_BTGEN_ROAD_RAMP_Y_DOWN	= 2452,
       
   608 	SPR_BTGEN_MONO_X_SLOPE_DOWN = 4326,
       
   609 	SPR_BTGEN_MONO_X_SLOPE_UP		= 4327,
       
   610 	SPR_BTGEN_MONO_Y_SLOPE_DOWN	= 4328,
       
   611 	SPR_BTGEN_MONO_Y_SLOPE_UP		= 4329,
       
   612 	SPR_BTGEN_MONO_RAMP_X_UP		= 4330,
       
   613 	SPR_BTGEN_MONO_RAMP_X_DOWN	= 4331,
       
   614 	SPR_BTGEN_MONO_RAMP_Y_UP		= 4332,
       
   615 	SPR_BTGEN_MONO_RAMP_Y_DOWN	= 4333,
       
   616 	SPR_BTGEN_MGLV_X_SLOPE_DOWN = 4366,
       
   617 	SPR_BTGEN_MGLV_X_SLOPE_UP		= 4367,
       
   618 	SPR_BTGEN_MGLV_Y_SLOPE_DOWN	= 4368,
       
   619 	SPR_BTGEN_MGLV_Y_SLOPE_UP		= 4369,
       
   620 	SPR_BTGEN_MGLV_RAMP_X_UP		= 4370,
       
   621 	SPR_BTGEN_MGLV_RAMP_X_DOWN	= 4371,
       
   622 	SPR_BTGEN_MGLV_RAMP_Y_UP		= 4372,
       
   623 	SPR_BTGEN_MGLV_RAMP_Y_DOWN	= 4373,
       
   624 
       
   625 
       
   626 	/* Vehicle sprite-flags (red/green) */
       
   627 	SPR_FLAG_VEH_STOPPED	= 3090,
       
   628 	SPR_FLAG_VEH_RUNNING	= 3091,
       
   629 
       
   630 	/* Rotor sprite numbers */
       
   631 	SPR_ROTOR_STOPPED		= 3901,
       
   632 	SPR_ROTOR_MOVING_1	= 3902,
       
   633 	SPR_ROTOR_MOVING_3	= 3904,
       
   634 
       
   635 	/* Town/house sprites */
       
   636 	SPR_LIFT = 1443,
       
   637 
       
   638 	/* Easter egg/disaster sprites */
       
   639 	SPR_BLIMP                  = 3905, // Zeppelin
       
   640 	SPR_BLIMP_CRASHING         = 3906,
       
   641 	SPR_BLIMP_CRASHED          = 3907,
       
   642 	SPR_UFO_SMALL_SCOUT        = 3908, // XCOM - UFO Defense
       
   643 	SPR_UFO_SMALL_SCOUT_DARKER = 3909,
       
   644 	SPR_SUB_SMALL_NE           = 3910, // Silent Service
       
   645 	SPR_SUB_SMALL_SE           = 3911,
       
   646 	SPR_SUB_SMALL_SW           = 3912,
       
   647 	SPR_SUB_SMALL_NW           = 3913,
       
   648 	SPR_SUB_LARGE_NE           = 3914,
       
   649 	SPR_SUB_LARGE_SE           = 3915,
       
   650 	SPR_SUB_LARGE_SW           = 3916,
       
   651 	SPR_SUB_LARGE_NW           = 3917,
       
   652 	SPR_F_15                   = 3918, // F-15 Strike Eagle
       
   653 	SPR_F_15_FIRING            = 3919,
       
   654 	SPR_UFO_HARVESTER          = 3920, // XCOM - UFO Defense
       
   655 	SPR_XCOM_SKYRANGER         = 3921,
       
   656 	SPR_AH_64A                 = 3922, // Gunship
       
   657 	SPR_AH_64A_FIRING          = 3923,
       
   658 
       
   659 	/* main_gui.c */
       
   660 	SPR_IMG_TERRAFORM_UP    = 694,
       
   661 	SPR_IMG_TERRAFORM_DOWN  = 695,
       
   662 	SPR_IMG_DYNAMITE        = 703,
       
   663 	SPR_IMG_ROCKS           = 4084,
       
   664 	SPR_IMG_LIGHTHOUSE      = 4085,
       
   665 	SPR_IMG_TRANSMITTER     = 4086,
       
   666 	SPR_IMG_LEVEL_LAND      = SPR_OPENTTD_BASE + 68,
       
   667 	SPR_IMG_PAUSE           = 726,
       
   668 	SPR_IMG_FASTFORWARD     = SPR_OPENTTD_BASE + 57,
       
   669 	SPR_IMG_SETTINGS        = 751,
       
   670 	SPR_IMG_SAVE            = 724,
       
   671 	SPR_IMG_SMALLMAP        = 708,
       
   672 	SPR_IMG_TOWN            = 4077,
       
   673 	SPR_IMG_SUBSIDIES       = 679,
       
   674 	SPR_IMG_COMPANY_LIST    = 1299,
       
   675 	SPR_IMG_COMPANY_FINANCE = 737,
       
   676 	SPR_IMG_COMPANY_GENERAL = 743,
       
   677 	SPR_IMG_GRAPHS          = 745,
       
   678 	SPR_IMG_COMPANY_LEAGUE  = 684,
       
   679 	SPR_IMG_INDUSTRY        = 741,
       
   680 	SPR_IMG_TRAINLIST       = 731,
       
   681 	SPR_IMG_TRUCKLIST       = 732,
       
   682 	SPR_IMG_SHIPLIST        = 733,
       
   683 	SPR_IMG_AIRPLANESLIST   = 734,
       
   684 	SPR_IMG_ZOOMIN          = 735,
       
   685 	SPR_IMG_ZOOMOUT         = 736,
       
   686 	SPR_IMG_BUILDRAIL       = 727,
       
   687 	SPR_IMG_BUILDROAD       = 728,
       
   688 	SPR_IMG_BUILDWATER      = 729,
       
   689 	SPR_IMG_BUILDAIR        = 730,
       
   690 	SPR_IMG_LANDSCAPING     = 4083,
       
   691 	SPR_IMG_MUSIC           = 713,
       
   692 	SPR_IMG_MESSAGES        = 680,
       
   693 	SPR_IMG_QUERY           = 723,
       
   694 	SPR_IMG_PLANTTREES      = 742,
       
   695 	SPR_IMG_SIGN            = 4082,
       
   696 
       
   697 	/* OPEN TRANSPORT TYCOON in gamescreen */
       
   698 	SPR_OTTD_O                = 4842,
       
   699 	SPR_OTTD_P                = 4841,
       
   700 	SPR_OTTD_E                = SPR_OPENTTD_BASE + 16,
       
   701 	SPR_OTTD_N                = 4839,
       
   702 	SPR_OTTD_T                = 4836,
       
   703 	SPR_OTTD_R                = 4837,
       
   704 	SPR_OTTD_A                = 4838,
       
   705 	SPR_OTTD_S                = 4840,
       
   706 	SPR_OTTD_Y                = 4843,
       
   707 	SPR_OTTD_C                = 4844
       
   708 };
       
   709 
       
   710 /* Cursor sprite numbers */
       
   711 typedef enum CursorSprites {
       
   712 	/* Terraform */
       
   713 	/* Cursors */
       
   714 	SPR_CURSOR_MOUSE          = 0,
       
   715 	SPR_CURSOR_ZZZ            = 1,
       
   716 	SPR_CURSOR_BOUY           = 702,
       
   717 	SPR_CURSOR_QUERY          = 719,
       
   718 	SPR_CURSOR_HQ             = 720,
       
   719 	SPR_CURSOR_SHIP_DEPOT     = 721,
       
   720 	SPR_CURSOR_SIGN           = 722,
       
   721 
       
   722 	SPR_CURSOR_TREE           = 2010,
       
   723 	SPR_CURSOR_BUY_LAND       = 4792,
       
   724 	SPR_CURSOR_LEVEL_LAND     = SPR_OPENTTD_BASE + 69,
       
   725 
       
   726 	SPR_CURSOR_TOWN           = 4080,
       
   727 	SPR_CURSOR_INDUSTRY       = 4081,
       
   728 	SPR_CURSOR_ROCKY_AREA     = 4087,
       
   729 	SPR_CURSOR_LIGHTHOUSE     = 4088,
       
   730 	SPR_CURSOR_TRANSMITTER    = 4089,
       
   731 
       
   732 	/* airport cursors */
       
   733 	SPR_CURSOR_AIRPORT        = 2724,
       
   734 
       
   735 	/* dock cursors */
       
   736 	SPR_CURSOR_DOCK           = 3668,
       
   737 	SPR_CURSOR_CANAL          = SPR_OPENTTD_BASE + 11,
       
   738 	SPR_CURSOR_LOCK           = SPR_OPENTTD_BASE + 64,
       
   739 
       
   740 	/* shared road & rail cursors */
       
   741 	SPR_CURSOR_BRIDGE         = 2593,
       
   742 
       
   743 	/* rail cursors */
       
   744 	SPR_CURSOR_NS_TRACK       = 1263,
       
   745 	SPR_CURSOR_SWNE_TRACK     = 1264,
       
   746 	SPR_CURSOR_EW_TRACK       = 1265,
       
   747 	SPR_CURSOR_NWSE_TRACK     = 1266,
       
   748 
       
   749 	SPR_CURSOR_NS_MONO        = 1267,
       
   750 	SPR_CURSOR_SWNE_MONO      = 1268,
       
   751 	SPR_CURSOR_EW_MONO        = 1269,
       
   752 	SPR_CURSOR_NWSE_MONO      = 1270,
       
   753 
       
   754 	SPR_CURSOR_NS_MAGLEV      = 1271,
       
   755 	SPR_CURSOR_SWNE_MAGLEV    = 1272,
       
   756 	SPR_CURSOR_EW_MAGLEV      = 1273,
       
   757 	SPR_CURSOR_NWSE_MAGLEV    = 1274,
       
   758 
       
   759 	SPR_CURSOR_RAIL_DEPOT     = 1296,
       
   760 	SPR_CURSOR_RAIL_STATION   = 1300,
       
   761 	SPR_CURSOR_TUNNEL_RAIL    = 2434,
       
   762 	SPR_CURSOR_TUNNEL_MONO    = 2435,
       
   763 	SPR_CURSOR_TUNNEL_MAGLEV  = 2436,
       
   764 
       
   765 	SPR_CURSOR_AUTORAIL       = SPR_OPENTTD_BASE + 4,
       
   766 	SPR_CURSOR_CHECKPOINT     = SPR_OPENTTD_BASE + 7,
       
   767 	SPR_CURSOR_MONO_DEPOT     = SPR_OPENTTD_BASE + 14,
       
   768 	SPR_CURSOR_MAGLEV_DEPOT   = SPR_OPENTTD_BASE + 15,
       
   769 	SPR_CURSOR_CONVERT_RAIL   = SPR_OPENTTD_BASE + 26,
       
   770 
       
   771 	/* road cursors */
       
   772 	SPR_CURSOR_ROAD_NESW      = 1311,
       
   773 	SPR_CURSOR_ROAD_NWSE      = 1312,
       
   774 
       
   775 	SPR_CURSOR_ROAD_DEPOT     = 1297,
       
   776 	SPR_CURSOR_BUS_STATION    = 2725,
       
   777 	SPR_CURSOR_TRUCK_STATION  = 2726,
       
   778 	SPR_CURSOR_ROAD_TUNNEL    = 2433,
       
   779 } CursorSprite;
       
   780 
       
   781 // Animation macro in table/animcursors.h (_animcursors[])
       
   782 enum AnimCursors {
       
   783 	ANIMCURSOR_DEMOLISH     = -1,	//  704 -  707 - demolish dynamite
       
   784 	ANIMCURSOR_LOWERLAND    = -2,	//  699 -  701 - lower land tool
       
   785 	ANIMCURSOR_RAISELAND    = -3,	//  696 -  698 - raise land tool
       
   786 	ANIMCURSOR_PICKSTATION  = -4,	//  716 -  718 - goto-order icon
       
   787 	ANIMCURSOR_BUILDSIGNALS	= -5,	// 1292 - 1293 - build signal
       
   788 };
       
   789 
       
   790 enum {
       
   791 	MAX_SPRITES = 0x3FFF, //the highest number a sprite can have
       
   792 };
       
   793 
       
   794 /*
       
   795 	these numbers change the colors of the palette for a sprite
       
   796 	both need to be fed a sprite which contains the "new" colors
       
   797 */
       
   798 enum Modifiers {
       
   799 	PALETTE_MODIFIER_TRANSPARENT 	= 0x4000,
       
   800 	PALETTE_MODIFIER_COLOR 				= 0x8000,
       
   801 };
       
   802 
       
   803 enum PaletteSprites {
       
   804 	//note: these numbers are already the modified once the renderer needs.
       
   805 	//the actual sprite number is the upper 16 bits of the number
       
   806 
       
   807 	//Here a puslating red tile is drawn if you try to build a wrong tunnel or raise/lower land where it is not possible
       
   808 	PALETTE_TILE_RED_PULSATING 	= 0x3038000,
       
   809 	//makes a square red. is used when removing rails or other stuff
       
   810 	PALETTE_SEL_TILE_RED 				= 0x3048000,
       
   811 	//This draws a blueish square (catchment areas for example)
       
   812 	PALETTE_SEL_TILE_BLUE 			= 0x3058000,
       
   813 	//0x306 is a real sprite (the little dot you get when you try to raise/lower a corner of the map
       
   814 	//here the color switches begin
       
   815 	//use this if you add stuff to the value, so that the resulting color
       
   816 	//is not a fixed value.
       
   817 	//NOTE THAT THE SWITCH 0x8000 is NOT present in _TO_COLORS yet!
       
   818 	PALETTE_TO_COLORS 					= 0x3070000,
       
   819 	PALETTE_TO_DARK_BLUE 				= 0x3078000,
       
   820 	PALETTE_TO_PALE_GREEN 			= 0x3088000,
       
   821 	PALETTE_TO_PINK 						= 0x3098000,
       
   822 	PALETTE_TO_YELLOW 					= 0x30A8000,
       
   823 	PALETTE_TO_RED 							= 0x30B8000,
       
   824 	PALETTE_TO_LIGHT_BLUE 			= 0x30C8000,
       
   825 	PALETTE_TO_GREEN 						= 0x30D8000,
       
   826 	PALETTE_TO_DARK_GREEN 			= 0x30E8000,
       
   827 	PALETTE_TO_BLUE 						= 0x30F8000,
       
   828 	PALETTE_TO_CREAM 						= 0x3108000,
       
   829 	//maybe don't use as player color because it doesn't display in the graphs?
       
   830 	PALETTE_TO_MAUVE 						= 0x3118000,
       
   831 	PALETTE_TO_PURPLE 					= 0x3128000,
       
   832 	PALETTE_TO_ORANGE 					= 0x3138000,
       
   833 	PALETTE_TO_BROWN 						= 0x3148000,
       
   834 	PALETTE_TO_GREY 						= 0x3158000,
       
   835 	PALETTE_TO_WHITE 						= 0x3168000,
       
   836  	//sets color to bare land stuff, for rail and road (and crossings)
       
   837 	PALETTE_TO_BARE_LAND 				= 0x3178000,
       
   838 	//XXX is 318-31A really not used?
       
   839 	//XXX FIXME I dunno yet what this is
       
   840 	PALETTE_31B 								= 0x31B8000,
       
   841 	//structure color to something brownish (for the cantilever bridges for example)
       
   842 	PALETTE_TO_STRUCT_BROWN 		= 0x31C8000,
       
   843 	PALETTE_31D 								= 0x31D8000, //XXX FIXME Don't know this either
       
   844 	//sets bridge or structure to red, little concrete one and cantilever use this one for example
       
   845 	PALETTE_TO_STRUCT_RED 			= 0x31E8000,
       
   846 	//XXX 31F
       
   847 	PALETTE_TO_STRUCT_CONCRETE 	= 0x3208000,  //Sets the suspension bridge to concrete, also other strucutures use it
       
   848 	PALETTE_TO_STRUCT_YELLOW 		= 0x3218000,    //Sets the bridge color to yellow (suspension and tubular)
       
   849 	PALETTE_TO_TRANSPARENT 			= 0x3224000,	//This sets the sprite to transparent
       
   850 	//This is used for changing the tubular bridges to the silicon display, or some grayish color
       
   851 	PALETTE_TO_STRUCT_GREY 			= 0x3238000,
       
   852 	PALETTE_CRASH 							= 0x3248000,	//this changes stuff to the "crash color"
       
   853 	//XXX another place where structures are colored.
       
   854 	//I'm not sure which colors these are
       
   855 	PALETTE_59E 								= 0x59E8000,
       
   856 	PALETTE_59F 								= 0x59F8000,
       
   857 
       
   858 };
       
   859 
       
   860 #define MAKE_TRANSPARENT(img) (img = (img & MAX_SPRITES) | PALETTE_TO_TRANSPARENT)
       
   861 
       
   862 #endif /* SPRITES_H */