# sprites.h

Go to the documentation of this file.

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