sprites.h

Go to the documentation of this file.
00001 /* $Id$ */
00002 
00003 /*
00004  * This file is part of OpenTTD.
00005  * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
00006  * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00007  * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
00008  */
00009 
00039 #ifndef SPRITES_H
00040 #define SPRITES_H
00041 
00042 #include "../gfx_type.h"
00043 
00044 enum Sprites {
00045   SPR_SELECT_TILE  = 752,
00046   SPR_DOT          = 774, // corner marker for lower/raise land
00047   SPR_DOT_SMALL    = 4078,
00048   SPR_WHITE_POINT  = 4079,
00049 
00050   /* ASCII */
00051   SPR_ASCII_SPACE       = 2,
00052   SPR_ASCII_SPACE_SMALL = 226,
00053   SPR_ASCII_SPACE_BIG   = 450,
00054 
00055   SPR_LARGE_SMALL_WINDOW = 682,
00056 
00057   /* Extra graphic spritenumbers */
00058   SPR_OPENTTD_BASE     = 4896,
00059   OPENTTD_SPRITE_COUNT = 153,
00060 
00061   /* Halftile-selection sprites */
00062   SPR_HALFTILE_SELECTION_FLAT = SPR_OPENTTD_BASE,
00063   SPR_HALFTILE_SELECTION_DOWN = SPR_OPENTTD_BASE + 4,
00064   SPR_HALFTILE_SELECTION_UP   = SPR_OPENTTD_BASE + 8,
00065 
00066   SPR_SQUARE             = SPR_OPENTTD_BASE + 38, // coloured square (used for newgrf compatibility)
00067   SPR_BLOT               = SPR_OPENTTD_BASE + 39, // coloured circle (mainly used as vehicle profit marker and for server compatibility)
00068   SPR_LOCK               = SPR_OPENTTD_BASE + 40, // lock icon (for password protected servers)
00069   SPR_BOX_EMPTY          = SPR_OPENTTD_BASE + 41,
00070   SPR_BOX_CHECKED        = SPR_OPENTTD_BASE + 42,
00071   SPR_WARNING_SIGN       = SPR_OPENTTD_BASE + 43, // warning sign (shown if there are any newgrf errors)
00072   SPR_WINDOW_RESIZE_RIGHT= SPR_OPENTTD_BASE + 44, // resize icon to the right
00073   SPR_WINDOW_RESIZE_LEFT = SPR_OPENTTD_BASE + 149, // resize icon to the left
00074   SPR_WINDOW_SHADE       = SPR_OPENTTD_BASE + 151, // shade the window icon
00075   SPR_WINDOW_UNSHADE     = SPR_OPENTTD_BASE + 152, // unshade the window icon
00076   SPR_IMG_PLAY_MUSIC_RTL = SPR_OPENTTD_BASE + 150, // play music button, but then for RTL users
00077   /* Arrow icons pointing in all 4 directions */
00078   SPR_ARROW_DOWN         = SPR_OPENTTD_BASE + 45,
00079   SPR_ARROW_UP           = SPR_OPENTTD_BASE + 46,
00080   SPR_ARROW_LEFT         = SPR_OPENTTD_BASE + 47,
00081   SPR_ARROW_RIGHT        = SPR_OPENTTD_BASE + 48,
00082   SPR_HOUSE_ICON         = SPR_OPENTTD_BASE + 49,
00083   SPR_SHARED_ORDERS_ICON = SPR_OPENTTD_BASE + 50,
00084   SPR_PIN_UP             = SPR_OPENTTD_BASE + 51,   // pin icon
00085   SPR_PIN_DOWN           = SPR_OPENTTD_BASE + 52,
00086 
00087   SPR_CIRCLE_FOLDED      = SPR_OPENTTD_BASE + 147, // (+) icon
00088   SPR_CIRCLE_UNFOLDED    = SPR_OPENTTD_BASE + 148, // (-) icon
00089 
00090   /* on screen keyboard icons */
00091   SPR_OSK_LEFT           = SPR_OPENTTD_BASE + 138,
00092   SPR_OSK_RIGHT          = SPR_OPENTTD_BASE + 139,
00093   SPR_OSK_CAPS           = SPR_OPENTTD_BASE + 140,
00094   SPR_OSK_SHIFT          = SPR_OPENTTD_BASE + 141,
00095   SPR_OSK_BACKSPACE      = SPR_OPENTTD_BASE + 142,
00096   SPR_OSK_SPECIAL        = SPR_OPENTTD_BASE + 143,
00097 
00098   /* Clone vehicles stuff */
00099   SPR_CLONE_TRAIN    = SPR_OPENTTD_BASE + 106,
00100   SPR_CLONE_ROADVEH  = SPR_OPENTTD_BASE + 107,
00101   SPR_CLONE_SHIP     = SPR_OPENTTD_BASE + 108,
00102   SPR_CLONE_AIRCRAFT = SPR_OPENTTD_BASE + 109,
00103 
00104   SPR_SELL_TRAIN        = SPR_OPENTTD_BASE +  93,
00105   SPR_SELL_ROADVEH      = SPR_OPENTTD_BASE +  94,
00106   SPR_SELL_SHIP         = SPR_OPENTTD_BASE +  95,
00107   SPR_SELL_AIRCRAFT     = SPR_OPENTTD_BASE +  96,
00108   SPR_SELL_ALL_TRAIN    = SPR_OPENTTD_BASE +  97,
00109   SPR_SELL_ALL_ROADVEH  = SPR_OPENTTD_BASE +  98,
00110   SPR_SELL_ALL_SHIP     = SPR_OPENTTD_BASE +  99,
00111   SPR_SELL_ALL_AIRCRAFT = SPR_OPENTTD_BASE + 100,
00112   SPR_REPLACE_TRAIN     = SPR_OPENTTD_BASE + 101,
00113   SPR_REPLACE_ROADVEH   = SPR_OPENTTD_BASE + 102,
00114   SPR_REPLACE_SHIP      = SPR_OPENTTD_BASE + 103,
00115   SPR_REPLACE_AIRCRAFT  = SPR_OPENTTD_BASE + 104,
00116   SPR_SELL_CHAIN_TRAIN  = SPR_OPENTTD_BASE + 105,
00117 
00118   SPR_GROUP_CREATE_TRAIN         = SPR_OPENTTD_BASE + 114,
00119   SPR_GROUP_CREATE_ROADVEH       = SPR_OPENTTD_BASE + 115,
00120   SPR_GROUP_CREATE_SHIP          = SPR_OPENTTD_BASE + 116,
00121   SPR_GROUP_CREATE_AIRCRAFT      = SPR_OPENTTD_BASE + 117,
00122   SPR_GROUP_DELETE_TRAIN         = SPR_OPENTTD_BASE + 118,
00123   SPR_GROUP_DELETE_ROADVEH       = SPR_OPENTTD_BASE + 119,
00124   SPR_GROUP_DELETE_SHIP          = SPR_OPENTTD_BASE + 120,
00125   SPR_GROUP_DELETE_AIRCRAFT      = SPR_OPENTTD_BASE + 121,
00126   SPR_GROUP_RENAME_TRAIN         = SPR_OPENTTD_BASE + 122,
00127   SPR_GROUP_RENAME_ROADVEH       = SPR_OPENTTD_BASE + 123,
00128   SPR_GROUP_RENAME_SHIP          = SPR_OPENTTD_BASE + 124,
00129   SPR_GROUP_RENAME_AIRCRAFT      = SPR_OPENTTD_BASE + 125,
00130   SPR_GROUP_REPLACE_ON_TRAIN     = SPR_OPENTTD_BASE + 126,
00131   SPR_GROUP_REPLACE_ON_ROADVEH   = SPR_OPENTTD_BASE + 127,
00132   SPR_GROUP_REPLACE_ON_SHIP      = SPR_OPENTTD_BASE + 128,
00133   SPR_GROUP_REPLACE_ON_AIRCRAFT  = SPR_OPENTTD_BASE + 129,
00134   SPR_GROUP_REPLACE_OFF_TRAIN    = SPR_OPENTTD_BASE + 130,
00135   SPR_GROUP_REPLACE_OFF_ROADVEH  = SPR_OPENTTD_BASE + 131,
00136   SPR_GROUP_REPLACE_OFF_SHIP     = SPR_OPENTTD_BASE + 132,
00137   SPR_GROUP_REPLACE_OFF_AIRCRAFT = SPR_OPENTTD_BASE + 133,
00138 
00139   SPR_IMG_SWITCH_TOOLBAR = SPR_OPENTTD_BASE + 144,
00140 
00141   SPR_SIGNALS_BASE  = SPR_OPENTTD_BASE + OPENTTD_SPRITE_COUNT,
00142   PRESIGNAL_SPRITE_COUNT                   =  48,
00143   PRESIGNAL_AND_SEMAPHORE_SPRITE_COUNT     = 112,
00144   PRESIGNAL_SEMAPHORE_AND_PBS_SPRITE_COUNT = 240,
00145 
00146   SPR_CANALS_BASE   = SPR_SIGNALS_BASE + PRESIGNAL_SEMAPHORE_AND_PBS_SPRITE_COUNT,
00147   CANALS_SPRITE_COUNT = 65,
00148 
00149   /* Sprites for the Aqueduct. */
00150   SPR_AQUEDUCT_BASE     = SPR_CANALS_BASE + CANALS_SPRITE_COUNT,
00151   SPR_AQUEDUCT_RAMP_SW  = SPR_AQUEDUCT_BASE + 0,
00152   SPR_AQUEDUCT_RAMP_SE  = SPR_AQUEDUCT_BASE + 1,
00153   SPR_AQUEDUCT_RAMP_NE  = SPR_AQUEDUCT_BASE + 2,
00154   SPR_AQUEDUCT_RAMP_NW  = SPR_AQUEDUCT_BASE + 3,
00155   SPR_AQUEDUCT_MIDDLE_X = SPR_AQUEDUCT_BASE + 4,
00156   SPR_AQUEDUCT_MIDDLE_Y = SPR_AQUEDUCT_BASE + 5,
00157   SPR_AQUEDUCT_PILLAR_X = SPR_AQUEDUCT_BASE + 6,
00158   SPR_AQUEDUCT_PILLAR_Y = SPR_AQUEDUCT_BASE + 7,
00159   AQUEDUCT_SPRITE_COUNT = 8,
00160 
00161   /* Sprites for 'highlighting' tracks on sloped land. */
00162   SPR_TRACKS_FOR_SLOPES_BASE        = SPR_AQUEDUCT_BASE + AQUEDUCT_SPRITE_COUNT,
00163   SPR_TRACKS_FOR_SLOPES_RAIL_BASE   = SPR_TRACKS_FOR_SLOPES_BASE + 0,
00164   SPR_TRACKS_FOR_SLOPES_MONO_BASE   = SPR_TRACKS_FOR_SLOPES_BASE + 4,
00165   SPR_TRACKS_FOR_SLOPES_MAGLEV_BASE = SPR_TRACKS_FOR_SLOPES_BASE + 8,
00166   TRACKS_FOR_SLOPES_SPRITE_COUNT = 12,
00167 
00168   SPR_SLOPES_BASE              = SPR_TRACKS_FOR_SLOPES_BASE + TRACKS_FOR_SLOPES_SPRITE_COUNT,
00169   SPR_SLOPES_INCLINED_OFFSET   = 15,
00170   SPR_SLOPES_VIRTUAL_BASE      = SPR_SLOPES_BASE - SPR_SLOPES_INCLINED_OFFSET, // The original foundations (see SPR_FOUNDATION_BASE below) are mapped before the additional foundations.
00171   SPR_TRKFOUND_BLOCK_SIZE      = 22, // The normal track foundation sprites are organized in blocks of 22.
00172   NORMAL_FOUNDATION_SPRITE_COUNT = 74,
00173   /* Halftile foundations */
00174   SPR_HALFTILE_FOUNDATION_BASE = SPR_SLOPES_BASE + NORMAL_FOUNDATION_SPRITE_COUNT,
00175   SPR_HALFTILE_BLOCK_SIZE      = 4,  // The half tile foundation sprites are organized in blocks of 4.
00176   NORMAL_AND_HALFTILE_FOUNDATION_SPRITE_COUNT = 90,
00177 
00178   SPR_AUTORAIL_BASE = SPR_HALFTILE_FOUNDATION_BASE + NORMAL_AND_HALFTILE_FOUNDATION_SPRITE_COUNT,
00179   AUTORAIL_SPRITE_COUNT = 55,
00180 
00181   SPR_ELRAIL_BASE   = SPR_AUTORAIL_BASE + AUTORAIL_SPRITE_COUNT,
00182   ELRAIL_SPRITE_COUNT = 48,
00183 
00184   SPR_2CCMAP_BASE   = SPR_ELRAIL_BASE + ELRAIL_SPRITE_COUNT,
00185   TWOCCMAP_SPRITE_COUNT = 256,
00186 
00187   /* shore tiles - action 05-0D */
00188   SPR_SHORE_BASE                  = SPR_2CCMAP_BASE + TWOCCMAP_SPRITE_COUNT,
00189   SPR_SHORE_SPRITE_COUNT          = 18,
00190   SPR_ORIGINALSHORE_START         = 4062,
00191   SPR_ORIGINALSHORE_END           = 4069,
00192 
00193   SPR_AIRPORTX_BASE     = SPR_SHORE_BASE + SPR_SHORE_SPRITE_COUNT, // The sprites used for other airport angles
00194   SPR_NEWAIRPORT_TARMAC = SPR_AIRPORTX_BASE,
00195   SPR_NSRUNWAY1         = SPR_AIRPORTX_BASE + 1,
00196   SPR_NSRUNWAY2         = SPR_AIRPORTX_BASE + 2,
00197   SPR_NSRUNWAY3         = SPR_AIRPORTX_BASE + 3,
00198   SPR_NSRUNWAY4         = SPR_AIRPORTX_BASE + 4,
00199   SPR_NSRUNWAY_END      = SPR_AIRPORTX_BASE + 5,
00200   SPR_NEWHANGAR_S       = SPR_AIRPORTX_BASE + 6,
00201   SPR_NEWHANGAR_S_WALL  = SPR_AIRPORTX_BASE + 7,
00202   SPR_NEWHANGAR_W       = SPR_AIRPORTX_BASE + 8,
00203   SPR_NEWHANGAR_W_WALL  = SPR_AIRPORTX_BASE + 9,
00204   SPR_NEWHANGAR_N       = SPR_AIRPORTX_BASE + 10,
00205   SPR_NEWHANGAR_E       = SPR_AIRPORTX_BASE + 11,
00206   SPR_NEWHELIPAD        = SPR_AIRPORTX_BASE + 12,
00207   SPR_GRASS_RIGHT       = SPR_AIRPORTX_BASE + 13,
00208   SPR_GRASS_LEFT        = SPR_AIRPORTX_BASE + 14,
00209   AIRPORTX_SPRITE_COUNT = 15,
00210 
00211   SPR_ROADSTOP_BASE     = SPR_AIRPORTX_BASE + AIRPORTX_SPRITE_COUNT, // The sprites used for drive-through road stops
00212   SPR_BUS_STOP_DT_Y_W   = SPR_ROADSTOP_BASE,
00213   SPR_BUS_STOP_DT_Y_E   = SPR_ROADSTOP_BASE + 1,
00214   SPR_BUS_STOP_DT_X_W   = SPR_ROADSTOP_BASE + 2,
00215   SPR_BUS_STOP_DT_X_E   = SPR_ROADSTOP_BASE + 3,
00216   SPR_TRUCK_STOP_DT_Y_W = SPR_ROADSTOP_BASE + 4,
00217   SPR_TRUCK_STOP_DT_Y_E = SPR_ROADSTOP_BASE + 5,
00218   SPR_TRUCK_STOP_DT_X_W = SPR_ROADSTOP_BASE + 6,
00219   SPR_TRUCK_STOP_DT_X_E = SPR_ROADSTOP_BASE + 7,
00220   ROADSTOP_SPRITE_COUNT = 8,
00221 
00222   /* Tramway sprites */
00223   SPR_TRAMWAY_BASE                 = SPR_ROADSTOP_BASE + ROADSTOP_SPRITE_COUNT,
00224   SPR_TRAMWAY_OVERLAY              = SPR_TRAMWAY_BASE + 4,
00225   SPR_TRAMWAY_TRAM                 = SPR_TRAMWAY_BASE + 27,
00226   SPR_TRAMWAY_SLOPED_OFFSET        = 11,
00227   SPR_TRAMWAY_BUS_STOP_DT_Y_W      = SPR_TRAMWAY_BASE + 25,
00228   SPR_TRAMWAY_BUS_STOP_DT_Y_E      = SPR_TRAMWAY_BASE + 23,
00229   SPR_TRAMWAY_BUS_STOP_DT_X_W      = SPR_TRAMWAY_BASE + 24,
00230   SPR_TRAMWAY_BUS_STOP_DT_X_E      = SPR_TRAMWAY_BASE + 26,
00231   SPR_TRAMWAY_PAVED_STRAIGHT_Y     = SPR_TRAMWAY_BASE + 46,
00232   SPR_TRAMWAY_PAVED_STRAIGHT_X     = SPR_TRAMWAY_BASE + 47,
00233   SPR_TRAMWAY_BACK_WIRES_STRAIGHT  = SPR_TRAMWAY_BASE + 55,
00234   SPR_TRAMWAY_FRONT_WIRES_STRAIGHT = SPR_TRAMWAY_BASE + 56,
00235   SPR_TRAMWAY_BACK_WIRES_SLOPED    = SPR_TRAMWAY_BASE + 72,
00236   SPR_TRAMWAY_FRONT_WIRES_SLOPED   = SPR_TRAMWAY_BASE + 68,
00237   SPR_TRAMWAY_TUNNEL_WIRES         = SPR_TRAMWAY_BASE + 80,
00238   SPR_TRAMWAY_BRIDGE               = SPR_TRAMWAY_BASE + 107,
00239   TRAMWAY_SPRITE_COUNT = 113,
00240 
00241   /* One way road sprites */
00242   SPR_ONEWAY_BASE = SPR_TRAMWAY_BASE + TRAMWAY_SPRITE_COUNT,
00243   ONEWAY_SPRITE_COUNT = 6,
00244 
00245   /* Flags sprites (in same order as enum NetworkLanguage) */
00246   SPR_FLAGS_BASE = SPR_ONEWAY_BASE + ONEWAY_SPRITE_COUNT,
00247   FLAGS_SPRITE_COUNT = 36,
00248 
00249   /* Not really a sprite, but an empty bounding box. Used to construct bounding boxes, that help sorting the sprites, but do not have a sprite associated. */
00250   SPR_EMPTY_BOUNDING_BOX = SPR_FLAGS_BASE + FLAGS_SPRITE_COUNT,
00251   EMPTY_BOUNDING_BOX_SPRITE_COUNT = 1,
00252 
00253   /* From where can we start putting NewGRFs? */
00254   SPR_NEWGRFS_BASE = SPR_EMPTY_BOUNDING_BOX + EMPTY_BOUNDING_BOX_SPRITE_COUNT,
00255 
00256   /* Manager face sprites */
00257   SPR_GRADIENT = 874, // background gradient behind manager face
00258 
00259   /* Icon showing company colour. */
00260   SPR_COMPANY_ICON = 747,
00261 
00262   /* is itself no foundation sprite, because tileh 0 has no foundation */
00263   SPR_FOUNDATION_BASE = 989,
00264 
00265   /* Shadow cell */
00266   SPR_SHADOW_CELL = 1004,
00267 
00268   /* Unmovables spritenumbers */
00269   SPR_UNMOVABLE_TRANSMITTER   = 2601,
00270   SPR_UNMOVABLE_LIGHTHOUSE    = 2602,
00271   SPR_TINYHQ_NORTH            = 2603,
00272   SPR_TINYHQ_EAST             = 2604,
00273   SPR_TINYHQ_WEST             = 2605,
00274   SPR_TINYHQ_SOUTH            = 2606,
00275   SPR_SMALLHQ_NORTH           = 2607,
00276   SPR_SMALLHQ_EAST            = 2608,
00277   SPR_SMALLHQ_WEST            = 2609,
00278   SPR_SMALLHQ_SOUTH           = 2610,
00279   SPR_MEDIUMHQ_NORTH          = 2611,
00280   SPR_MEDIUMHQ_NORTH_WALL     = 2612,
00281   SPR_MEDIUMHQ_EAST           = 2613,
00282   SPR_MEDIUMHQ_EAST_WALL      = 2614,
00283   SPR_MEDIUMHQ_WEST           = 2615,
00284   SPR_MEDIUMHQ_WEST_WALL      = 2616, // very tiny piece of wall
00285   SPR_MEDIUMHQ_SOUTH          = 2617,
00286   SPR_LARGEHQ_NORTH_GROUND    = 2618,
00287   SPR_LARGEHQ_NORTH_BUILD     = 2619,
00288   SPR_LARGEHQ_EAST_GROUND     = 2620,
00289   SPR_LARGEHQ_EAST_BUILD      = 2621,
00290   SPR_LARGEHQ_WEST_GROUND     = 2622,
00291   SPR_LARGEHQ_WEST_BUILD      = 2623,
00292   SPR_LARGEHQ_SOUTH           = 2624,
00293   SPR_HUGEHQ_NORTH_GROUND     = 2625,
00294   SPR_HUGEHQ_NORTH_BUILD      = 2626,
00295   SPR_HUGEHQ_EAST_GROUND      = 2627,
00296   SPR_HUGEHQ_EAST_BUILD       = 2628,
00297   SPR_HUGEHQ_WEST_GROUND      = 2629,
00298   SPR_HUGEHQ_WEST_BUILD       = 2630,
00299   SPR_HUGEHQ_SOUTH            = 2631,
00300   SPR_CONCRETE_GROUND         = 1420,
00301   SPR_STATUE_COMPANY          = 2632,
00302   SPR_BOUGHT_LAND             = 4790,
00303 
00304   /* sprites for rail and rail stations*/
00305   SPR_RAIL_SNOW_OFFSET        = 26,
00306   SPR_MONO_SNOW_OFFSET        = 26,
00307   SPR_MGLV_SNOW_OFFSET        = 26,
00308 
00309   SPR_ORIGINAL_SIGNALS_BASE   = 1275,
00310 
00311   SPR_RAIL_SINGLE_X           = 1005,
00312   SPR_RAIL_SINGLE_Y           = 1006,
00313   SPR_RAIL_SINGLE_NORTH       = 1007,
00314   SPR_RAIL_SINGLE_SOUTH       = 1008,
00315   SPR_RAIL_SINGLE_EAST        = 1009,
00316   SPR_RAIL_SINGLE_WEST        = 1010,
00317   SPR_RAIL_TRACK_Y            = 1011,
00318   SPR_RAIL_TRACK_X            = 1012,
00319   SPR_RAIL_TRACK_BASE         = 1018,
00320   SPR_RAIL_TRACK_N_S          = 1035,
00321   SPR_RAIL_TRACK_Y_SNOW       = 1037,
00322   SPR_RAIL_TRACK_X_SNOW       = 1038,
00323   SPR_RAIL_DEPOT_SE_1         = 1063,
00324   SPR_RAIL_DEPOT_SE_2         = 1064,
00325   SPR_RAIL_DEPOT_SW_1         = 1065,
00326   SPR_RAIL_DEPOT_SW_2         = 1066,
00327   SPR_RAIL_DEPOT_NE           = 1067,
00328   SPR_RAIL_DEPOT_NW           = 1068,
00329   SPR_RAIL_PLATFORM_Y_FRONT         = 1069,
00330   SPR_RAIL_PLATFORM_X_REAR          = 1070,
00331   SPR_RAIL_PLATFORM_Y_REAR          = 1071,
00332   SPR_RAIL_PLATFORM_X_FRONT         = 1072,
00333   SPR_RAIL_PLATFORM_BUILDING_X      = 1073,
00334   SPR_RAIL_PLATFORM_BUILDING_Y      = 1074,
00335   SPR_RAIL_PLATFORM_PILLARS_Y_FRONT = 1075,
00336   SPR_RAIL_PLATFORM_PILLARS_X_REAR  = 1076,
00337   SPR_RAIL_PLATFORM_PILLARS_Y_REAR  = 1077,
00338   SPR_RAIL_PLATFORM_PILLARS_X_FRONT = 1078,
00339   SPR_RAIL_ROOF_STRUCTURE_X_TILE_A  = 1079, // First half of the roof structure
00340   SPR_RAIL_ROOF_STRUCTURE_Y_TILE_A  = 1080,
00341   SPR_RAIL_ROOF_STRUCTURE_X_TILE_B  = 1081, // Second half of the roof structure
00342   SPR_RAIL_ROOF_STRUCTURE_Y_TILE_B  = 1082,
00343   SPR_RAIL_ROOF_GLASS_X_TILE_A      = 1083, // First half of the roof glass
00344   SPR_RAIL_ROOF_GLASS_Y_TILE_A      = 1084,
00345   SPR_RAIL_ROOF_GLASS_X_TILE_B      = 1085, // second half of the roof glass
00346   SPR_RAIL_ROOF_GLASS_Y_TILE_B      = 1086,
00347   SPR_MONO_SINGLE_X                 = 1087,
00348   SPR_MONO_SINGLE_Y                 = 1088,
00349   SPR_MONO_SINGLE_NORTH             = 1089,
00350   SPR_MONO_SINGLE_SOUTH             = 1090,
00351   SPR_MONO_SINGLE_EAST              = 1091,
00352   SPR_MONO_SINGLE_WEST              = 1092,
00353   SPR_MONO_TRACK_Y                  = 1093,
00354   SPR_MONO_TRACK_BASE               = 1100,
00355   SPR_MONO_TRACK_N_S                = 1117,
00356   SPR_MGLV_SINGLE_X                 = 1169,
00357   SPR_MGLV_SINGLE_Y                 = 1170,
00358   SPR_MGLV_SINGLE_NORTH             = 1171,
00359   SPR_MGLV_SINGLE_SOUTH             = 1172,
00360   SPR_MGLV_SINGLE_EAST              = 1173,
00361   SPR_MGLV_SINGLE_WEST              = 1174,
00362   SPR_MGLV_TRACK_Y                  = 1175,
00363   SPR_MGLV_TRACK_BASE               = 1182,
00364   SPR_MGLV_TRACK_N_S                = 1199,
00365   SPR_WAYPOINT_X_1            = SPR_OPENTTD_BASE + 78,
00366   SPR_WAYPOINT_X_2            = SPR_OPENTTD_BASE + 79,
00367   SPR_WAYPOINT_Y_1            = SPR_OPENTTD_BASE + 80,
00368   SPR_WAYPOINT_Y_2            = SPR_OPENTTD_BASE + 81,
00369   OFFSET_TILEH_IMPOSSIBLE     = 0,
00370   OFFSET_TILEH_1              = 14,
00371   OFFSET_TILEH_2              = 15,
00372   OFFSET_TILEH_3              = 22,
00373   OFFSET_TILEH_4              = 13,
00374   OFFSET_TILEH_6              = 21,
00375   OFFSET_TILEH_7              = 17,
00376   OFFSET_TILEH_8              = 12,
00377   OFFSET_TILEH_9              = 23,
00378   OFFSET_TILEH_11             = 18,
00379   OFFSET_TILEH_12             = 20,
00380   OFFSET_TILEH_13             = 19,
00381   OFFSET_TILEH_14             = 16,
00382 
00383   /* Track fences */
00384   SPR_TRACK_FENCE_FLAT_X    = 1301,
00385   SPR_TRACK_FENCE_FLAT_Y    = 1302,
00386   SPR_TRACK_FENCE_FLAT_VERT = 1303,
00387   SPR_TRACK_FENCE_FLAT_HORZ = 1304,
00388   SPR_TRACK_FENCE_SLOPE_SW  = 1305,
00389   SPR_TRACK_FENCE_SLOPE_SE  = 1306,
00390   SPR_TRACK_FENCE_SLOPE_NE  = 1307,
00391   SPR_TRACK_FENCE_SLOPE_NW  = 1308,
00392 
00393   /* Base sprites for elrail.
00394    * Offsets via an enum are used so a complete list of absolute
00395    * sprite numbers is unnecessary.
00396    */
00397   SPR_WIRE_BASE         = SPR_ELRAIL_BASE +  0,
00398   SPR_PYLON_BASE        = SPR_ELRAIL_BASE + 28,
00399 
00400   /* sprites for roads */
00401   SPR_ROAD_PAVED_STRAIGHT_Y       = 1313,
00402   SPR_ROAD_PAVED_STRAIGHT_X       = 1314,
00403 
00404   /* sprites for airports and airfields*/
00405   /* Small airports are AIRFIELD, everything else is AIRPORT */
00406   SPR_HELIPORT                    = 2633,
00407   SPR_AIRPORT_APRON               = 2634,
00408   SPR_AIRPORT_AIRCRAFT_STAND      = 2635,
00409   SPR_AIRPORT_TAXIWAY_NS_WEST     = 2636,
00410   SPR_AIRPORT_TAXIWAY_EW_SOUTH    = 2637,
00411   SPR_AIRPORT_TAXIWAY_XING_SOUTH  = 2638,
00412   SPR_AIRPORT_TAXIWAY_XING_WEST   = 2639,
00413   SPR_AIRPORT_TAXIWAY_NS_CTR      = 2640,
00414   SPR_AIRPORT_TAXIWAY_XING_EAST   = 2641,
00415   SPR_AIRPORT_TAXIWAY_NS_EAST     = 2642,
00416   SPR_AIRPORT_TAXIWAY_EW_NORTH    = 2643,
00417   SPR_AIRPORT_TAXIWAY_EW_CTR      = 2644,
00418   SPR_AIRPORT_RUNWAY_EXIT_A       = 2645,
00419   SPR_AIRPORT_RUNWAY_EXIT_B       = 2646,
00420   SPR_AIRPORT_RUNWAY_EXIT_C       = 2647,
00421   SPR_AIRPORT_RUNWAY_EXIT_D       = 2648,
00422   SPR_AIRPORT_RUNWAY_END          = 2649, // We should have different ends
00423   SPR_AIRPORT_TERMINAL_A          = 2650,
00424   SPR_AIRPORT_TOWER               = 2651,
00425   SPR_AIRPORT_CONCOURSE           = 2652,
00426   SPR_AIRPORT_TERMINAL_B          = 2653,
00427   SPR_AIRPORT_TERMINAL_C          = 2654,
00428   SPR_AIRPORT_HANGAR_FRONT        = 2655,
00429   SPR_AIRPORT_HANGAR_REAR         = 2656,
00430   SPR_AIRFIELD_HANGAR_FRONT       = 2657,
00431   SPR_AIRFIELD_HANGAR_REAR        = 2658,
00432   SPR_AIRPORT_JETWAY_1            = 2659,
00433   SPR_AIRPORT_JETWAY_2            = 2660,
00434   SPR_AIRPORT_JETWAY_3            = 2661,
00435   SPR_AIRPORT_PASSENGER_TUNNEL    = 2662,
00436   SPR_AIRPORT_FENCE_Y             = 2663,
00437   SPR_AIRPORT_FENCE_X             = 2664,
00438   SPR_AIRFIELD_TERM_A             = 2665,
00439   SPR_AIRFIELD_TERM_B             = 2666,
00440   SPR_AIRFIELD_TERM_C_GROUND      = 2667,
00441   SPR_AIRFIELD_TERM_C_BUILD       = 2668,
00442   SPR_AIRFIELD_APRON_A            = 2669,
00443   SPR_AIRFIELD_APRON_B            = 2670,
00444   SPR_AIRFIELD_APRON_C            = 2671,
00445   SPR_AIRFIELD_APRON_D            = 2672,
00446   SPR_AIRFIELD_RUNWAY_NEAR_END    = 2673,
00447   SPR_AIRFIELD_RUNWAY_MIDDLE      = 2674,
00448   SPR_AIRFIELD_RUNWAY_FAR_END     = 2675,
00449   SPR_AIRFIELD_WIND_1             = 2676,
00450   SPR_AIRFIELD_WIND_2             = 2677,
00451   SPR_AIRFIELD_WIND_3             = 2678,
00452   SPR_AIRFIELD_WIND_4             = 2679,
00453   SPR_AIRPORT_RADAR_1             = 2680,
00454   SPR_AIRPORT_RADAR_2             = 2681,
00455   SPR_AIRPORT_RADAR_3             = 2682,
00456   SPR_AIRPORT_RADAR_4             = 2683,
00457   SPR_AIRPORT_RADAR_5             = 2684,
00458   SPR_AIRPORT_RADAR_6             = 2685,
00459   SPR_AIRPORT_RADAR_7             = 2686,
00460   SPR_AIRPORT_RADAR_8             = 2687,
00461   SPR_AIRPORT_RADAR_9             = 2688,
00462   SPR_AIRPORT_RADAR_A             = 2689,
00463   SPR_AIRPORT_RADAR_B             = 2690,
00464   SPR_AIRPORT_RADAR_C             = 2691,
00465   SPR_AIRPORT_HELIPAD             = SPR_OPENTTD_BASE + 86,
00466   SPR_AIRPORT_HELIDEPOT_OFFICE    = 2095,
00467 
00468   /* Road Stops
00469    * Road stops have a ground tile and 3 buildings, one on each side
00470    * (except the side where the entry is). These are marked _A _B and _C */
00471   SPR_BUS_STOP_NE_GROUND          = 2692,
00472   SPR_BUS_STOP_SE_GROUND          = 2693,
00473   SPR_BUS_STOP_SW_GROUND          = 2694,
00474   SPR_BUS_STOP_NW_GROUND          = 2695,
00475   SPR_BUS_STOP_NE_BUILD_A         = 2696,
00476   SPR_BUS_STOP_SE_BUILD_A         = 2697,
00477   SPR_BUS_STOP_SW_BUILD_A         = 2698,
00478   SPR_BUS_STOP_NW_BUILD_A         = 2699,
00479   SPR_BUS_STOP_NE_BUILD_B         = 2700,
00480   SPR_BUS_STOP_SE_BUILD_B         = 2701,
00481   SPR_BUS_STOP_SW_BUILD_B         = 2702,
00482   SPR_BUS_STOP_NW_BUILD_B         = 2703,
00483   SPR_BUS_STOP_NE_BUILD_C         = 2704,
00484   SPR_BUS_STOP_SE_BUILD_C         = 2705,
00485   SPR_BUS_STOP_SW_BUILD_C         = 2706,
00486   SPR_BUS_STOP_NW_BUILD_C         = 2707,
00487   SPR_TRUCK_STOP_NE_GROUND        = 2708,
00488   SPR_TRUCK_STOP_SE_GROUND        = 2709,
00489   SPR_TRUCK_STOP_SW_GROUND        = 2710,
00490   SPR_TRUCK_STOP_NW_GROUND        = 2711,
00491   SPR_TRUCK_STOP_NE_BUILD_A       = 2712,
00492   SPR_TRUCK_STOP_SE_BUILD_A       = 2713,
00493   SPR_TRUCK_STOP_SW_BUILD_A       = 2714,
00494   SPR_TRUCK_STOP_NW_BUILD_A       = 2715,
00495   SPR_TRUCK_STOP_NE_BUILD_B       = 2716,
00496   SPR_TRUCK_STOP_SE_BUILD_B       = 2717,
00497   SPR_TRUCK_STOP_SW_BUILD_B       = 2718,
00498   SPR_TRUCK_STOP_NW_BUILD_B       = 2719,
00499   SPR_TRUCK_STOP_NE_BUILD_C       = 2720,
00500   SPR_TRUCK_STOP_SE_BUILD_C       = 2721,
00501   SPR_TRUCK_STOP_SW_BUILD_C       = 2722,
00502   SPR_TRUCK_STOP_NW_BUILD_C       = 2723,
00503 
00504   /* Sprites for docks
00505    * Docks consist of two tiles, the sloped one and the flat one */
00506   SPR_DOCK_SLOPE_NE               = 2727,
00507   SPR_DOCK_SLOPE_SE               = 2728,
00508   SPR_DOCK_SLOPE_SW               = 2729,
00509   SPR_DOCK_SLOPE_NW               = 2730,
00510   SPR_DOCK_FLAT_X                 = 2731, // for NE and SW
00511   SPR_DOCK_FLAT_Y                 = 2732, // for NW and SE
00512   SPR_BUOY                        = 4076, // XXX this sucks, because it displays wrong stuff on canals
00513 
00514   /* Sprites for road */
00515   SPR_ROAD_Y                  = 1332,
00516   SPR_ROAD_X                  = 1333,
00517   SPR_ROAD_Y_SNOW             = 1351,
00518   SPR_ROAD_X_SNOW             = 1352,
00519 
00520   SPR_EXCAVATION_X = 1414,
00521   SPR_EXCAVATION_Y = 1415,
00522 
00523   /* Landscape sprites */
00524   SPR_FLAT_BARE_LAND                = 3924,
00525   SPR_FLAT_1_THIRD_GRASS_TILE       = 3943,
00526   SPR_FLAT_2_THIRD_GRASS_TILE       = 3962,
00527   SPR_FLAT_GRASS_TILE               = 3981,
00528   SPR_FLAT_ROUGH_LAND               = 4000,
00529   SPR_FLAT_ROUGH_LAND_1             = 4019,
00530   SPR_FLAT_ROUGH_LAND_2             = 4020,
00531   SPR_FLAT_ROUGH_LAND_3             = 4021,
00532   SPR_FLAT_ROUGH_LAND_4             = 4022,
00533   SPR_FLAT_ROCKY_LAND_1             = 4023,
00534   SPR_FLAT_ROCKY_LAND_2             = 4042,
00535   SPR_FLAT_WATER_TILE               = 4061,
00536   SPR_FLAT_1_QUART_SNOW_DESERT_TILE = 4493,
00537   SPR_FLAT_2_QUART_SNOW_DESERT_TILE = 4512,
00538   SPR_FLAT_3_QUART_SNOW_DESERT_TILE = 4531,
00539   SPR_FLAT_SNOW_DESERT_TILE         = 4550,
00540 
00541   /* Hedge, Farmland-fence sprites */
00542   SPR_HEDGE_BUSHES            = 4090,
00543   SPR_HEDGE_BUSHES_WITH_GATE  = 4096,
00544   SPR_HEDGE_FENCE             = 4102,
00545   SPR_HEDGE_BLOOMBUSH_YELLOW  = 4108,
00546   SPR_HEDGE_BLOOMBUSH_RED     = 4114,
00547   SPR_HEDGE_STONE             = 4120,
00548 
00549   /* Farmland sprites, only flat tiles listed, various stages */
00550   SPR_FARMLAND_BARE           = 4126,
00551   SPR_FARMLAND_STATE_1        = 4145,
00552   SPR_FARMLAND_STATE_2        = 4164,
00553   SPR_FARMLAND_STATE_3        = 4183,
00554   SPR_FARMLAND_STATE_4        = 4202,
00555   SPR_FARMLAND_STATE_5        = 4221,
00556   SPR_FARMLAND_STATE_6        = 4240,
00557   SPR_FARMLAND_STATE_7        = 4259,
00558   SPR_FARMLAND_HAYPACKS       = 4278,
00559 
00560   /* Water-related sprites */
00561   SPR_SHIP_DEPOT_SE_FRONT     = 4070,
00562   SPR_SHIP_DEPOT_SW_FRONT     = 4071,
00563   SPR_SHIP_DEPOT_NW           = 4072,
00564   SPR_SHIP_DEPOT_NE           = 4073,
00565   SPR_SHIP_DEPOT_SE_REAR      = 4074,
00566   SPR_SHIP_DEPOT_SW_REAR      = 4075,
00567   /* here come sloped water sprites */
00568   SPR_WATER_SLOPE_Y_UP        = SPR_CANALS_BASE + 0, // Water flowing negative Y direction
00569   SPR_WATER_SLOPE_X_DOWN      = SPR_CANALS_BASE + 1, // positive X
00570   SPR_WATER_SLOPE_X_UP        = SPR_CANALS_BASE + 2, // negative X
00571   SPR_WATER_SLOPE_Y_DOWN      = SPR_CANALS_BASE + 3, // positive Y
00572   /* sprites for the shiplifts
00573    * there are 4 kinds of shiplifts, each of them is 3 tiles long.
00574    * the four kinds are running in the X and Y direction and
00575    * are "lowering" either in the "+" or the "-" direction.
00576    * the three tiles are the center tile (where the slope is)
00577    * and a bottom and a top tile */
00578   SPR_SHIPLIFT_BASE                 = SPR_CANALS_BASE +  4,
00579   SPR_SHIPLIFT_Y_UP_CENTER_REAR     = SPR_CANALS_BASE +  4,
00580   SPR_SHIPLIFT_X_DOWN_CENTER_REAR   = SPR_CANALS_BASE +  5,
00581   SPR_SHIPLIFT_X_UP_CENTER_REAR     = SPR_CANALS_BASE +  6,
00582   SPR_SHIPLIFT_Y_DOWN_CENTER_REAR   = SPR_CANALS_BASE +  7,
00583   SPR_SHIPLIFT_Y_UP_CENTER_FRONT    = SPR_CANALS_BASE +  8,
00584   SPR_SHIPLIFT_X_DOWN_CENTER_FRONT  = SPR_CANALS_BASE +  9,
00585   SPR_SHIPLIFT_X_UP_CENTER_FRONT    = SPR_CANALS_BASE + 10,
00586   SPR_SHIPLIFT_Y_DOWN_CENTER_FRONT  = SPR_CANALS_BASE + 11,
00587   SPR_SHIPLIFT_Y_UP_BOTTOM_REAR     = SPR_CANALS_BASE + 12,
00588   SPR_SHIPLIFT_X_DOWN_BOTTOM_REAR   = SPR_CANALS_BASE + 13,
00589   SPR_SHIPLIFT_X_UP_BOTTOM_REAR     = SPR_CANALS_BASE + 14,
00590   SPR_SHIPLIFT_Y_DOWN_BOTTOM_REAR   = SPR_CANALS_BASE + 15,
00591   SPR_SHIPLIFT_Y_UP_BOTTOM_FRONT    = SPR_CANALS_BASE + 16,
00592   SPR_SHIPLIFT_X_DOWN_BOTTOM_FRONT  = SPR_CANALS_BASE + 17,
00593   SPR_SHIPLIFT_X_UP_BOTTOM_FRONT    = SPR_CANALS_BASE + 18,
00594   SPR_SHIPLIFT_Y_DOWN_BOTTOM_FRONT  = SPR_CANALS_BASE + 19,
00595   SPR_SHIPLIFT_Y_UP_TOP_REAR        = SPR_CANALS_BASE + 20,
00596   SPR_SHIPLIFT_X_DOWN_TOP_REAR      = SPR_CANALS_BASE + 21,
00597   SPR_SHIPLIFT_X_UP_TOP_REAR        = SPR_CANALS_BASE + 22,
00598   SPR_SHIPLIFT_Y_DOWN_TOP_REAR      = SPR_CANALS_BASE + 23,
00599   SPR_SHIPLIFT_Y_UP_TOP_FRONT       = SPR_CANALS_BASE + 24,
00600   SPR_SHIPLIFT_X_DOWN_TOP_FRONT     = SPR_CANALS_BASE + 25,
00601   SPR_SHIPLIFT_X_UP_TOP_FRONT       = SPR_CANALS_BASE + 26,
00602   SPR_SHIPLIFT_Y_DOWN_TOP_FRONT     = SPR_CANALS_BASE + 27,
00603   SPR_CANAL_DIKES_BASE              = SPR_CANALS_BASE + 52,
00604 
00605   /* Sprites for tunnels and bridges */
00606   SPR_TUNNEL_ENTRY_REAR_RAIL   = 2365,
00607   SPR_TUNNEL_ENTRY_REAR_MONO   = 2373,
00608   SPR_TUNNEL_ENTRY_REAR_MAGLEV = 2381,
00609   SPR_TUNNEL_ENTRY_REAR_ROAD   = 2389,
00610 
00611   /* Level crossings */
00612   SPR_CROSSING_OFF_X_RAIL   = 1370,
00613   SPR_CROSSING_OFF_X_MONO   = 1382,
00614   SPR_CROSSING_OFF_X_MAGLEV = 1394,
00615 
00616   /* bridge type sprites */
00617   SPR_PILLARS_BASE = SPR_OPENTTD_BASE + 14,
00618 
00619   /* Wooden bridge (type 0) */
00620   SPR_BTWDN_RAIL_Y_REAR       = 2545,
00621   SPR_BTWDN_RAIL_X_REAR       = 2546,
00622   SPR_BTWDN_ROAD_Y_REAR       = 2547,
00623   SPR_BTWDN_ROAD_X_REAR       = 2548,
00624   SPR_BTWDN_Y_FRONT           = 2549,
00625   SPR_BTWDN_X_FRONT           = 2550,
00626   SPR_BTWDN_Y_PILLAR          = 2551,
00627   SPR_BTWDN_X_PILLAR          = 2552,
00628   SPR_BTWDN_MONO_Y_REAR       = 4360,
00629   SPR_BTWDN_MONO_X_REAR       = 4361,
00630   SPR_BTWDN_MGLV_Y_REAR       = 4400,
00631   SPR_BTWDN_MGLV_X_REAR       = 4401,
00632   /* ramps */
00633   SPR_BTWDN_ROAD_RAMP_Y_DOWN  = 2529,
00634   SPR_BTWDN_ROAD_RAMP_X_DOWN  = 2530,
00635   SPR_BTWDN_ROAD_RAMP_X_UP    = 2531, // for some weird reason the order is swapped
00636   SPR_BTWDN_ROAD_RAMP_Y_UP    = 2532, // between X and Y.
00637   SPR_BTWDN_ROAD_Y_SLOPE_UP   = 2533,
00638   SPR_BTWDN_ROAD_X_SLOPE_UP   = 2534,
00639   SPR_BTWDN_ROAD_Y_SLOPE_DOWN = 2535,
00640   SPR_BTWDN_ROAD_X_SLOPE_DOWN = 2536,
00641   SPR_BTWDN_RAIL_RAMP_Y_DOWN  = 2537,
00642   SPR_BTWDN_RAIL_RAMP_X_DOWN  = 2538,
00643   SPR_BTWDN_RAIL_RAMP_X_UP    = 2539, // for some weird reason the order is swapped
00644   SPR_BTWDN_RAIL_RAMP_Y_UP    = 2540, // between X and Y.
00645   SPR_BTWDN_RAIL_Y_SLOPE_UP   = 2541,
00646   SPR_BTWDN_RAIL_X_SLOPE_UP   = 2542,
00647   SPR_BTWDN_RAIL_Y_SLOPE_DOWN = 2543,
00648   SPR_BTWDN_RAIL_X_SLOPE_DOWN = 2544,
00649   SPR_BTWDN_MONO_RAMP_Y_DOWN  = 4352,
00650   SPR_BTWDN_MONO_RAMP_X_DOWN  = 4353,
00651   SPR_BTWDN_MONO_RAMP_X_UP    = 4354, // for some weird reason the order is swapped
00652   SPR_BTWDN_MONO_RAMP_Y_UP    = 4355, // between X and Y.
00653   SPR_BTWDN_MONO_Y_SLOPE_UP   = 4356,
00654   SPR_BTWDN_MONO_X_SLOPE_UP   = 4357,
00655   SPR_BTWDN_MONO_Y_SLOPE_DOWN = 4358,
00656   SPR_BTWDN_MONO_X_SLOPE_DOWN = 4359,
00657   SPR_BTWDN_MGLV_RAMP_Y_DOWN  = 4392,
00658   SPR_BTWDN_MGLV_RAMP_X_DOWN  = 4393,
00659   SPR_BTWDN_MGLV_RAMP_X_UP    = 4394, // for some weird reason the order is swapped
00660   SPR_BTWDN_MGLV_RAMP_Y_UP    = 4395, // between X and Y.
00661   SPR_BTWDN_MGLV_Y_SLOPE_UP   = 4396,
00662   SPR_BTWDN_MGLV_X_SLOPE_UP   = 4397,
00663   SPR_BTWDN_MGLV_Y_SLOPE_DOWN = 4398,
00664   SPR_BTWDN_MGLV_X_SLOPE_DOWN = 4399,
00665 
00666   /* Steel Girder with arches
00667    * BTSGA == Bridge Type Steel Girder Arched
00668    * This is bridge type number 2 */
00669   SPR_BTSGA_RAIL_X_REAR       = 2499,
00670   SPR_BTSGA_RAIL_Y_REAR       = 2500,
00671   SPR_BTSGA_ROAD_X_REAR       = 2501,
00672   SPR_BTSGA_ROAD_Y_REAR       = 2502,
00673   SPR_BTSGA_X_FRONT           = 2503,
00674   SPR_BTSGA_Y_FRONT           = 2504,
00675   SPR_BTSGA_X_PILLAR          = 2505,
00676   SPR_BTSGA_Y_PILLAR          = 2506,
00677   SPR_BTSGA_MONO_X_REAR       = 4324,
00678   SPR_BTSGA_MONO_Y_REAR       = 4325,
00679   SPR_BTSGA_MGLV_X_REAR       = 4364,
00680   SPR_BTSGA_MGLV_Y_REAR       = 4365,
00681 
00682   /* BTSUS == Suspension bridge
00683    * TILE_* denotes the different tiles a suspension bridge
00684    * can have
00685    * TILE_A and TILE_B are the "beginnings" and "ends" of the
00686    *   suspension system. they have small rectangluar endcaps
00687    * TILE_C and TILE_D look almost identical to TILE_A and
00688    *   TILE_B, but they do not have the "endcaps". They form the
00689    *   middle part
00690    * TILE_E is a condensed configuration of two pillars. while they
00691    *   are usually 2 pillars apart, they only have 1 pillar separation
00692    *   here
00693    * TILE_F is an extended configuration of pillars. they are
00694    *   plugged in when pillars should be 3 tiles apart
00695    */
00696   SPR_BTSUS_ROAD_Y_REAR_TILE_A  = 2453,
00697   SPR_BTSUS_ROAD_Y_REAR_TILE_B  = 2454,
00698   SPR_BTSUS_Y_FRONT_TILE_A      = 2455,
00699   SPR_BTSUS_Y_FRONT_TILE_B      = 2456,
00700   SPR_BTSUS_ROAD_Y_REAR_TILE_D  = 2457,
00701   SPR_BTSUS_ROAD_Y_REAR_TILE_C  = 2458,
00702   SPR_BTSUS_Y_FRONT_TILE_D      = 2459,
00703   SPR_BTSUS_Y_FRONT_TILE_C      = 2460,
00704   SPR_BTSUS_ROAD_X_REAR_TILE_A  = 2461,
00705   SPR_BTSUS_ROAD_X_REAR_TILE_B  = 2462,
00706   SPR_BTSUS_X_FRONT_TILE_A      = 2463,
00707   SPR_BTSUS_X_FRONT_TILE_B      = 2464,
00708   SPR_BTSUS_ROAD_X_REAR_TILE_D  = 2465,
00709   SPR_BTSUS_ROAD_X_REAR_TILE_C  = 2466,
00710   SPR_BTSUS_X_FRONT_TILE_D      = 2467,
00711   SPR_BTSUS_X_FRONT_TILE_C      = 2468,
00712   SPR_BTSUS_RAIL_Y_REAR_TILE_A  = 2469,
00713   SPR_BTSUS_RAIL_Y_REAR_TILE_B  = 2470,
00714   SPR_BTSUS_RAIL_Y_REAR_TILE_D  = 2471,
00715   SPR_BTSUS_RAIL_Y_REAR_TILE_C  = 2472,
00716   SPR_BTSUS_RAIL_X_REAR_TILE_A  = 2473,
00717   SPR_BTSUS_RAIL_X_REAR_TILE_B  = 2474,
00718   SPR_BTSUS_RAIL_X_REAR_TILE_D  = 2475,
00719   SPR_BTSUS_RAIL_X_REAR_TILE_C  = 2476,
00720   SPR_BTSUS_Y_PILLAR_TILE_A     = 2477,
00721   SPR_BTSUS_Y_PILLAR_TILE_B     = 2478,
00722   SPR_BTSUS_Y_PILLAR_TILE_D     = 2479,
00723   SPR_BTSUS_Y_PILLAR_TILE_C     = 2480,
00724   SPR_BTSUS_X_PILLAR_TILE_A     = 2481,
00725   SPR_BTSUS_X_PILLAR_TILE_B     = 2482,
00726   SPR_BTSUS_X_PILLAR_TILE_D     = 2483,
00727   SPR_BTSUS_X_PILLAR_TILE_C     = 2484,
00728   SPR_BTSUS_RAIL_Y_REAR_TILE_E  = 2485,
00729   SPR_BTSUS_RAIL_X_REAR_TILE_E  = 2486,
00730   SPR_BTSUS_ROAD_Y_REAR_TILE_E  = 2487,
00731   SPR_BTSUS_ROAD_X_REAR_TILE_E  = 2488,
00732   SPR_BTSUS_Y_FRONT_TILE_E      = 2489,
00733   SPR_BTSUS_X_FRONT_TILE_E      = 2490,
00734   SPR_BTSUS_Y_PILLAR_TILE_E     = 2491,
00735   SPR_BTSUS_X_PILLAR_TILE_E     = 2492,
00736   SPR_BTSUS_RAIL_X_REAR_TILE_F  = 2493,
00737   SPR_BTSUS_RAIL_Y_REAR_TILE_F  = 2494,
00738   SPR_BTSUS_ROAD_X_REAR_TILE_F  = 2495,
00739   SPR_BTSUS_ROAD_Y_REAR_TILE_F  = 2496,
00740   SPR_BTSUS_X_FRONT             = 2497,
00741   SPR_BTSUS_Y_FRONT             = 2498,
00742   SPR_BTSUS_MONO_Y_REAR_TILE_A  = 4334,
00743   SPR_BTSUS_MONO_Y_REAR_TILE_B  = 4335,
00744   SPR_BTSUS_MONO_Y_REAR_TILE_D  = 4336,
00745   SPR_BTSUS_MONO_Y_REAR_TILE_C  = 4337,
00746   SPR_BTSUS_MONO_X_REAR_TILE_A  = 4338,
00747   SPR_BTSUS_MONO_X_REAR_TILE_B  = 4339,
00748   SPR_BTSUS_MONO_X_REAR_TILE_D  = 4340,
00749   SPR_BTSUS_MONO_X_REAR_TILE_C  = 4341,
00750   SPR_BTSUS_MONO_Y_REAR_TILE_E  = 4342,
00751   SPR_BTSUS_MONO_X_REAR_TILE_E  = 4343,
00752   SPR_BTSUS_MONO_X_REAR_TILE_F  = 4344,
00753   SPR_BTSUS_MONO_Y_REAR_TILE_F  = 4345,
00754   SPR_BTSUS_MGLV_Y_REAR_TILE_A  = 4374,
00755   SPR_BTSUS_MGLV_Y_REAR_TILE_B  = 4375,
00756   SPR_BTSUS_MGLV_Y_REAR_TILE_D  = 4376,
00757   SPR_BTSUS_MGLV_Y_REAR_TILE_C  = 4377,
00758   SPR_BTSUS_MGLV_X_REAR_TILE_A  = 4378,
00759   SPR_BTSUS_MGLV_X_REAR_TILE_B  = 4379,
00760   SPR_BTSUS_MGLV_X_REAR_TILE_D  = 4380,
00761   SPR_BTSUS_MGLV_X_REAR_TILE_C  = 4381,
00762   SPR_BTSUS_MGLV_Y_REAR_TILE_E  = 4382,
00763   SPR_BTSUS_MGLV_X_REAR_TILE_E  = 4383,
00764   SPR_BTSUS_MGLV_X_REAR_TILE_F  = 4384,
00765   SPR_BTSUS_MGLV_Y_REAR_TILE_F  = 4385,
00766 
00767   /* cantilever bridges
00768    * They have three different kinds of tiles:
00769    * END(ing), MID(dle), BEG(ginning) */
00770   SPR_BTCAN_RAIL_X_BEG          = 2507,
00771   SPR_BTCAN_RAIL_X_MID          = 2508,
00772   SPR_BTCAN_RAIL_X_END          = 2509,
00773   SPR_BTCAN_RAIL_Y_END          = 2510,
00774   SPR_BTCAN_RAIL_Y_MID          = 2511,
00775   SPR_BTCAN_RAIL_Y_BEG          = 2512,
00776   SPR_BTCAN_ROAD_X_BEG          = 2513,
00777   SPR_BTCAN_ROAD_X_MID          = 2514,
00778   SPR_BTCAN_ROAD_X_END          = 2515,
00779   SPR_BTCAN_ROAD_Y_END          = 2516,
00780   SPR_BTCAN_ROAD_Y_MID          = 2517,
00781   SPR_BTCAN_ROAD_Y_BEG          = 2518,
00782   SPR_BTCAN_X_FRONT_BEG         = 2519,
00783   SPR_BTCAN_X_FRONT_MID         = 2520,
00784   SPR_BTCAN_X_FRONT_END         = 2521,
00785   SPR_BTCAN_Y_FRONT_END         = 2522,
00786   SPR_BTCAN_Y_FRONT_MID         = 2523,
00787   SPR_BTCAN_Y_FRONT_BEG         = 2524,
00788   SPR_BTCAN_X_PILLAR_BEG        = 2525,
00789   SPR_BTCAN_X_PILLAR_MID        = 2526,
00790   SPR_BTCAN_Y_PILLAR_MID        = 2527,
00791   SPR_BTCAN_Y_PILLAR_BEG        = 2528,
00792   SPR_BTCAN_MONO_X_BEG          = 4346,
00793   SPR_BTCAN_MONO_X_MID          = 4347,
00794   SPR_BTCAN_MONO_X_END          = 4348,
00795   SPR_BTCAN_MONO_Y_END          = 4349,
00796   SPR_BTCAN_MONO_Y_MID          = 4350,
00797   SPR_BTCAN_MONO_Y_BEG          = 4351,
00798   SPR_BTCAN_MGLV_X_BEG          = 4386,
00799   SPR_BTCAN_MGLV_X_MID          = 4387,
00800   SPR_BTCAN_MGLV_X_END          = 4388,
00801   SPR_BTCAN_MGLV_Y_END          = 4389,
00802   SPR_BTCAN_MGLV_Y_MID          = 4390,
00803   SPR_BTCAN_MGLV_Y_BEG          = 4391,
00804 
00805   /* little concrete bridge */
00806   SPR_BTCON_RAIL_X        = 2493,
00807   SPR_BTCON_RAIL_Y        = 2494,
00808   SPR_BTCON_ROAD_X        = 2495,
00809   SPR_BTCON_ROAD_Y        = 2496,
00810   SPR_BTCON_X_FRONT       = 2497,
00811   SPR_BTCON_Y_FRONT       = 2498,
00812   SPR_BTCON_X_PILLAR      = 2505,
00813   SPR_BTCON_Y_PILLAR      = 2506,
00814   SPR_BTCON_MONO_X        = 4344,
00815   SPR_BTCON_MONO_Y        = 4345,
00816   SPR_BTCON_MGLV_X        = 4384,
00817   SPR_BTCON_MGLV_Y        = 4385,
00818 
00819   /* little steel girder bridge */
00820   SPR_BTGIR_RAIL_X        = 2553,
00821   SPR_BTGIR_RAIL_Y        = 2554,
00822   SPR_BTGIR_ROAD_X        = 2555,
00823   SPR_BTGIR_ROAD_Y        = 2556,
00824   SPR_BTGIR_X_FRONT       = 2557,
00825   SPR_BTGIR_Y_FRONT       = 2558,
00826   SPR_BTGIR_X_PILLAR      = 2505,
00827   SPR_BTGIR_Y_PILLAR      = 2506,
00828   SPR_BTGIR_MONO_X        = 4362,
00829   SPR_BTGIR_MONO_Y        = 4363,
00830   SPR_BTGIR_MGLV_X        = 4402,
00831   SPR_BTGIR_MGLV_Y        = 4403,
00832 
00833   /* tubular bridges
00834    * tubular bridges have 3 kinds of tiles:
00835    *  a start tile (with only half a tube on the far side, marked _BEG
00836    *  a middle tile (full tunnel), marked _MID
00837    *  and an end tile (half a tube on the near side, maked _END
00838    */
00839   SPR_BTTUB_X_FRONT_BEG       = 2559,
00840   SPR_BTTUB_X_FRONT_MID       = 2560,
00841   SPR_BTTUB_X_FRONT_END       = 2561,
00842   SPR_BTTUB_Y_FRONT_END       = 2562,
00843   SPR_BTTUB_Y_FRONT_MID       = 2563,
00844   SPR_BTTUB_Y_FRONT_BEG       = 2564,
00845   SPR_BTTUB_X_PILLAR_BEG      = 2565,
00846   SPR_BTTUB_X_PILLAR_MID      = 2566,
00847   SPR_BTTUB_Y_PILLAR_MID      = 2567,
00848   SPR_BTTUB_Y_PILLAR_BEG      = 2568,
00849   SPR_BTTUB_X_RAIL_REAR_BEG   = 2569,
00850   SPR_BTTUB_X_RAIL_REAR_MID   = 2570,
00851   SPR_BTTUB_X_RAIL_REAR_END   = 2571,
00852   SPR_BTTUB_Y_RAIL_REAR_BEG   = 2572,
00853   SPR_BTTUB_Y_RAIL_REAR_MID   = 2573,
00854   SPR_BTTUB_Y_RAIL_REAR_END   = 2574,
00855   SPR_BTTUB_X_ROAD_REAR_BEG   = 2575,
00856   SPR_BTTUB_X_ROAD_REAR_MID   = 2576,
00857   SPR_BTTUB_X_ROAD_REAR_END   = 2577,
00858   SPR_BTTUB_Y_ROAD_REAR_BEG   = 2578,
00859   SPR_BTTUB_Y_ROAD_REAR_MID   = 2579,
00860   SPR_BTTUB_Y_ROAD_REAR_END   = 2580,
00861   SPR_BTTUB_X_MONO_REAR_BEG   = 2581,
00862   SPR_BTTUB_X_MONO_REAR_MID   = 2582,
00863   SPR_BTTUB_X_MONO_REAR_END   = 2583,
00864   SPR_BTTUB_Y_MONO_REAR_BEG   = 2584,
00865   SPR_BTTUB_Y_MONO_REAR_MID   = 2585,
00866   SPR_BTTUB_Y_MONO_REAR_END   = 2586,
00867   SPR_BTTUB_X_MGLV_REAR_BEG   = 2587,
00868   SPR_BTTUB_X_MGLV_REAR_MID   = 2588,
00869   SPR_BTTUB_X_MGLV_REAR_END   = 2589,
00870   SPR_BTTUB_Y_MGLV_REAR_BEG   = 2590,
00871   SPR_BTTUB_Y_MGLV_REAR_MID   = 2591,
00872   SPR_BTTUB_Y_MGLV_REAR_END   = 2592,
00873 
00874 
00875   /* ramps (for all bridges except wood and tubular?)*/
00876   SPR_BTGEN_RAIL_X_SLOPE_DOWN = 2437,
00877   SPR_BTGEN_RAIL_X_SLOPE_UP   = 2438,
00878   SPR_BTGEN_RAIL_Y_SLOPE_DOWN = 2439,
00879   SPR_BTGEN_RAIL_Y_SLOPE_UP   = 2440,
00880   SPR_BTGEN_RAIL_RAMP_X_UP    = 2441,
00881   SPR_BTGEN_RAIL_RAMP_X_DOWN  = 2442,
00882   SPR_BTGEN_RAIL_RAMP_Y_UP    = 2443,
00883   SPR_BTGEN_RAIL_RAMP_Y_DOWN  = 2444,
00884   SPR_BTGEN_ROAD_X_SLOPE_DOWN = 2445,
00885   SPR_BTGEN_ROAD_X_SLOPE_UP   = 2446,
00886   SPR_BTGEN_ROAD_Y_SLOPE_DOWN = 2447,
00887   SPR_BTGEN_ROAD_Y_SLOPE_UP   = 2448,
00888   SPR_BTGEN_ROAD_RAMP_X_UP    = 2449,
00889   SPR_BTGEN_ROAD_RAMP_X_DOWN  = 2450,
00890   SPR_BTGEN_ROAD_RAMP_Y_UP    = 2451,
00891   SPR_BTGEN_ROAD_RAMP_Y_DOWN  = 2452,
00892   SPR_BTGEN_MONO_X_SLOPE_DOWN = 4326,
00893   SPR_BTGEN_MONO_X_SLOPE_UP   = 4327,
00894   SPR_BTGEN_MONO_Y_SLOPE_DOWN = 4328,
00895   SPR_BTGEN_MONO_Y_SLOPE_UP   = 4329,
00896   SPR_BTGEN_MONO_RAMP_X_UP    = 4330,
00897   SPR_BTGEN_MONO_RAMP_X_DOWN  = 4331,
00898   SPR_BTGEN_MONO_RAMP_Y_UP    = 4332,
00899   SPR_BTGEN_MONO_RAMP_Y_DOWN  = 4333,
00900   SPR_BTGEN_MGLV_X_SLOPE_DOWN = 4366,
00901   SPR_BTGEN_MGLV_X_SLOPE_UP   = 4367,
00902   SPR_BTGEN_MGLV_Y_SLOPE_DOWN = 4368,
00903   SPR_BTGEN_MGLV_Y_SLOPE_UP   = 4369,
00904   SPR_BTGEN_MGLV_RAMP_X_UP    = 4370,
00905   SPR_BTGEN_MGLV_RAMP_X_DOWN  = 4371,
00906   SPR_BTGEN_MGLV_RAMP_Y_UP    = 4372,
00907   SPR_BTGEN_MGLV_RAMP_Y_DOWN  = 4373,
00908 
00909   /* Vehicle view sprites */
00910   SPR_CENTRE_VIEW_VEHICLE   = 683,
00911   SPR_SEND_TRAIN_TODEPOT    = 685,
00912   SPR_SEND_ROADVEH_TODEPOT  = 686,
00913   SPR_SEND_AIRCRAFT_TODEPOT = 687,
00914   SPR_SEND_SHIP_TODEPOT     = 688,
00915 
00916   SPR_IGNORE_SIGNALS        = 689,
00917   SPR_SHOW_ORDERS           = 690,
00918   SPR_SHOW_VEHICLE_DETAILS  = 691,
00919   SPR_REFIT_VEHICLE         = 692,
00920   SPR_FORCE_VEHICLE_TURN    = 715,
00921 
00922   /* Vehicle sprite-flags (red/green) */
00923   SPR_FLAG_VEH_STOPPED  = 3090,
00924   SPR_FLAG_VEH_RUNNING  = 3091,
00925 
00926   SPR_VEH_BUS_SW_VIEW   = 3097,
00927   SPR_VEH_BUS_SIDE_VIEW = 3098,
00928 
00929   /* Rotor sprite numbers */
00930   SPR_ROTOR_STOPPED   = 3901,
00931   SPR_ROTOR_MOVING_1  = 3902,
00932   SPR_ROTOR_MOVING_3  = 3904,
00933 
00934   /* Town/house sprites */
00935   SPR_LIFT = 1443,
00936 
00937   /* used in town_land.h
00938    * CNST1..3 = Those are the different stages of construction
00939    * The last 2 hexas correspond to the type of building it represent, if any */
00940   SPR_CNST1_TALLOFFICE_00                 = 1421,
00941   SPR_CNST2_TALLOFFICE_00                 = 1422,
00942   SPR_CNST3_TALLOFFICE_00                 = 1423,
00943   SPR_GROUND_TALLOFFICE_00                = 1424,
00944   SPR_BUILD_TALLOFFICE_00                 = 1425, // temperate
00945   SPR_CNST1_OFFICE_01                     = 1426,
00946   SPR_CNST2_OFFICE_01                     = 1427,
00947   SPR_BUILD_OFFICE_01                     = 1428, // temperate
00948   SPR_GROUND_OFFICE_01                    = 1429,
00949   SPR_CNST1_SMLBLCKFLATS_02               = 1430, // Small Block of Flats
00950   SPR_CNST2_SMLBLCKFLATS_02               = 1431,
00951   SPR_BUILD_SMLBLCKFLATS_02               = 1432, // temperate
00952   SPR_GROUND_SMLBLCKFLATS_02              = 1433,
00953   SPR_CNST1_TEMPCHURCH                    = 1434,
00954   SPR_CNST2_TEMPCHURCH                    = 1435,
00955   SPR_BUILD_TEMPCHURCH                    = 1436,
00956   SPR_GROUND_TEMPCHURCH                   = 1437,
00957   SPR_CNST1_LARGEOFFICE_04                = 1440,
00958   SPR_CNST2_LARGEOFFICE_04                = 1441,
00959   SPR_BUILD_LARGEOFFICE_04                = 1442, // temperate, sub-arctic, subtropical
00960   SPR_BUILD_LARGEOFFICE_04_SNOW           = 4569, // same, with snow
00961   /* These are in fact two houses for the same houseID.  so V1 and V2 */
00962   SPR_CNST1_TOWNHOUSE_06_V1               = 1444,
00963   SPR_CNST2_TOWNHOUSE_06_V1               = 1445,
00964   SPR_BUILD_TOWNHOUSE_06_V1               = 1446, // 1st variation
00965   SPR_GRND_TOWNHOUSE_06_V1                = 1447,
00966   SPR_CNST1_TOWNHOUSE_06_V2               = 1501, // used as ground, but is stage1
00967   SPR_CNST1_TOWNHOUSE_06_V2_P             = 1502, // pipes extensions for previous
00968   SPR_CNST2_TOWNHOUSE_06_V2_G             = 1503, // Ground of cnst stage 2
00969   SPR_CNST2_TOWNHOUSE_06_V2               = 1504, // real cnst stage 2
00970   SPR_GRND_TOWNHOUSE_06_V2                = 1505,
00971   SPR_BUILD_TOWNHOUSE_06_V2               = 1506, // 2nd variation
00972   SPR_CNST1_HOTEL_07_NW                   = 1448,
00973   SPR_CNST2_HOTEL_07_NW                   = 1449,
00974   SPR_BUILD_HOTEL_07_NW                   = 1450,
00975   SPR_CNST1_HOTEL_07_SE                   = 1451,
00976   SPR_CNST2_HOTEL_07_SE                   = 1452,
00977   SPR_BUILD_HOTEL_07_SE                   = 1453,
00978   SPR_STATUE_HORSERIDER_09                = 1454,
00979   SPR_FOUNTAIN_0A                         = 1455,
00980   SPR_PARKSTATUE_0B                       = 1456,
00981   SPR_PARKALLEY_0C                        = 1457,
00982   SPR_CNST1_OFFICE_0D                     = 1458,
00983   SPR_CNST2_OFFICE_0D                     = 1459,
00984   SPR_BUILD_OFFICE_0D                     = 1460,
00985   SPR_CNST1_SHOPOFFICE_0E                 = 1461,
00986   SPR_CNST2_SHOPOFFICE_0E                 = 1462,
00987   SPR_BUILD_SHOPOFFICE_0E                 = 1463,
00988   SPR_CNST1_SHOPOFFICE_0F                 = 1464,
00989   SPR_CNST2_SHOPOFFICE_0F                 = 1465,
00990   SPR_BUILD_SHOPOFFICE_0F                 = 1466,
00991 
00992   /* Easter egg/disaster sprites */
00993   SPR_BLIMP                  = 3905, // Zeppelin
00994   SPR_BLIMP_CRASHING         = 3906,
00995   SPR_BLIMP_CRASHED          = 3907,
00996   SPR_UFO_SMALL_SCOUT        = 3908, // XCOM - UFO Defense
00997   SPR_UFO_SMALL_SCOUT_DARKER = 3909,
00998   SPR_SUB_SMALL_NE           = 3910, // Silent Service
00999   SPR_SUB_SMALL_SE           = 3911,
01000   SPR_SUB_SMALL_SW           = 3912,
01001   SPR_SUB_SMALL_NW           = 3913,
01002   SPR_SUB_LARGE_NE           = 3914,
01003   SPR_SUB_LARGE_SE           = 3915,
01004   SPR_SUB_LARGE_SW           = 3916,
01005   SPR_SUB_LARGE_NW           = 3917,
01006   SPR_F_15                   = 3918, // F-15 Strike Eagle
01007   SPR_F_15_FIRING            = 3919,
01008   SPR_UFO_HARVESTER          = 3920, // XCOM - UFO Defense
01009   SPR_XCOM_SKYRANGER         = 3921,
01010   SPR_AH_64A                 = 3922, // Gunship
01011   SPR_AH_64A_FIRING          = 3923,
01012 
01013   /* main_gui.c */
01014   SPR_IMG_TERRAFORM_UP    = 694,
01015   SPR_IMG_TERRAFORM_DOWN  = 695,
01016   SPR_IMG_DYNAMITE        = 703,
01017   SPR_IMG_ROCKS           = 4084,
01018   SPR_IMG_LIGHTHOUSE_DESERT = 4085, // XXX - is Desert image on the desert-climate
01019   SPR_IMG_TRANSMITTER     = 4086,
01020   SPR_IMG_LEVEL_LAND      = SPR_OPENTTD_BASE + 91,
01021   SPR_IMG_BUILD_CANAL     = SPR_OPENTTD_BASE + 88,
01022   SPR_IMG_BUILD_RIVER     = SPR_OPENTTD_BASE + 136,
01023   SPR_IMG_BUILD_LOCK      = SPR_CANALS_BASE + 64,
01024   SPR_IMG_PAUSE           = 726,
01025   SPR_IMG_FASTFORWARD     = SPR_OPENTTD_BASE + 90,
01026   SPR_IMG_SETTINGS        = 751,
01027   SPR_IMG_SAVE            = 724,
01028   SPR_IMG_SMALLMAP        = 708,
01029   SPR_IMG_TOWN            = 4077,
01030   SPR_IMG_SUBSIDIES       = 679,
01031   SPR_IMG_COMPANY_LIST    = 1299,
01032   SPR_IMG_COMPANY_FINANCE = 737,
01033   SPR_IMG_COMPANY_GENERAL = 743,
01034   SPR_IMG_GRAPHS          = 745,
01035   SPR_IMG_COMPANY_LEAGUE  = 684,
01036   SPR_IMG_SHOW_COUNTOURS  = 738,
01037   SPR_IMG_SHOW_VEHICLES   = 739,
01038   SPR_IMG_SHOW_ROUTES     = 740,
01039   SPR_IMG_INDUSTRY        = 741,
01040   SPR_IMG_PLANTTREES      = 742,
01041   SPR_IMG_TRAINLIST       = 731,
01042   SPR_IMG_TRUCKLIST       = 732,
01043   SPR_IMG_SHIPLIST        = 733,
01044   SPR_IMG_AIRPLANESLIST   = 734,
01045   SPR_IMG_ZOOMIN          = 735,
01046   SPR_IMG_ZOOMOUT         = 736,
01047   SPR_IMG_BUILDRAIL       = 727,
01048   SPR_IMG_BUILDROAD       = 728,
01049   SPR_IMG_BUILDWATER      = 729,
01050   SPR_IMG_BUILDAIR        = 730,
01051   SPR_IMG_LANDSCAPING     = 4083,
01052   SPR_IMG_MUSIC           = 713,
01053   SPR_IMG_MESSAGES        = 680,
01054   SPR_IMG_QUERY           = 723,
01055   SPR_IMG_SIGN            = 4082,
01056   SPR_IMG_BUY_LAND        = 4791,
01057 
01058   /* OPEN TRANSPORT TYCOON in gamescreen */
01059   SPR_OTTD_O                = 4842,
01060   SPR_OTTD_P                = 4841,
01061   SPR_OTTD_E                = SPR_OPENTTD_BASE + 12,
01062   SPR_OTTD_D                = SPR_OPENTTD_BASE + 13,
01063   SPR_OTTD_N                = 4839,
01064   SPR_OTTD_T                = 4836,
01065   SPR_OTTD_R                = 4837,
01066   SPR_OTTD_A                = 4838,
01067   SPR_OTTD_S                = 4840,
01068   SPR_OTTD_Y                = 4843,
01069   SPR_OTTD_C                = 4844,
01070 
01071   SPR_HIGHSCORE_CHART_BEGIN = 4804,
01072   SPR_TYCOON_IMG1_BEGIN     = 4814,
01073   SPR_TYCOON_IMG2_BEGIN     = 4824,
01074 
01075   /* Industry sprites */
01076   SPR_IT_SUGAR_MINE_SIEVE         = 4775,
01077   SPR_IT_SUGAR_MINE_CLOUDS        = 4784,
01078   SPR_IT_SUGAR_MINE_PILE          = 4780,
01079   SPR_IT_TOFFEE_QUARRY_TOFFEE     = 4766,
01080   SPR_IT_TOFFEE_QUARRY_SHOVEL     = 4767,
01081   SPR_IT_BUBBLE_GENERATOR_SPRING  = 4746,
01082   SPR_IT_BUBBLE_GENERATOR_BUBBLE  = 4747,
01083   SPR_IT_TOY_FACTORY_STAMP_HOLDER = 4717,
01084   SPR_IT_TOY_FACTORY_STAMP        = 4718,
01085   SPR_IT_TOY_FACTORY_CLAY         = 4719,
01086   SPR_IT_TOY_FACTORY_ROBOT        = 4720,
01087   SPR_IT_POWER_PLANT_TRANSFORMERS = 2054,
01088 
01089   /* small icons of cargo available in station waiting*/
01090   SPR_CARGO_PASSENGER             = 4297,
01091   SPR_CARGO_COAL                  = 4298,
01092   SPR_CARGO_MAIL                  = 4299,
01093   SPR_CARGO_OIL                   = 4300,
01094   SPR_CARGO_LIVESTOCK             = 4301,
01095   SPR_CARGO_GOODS                 = 4302,
01096   SPR_CARGO_GRAIN                 = 4303,
01097   SPR_CARGO_WOOD                  = 4304,
01098   SPR_CARGO_IRON_ORE              = 4305,
01099   SPR_CARGO_STEEL                 = 4306,
01100   SPR_CARGO_VALUES_GOLD           = 4307,  // shared between temperate and arctic
01101   SPR_CARGO_FRUIT                 = 4308,
01102   SPR_CARGO_COPPER_ORE            = 4309,
01103   SPR_CARGO_WATERCOLA             = 4310,  // shared between desert and toyland
01104   SPR_CARGO_DIAMONDS              = 4311,
01105   SPR_CARGO_FOOD                  = 4312,
01106   SPR_CARGO_PAPER                 = 4313,
01107   SPR_CARGO_RUBBER                = 4314,
01108   SPR_CARGO_CANDY                 = 4315,
01109   SPR_CARGO_SUGAR                 = 4316,
01110   SPR_CARGO_TOYS                  = 4317,
01111   SPR_CARGO_COTTONCANDY           = 4318,
01112   SPR_CARGO_FIZZYDRINK            = 4319,
01113   SPR_CARGO_TOFFEE                = 4320,
01114   SPR_CARGO_BUBBLES               = 4321,
01115   SPR_CARGO_PLASTIC               = 4322,
01116   SPR_CARGO_BATTERIES             = 4323,
01117 
01118   /* Effect vehicles */
01119   SPR_BULLDOZER_NE = 1416,
01120   SPR_BULLDOZER_SE = 1417,
01121   SPR_BULLDOZER_SW = 1418,
01122   SPR_BULLDOZER_NW = 1419,
01123 
01124   SPR_SMOKE_0 = 2040,
01125   SPR_SMOKE_1 = 2041,
01126   SPR_SMOKE_2 = 2042,
01127   SPR_SMOKE_3 = 2043,
01128   SPR_SMOKE_4 = 2044,
01129 
01130   SPR_DIESEL_SMOKE_0 = 3073,
01131   SPR_DIESEL_SMOKE_1 = 3074,
01132   SPR_DIESEL_SMOKE_2 = 3075,
01133   SPR_DIESEL_SMOKE_3 = 3076,
01134   SPR_DIESEL_SMOKE_4 = 3077,
01135   SPR_DIESEL_SMOKE_5 = 3078,
01136 
01137   SPR_STEAM_SMOKE_0 = 3079,
01138   SPR_STEAM_SMOKE_1 = 3080,
01139   SPR_STEAM_SMOKE_2 = 3081,
01140   SPR_STEAM_SMOKE_3 = 3082,
01141   SPR_STEAM_SMOKE_4 = 3083,
01142 
01143   SPR_ELECTRIC_SPARK_0 = 3084,
01144   SPR_ELECTRIC_SPARK_1 = 3085,
01145   SPR_ELECTRIC_SPARK_2 = 3086,
01146   SPR_ELECTRIC_SPARK_3 = 3087,
01147   SPR_ELECTRIC_SPARK_4 = 3088,
01148   SPR_ELECTRIC_SPARK_5 = 3089,
01149 
01150   SPR_CHIMNEY_SMOKE_0 = 3701,
01151   SPR_CHIMNEY_SMOKE_1 = 3702,
01152   SPR_CHIMNEY_SMOKE_2 = 3703,
01153   SPR_CHIMNEY_SMOKE_3 = 3704,
01154   SPR_CHIMNEY_SMOKE_4 = 3705,
01155   SPR_CHIMNEY_SMOKE_5 = 3706,
01156   SPR_CHIMNEY_SMOKE_6 = 3707,
01157   SPR_CHIMNEY_SMOKE_7 = 3708,
01158 
01159   SPR_EXPLOSION_LARGE_0 = 3709,
01160   SPR_EXPLOSION_LARGE_1 = 3710,
01161   SPR_EXPLOSION_LARGE_2 = 3711,
01162   SPR_EXPLOSION_LARGE_3 = 3712,
01163   SPR_EXPLOSION_LARGE_4 = 3713,
01164   SPR_EXPLOSION_LARGE_5 = 3714,
01165   SPR_EXPLOSION_LARGE_6 = 3715,
01166   SPR_EXPLOSION_LARGE_7 = 3716,
01167   SPR_EXPLOSION_LARGE_8 = 3717,
01168   SPR_EXPLOSION_LARGE_9 = 3718,
01169   SPR_EXPLOSION_LARGE_A = 3719,
01170   SPR_EXPLOSION_LARGE_B = 3720,
01171   SPR_EXPLOSION_LARGE_C = 3721,
01172   SPR_EXPLOSION_LARGE_D = 3722,
01173   SPR_EXPLOSION_LARGE_E = 3723,
01174   SPR_EXPLOSION_LARGE_F = 3724,
01175 
01176   SPR_EXPLOSION_SMALL_0 = 3725,
01177   SPR_EXPLOSION_SMALL_1 = 3726,
01178   SPR_EXPLOSION_SMALL_2 = 3727,
01179   SPR_EXPLOSION_SMALL_3 = 3728,
01180   SPR_EXPLOSION_SMALL_4 = 3729,
01181   SPR_EXPLOSION_SMALL_5 = 3730,
01182   SPR_EXPLOSION_SMALL_6 = 3731,
01183   SPR_EXPLOSION_SMALL_7 = 3732,
01184   SPR_EXPLOSION_SMALL_8 = 3733,
01185   SPR_EXPLOSION_SMALL_9 = 3734,
01186   SPR_EXPLOSION_SMALL_A = 3735,
01187   SPR_EXPLOSION_SMALL_B = 3736,
01188 
01189   SPR_BREAKDOWN_SMOKE_0 = 3737,
01190   SPR_BREAKDOWN_SMOKE_1 = 3738,
01191   SPR_BREAKDOWN_SMOKE_2 = 3739,
01192   SPR_BREAKDOWN_SMOKE_3 = 3740,
01193 
01194   SPR_BUBBLE_0 = 4748,
01195   SPR_BUBBLE_1 = 4749,
01196   SPR_BUBBLE_2 = 4750,
01197   SPR_BUBBLE_GENERATE_0 = 4751,
01198   SPR_BUBBLE_GENERATE_1 = 4752,
01199   SPR_BUBBLE_GENERATE_2 = 4753,
01200   SPR_BUBBLE_GENERATE_3 = 4754,
01201   SPR_BUBBLE_BURST_0 = 4755,
01202   SPR_BUBBLE_BURST_1 = 4756,
01203   SPR_BUBBLE_BURST_2 = 4757,
01204   SPR_BUBBLE_ABSORB_0 = 4758,
01205   SPR_BUBBLE_ABSORB_1 = 4759,
01206   SPR_BUBBLE_ABSORB_2 = 4760,
01207   SPR_BUBBLE_ABSORB_3 = 4761,
01208   SPR_BUBBLE_ABSORB_4 = 4762,
01209 
01210   /* Electrified rail build menu */
01211   SPR_BUILD_NS_ELRAIL = SPR_ELRAIL_BASE + 36,
01212   SPR_BUILD_X_ELRAIL  = SPR_ELRAIL_BASE + 37,
01213   SPR_BUILD_EW_ELRAIL = SPR_ELRAIL_BASE + 38,
01214   SPR_BUILD_Y_ELRAIL  = SPR_ELRAIL_BASE + 39,
01215   SPR_BUILD_TUNNEL_ELRAIL = SPR_ELRAIL_BASE + 44,
01216 
01217   /* airport_gui.c */
01218   SPR_IMG_AIRPORT       = 744,
01219 
01220   /* dock_gui.c */
01221   SPR_IMG_SHIP_DEPOT    = 748,
01222   SPR_IMG_SHIP_DOCK     = 746,
01223   SPR_IMG_BOUY          = 693,
01224   SPR_IMG_AQUEDUCT      = SPR_OPENTTD_BASE + 145,
01225 
01226   /* music_gui.c */
01227   SPR_IMG_SKIP_TO_PREV  = 709,
01228   SPR_IMG_SKIP_TO_NEXT  = 710,
01229   SPR_IMG_STOP_MUSIC    = 711,
01230   SPR_IMG_PLAY_MUSIC    = 712,
01231 
01232   /* road_gui.c */
01233   SPR_IMG_ROAD_Y_DIR    = 1309,
01234   SPR_IMG_ROAD_X_DIR    = 1310,
01235   SPR_IMG_AUTOROAD      = SPR_OPENTTD_BASE + 82,
01236   SPR_IMG_ROAD_DEPOT    = 1295,
01237   SPR_IMG_BUS_STATION   = 749,
01238   SPR_IMG_TRUCK_BAY     = 750,
01239   SPR_IMG_BRIDGE        = 2594,
01240   SPR_IMG_ROAD_TUNNEL   = 2429,
01241   SPR_IMG_REMOVE        = 714,
01242   SPR_IMG_ROAD_ONE_WAY  = SPR_OPENTTD_BASE + 134,
01243   SPR_IMG_TRAMWAY_Y_DIR = SPR_TRAMWAY_BASE + 0,
01244   SPR_IMG_TRAMWAY_X_DIR = SPR_TRAMWAY_BASE + 1,
01245   SPR_IMG_AUTOTRAM      = SPR_OPENTTD_BASE + 84,
01246 
01247   /* rail_gui.c */
01248   SPR_IMG_RAIL_NS    = 1251,
01249   SPR_IMG_RAIL_NE    = 1252,
01250   SPR_IMG_RAIL_EW    = 1253,
01251   SPR_IMG_RAIL_NW    = 1254,
01252   SPR_IMG_AUTORAIL   = SPR_OPENTTD_BASE + 53,
01253   SPR_IMG_AUTOELRAIL = SPR_OPENTTD_BASE + 57,
01254   SPR_IMG_AUTOMONO   = SPR_OPENTTD_BASE + 63,
01255   SPR_IMG_AUTOMAGLEV = SPR_OPENTTD_BASE + 69,
01256 
01257   SPR_IMG_WAYPOINT = SPR_OPENTTD_BASE + 76,
01258 
01259   SPR_IMG_DEPOT_RAIL   = 1294,
01260   SPR_IMG_DEPOT_ELRAIL = SPR_OPENTTD_BASE + 61,
01261   SPR_IMG_DEPOT_MONO   = SPR_OPENTTD_BASE + 67,
01262   SPR_IMG_DEPOT_MAGLEV = SPR_OPENTTD_BASE + 73,
01263 
01264   SPR_IMG_RAIL_STATION = 1298,
01265   SPR_IMG_RAIL_SIGNALS = 1291,
01266 
01267   SPR_IMG_SIGNAL_ELECTRIC_NORM     = 1287,
01268   SPR_IMG_SIGNAL_ELECTRIC_ENTRY    = SPR_SIGNALS_BASE +  12,
01269   SPR_IMG_SIGNAL_ELECTRIC_EXIT     = SPR_SIGNALS_BASE +  28,
01270   SPR_IMG_SIGNAL_ELECTRIC_COMBO    = SPR_SIGNALS_BASE +  44,
01271   SPR_IMG_SIGNAL_ELECTRIC_PBS      = SPR_SIGNALS_BASE + 124,
01272   SPR_IMG_SIGNAL_ELECTRIC_PBS_OWAY = SPR_SIGNALS_BASE + 140,
01273   SPR_IMG_SIGNAL_SEMAPHORE_NORM    = SPR_SIGNALS_BASE +  60,
01274   SPR_IMG_SIGNAL_SEMAPHORE_ENTRY   = SPR_SIGNALS_BASE +  76,
01275   SPR_IMG_SIGNAL_SEMAPHORE_EXIT    = SPR_SIGNALS_BASE +  92,
01276   SPR_IMG_SIGNAL_SEMAPHORE_COMBO   = SPR_SIGNALS_BASE + 108,
01277   SPR_IMG_SIGNAL_SEMAPHORE_PBS     = SPR_SIGNALS_BASE + 188,
01278   SPR_IMG_SIGNAL_SEMAPHORE_PBS_OWAY= SPR_SIGNALS_BASE + 204,
01279   SPR_IMG_SIGNAL_CONVERT           = SPR_OPENTTD_BASE + 135,
01280 
01281   SPR_IMG_TUNNEL_RAIL   = 2430,
01282   SPR_IMG_TUNNEL_MONO   = 2431,
01283   SPR_IMG_TUNNEL_MAGLEV = 2432,
01284 
01285   SPR_IMG_CONVERT_RAIL   = SPR_OPENTTD_BASE + 55,
01286   SPR_IMG_CONVERT_ELRAIL = SPR_OPENTTD_BASE + 59,
01287   SPR_IMG_CONVERT_MONO   = SPR_OPENTTD_BASE + 65,
01288   SPR_IMG_CONVERT_MAGLEV = SPR_OPENTTD_BASE + 71,
01289 
01290   /* intro_gui.c, genworld_gui.c */
01291   SPR_SELECT_TEMPERATE           = 4882,
01292   SPR_SELECT_TEMPERATE_PUSHED    = 4883,
01293   SPR_SELECT_SUB_ARCTIC          = 4884,
01294   SPR_SELECT_SUB_ARCTIC_PUSHED   = 4885,
01295   SPR_SELECT_SUB_TROPICAL        = 4886,
01296   SPR_SELECT_SUB_TROPICAL_PUSHED = 4887,
01297   SPR_SELECT_TOYLAND             = 4888,
01298   SPR_SELECT_TOYLAND_PUSHED      = 4889,
01299 };
01300 
01302 enum CursorSprite {
01303   /* Terraform
01304    * Cursors */
01305   SPR_CURSOR_MOUSE          = 0,
01306   SPR_CURSOR_ZZZ            = 1,
01307   SPR_CURSOR_BOUY           = 702,
01308   SPR_CURSOR_QUERY          = 719,
01309   SPR_CURSOR_HQ             = 720,
01310   SPR_CURSOR_SHIP_DEPOT     = 721,
01311   SPR_CURSOR_SIGN           = 722,
01312 
01313   SPR_CURSOR_TREE           = 2010,
01314   SPR_CURSOR_BUY_LAND       = 4792,
01315   SPR_CURSOR_LEVEL_LAND     = SPR_OPENTTD_BASE + 92,
01316 
01317   SPR_CURSOR_TOWN           = 4080,
01318   SPR_CURSOR_INDUSTRY       = 4081,
01319   SPR_CURSOR_ROCKY_AREA     = 4087,
01320   SPR_CURSOR_LIGHTHOUSE     = 4088,
01321   SPR_CURSOR_TRANSMITTER    = 4089,
01322 
01323   /* airport cursors */
01324   SPR_CURSOR_AIRPORT        = 2724,
01325 
01326   /* dock cursors */
01327   SPR_CURSOR_DOCK           = 3668,
01328   SPR_CURSOR_CANAL          = SPR_OPENTTD_BASE + 89,
01329   SPR_CURSOR_LOCK           = SPR_OPENTTD_BASE + 87,
01330   SPR_CURSOR_RIVER          = SPR_OPENTTD_BASE + 137,
01331   SPR_CURSOR_AQUEDUCT       = SPR_OPENTTD_BASE + 146,
01332 
01333   /* shared road & rail cursors */
01334   SPR_CURSOR_BRIDGE         = 2593,
01335 
01336   /* rail cursors */
01337   SPR_CURSOR_NS_TRACK       = 1263,
01338   SPR_CURSOR_SWNE_TRACK     = 1264,
01339   SPR_CURSOR_EW_TRACK       = 1265,
01340   SPR_CURSOR_NWSE_TRACK     = 1266,
01341 
01342   SPR_CURSOR_NS_MONO        = 1267,
01343   SPR_CURSOR_SWNE_MONO      = 1268,
01344   SPR_CURSOR_EW_MONO        = 1269,
01345   SPR_CURSOR_NWSE_MONO      = 1270,
01346 
01347   SPR_CURSOR_NS_MAGLEV      = 1271,
01348   SPR_CURSOR_SWNE_MAGLEV    = 1272,
01349   SPR_CURSOR_EW_MAGLEV      = 1273,
01350   SPR_CURSOR_NWSE_MAGLEV    = 1274,
01351 
01352   SPR_CURSOR_NS_ELRAIL      = SPR_ELRAIL_BASE + 40,
01353   SPR_CURSOR_SWNE_ELRAIL    = SPR_ELRAIL_BASE + 41,
01354   SPR_CURSOR_EW_ELRAIL      = SPR_ELRAIL_BASE + 42,
01355   SPR_CURSOR_NWSE_ELRAIL    = SPR_ELRAIL_BASE + 43,
01356 
01357   SPR_CURSOR_RAIL_STATION   = 1300,
01358 
01359   SPR_CURSOR_TUNNEL_RAIL    = 2434,
01360   SPR_CURSOR_TUNNEL_ELRAIL  = SPR_ELRAIL_BASE + 45,
01361   SPR_CURSOR_TUNNEL_MONO    = 2435,
01362   SPR_CURSOR_TUNNEL_MAGLEV  = 2436,
01363 
01364   SPR_CURSOR_AUTORAIL       = SPR_OPENTTD_BASE + 54,
01365   SPR_CURSOR_AUTOELRAIL     = SPR_OPENTTD_BASE + 58,
01366   SPR_CURSOR_AUTOMONO       = SPR_OPENTTD_BASE + 64,
01367   SPR_CURSOR_AUTOMAGLEV     = SPR_OPENTTD_BASE + 70,
01368 
01369   SPR_CURSOR_WAYPOINT       = SPR_OPENTTD_BASE + 77,
01370 
01371   SPR_CURSOR_RAIL_DEPOT     = 1296,
01372   SPR_CURSOR_ELRAIL_DEPOT   = SPR_OPENTTD_BASE + 62,
01373   SPR_CURSOR_MONO_DEPOT     = SPR_OPENTTD_BASE + 68,
01374   SPR_CURSOR_MAGLEV_DEPOT   = SPR_OPENTTD_BASE + 74,
01375 
01376   SPR_CURSOR_CONVERT_RAIL   = SPR_OPENTTD_BASE + 56,
01377   SPR_CURSOR_CONVERT_ELRAIL = SPR_OPENTTD_BASE + 60,
01378   SPR_CURSOR_CONVERT_MONO   = SPR_OPENTTD_BASE + 66,
01379   SPR_CURSOR_CONVERT_MAGLEV = SPR_OPENTTD_BASE + 72,
01380 
01381   /* road cursors */
01382   SPR_CURSOR_ROAD_NESW      = 1311,
01383   SPR_CURSOR_ROAD_NWSE      = 1312,
01384   SPR_CURSOR_AUTOROAD       = SPR_OPENTTD_BASE + 83,
01385   SPR_CURSOR_TRAMWAY_NESW   = SPR_TRAMWAY_BASE + 2,
01386   SPR_CURSOR_TRAMWAY_NWSE   = SPR_TRAMWAY_BASE + 3,
01387   SPR_CURSOR_AUTOTRAM       = SPR_OPENTTD_BASE + 85,
01388 
01389   SPR_CURSOR_ROAD_DEPOT     = 1297,
01390   SPR_CURSOR_BUS_STATION    = 2725,
01391   SPR_CURSOR_TRUCK_STATION  = 2726,
01392   SPR_CURSOR_ROAD_TUNNEL    = 2433,
01393 
01394   SPR_CURSOR_CLONE_TRAIN    = SPR_OPENTTD_BASE + 110,
01395   SPR_CURSOR_CLONE_ROADVEH  = SPR_OPENTTD_BASE + 111,
01396   SPR_CURSOR_CLONE_SHIP     = SPR_OPENTTD_BASE + 112,
01397   SPR_CURSOR_CLONE_AIRPLANE = SPR_OPENTTD_BASE + 113,
01398 };
01399 
01401 enum AnimCursors {
01402   ANIMCURSOR_DEMOLISH     = -1, 
01403   ANIMCURSOR_LOWERLAND    = -2, 
01404   ANIMCURSOR_RAISELAND    = -3, 
01405   ANIMCURSOR_PICKSTATION  = -4, 
01406   ANIMCURSOR_BUILDSIGNALS = -5, 
01407 };
01408 
01419 enum SpriteSetup {
01420   TRANSPARENT_BIT = 31,       
01421   RECOLOUR_BIT = 30,          
01422   OFFSET_BIT = 29,
01423   OPAQUE_BIT = 28,
01424 
01425   PALETTE_WIDTH = 24,         
01426   SPRITE_WIDTH = 24,          
01427 };
01428 
01437 enum Modifiers {
01438   SPRITE_MODIFIER_USE_OFFSET    = OFFSET_BIT,
01440   SPRITE_MODIFIER_OPAQUE        = OPAQUE_BIT,
01442   PALETTE_MODIFIER_TRANSPARENT  = TRANSPARENT_BIT,
01444   PALETTE_MODIFIER_COLOUR       = RECOLOUR_BIT,
01445 };
01446 
01450 enum SpriteMasks {
01452   MAX_SPRITES = 1 << SPRITE_WIDTH,
01454   SPRITE_MASK = MAX_SPRITES - 1,
01455 
01456   MAX_PALETTES = 1 << PALETTE_WIDTH,
01458   PALETTE_MASK = MAX_PALETTES - 1,
01459 };
01460 
01461 assert_compile( (1 << TRANSPARENT_BIT & SPRITE_MASK) == 0 );
01462 assert_compile( (1 << RECOLOUR_BIT & SPRITE_MASK) == 0 );
01463 assert_compile( TRANSPARENT_BIT != RECOLOUR_BIT );
01464 assert_compile( (1 << TRANSPARENT_BIT & PALETTE_MASK) == 0);
01465 assert_compile( (1 << RECOLOUR_BIT & PALETTE_MASK) == 0 );
01466 
01467 enum Recolouring {
01468   PALETTE_RECOLOUR_START       = 0x307,
01469 };
01470 
01471 
01472 static const SpriteID PALETTE_CRASH = 0x324;
01473 static const SpriteID PAL_NONE = 0;
01474 
01475   /* note: these numbers are already the modified once the renderer needs.
01476    * the actual sprite number is the upper 16 bits of the number */
01477 
01479 static const SpriteID PALETTE_TILE_RED_PULSATING  = 0x303;
01481 static const SpriteID PALETTE_SEL_TILE_RED        = 0x304;
01483 static const SpriteID PALETTE_SEL_TILE_BLUE       = 0x305;
01484   /* 0x306 is a real sprite (the little dot you get when you try to raise/lower a corner of the map
01485    * here the colour switches begin
01486    * use this if you add stuff to the value, so that the resulting colour
01487    * is not a fixed value.
01488    * NOTE THAT THE SWITCH 0x8000 is NOT present in _TO_COLOURS yet! */
01489 enum PaletteSprites {
01490   PALETTE_TO_DARK_BLUE        = 0x307,
01491   PALETTE_TO_PALE_GREEN       = 0x308,
01492   PALETTE_TO_PINK             = 0x309,
01493   PALETTE_TO_YELLOW           = 0x30A,
01494   PALETTE_TO_RED              = 0x30B,
01495   PALETTE_TO_LIGHT_BLUE       = 0x30C,
01496   PALETTE_TO_GREEN            = 0x30D,
01497   PALETTE_TO_DARK_GREEN       = 0x30E,
01498   PALETTE_TO_BLUE             = 0x30F,
01499   PALETTE_TO_CREAM            = 0x310,
01500   /* maybe don't use as company colour because it doesn't display in the graphs? */
01501   PALETTE_TO_MAUVE            = 0x311,
01502   PALETTE_TO_PURPLE           = 0x312,
01503   PALETTE_TO_ORANGE           = 0x313,
01504   PALETTE_TO_BROWN            = 0x314,
01505   PALETTE_TO_GREY             = 0x315,
01506   PALETTE_TO_WHITE            = 0x316,
01507   /* sets colour to bare land stuff, for rail and road (and crossings) */
01508   PALETTE_TO_BARE_LAND        = 0x317,
01509   /* XXX is 318-31A really not used? */
01510   PALETTE_TO_STRUCT_BLUE      = 0x31B,
01511   /* structure colour to something brownish (for the cantilever bridges for example) */
01512   PALETTE_TO_STRUCT_BROWN     = 0x31C,
01513   PALETTE_TO_STRUCT_WHITE     = 0x31D,
01514   /* sets bridge or structure to red, little concrete one and cantilever use this one for example */
01515   PALETTE_TO_STRUCT_RED       = 0x31E,
01516   PALETTE_TO_STRUCT_GREEN     = 0x31F,
01517   PALETTE_TO_STRUCT_CONCRETE  = 0x320, // Sets the suspension bridge to concrete, also other strucutures use it
01518   PALETTE_TO_STRUCT_YELLOW    = 0x321, // Sets the bridge colour to yellow (suspension and tubular)
01519   PALETTE_TO_TRANSPARENT      = 0x322, // This sets the sprite to transparent
01520   /* This is used for changing the tubular bridges to the silicon display, or some grayish colour */
01521   PALETTE_TO_STRUCT_GREY      = 0x323,
01522 
01523   /* XXX - const - PALETTE_CRASH               = 0x324,  // this changes stuff to the "crash colour"
01524    * XXX another place where structures are coloured.
01525    * I'm not sure which colours these are */
01526   PALETTE_59E                 = 0x59E,
01527   PALETTE_59F                 = 0x59F,
01528 };
01529 
01530 #endif /* SPRITES_H */

Generated on Wed Dec 30 20:40:07 2009 for OpenTTD by  doxygen 1.5.6