src/table/sprites.h
branchNewGRF_ports
changeset 6872 1c4a4a609f85
parent 6871 5a9dc001e1ad
child 6878 7d1ff2f621c7
equal deleted inserted replaced
6871:5a9dc001e1ad 6872:1c4a4a609f85
    30  * get a proper Operating System.
    30  * get a proper Operating System.
    31  *
    31  *
    32  * @todo Split the "Sprites" enum into smaller chunks and document them
    32  * @todo Split the "Sprites" enum into smaller chunks and document them
    33  */
    33  */
    34 
    34 
       
    35 #include "../gfx_type.h"
       
    36 
    35 enum Sprites {
    37 enum Sprites {
    36 	SPR_SELECT_TILE  = 752,
    38 	SPR_SELECT_TILE  = 752,
    37 	SPR_DOT          = 774, // corner marker for lower/raise land
    39 	SPR_DOT          = 774, // corner marker for lower/raise land
    38 	SPR_DOT_SMALL    = 4078,
    40 	SPR_DOT_SMALL    = 4078,
    39 	SPR_WHITE_POINT  = 4079,
    41 	SPR_WHITE_POINT  = 4079,
    45 
    47 
    46 	SPR_LARGE_SMALL_WINDOW = 682,
    48 	SPR_LARGE_SMALL_WINDOW = 682,
    47 
    49 
    48 	/* Extra graphic spritenumbers */
    50 	/* Extra graphic spritenumbers */
    49 	SPR_OPENTTD_BASE     = 4896,
    51 	SPR_OPENTTD_BASE     = 4896,
    50 	OPENTTD_SPRITE_COUNT = 136,
    52 	OPENTTD_SPRITE_COUNT = 138,
    51 
    53 
    52 	/* Halftile-selection sprites */
    54 	/* Halftile-selection sprites */
    53 	SPR_HALFTILE_SELECTION_FLAT = SPR_OPENTTD_BASE,
    55 	SPR_HALFTILE_SELECTION_FLAT = SPR_OPENTTD_BASE,
    54 	SPR_HALFTILE_SELECTION_DOWN = SPR_OPENTTD_BASE + 4,
    56 	SPR_HALFTILE_SELECTION_DOWN = SPR_OPENTTD_BASE + 4,
    55 	SPR_HALFTILE_SELECTION_UP   = SPR_OPENTTD_BASE + 8,
    57 	SPR_HALFTILE_SELECTION_UP   = SPR_OPENTTD_BASE + 8,
   137 	ELRAIL_SPRITE_COUNT = 48,
   139 	ELRAIL_SPRITE_COUNT = 48,
   138 
   140 
   139 	SPR_2CCMAP_BASE   = SPR_ELRAIL_BASE + ELRAIL_SPRITE_COUNT,
   141 	SPR_2CCMAP_BASE   = SPR_ELRAIL_BASE + ELRAIL_SPRITE_COUNT,
   140 	TWOCCMAP_SPRITE_COUNT = 256,
   142 	TWOCCMAP_SPRITE_COUNT = 256,
   141 
   143 
   142 	SPR_AIRPORTX_BASE       = SPR_2CCMAP_BASE + TWOCCMAP_SPRITE_COUNT, // The sprites used for other airport angles
   144 	/* shore tiles - action 05-0D */
   143 	SPR_NEWAIRPORT_TARMAC   = SPR_AIRPORTX_BASE,
   145 	SPR_SHORE_BASE                  = SPR_2CCMAP_BASE + TWOCCMAP_SPRITE_COUNT,
   144 	SPR_NSRUNWAY1           = SPR_AIRPORTX_BASE + 1,
   146 	SPR_SHORE_SPRITE_COUNT          = 18,
   145 	SPR_NSRUNWAY2           = SPR_AIRPORTX_BASE + 2,
   147 	SPR_ORIGINALSHORE_START         = 4062,
   146 	SPR_NSRUNWAY3           = SPR_AIRPORTX_BASE + 3,
   148 	SPR_ORIGINALSHORE_END           = 4069,
   147 	SPR_NSRUNWAY4           = SPR_AIRPORTX_BASE + 4,
   149 
   148 	SPR_NSRUNWAY_END        = SPR_AIRPORTX_BASE + 5,
   150 	SPR_AIRPORTX_BASE     = SPR_SHORE_BASE + SPR_SHORE_SPRITE_COUNT, // The sprites used for other airport angles
   149 	SPR_NEWHANGAR_S         = SPR_AIRPORTX_BASE + 6,
   151 	SPR_NEWAIRPORT_TARMAC = SPR_AIRPORTX_BASE,
   150 	SPR_NEWHANGAR_S_WALL    = SPR_AIRPORTX_BASE + 7,
   152 	SPR_NSRUNWAY1         = SPR_AIRPORTX_BASE + 1,
   151 	SPR_NEWHANGAR_W         = SPR_AIRPORTX_BASE + 8,
   153 	SPR_NSRUNWAY2         = SPR_AIRPORTX_BASE + 2,
   152 	SPR_NEWHANGAR_W_WALL    = SPR_AIRPORTX_BASE + 9,
   154 	SPR_NSRUNWAY3         = SPR_AIRPORTX_BASE + 3,
   153 	SPR_NEWHANGAR_N         = SPR_AIRPORTX_BASE + 10,
   155 	SPR_NSRUNWAY4         = SPR_AIRPORTX_BASE + 4,
   154 	SPR_NEWHANGAR_E         = SPR_AIRPORTX_BASE + 11,
   156 	SPR_NSRUNWAY_END      = SPR_AIRPORTX_BASE + 5,
   155 	SPR_NEWHELIPAD          = SPR_AIRPORTX_BASE + 12,
   157 	SPR_NEWHANGAR_S       = SPR_AIRPORTX_BASE + 6,
   156 	SPR_GRASS_RIGHT         = SPR_AIRPORTX_BASE + 13,
   158 	SPR_NEWHANGAR_S_WALL  = SPR_AIRPORTX_BASE + 7,
   157 	SPR_GRASS_LEFT          = SPR_AIRPORTX_BASE + 14,
   159 	SPR_NEWHANGAR_W       = SPR_AIRPORTX_BASE + 8,
       
   160 	SPR_NEWHANGAR_W_WALL  = SPR_AIRPORTX_BASE + 9,
       
   161 	SPR_NEWHANGAR_N       = SPR_AIRPORTX_BASE + 10,
       
   162 	SPR_NEWHANGAR_E       = SPR_AIRPORTX_BASE + 11,
       
   163 	SPR_NEWHELIPAD        = SPR_AIRPORTX_BASE + 12,
       
   164 	SPR_GRASS_RIGHT       = SPR_AIRPORTX_BASE + 13,
       
   165 	SPR_GRASS_LEFT        = SPR_AIRPORTX_BASE + 14,
   158 	SPR_IMG_ARROW_NE_YELLOW = SPR_AIRPORTX_BASE + 15,
   166 	SPR_IMG_ARROW_NE_YELLOW = SPR_AIRPORTX_BASE + 15,
   159 	SPR_IMG_ARROW_SE_YELLOW = SPR_AIRPORTX_BASE + 16,
   167 	SPR_IMG_ARROW_SE_YELLOW = SPR_AIRPORTX_BASE + 16,
   160 	SPR_IMG_ARROW_SW_YELLOW = SPR_AIRPORTX_BASE + 17,
   168 	SPR_IMG_ARROW_SW_YELLOW = SPR_AIRPORTX_BASE + 17,
   161 	SPR_IMG_ARROW_NW_YELLOW = SPR_AIRPORTX_BASE + 18,
   169 	SPR_IMG_ARROW_NW_YELLOW = SPR_AIRPORTX_BASE + 18,
   162 	SPR_IMG_ARROW_NE_WHITE  = SPR_AIRPORTX_BASE + 19,
   170 	SPR_IMG_ARROW_NE_WHITE  = SPR_AIRPORTX_BASE + 19,
   557 	SPR_FARMLAND_STATE_4        = 4202,
   565 	SPR_FARMLAND_STATE_4        = 4202,
   558 	SPR_FARMLAND_STATE_5        = 4221,
   566 	SPR_FARMLAND_STATE_5        = 4221,
   559 	SPR_FARMLAND_STATE_6        = 4240,
   567 	SPR_FARMLAND_STATE_6        = 4240,
   560 	SPR_FARMLAND_STATE_7        = 4259,
   568 	SPR_FARMLAND_STATE_7        = 4259,
   561 	SPR_FARMLAND_HAYPACKS       = 4278,
   569 	SPR_FARMLAND_HAYPACKS       = 4278,
   562 
       
   563 	/* Shores */
       
   564 	SPR_NO_SHORE                = 0,  //used for tileh which have no shore
       
   565 	SPR_SHORE_TILEH_4           = 4062, // SLOPE_E
       
   566 	SPR_SHORE_TILEH_1           = 4063, // SLOPE_W
       
   567 	SPR_SHORE_TILEH_2           = 4064, // SLOPE_S
       
   568 	SPR_SHORE_TILEH_8           = 4065, // SLOPE_N
       
   569 	SPR_SHORE_TILEH_6           = 4066, // SLOPE_SE
       
   570 	SPR_SHORE_TILEH_12          = 4067, // SLOPE_NE
       
   571 	SPR_SHORE_TILEH_3           = 4068, // SLOPE_SW
       
   572 	SPR_SHORE_TILEH_9           = 4069, // SLOPE_NW
       
   573 
   570 
   574 	/* Water-related sprites */
   571 	/* Water-related sprites */
   575 	SPR_SHIP_DEPOT_SE_FRONT     = 4070,
   572 	SPR_SHIP_DEPOT_SE_FRONT     = 4070,
   576 	SPR_SHIP_DEPOT_SW_FRONT     = 4071,
   573 	SPR_SHIP_DEPOT_SW_FRONT     = 4071,
   577 	SPR_SHIP_DEPOT_NW           = 4072,
   574 	SPR_SHIP_DEPOT_NW           = 4072,
  1027 	SPR_IMG_ROCKS           = 4084,
  1024 	SPR_IMG_ROCKS           = 4084,
  1028 	SPR_IMG_LIGHTHOUSE_DESERT = 4085, // XXX - is Desert image on the desert-climate
  1025 	SPR_IMG_LIGHTHOUSE_DESERT = 4085, // XXX - is Desert image on the desert-climate
  1029 	SPR_IMG_TRANSMITTER     = 4086,
  1026 	SPR_IMG_TRANSMITTER     = 4086,
  1030 	SPR_IMG_LEVEL_LAND      = SPR_OPENTTD_BASE + 91,
  1027 	SPR_IMG_LEVEL_LAND      = SPR_OPENTTD_BASE + 91,
  1031 	SPR_IMG_BUILD_CANAL     = SPR_OPENTTD_BASE + 88,
  1028 	SPR_IMG_BUILD_CANAL     = SPR_OPENTTD_BASE + 88,
       
  1029 	SPR_IMG_BUILD_RIVER     = SPR_OPENTTD_BASE + 136,
  1032 	SPR_IMG_BUILD_LOCK      = SPR_CANALS_BASE + 64,
  1030 	SPR_IMG_BUILD_LOCK      = SPR_CANALS_BASE + 64,
  1033 	SPR_IMG_PAUSE           = 726,
  1031 	SPR_IMG_PAUSE           = 726,
  1034 	SPR_IMG_FASTFORWARD     = SPR_OPENTTD_BASE + 90,
  1032 	SPR_IMG_FASTFORWARD     = SPR_OPENTTD_BASE + 90,
  1035 	SPR_IMG_SETTINGS        = 751,
  1033 	SPR_IMG_SETTINGS        = 751,
  1036 	SPR_IMG_SAVE            = 724,
  1034 	SPR_IMG_SAVE            = 724,
  1329 
  1327 
  1330 	/* dock cursors */
  1328 	/* dock cursors */
  1331 	SPR_CURSOR_DOCK           = 3668,
  1329 	SPR_CURSOR_DOCK           = 3668,
  1332 	SPR_CURSOR_CANAL          = SPR_OPENTTD_BASE + 89,
  1330 	SPR_CURSOR_CANAL          = SPR_OPENTTD_BASE + 89,
  1333 	SPR_CURSOR_LOCK           = SPR_OPENTTD_BASE + 87,
  1331 	SPR_CURSOR_LOCK           = SPR_OPENTTD_BASE + 87,
       
  1332 	SPR_CURSOR_RIVER          = SPR_OPENTTD_BASE + 137,
  1334 
  1333 
  1335 	/* shared road & rail cursors */
  1334 	/* shared road & rail cursors */
  1336 	SPR_CURSOR_BRIDGE         = 2593,
  1335 	SPR_CURSOR_BRIDGE         = 2593,
  1337 
  1336 
  1338 	/* rail cursors */
  1337 	/* rail cursors */
  1420  */
  1419  */
  1421 enum SpriteSetup {
  1420 enum SpriteSetup {
  1422 	TRANSPARENT_BIT = 31,       ///< toggles transparency in the sprite
  1421 	TRANSPARENT_BIT = 31,       ///< toggles transparency in the sprite
  1423 	RECOLOR_BIT = 30,           ///< toggles recoloring in the sprite
  1422 	RECOLOR_BIT = 30,           ///< toggles recoloring in the sprite
  1424 	OFFSET_BIT = 29,
  1423 	OFFSET_BIT = 29,
       
  1424 	OPAQUE_BIT = 28,
  1425 
  1425 
  1426 	PALETTE_WIDTH = 24,         ///< number of bits of the sprite containing the recolor palette
  1426 	PALETTE_WIDTH = 24,         ///< number of bits of the sprite containing the recolor palette
  1427 	SPRITE_WIDTH = 24,          ///< number of bits for the sprite number
  1427 	SPRITE_WIDTH = 24,          ///< number of bits for the sprite number
  1428 };
  1428 };
  1429 
  1429 
  1435  * @note Do not modify this enum. Alter SpriteSetup instead
  1435  * @note Do not modify this enum. Alter SpriteSetup instead
  1436  * @see SpriteSetup
  1436  * @see SpriteSetup
  1437  */
  1437  */
  1438 enum Modifiers {
  1438 enum Modifiers {
  1439 	SPRITE_MODIFIER_USE_OFFSET    = OFFSET_BIT,
  1439 	SPRITE_MODIFIER_USE_OFFSET    = OFFSET_BIT,
  1440 	SPRITE_MODIFIER_OPAQUE        = OFFSET_BIT,
  1440 	/// Set when a sprite must not ever be displayed transparently
       
  1441 	SPRITE_MODIFIER_OPAQUE        = OPAQUE_BIT,
  1441 	///when a sprite is to be displayed transparently, this bit needs to be set.
  1442 	///when a sprite is to be displayed transparently, this bit needs to be set.
  1442 	PALETTE_MODIFIER_TRANSPARENT  = TRANSPARENT_BIT,
  1443 	PALETTE_MODIFIER_TRANSPARENT  = TRANSPARENT_BIT,
  1443 	///this bit is set when a recoloring process is in action
  1444 	///this bit is set when a recoloring process is in action
  1444 	PALETTE_MODIFIER_COLOR        = RECOLOR_BIT,
  1445 	PALETTE_MODIFIER_COLOR        = RECOLOR_BIT,
  1445 
  1446