|
|
/* $Id$ */
|
|
|
|
|
|
#ifndef SPRITES_H
|
|
|
#define SPRITES_H
|
|
|
|
|
|
/** @file sprites.h
|
|
|
This file contails all sprite-related enums and defines. These consist mainly of
|
|
|
the sprite numbers and a bunch of masks and macros to handle sprites and to get
|
|
|
rid of all the magic numbers in the code.
|
|
|
|
|
|
@NOTE:
|
|
|
ALL SPRITE NUMBERS BELOW 5126 are in the main files
|
|
|
SPR_CANALS_BASE is in canalsw.grf
|
|
|
SPR_SLOPES_BASE is in trkfoundw.grf
|
|
|
SPR_OPENTTD_BASE is in openttd.grf
|
|
|
|
|
|
All elements which consist of two elements should
|
|
|
have the same name and then suffixes
|
|
|
_GROUND and _BUILD for building-type sprites
|
|
|
_REAR and _FRONT for transport-type sprites (tiles where vehicles are on)
|
|
|
These sprites are split because of the Z order of the elements
|
|
|
(like some parts of a bridge are behind the vehicle, while others are before)
|
|
|
|
|
|
|
|
|
All sprites which are described here are referenced only one to a handful of times
|
|
|
throughout the code. When introducing new sprite enums, use meaningful names.
|
|
|
Don't be lazy and typing, and only use abbrevations when their meaning is clear or
|
|
|
the length of the enum would get out of hand. In that case EXPLAIN THE ABBREVATION
|
|
|
IN THIS FILE, and perhaps add some comments in the code where it is used.
|
|
|
Now, don't whine about this being too much typing work if the enums are like
|
|
|
30 characters in length. If your editor doen't help you simplifying your work,
|
|
|
get a proper editor. If your Operating Systems don't have any decent editors,
|
|
|
get a proper Operating System.
|
|
|
|
|
|
@todo Split the "Sprites" enum into smaller chunks and document them
|
|
|
*/
|
|
|
|
|
|
|
|
|
enum Sprites {
|
|
|
SPR_SELECT_TILE = 752,
|
|
|
SPR_DOT = 774, // corner marker for lower/raise land
|
|
|
SPR_DOT_SMALL = 4078,
|
|
|
SPR_WHITE_POINT = 4079,
|
|
|
|
|
|
/* ASCII */
|
|
|
SPR_ASCII_SPACE = 2,
|
|
|
SPR_ASCII_SPACE_SMALL = 226,
|
|
|
SPR_ASCII_SPACE_BIG = 450,
|
|
|
|
|
|
/* Extra graphic spritenumbers */
|
|
|
SPR_CANALS_BASE = 5382,
|
|
|
SPR_SLOPES_BASE = SPR_CANALS_BASE + 70,
|
|
|
SPR_AUTORAIL_BASE = SPR_SLOPES_BASE + 78,
|
|
|
SPR_OPENTTD_BASE = SPR_AUTORAIL_BASE + 55, // can be lowered once autorail.grf is finalized
|
|
|
|
|
|
SPR_BLOT = SPR_OPENTTD_BASE + 32, // colored circle (mainly used as vehicle profit marker and for sever compatibility)
|
|
|
|
|
|
SPR_PIN_UP = SPR_OPENTTD_BASE + 62, // pin icon
|
|
|
SPR_PIN_DOWN = SPR_OPENTTD_BASE + 63,
|
|
|
SPR_BOX_EMPTY = SPR_OPENTTD_BASE + 66,
|
|
|
SPR_BOX_CHECKED = SPR_OPENTTD_BASE + 67,
|
|
|
SPR_WINDOW_RESIZE = SPR_OPENTTD_BASE + 94, // resize icon
|
|
|
// arrow icons pointing in all 4 directions
|
|
|
SPR_ARROW_DOWN = SPR_OPENTTD_BASE + 95,
|
|
|
SPR_ARROW_UP = SPR_OPENTTD_BASE + 96,
|
|
|
SPR_ARROW_LEFT = SPR_OPENTTD_BASE + 97,
|
|
|
SPR_ARROW_RIGHT = SPR_OPENTTD_BASE + 98,
|
|
|
|
|
|
/* Clone vehicles stuff */
|
|
|
SPR_CLONE_AIRCRAFT = SPR_OPENTTD_BASE + 99,
|
|
|
SPR_CLONE_ROADVEH = SPR_OPENTTD_BASE + 99,
|
|
|
SPR_CLONE_TRAIN = SPR_OPENTTD_BASE + 99,
|
|
|
SPR_CLONE_SHIP = SPR_OPENTTD_BASE + 99,
|
|
|
|
|
|
/* Network GUI sprites */
|
|
|
SPR_SQUARE = SPR_OPENTTD_BASE + 23, // colored square (used for newgrf compatibility)
|
|
|
SPR_LOCK = SPR_OPENTTD_BASE + 22, // lock icon (for password protected servers)
|
|
|
SPR_FLAGS_BASE = SPR_OPENTTD_BASE + 90, // start of the flags block (in same order as enum NetworkLanguage)
|
|
|
|
|
|
/* Manager face sprites */
|
|
|
SPR_GRADIENT = 874, // background gradient behind manager face
|
|
|
|
|
|
/* is itself no foundation sprite, because tileh 0 has no foundation */
|
|
|
SPR_FOUNDATION_BASE = 989,
|
|
|
|
|
|
/* Shadow cell */
|
|
|
SPR_SHADOW_CELL = 1004,
|
|
|
|
|
|
/* Sliced view shadow cells */
|
|
|
/* Maybe we have different ones in the future */
|
|
|
SPR_MAX_SLICE = SPR_OPENTTD_BASE + 71,
|
|
|
SPR_MIN_SLICE = SPR_OPENTTD_BASE + 71,
|
|
|
|
|
|
/* Unmovables spritenumbers */
|
|
|
SPR_UNMOVABLE_TRANSMITTER = 2601,
|
|
|
SPR_UNMOVABLE_LIGHTHOUSE = 2602,
|
|
|
SPR_TINYHQ_NORTH = 2603,
|
|
|
SPR_TINYHQ_EAST = 2604,
|
|
|
SPR_TINYHQ_WEST = 2605,
|
|
|
SPR_TINYHQ_SOUTH = 2606,
|
|
|
SPR_SMALLHQ_NORTH = 2607,
|
|
|
SPR_SMALLHQ_EAST = 2608,
|
|
|
SPR_SMALLHQ_WEST = 2609,
|
|
|
SPR_SMALLHQ_SOUTH = 2610,
|
|
|
SPR_MEDIUMHQ_NORTH = 2611,
|
|
|
SPR_MEDIUMHQ_NORTH_WALL = 2612,
|
|
|
SPR_MEDIUMHQ_EAST = 2613,
|
|
|
SPR_MEDIUMHQ_EAST_WALL = 2614,
|
|
|
SPR_MEDIUMHQ_WEST = 2615,
|
|
|
SPR_MEDIUMHQ_WEST_WALL = 2616, //very tiny piece of wall
|
|
|
SPR_MEDIUMHQ_SOUTH = 2617,
|
|
|
SPR_LARGEHQ_NORTH_GROUND = 2618,
|
|
|
SPR_LARGEHQ_NORTH_BUILD = 2619,
|
|
|
SPR_LARGEHQ_EAST_GROUND = 2620,
|
|
|
SPR_LARGEHQ_EAST_BUILD = 2621,
|
|
|
SPR_LARGEHQ_WEST_GROUND = 2622,
|
|
|
SPR_LARGEHQ_WEST_BUILD = 2623,
|
|
|
SPR_LARGEHQ_SOUTH = 2624,
|
|
|
SPR_HUGEHQ_NORTH_GROUND = 2625,
|
|
|
SPR_HUGEHQ_NORTH_BUILD = 2626,
|
|
|
SPR_HUGEHQ_EAST_GROUND = 2627,
|
|
|
SPR_HUGEHQ_EAST_BUILD = 2628,
|
|
|
SPR_HUGEHQ_WEST_GROUND = 2629,
|
|
|
SPR_HUGEHQ_WEST_BUILD = 2630,
|
|
|
SPR_HUGEHQ_SOUTH = 2631,
|
|
|
SPR_STATUE_GROUND = 1420,
|
|
|
SPR_STATUE_COMPANY = 2632,
|
|
|
SPR_BOUGHT_LAND = 4790,
|
|
|
|
|
|
/* sprites for rail and rail stations*/
|
|
|
SPR_RAIL_SNOW_OFFSET = 26,
|
|
|
SPR_MONO_SNOW_OFFSET = 26,
|
|
|
SPR_MGLV_SNOW_OFFSET = 26,
|
|
|
|
|
|
SPR_RAIL_SINGLE_Y = 1005,
|
|
|
SPR_RAIL_SINGLE_X = 1006,
|
|
|
SPR_RAIL_SINGLE_NORTH = 1007,
|
|
|
SPR_RAIL_SINGLE_SOUTH = 1008,
|
|
|
SPR_RAIL_SINGLE_EAST = 1009,
|
|
|
SPR_RAIL_SINGLE_WEST = 1010,
|
|
|
SPR_RAIL_TRACK_Y = 1011,
|
|
|
SPR_RAIL_TRACK_X = 1012,
|
|
|
SPR_RAIL_TRACK_BASE = 1018,
|
|
|
SPR_RAIL_TRACK_N_S = 1035,
|
|
|
SPR_RAIL_TRACK_Y_SNOW = 1037,
|
|
|
SPR_RAIL_TRACK_X_SNOW = 1038,
|
|
|
SPR_RAIL_DEPOT_SE_1 = 1063,
|
|
|
SPR_RAIL_DEPOT_SE_2 = 1064,
|
|
|
SPR_RAIL_DEPOT_SW_1 = 1065,
|
|
|
SPR_RAIL_DEPOT_SW_2 = 1066,
|
|
|
SPR_RAIL_DEPOT_NE = 1067,
|
|
|
SPR_RAIL_DEPOT_NW = 1068,
|
|
|
SPR_RAIL_PLATFORM_Y_FRONT = 1069,
|
|
|
SPR_RAIL_PLATFORM_X_REAR = 1070,
|
|
|
SPR_RAIL_PLATFORM_Y_REAR = 1071,
|
|
|
SPR_RAIL_PLATFORM_X_FRONT = 1072,
|
|
|
SPR_RAIL_PLATFORM_BUILDING_X = 1073,
|
|
|
SPR_RAIL_PLATFORM_BUILDING_Y = 1074,
|
|
|
SPR_RAIL_PLATFORM_PILLARS_Y_FRONT = 1075,
|
|
|
SPR_RAIL_PLATFORM_PILLARS_X_REAR = 1076,
|
|
|
SPR_RAIL_PLATFORM_PILLARS_Y_REAR = 1077,
|
|
|
SPR_RAIL_PLATFORM_PILLARS_X_FRONT = 1078,
|
|
|
SPR_RAIL_ROOF_STRUCTURE_X_TILE_A = 1079, //First half of the roof structure
|
|
|
SPR_RAIL_ROOF_STRUCTURE_Y_TILE_A = 1080,
|
|
|
SPR_RAIL_ROOF_STRUCTURE_X_TILE_B = 1081, //Second half of the roof structure
|
|
|
SPR_RAIL_ROOF_STRUCTURE_Y_TILE_B = 1082,
|
|
|
SPR_RAIL_ROOF_GLASS_X_TILE_A = 1083, //First half of the roof glass
|
|
|
SPR_RAIL_ROOF_GLASS_Y_TILE_A = 1084,
|
|
|
SPR_RAIL_ROOF_GLASS_X_TILE_B = 1085, //second half of the roof glass
|
|
|
SPR_RAIL_ROOF_GLASS_Y_TILE_B = 1086,
|
|
|
SPR_MONO_SINGLE_Y = 1087,
|
|
|
SPR_MONO_SINGLE_X = 1088,
|
|
|
SPR_MONO_SINGLE_NORTH = 1089,
|
|
|
SPR_MONO_SINGLE_SOUTH = 1090,
|
|
|
SPR_MONO_SINGLE_EAST = 1091,
|
|
|
SPR_MONO_SINGLE_WEST = 1092,
|
|
|
SPR_MONO_TRACK_Y = 1093,
|
|
|
SPR_MONO_TRACK_BASE = 1100,
|
|
|
SPR_MONO_TRACK_N_S = 1117,
|
|
|
SPR_MGLV_SINGLE_Y = 1169,
|
|
|
SPR_MGLV_SINGLE_X = 1170,
|
|
|
SPR_MGLV_SINGLE_NORTH = 1171,
|
|
|
SPR_MGLV_SINGLE_SOUTH = 1172,
|
|
|
SPR_MGLV_SINGLE_EAST = 1173,
|
|
|
SPR_MGLV_SINGLE_WEST = 1174,
|
|
|
SPR_MGLV_TRACK_Y = 1175,
|
|
|
SPR_MGLV_TRACK_BASE = 1182,
|
|
|
SPR_MGLV_TRACK_N_S = 1199,
|
|
|
SPR_WAYPOINT_X_1 = SPR_OPENTTD_BASE + 18,
|
|
|
SPR_WAYPOINT_X_2 = SPR_OPENTTD_BASE + 19,
|
|
|
SPR_WAYPOINT_Y_1 = SPR_OPENTTD_BASE + 20,
|
|
|
SPR_WAYPOINT_Y_2 = SPR_OPENTTD_BASE + 21,
|
|
|
OFFSET_TILEH_IMPOSSIBLE = 0,
|
|
|
OFFSET_TILEH_1 = 14,
|
|
|
OFFSET_TILEH_2 = 15,
|
|
|
OFFSET_TILEH_3 = 22,
|
|
|
OFFSET_TILEH_4 = 13,
|
|
|
OFFSET_TILEH_6 = 21,
|
|
|
OFFSET_TILEH_7 = 17,
|
|
|
OFFSET_TILEH_8 = 12,
|
|
|
OFFSET_TILEH_9 = 23,
|
|
|
OFFSET_TILEH_11 = 18,
|
|
|
OFFSET_TILEH_12 = 20,
|
|
|
OFFSET_TILEH_13 = 19,
|
|
|
OFFSET_TILEH_14 = 16,
|
|
|
|
|
|
/* sprites for airports and airfields*/
|
|
|
/* Small airports are AIRFIELD, everything else is AIRPORT */
|
|
|
SPR_HELIPORT = 2633,
|
|
|
SPR_AIRPORT_APRON = 2634,
|
|
|
SPR_AIRPORT_AIRCRAFT_STAND = 2635,
|
|
|
SPR_AIRPORT_TAXIWAY_NS_WEST = 2636,
|
|
|
SPR_AIRPORT_TAXIWAY_EW_SOUTH = 2637,
|
|
|
SPR_AIRPORT_TAXIWAY_XING_SOUTH = 2638,
|
|
|
SPR_AIRPORT_TAXIWAY_XING_WEST = 2639,
|
|
|
SPR_AIRPORT_TAXIWAY_NS_CTR = 2640,
|
|
|
SPR_AIRPORT_TAXIWAY_XING_EAST = 2641,
|
|
|
SPR_AIRPORT_TAXIWAY_NS_EAST = 2642,
|
|
|
SPR_AIRPORT_TAXIWAY_EW_NORTH = 2643,
|
|
|
SPR_AIRPORT_TAXIWAY_EW_CTR = 2644,
|
|
|
SPR_AIRPORT_RUNWAY_EXIT_A = 2645,
|
|
|
SPR_AIRPORT_RUNWAY_EXIT_B = 2646,
|
|
|
SPR_AIRPORT_RUNWAY_EXIT_C = 2647,
|
|
|
SPR_AIRPORT_RUNWAY_EXIT_D = 2648,
|
|
|
SPR_AIRPORT_RUNWAY_END = 2649, //We should have different ends
|
|
|
SPR_AIRPORT_TERMINAL_A = 2650,
|
|
|
SPR_AIRPORT_TOWER = 2651,
|
|
|
SPR_AIRPORT_CONCOURSE = 2652,
|
|
|
SPR_AIRPORT_TERMINAL_B = 2653,
|
|
|
SPR_AIRPORT_TERMINAL_C = 2654,
|
|
|
SPR_AIRPORT_HANGAR_FRONT = 2655,
|
|
|
SPR_AIRPORT_HANGAR_REAR = 2656,
|
|
|
SPR_AIRFIELD_HANGAR_FRONT = 2657,
|
|
|
SPR_AIRFIELD_HANGAR_REAR = 2658,
|
|
|
SPR_AIRPORT_JETWAY_1 = 2659,
|
|
|
SPR_AIRPORT_JETWAY_2 = 2660,
|
|
|
SPR_AIRPORT_JETWAY_3 = 2661,
|
|
|
SPR_AIRPORT_PASSENGER_TUNNEL = 2662,
|
|
|
SPR_AIRPORT_FENCE_Y = 2663,
|
|
|
SPR_AIRPORT_FENCE_X = 2664,
|
|
|
SPR_AIRFIELD_TERM_A = 2665,
|
|
|
SPR_AIRFIELD_TERM_B = 2666,
|
|
|
SPR_AIRFIELD_TERM_C_GROUND = 2667,
|
|
|
SPR_AIRFIELD_TERM_C_BUILD = 2668,
|
|
|
SPR_AIRFIELD_APRON_A = 2669,
|
|
|
SPR_AIRFIELD_APRON_B = 2670,
|
|
|
SPR_AIRFIELD_APRON_C = 2671,
|
|
|
SPR_AIRFIELD_APRON_D = 2672,
|
|
|
SPR_AIRFIELD_RUNWAY_NEAR_END = 2673,
|
|
|
SPR_AIRFIELD_RUNWAY_MIDDLE = 2674,
|
|
|
SPR_AIRFIELD_RUNWAY_FAR_END = 2675,
|
|
|
SPR_AIRFIELD_WIND_1 = 2676,
|
|
|
SPR_AIRFIELD_WIND_2 = 2677,
|
|
|
SPR_AIRFIELD_WIND_3 = 2678,
|
|
|
SPR_AIRFIELD_WIND_4 = 2679,
|
|
|
SPR_AIRPORT_RADAR_1 = 2680,
|
|
|
SPR_AIRPORT_RADAR_2 = 2681,
|
|
|
SPR_AIRPORT_RADAR_3 = 2682,
|
|
|
SPR_AIRPORT_RADAR_4 = 2683,
|
|
|
SPR_AIRPORT_RADAR_5 = 2684,
|
|
|
SPR_AIRPORT_RADAR_6 = 2685,
|
|
|
SPR_AIRPORT_RADAR_7 = 2686,
|
|
|
SPR_AIRPORT_RADAR_8 = 2687,
|
|
|
SPR_AIRPORT_RADAR_9 = 2688,
|
|
|
SPR_AIRPORT_RADAR_A = 2689,
|
|
|
SPR_AIRPORT_RADAR_B = 2690,
|
|
|
SPR_AIRPORT_RADAR_C = 2691,
|
|
|
SPR_AIRPORT_HELIPAD = SPR_OPENTTD_BASE + 31,
|
|
|
|
|
|
/* Road Stops */
|
|
|
/* Road stops have a ground tile and 3 buildings, one on each side
|
|
|
(except the side where the entry is). These are marked _A _B and _C
|
|
|
*/
|
|
|
SPR_BUS_STOP_NE_GROUND = 2692,
|
|
|
SPR_BUS_STOP_SE_GROUND = 2693,
|
|
|
SPR_BUS_STOP_SW_GROUND = 2694,
|
|
|
SPR_BUS_STOP_NW_GROUND = 2695,
|
|
|
SPR_BUS_STOP_NE_BUILD_A = 2696,
|
|
|
SPR_BUS_STOP_SE_BUILD_A = 2697,
|
|
|
SPR_BUS_STOP_SW_BUILD_A = 2698,
|
|
|
SPR_BUS_STOP_NW_BUILD_A = 2699,
|
|
|
SPR_BUS_STOP_NE_BUILD_B = 2700,
|
|
|
SPR_BUS_STOP_SE_BUILD_B = 2701,
|
|
|
SPR_BUS_STOP_SW_BUILD_B = 2702,
|
|
|
SPR_BUS_STOP_NW_BUILD_B = 2703,
|
|
|
SPR_BUS_STOP_NE_BUILD_C = 2704,
|
|
|
SPR_BUS_STOP_SE_BUILD_C = 2705,
|
|
|
SPR_BUS_STOP_SW_BUILD_C = 2706,
|
|
|
SPR_BUS_STOP_NW_BUILD_C = 2707,
|
|
|
SPR_TRUCK_STOP_NE_GROUND = 2708,
|
|
|
SPR_TRUCK_STOP_SE_GROUND = 2709,
|
|
|
SPR_TRUCK_STOP_SW_GROUND = 2710,
|
|
|
SPR_TRUCK_STOP_NW_GROUND = 2711,
|
|
|
SPR_TRUCK_STOP_NE_BUILD_A = 2712,
|
|
|
SPR_TRUCK_STOP_SE_BUILD_A = 2713,
|
|
|
SPR_TRUCK_STOP_SW_BUILD_A = 2714,
|
|
|
SPR_TRUCK_STOP_NW_BUILD_A = 2715,
|
|
|
SPR_TRUCK_STOP_NE_BUILD_B = 2716,
|
|
|
SPR_TRUCK_STOP_SE_BUILD_B = 2717,
|
|
|
SPR_TRUCK_STOP_SW_BUILD_B = 2718,
|
|
|
SPR_TRUCK_STOP_NW_BUILD_B = 2719,
|
|
|
SPR_TRUCK_STOP_NE_BUILD_C = 2720,
|
|
|
SPR_TRUCK_STOP_SE_BUILD_C = 2721,
|
|
|
SPR_TRUCK_STOP_SW_BUILD_C = 2722,
|
|
|
SPR_TRUCK_STOP_NW_BUILD_C = 2723,
|
|
|
|
|
|
/* Sprites for docks */
|
|
|
/* Docks consist of two tiles, the sloped one and the flat one */
|
|
|
SPR_DOCK_SLOPE_NE = 2727,
|
|
|
SPR_DOCK_SLOPE_SE = 2728,
|
|
|
SPR_DOCK_SLOPE_SW = 2729,
|
|
|
SPR_DOCK_SLOPE_NW = 2730,
|
|
|
SPR_DOCK_FLAT_X = 2731, //for NE and SW
|
|
|
SPR_DOCK_FLAT_Y = 2732, //for NW and SE
|
|
|
SPR_BUOY = 4076, //XXX this sucks, because it displays wrong stuff on canals
|
|
|
|
|
|
/* Sprites for road */
|
|
|
SPR_ROAD_Y = 1332,
|
|
|
SPR_ROAD_X = 1333,
|
|
|
SPR_ROAD_Y_SNOW = 1351,
|
|
|
SPR_ROAD_X_SNOW = 1352,
|
|
|
|
|
|
SPR_EXCAVATION_X = 1414,
|
|
|
SPR_EXCAVATION_Y = 1415,
|
|
|
|
|
|
/* Landscape sprites */
|
|
|
SPR_FLAT_BARE_LAND = 3924,
|
|
|
SPR_FLAT_1_THIRD_GRASS_TILE = 3943,
|
|
|
SPR_FLAT_2_THIRD_GRASS_TILE = 3962,
|
|
|
SPR_FLAT_GRASS_TILE = 3981,
|
|
|
SPR_FLAT_ROUGH_LAND = 4000,
|
|
|
SPR_FLAT_ROUGH_LAND_1 = 4019,
|
|
|
SPR_FLAT_ROUGH_LAND_2 = 4020,
|
|
|
SPR_FLAT_ROUGH_LAND_3 = 4021,
|
|
|
SPR_FLAT_ROUGH_LAND_4 = 4022,
|
|
|
SPR_FLAT_ROCKY_LAND_1 = 4023,
|
|
|
SPR_FLAT_ROCKY_LAND_2 = 4042,
|
|
|
SPR_FLAT_WATER_TILE = 4061,
|
|
|
SPR_FLAT_1_QUART_SNOWY_TILE = 4493,
|
|
|
SPR_FLAT_2_QUART_SNOWY_TILE = 4512,
|
|
|
SPR_FLAT_3_QUART_SNOWY_TILE = 4531,
|
|
|
SPR_FLAT_SNOWY_TILE = 4550,
|
|
|
|
|
|
/* Hedge, Farmland-fence sprites */
|
|
|
SPR_HEDGE_BUSHES = 4090,
|
|
|
SPR_HEDGE_BUSHES_WITH_GATE = 4096,
|
|
|
SPR_HEDGE_FENCE = 4102,
|
|
|
SPR_HEDGE_BLOOMBUSH_YELLOW = 4108,
|
|
|
SPR_HEDGE_BLOOMBUSH_RED = 4114,
|
|
|
SPR_HEDGE_STONE = 4120,
|
|
|
|
|
|
/* Farmland sprites, only flat tiles listed, various stages */
|
|
|
SPR_FARMLAND_BARE = 4126,
|
|
|
SPR_FARMLAND_STATE_1 = 4145,
|
|
|
SPR_FARMLAND_STATE_2 = 4164,
|
|
|
SPR_FARMLAND_STATE_3 = 4183,
|
|
|
SPR_FARMLAND_STATE_4 = 4202,
|
|
|
SPR_FARMLAND_STATE_5 = 4221,
|
|
|
SPR_FARMLAND_STATE_6 = 4240,
|
|
|
SPR_FARMLAND_STATE_7 = 4259,
|
|
|
SPR_FARMLAND_HAYPACKS = 4278,
|
|
|
|
|
|
/* Shores */
|
|
|
SPR_NO_SHORE = 0, //used for tileh which have no shore
|
|
|
SPR_SHORE_TILEH_4 = 4062,
|
|
|
SPR_SHORE_TILEH_1 = 4063,
|
|
|
SPR_SHORE_TILEH_2 = 4064,
|
|
|
SPR_SHORE_TILEH_8 = 4065,
|
|
|
SPR_SHORE_TILEH_6 = 4066,
|
|
|
SPR_SHORE_TILEH_12 = 4067,
|
|
|
SPR_SHORE_TILEH_3 = 4068,
|
|
|
SPR_SHORE_TILEH_9 = 4069,
|
|
|
|
|
|
/* Water-related sprites */
|
|
|
SPR_SHIP_DEPOT_SE_FRONT = 4070,
|
|
|
SPR_SHIP_DEPOT_SW_FRONT = 4071,
|
|
|
SPR_SHIP_DEPOT_NW = 4072,
|
|
|
SPR_SHIP_DEPOT_NE = 4073,
|
|
|
SPR_SHIP_DEPOT_SE_REAR = 4074,
|
|
|
SPR_SHIP_DEPOT_SW_REAR = 4075,
|
|
|
//here come sloped water sprites
|
|
|
SPR_WATER_SLOPE_Y_UP = SPR_CANALS_BASE + 5, //Water flowing negative Y direction
|
|
|
SPR_WATER_SLOPE_X_DOWN = SPR_CANALS_BASE + 6, //positive X
|
|
|
SPR_WATER_SLOPE_X_UP = SPR_CANALS_BASE + 7, //negative X
|
|
|
SPR_WATER_SLOPE_Y_DOWN = SPR_CANALS_BASE + 8, //positive Y
|
|
|
//sprites for the shiplifts
|
|
|
//there are 4 kinds of shiplifts, each of them is 3 tiles long.
|
|
|
//the four kinds are running in the X and Y direction and
|
|
|
//are "lowering" either in the "+" or the "-" direction.
|
|
|
//the three tiles are the center tile (where the slope is)
|
|
|
//and a bottom and a top tile
|
|
|
SPR_SHIPLIFT_Y_UP_CENTER_REAR = SPR_CANALS_BASE + 9,
|
|
|
SPR_SHIPLIFT_X_DOWN_CENTER_REAR = SPR_CANALS_BASE + 10,
|
|
|
SPR_SHIPLIFT_X_UP_CENTER_REAR = SPR_CANALS_BASE + 11,
|
|
|
SPR_SHIPLIFT_Y_DOWN_CENTER_REAR = SPR_CANALS_BASE + 12,
|
|
|
SPR_SHIPLIFT_Y_UP_CENTER_FRONT = SPR_CANALS_BASE + 13,
|
|
|
SPR_SHIPLIFT_X_DOWN_CENTER_FRONT = SPR_CANALS_BASE + 14,
|
|
|
SPR_SHIPLIFT_X_UP_CENTER_FRONT = SPR_CANALS_BASE + 15,
|
|
|
SPR_SHIPLIFT_Y_DOWN_CENTER_FRONT = SPR_CANALS_BASE + 16,
|
|
|
SPR_SHIPLIFT_Y_UP_BOTTOM_REAR = SPR_CANALS_BASE + 17,
|
|
|
SPR_SHIPLIFT_X_DOWN_BOTTOM_REAR = SPR_CANALS_BASE + 18,
|
|
|
SPR_SHIPLIFT_X_UP_BOTTOM_REAR = SPR_CANALS_BASE + 19,
|
|
|
SPR_SHIPLIFT_Y_DOWN_BOTTOM_REAR = SPR_CANALS_BASE + 20,
|
|
|
SPR_SHIPLIFT_Y_UP_BOTTOM_FRONT = SPR_CANALS_BASE + 21,
|
|
|
SPR_SHIPLIFT_X_DOWN_BOTTOM_FRONT = SPR_CANALS_BASE + 22,
|
|
|
SPR_SHIPLIFT_X_UP_BOTTOM_FRONT = SPR_CANALS_BASE + 23,
|
|
|
SPR_SHIPLIFT_Y_DOWN_BOTTOM_FRONT = SPR_CANALS_BASE + 24,
|
|
|
SPR_SHIPLIFT_Y_UP_TOP_REAR = SPR_CANALS_BASE + 25,
|
|
|
SPR_SHIPLIFT_X_DOWN_TOP_REAR = SPR_CANALS_BASE + 26,
|
|
|
SPR_SHIPLIFT_X_UP_TOP_REAR = SPR_CANALS_BASE + 27,
|
|
|
SPR_SHIPLIFT_Y_DOWN_TOP_REAR = SPR_CANALS_BASE + 28,
|
|
|
SPR_SHIPLIFT_Y_UP_TOP_FRONT = SPR_CANALS_BASE + 29,
|
|
|
SPR_SHIPLIFT_X_DOWN_TOP_FRONT = SPR_CANALS_BASE + 30,
|
|
|
SPR_SHIPLIFT_X_UP_TOP_FRONT = SPR_CANALS_BASE + 31,
|
|
|
SPR_SHIPLIFT_Y_DOWN_TOP_FRONT = SPR_CANALS_BASE + 32,
|
|
|
|
|
|
/* Sprites for tunnels and bridges */
|
|
|
SPR_TUNNEL_ENTRY_REAR_RAIL = 2365,
|
|
|
SPR_TUNNEL_ENTRY_REAR_MONO = 2373,
|
|
|
SPR_TUNNEL_ENTRY_REAR_MAGLEV = 2381,
|
|
|
SPR_TUNNEL_ENTRY_REAR_ROAD = 2389,
|
|
|
|
|
|
/* Level crossings */
|
|
|
SPR_CROSSING_OFF_X_RAIL = 1370,
|
|
|
SPR_CROSSING_OFF_X_MONO = 1382,
|
|
|
SPR_CROSSING_OFF_X_MAGLEV = 1394,
|
|
|
|
|
|
/* bridge type sprites */
|
|
|
|
|
|
/* Wooden bridge (type 0) */
|
|
|
SPR_BTWDN_RAIL_Y_REAR = 2545,
|
|
|
SPR_BTWDN_RAIL_X_REAR = 2546,
|
|
|
SPR_BTWDN_ROAD_Y_REAR = 2547,
|
|
|
SPR_BTWDN_ROAD_X_REAR = 2548,
|
|
|
SPR_BTWDN_Y_FRONT = 2549,
|
|
|
SPR_BTWDN_X_FRONT = 2550,
|
|
|
SPR_BTWDN_Y_PILLAR = 2551,
|
|
|
SPR_BTWDN_X_PILLAR = 2552,
|
|
|
SPR_BTWDN_MONO_Y_REAR = 4361,
|
|
|
SPR_BTWDN_MONO_X_REAR = 4362,
|
|
|
SPR_BTWDN_MGLV_Y_REAR = 4400,
|
|
|
SPR_BTWDN_MGLV_X_REAR = 4401,
|
|
|
/* ramps */
|
|
|
SPR_BTWDN_ROAD_RAMP_Y_DOWN = 2529,
|
|
|
SPR_BTWDN_ROAD_RAMP_X_DOWN = 2530,
|
|
|
SPR_BTWDN_ROAD_RAMP_X_UP = 2531, //for some weird reason the order is swapped
|
|
|
SPR_BTWDN_ROAD_RAMP_Y_UP = 2532, //between X and Y.
|
|
|
SPR_BTWDN_ROAD_Y_SLOPE_UP = 2533,
|
|
|
SPR_BTWDN_ROAD_X_SLOPE_UP = 2534,
|
|
|
SPR_BTWDN_ROAD_Y_SLOPE_DOWN = 2535,
|
|
|
SPR_BTWDN_ROAD_X_SLOPE_DOWN = 2536,
|
|
|
SPR_BTWDN_RAIL_RAMP_Y_DOWN = 2537,
|
|
|
SPR_BTWDN_RAIL_RAMP_X_DOWN = 2538,
|
|
|
SPR_BTWDN_RAIL_RAMP_X_UP = 2539, //for some weird reason the order is swapped
|
|
|
SPR_BTWDN_RAIL_RAMP_Y_UP = 2540, //between X and Y.
|
|
|
SPR_BTWDN_RAIL_Y_SLOPE_UP = 2541,
|
|
|
SPR_BTWDN_RAIL_X_SLOPE_UP = 2542,
|
|
|
SPR_BTWDN_RAIL_Y_SLOPE_DOWN = 2543,
|
|
|
SPR_BTWDN_RAIL_X_SLOPE_DOWN = 2544,
|
|
|
SPR_BTWDN_MONO_RAMP_Y_DOWN = 4352,
|
|
|
SPR_BTWDN_MONO_RAMP_X_DOWN = 4353,
|
|
|
SPR_BTWDN_MONO_RAMP_X_UP = 4354, //for some weird reason the order is swapped
|
|
|
SPR_BTWDN_MONO_RAMP_Y_UP = 4355, //between X and Y.
|
|
|
SPR_BTWDN_MONO_Y_SLOPE_UP = 4356,
|
|
|
SPR_BTWDN_MONO_X_SLOPE_UP = 4357,
|
|
|
SPR_BTWDN_MONO_Y_SLOPE_DOWN = 4358,
|
|
|
SPR_BTWDN_MONO_X_SLOPE_DOWN = 4359,
|
|
|
SPR_BTWDN_MGLV_RAMP_Y_DOWN = 4392,
|
|
|
SPR_BTWDN_MGLV_RAMP_X_DOWN = 4393,
|
|
|
SPR_BTWDN_MGLV_RAMP_X_UP = 4394, //for some weird reason the order is swapped
|
|
|
SPR_BTWDN_MGLV_RAMP_Y_UP = 4395, //between X and Y.
|
|
|
SPR_BTWDN_MGLV_Y_SLOPE_UP = 4396,
|
|
|
SPR_BTWDN_MGLV_X_SLOPE_UP = 4397,
|
|
|
SPR_BTWDN_MGLV_Y_SLOPE_DOWN = 4398,
|
|
|
SPR_BTWDN_MGLV_X_SLOPE_DOWN = 4399,
|
|
|
|
|
|
/* Steel Girder with arches */
|
|
|
/* BTSGA == Bridge Type Steel Girder Arched */
|
|
|
/* This is bridge type number 2 */
|
|
|
SPR_BTSGA_RAIL_X_REAR = 2499,
|
|
|
SPR_BTSGA_RAIL_Y_REAR = 2500,
|
|
|
SPR_BTSGA_ROAD_X_REAR = 2501,
|
|
|
SPR_BTSGA_ROAD_Y_REAR = 2502,
|
|
|
SPR_BTSGA_X_FRONT = 2503,
|
|
|
SPR_BTSGA_Y_FRONT = 2504,
|
|
|
SPR_BTSGA_X_PILLAR = 2505,
|
|
|
SPR_BTSGA_Y_PILLAR = 2606,
|
|
|
SPR_BTSGA_MONO_X_REAR = 4324,
|
|
|
SPR_BTSGA_MONO_Y_REAR = 4325,
|
|
|
SPR_BTSGA_MGLV_X_REAR = 4364,
|
|
|
SPR_BTSGA_MGLV_Y_REAR = 4365,
|
|
|
|
|
|
/* BTSUS == Suspension bridge */
|
|
|
/* TILE_* denotes the different tiles a suspension bridge
|
|
|
can have
|
|
|
TILE_A and TILE_B are the "beginnings" and "ends" of the
|
|
|
suspension system. they have small rectangluar endcaps
|
|
|
TILE_C and TILE_D look almost identical to TILE_A and
|
|
|
TILE_B, but they do not have the "endcaps". They form the
|
|
|
middle part
|
|
|
TILE_E is a condensed configuration of two pillars. while they
|
|
|
are usually 2 pillars apart, they only have 1 pillar separation
|
|
|
here
|
|
|
TILE_F is an extended configuration of pillars. they are
|
|
|
plugged in when pillars should be 3 tiles apart
|
|
|
|
|
|
*/
|
|
|
SPR_BTSUS_ROAD_Y_REAR_TILE_A = 2453,
|
|
|
SPR_BTSUS_ROAD_Y_REAR_TILE_B = 2454,
|
|
|
SPR_BTSUS_Y_FRONT_TILE_A = 2455,
|
|
|
SPR_BTSUS_Y_FRONT_TILE_B = 2456,
|
|
|
SPR_BTSUS_ROAD_Y_REAR_TILE_D = 2457,
|
|
|
SPR_BTSUS_ROAD_Y_REAR_TILE_C = 2458,
|
|
|
SPR_BTSUS_Y_FRONT_TILE_D = 2459,
|
|
|
SPR_BTSUS_Y_FRONT_TILE_C = 2460,
|
|
|
SPR_BTSUS_ROAD_X_REAR_TILE_A = 2461,
|
|
|
SPR_BTSUS_ROAD_X_REAR_TILE_B = 2462,
|
|
|
SPR_BTSUS_X_FRONT_TILE_A = 2463,
|
|
|
SPR_BTSUS_X_FRONT_TILE_B = 2464,
|
|
|
SPR_BTSUS_ROAD_X_TILE_D = 2465,
|
|
|
SPR_BTSUS_ROAD_X_TILE_C = 2466,
|
|
|
SPR_BTSUS_X_FRONT_TILE_D = 2467,
|
|
|
SPR_BTSUS_X_FRONT_TILE_C = 2468,
|
|
|
SPR_BTSUS_RAIL_Y_REAR_TILE_A = 2469,
|
|
|
SPR_BTSUS_RAIL_Y_REAR_TILE_B = 2470,
|
|
|
SPR_BTSUS_RAIL_Y_REAR_TILE_D = 2471,
|
|
|
SPR_BTSUS_RAIL_Y_REAR_TILE_C = 2472,
|
|
|
SPR_BTSUS_RAIL_X_REAR_TILE_A = 2473,
|
|
|
SPR_BTSUS_RAIL_X_REAR_TILE_B = 2474,
|
|
|
SPR_BTSUS_RAIL_X_REAR_TILE_D = 2475,
|
|
|
SPR_BTSUS_RAIL_X_REAR_TILE_C = 2476,
|
|
|
SPR_BTSUS_Y_PILLAR_TILE_A = 2477,
|
|
|
SPR_BTSUS_Y_PILLAR_TILE_B = 2478,
|
|
|
SPR_BTSUS_Y_PILLAR_TILE_D = 2479,
|
|
|
SPR_BTSUS_Y_PILLAR_TILE_C = 2480,
|
|
|
SPR_BTSUS_X_PILLAR_TILE_A = 2481,
|
|
|
SPR_BTSUS_X_PILLAR_TILE_B = 2482,
|
|
|
SPR_BTSUS_X_PILLAR_TILE_D = 2483,
|
|
|
SPR_BTSUS_X_PILLAR_TILE_C = 2484,
|
|
|
SPR_BTSUS_RAIL_Y_REAR_TILE_E = 2485,
|
|
|
SPR_BTSUS_RAIL_X_REAR_TILE_E = 2486,
|
|
|
SPR_BTSUS_ROAD_Y_REAR_TILE_E = 2487,
|
|
|
SPR_BTSUS_ROAD_X_REAR_TILE_E = 2488,
|
|
|
SPR_BTSUS_Y_FRONT_TILE_E = 2489,
|
|
|
SPR_BTSUS_X_FRONT_TILE_E = 2490,
|
|
|
SPR_BTSUS_Y_PILLAR_TILE_E = 2491,
|
|
|
SPR_BTSUS_X_PILLAR_TILE_E = 2492,
|
|
|
SPR_BTSUS_RAIL_X_REAR_TILE_F = 2493,
|
|
|
SPR_BTSUS_RAIL_Y_REAR_TILE_F = 2494,
|
|
|
SPR_BTSUS_ROAD_X_REAR_TILE_F = 2495,
|
|
|
SPR_BTSUS_ROAD_Y_REAR_TILE_F = 2496,
|
|
|
SPR_BTSUS_Y_FRONT = 2497,
|
|
|
SPR_BTSUS_X_FRONT = 2498,
|
|
|
SPR_BTSUS_MONO_Y_REAR_TILE_A = 4334,
|
|
|
SPR_BTSUS_MONO_Y_REAR_TILE_B = 4335,
|
|
|
SPR_BTSUS_MONO_Y_REAR_TILE_D = 4336,
|
|
|
SPR_BTSUS_MONO_Y_REAR_TILE_C = 4337,
|
|
|
SPR_BTSUS_MONO_X_REAR_TILE_A = 4338,
|
|
|
SPR_BTSUS_MONO_X_REAR_TILE_B = 4339,
|
|
|
SPR_BTSUS_MONO_X_REAR_TILE_D = 4340,
|
|
|
SPR_BTSUS_MONO_X_REAR_TILE_C = 4341,
|
|
|
SPR_BTSUS_MONO_Y_REAR_TILE_E = 4342,
|
|
|
SPR_BTSUS_MONO_X_REAR_TILE_E = 4343,
|
|
|
SPR_BTSUS_MONO_X_REAR_TILE_F = 4344,
|
|
|
SPR_BTSUS_MONO_Y_REAR_TILE_F = 4345,
|
|
|
SPR_BTSUS_MGLV_Y_REAR_TILE_A = 4374,
|
|
|
SPR_BTSUS_MGLV_Y_REAR_TILE_B = 4375,
|
|
|
SPR_BTSUS_MGLV_Y_REAR_TILE_D = 4376,
|
|
|
SPR_BTSUS_MGLV_Y_REAR_TILE_C = 4377,
|
|
|
SPR_BTSUS_MGLV_X_REAR_TILE_A = 4378,
|
|
|
SPR_BTSUS_MGLV_X_REAR_TILE_B = 4379,
|
|
|
SPR_BTSUS_MGLV_X_REAR_TILE_D = 4380,
|
|
|
SPR_BTSUS_MGLV_X_REAR_TILE_C = 4381,
|
|
|
SPR_BTSUS_MGLV_Y_REAR_TILE_E = 4382,
|
|
|
SPR_BTSUS_MGLV_X_REAR_TILE_E = 4383,
|
|
|
SPR_BTSUS_MGLV_X_REAR_TILE_F = 4384,
|
|
|
SPR_BTSUS_MGLV_Y_REAR_TILE_F = 4385,
|
|
|
|
|
|
/* cantilever bridges */
|
|
|
/* They have three different kinds of tiles:
|
|
|
END(ing), MID(dle), BEG(gining)
|
|
|
*/
|
|
|
SPR_BTCAN_RAIL_X_BEG = 2507,
|
|
|
SPR_BTCAN_RAIL_X_MID = 2508,
|
|
|
SPR_BTCAN_RAIL_X_END = 2509,
|
|
|
SPR_BTCAN_RAIL_Y_END = 2510,
|
|
|
SPR_BTCAN_RAIL_Y_MID = 2511,
|
|
|
SPR_BTCAN_RAIL_Y_BEG = 2512,
|
|
|
SPR_BTCAN_ROAD_X_BEG = 2513,
|
|
|
SPR_BTCAN_ROAD_X_MID = 2514,
|
|
|
SPR_BTCAN_ROAD_X_END = 2515,
|
|
|
SPR_BTCAN_ROAD_Y_END = 2516,
|
|
|
SPR_BTCAN_ROAD_Y_MID = 2517,
|
|
|
SPR_BTCAN_ROAD_Y_BEG = 2518,
|
|
|
SPR_BTCAN_X_FRONT_BEG = 2519,
|
|
|
SPR_BTCAN_X_FRONT_MID = 2520,
|
|
|
SPR_BTCAN_X_FRONT_END = 2521,
|
|
|
SPR_BTCAN_Y_FRONT_END = 2522,
|
|
|
SPR_BTCAN_Y_FRONT_MID = 2523,
|
|
|
SPR_BTCAN_Y_FRONT_BEG = 2524,
|
|
|
SPR_BTCAN_X_PILLAR_BEG = 2525,
|
|
|
SPR_BTCAN_X_PILLAR_MID = 2526,
|
|
|
SPR_BTCAN_Y_PILLAR_MID = 2527,
|
|
|
SPR_BTCAN_Y_PILLAR_BEG = 2528,
|
|
|
SPR_BTCAN_MONO_X_BEG = 4346,
|
|
|
SPR_BTCAN_MONO_X_MID = 4347,
|
|
|
SPR_BTCAN_MONO_X_END = 4348,
|
|
|
SPR_BTCAN_MONO_Y_END = 4349,
|
|
|
SPR_BTCAN_MONO_Y_MID = 4350,
|
|
|
SPR_BTCAN_MONO_Y_BEG = 4351,
|
|
|
SPR_BTCAN_MGLV_X_BEG = 4386,
|
|
|
SPR_BTCAN_MGLV_X_MID = 4387,
|
|
|
SPR_BTCAN_MGLV_X_END = 4388,
|
|
|
SPR_BTCAN_MGLV_Y_END = 4389,
|
|
|
SPR_BTCAN_MGLV_Y_MID = 4390,
|
|
|
SPR_BTCAN_MGLV_Y_BEG = 4391,
|
|
|
|
|
|
/* little concrete bridge */
|
|
|
SPR_BTCON_RAIL_X = 2493,
|
|
|
SPR_BTCON_RAIL_Y = 2494,
|
|
|
SPR_BTCON_ROAD_X = 2495,
|
|
|
SPR_BTCON_ROAD_Y = 2496,
|
|
|
SPR_BTCON_X_FRONT = 2497,
|
|
|
SPR_BTCON_Y_FRONT = 2498,
|
|
|
SPR_BTCON_X_PILLAR = 2505,
|
|
|
SPR_BTCON_Y_PILLAR = 2506,
|
|
|
SPR_BTCON_MONO_X = 4344,
|
|
|
SPR_BTCON_MONO_Y = 4345,
|
|
|
SPR_BTCON_MGLV_X = 4384,
|
|
|
SPR_BTCON_MGLV_Y = 4385,
|
|
|
|
|
|
/* little steel girder bridge */
|
|
|
SPR_BTGIR_RAIL_X = 2553,
|
|
|
SPR_BTGIR_RAIL_Y = 2554,
|
|
|
SPR_BTGIR_ROAD_X = 2555,
|
|
|
SPR_BTGIR_ROAD_Y = 2556,
|
|
|
SPR_BTGIR_X_FRONT = 2557,
|
|
|
SPR_BTGIR_Y_FRONT = 2558,
|
|
|
SPR_BTGIR_X_PILLAR = 2505,
|
|
|
SPR_BTGIR_Y_PILLAR = 2506,
|
|
|
SPR_BTGIR_MONO_X = 4362,
|
|
|
SPR_BTGIR_MONO_Y = 4363,
|
|
|
SPR_BTGIR_MGLV_X = 4402,
|
|
|
SPR_BTGIR_MGLV_Y = 4403,
|
|
|
|
|
|
/* tubular bridges */
|
|
|
/* tubular bridges have 3 kinds of tiles:
|
|
|
a start tile (with only half a tube on the far side, marked _BEG
|
|
|
a middle tile (full tunnel), marked _MID
|
|
|
and an end tile (half a tube on the near side, maked _END
|
|
|
*/
|
|
|
SPR_BTTUB_X_FRONT_BEG = 2559,
|
|
|
SPR_BTTUB_X_FRONT_MID = 2660,
|
|
|
SPR_BTTUB_X_FRONT_END = 2561,
|
|
|
SPR_BTTUB_Y_FRONT_END = 2562,
|
|
|
SPR_BTTUB_Y_FRONT_MID = 2563,
|
|
|
SPR_BTTUB_Y_FRONT_BEG = 2564,
|
|
|
SPR_BTTUB_X_RAIL_REAR_BEG = 2569,
|
|
|
SPR_BTTUB_X_RAIL_REAR_MID = 2570,
|
|
|
SPR_BTTUB_X_RAIL_REAR_END = 2571,
|
|
|
|
|
|
|
|
|
/* ramps (for all bridges except wood and tubular?)*/
|
|
|
SPR_BTGEN_RAIL_X_SLOPE_DOWN = 2437,
|
|
|
SPR_BTGEN_RAIL_X_SLOPE_UP = 2438,
|
|
|
SPR_BTGEN_RAIL_Y_SLOPE_DOWN = 2439,
|
|
|
SPR_BTGEN_RAIL_Y_SLOPE_UP = 2440,
|
|
|
SPR_BTGEN_RAIL_RAMP_X_UP = 2441,
|
|
|
SPR_BTGEN_RAIL_RAMP_X_DOWN = 2442,
|
|
|
SPR_BTGEN_RAIL_RAMP_Y_UP = 2443,
|
|
|
SPR_BTGEN_RAIL_RAMP_Y_DOWN = 2444,
|
|
|
SPR_BTGEN_ROAD_X_SLOPE_DOWN = 2445,
|
|
|
SPR_BTGEN_ROAD_X_SLOPE_UP = 2446,
|
|
|
SPR_BTGEN_ROAD_Y_SLOPE_DOWN = 2447,
|
|
|
SPR_BTGEN_ROAD_Y_SLOPE_UP = 2448,
|
|
|
SPR_BTGEN_ROAD_RAMP_X_UP = 2449,
|
|
|
SPR_BTGEN_ROAD_RAMP_X_DOWN = 2450,
|
|
|
SPR_BTGEN_ROAD_RAMP_Y_UP = 2451,
|
|
|
SPR_BTGEN_ROAD_RAMP_Y_DOWN = 2452,
|
|
|
SPR_BTGEN_MONO_X_SLOPE_DOWN = 4326,
|
|
|
SPR_BTGEN_MONO_X_SLOPE_UP = 4327,
|
|
|
SPR_BTGEN_MONO_Y_SLOPE_DOWN = 4328,
|
|
|
SPR_BTGEN_MONO_Y_SLOPE_UP = 4329,
|
|
|
SPR_BTGEN_MONO_RAMP_X_UP = 4330,
|
|
|
SPR_BTGEN_MONO_RAMP_X_DOWN = 4331,
|
|
|
SPR_BTGEN_MONO_RAMP_Y_UP = 4332,
|
|
|
SPR_BTGEN_MONO_RAMP_Y_DOWN = 4333,
|
|
|
SPR_BTGEN_MGLV_X_SLOPE_DOWN = 4366,
|
|
|
SPR_BTGEN_MGLV_X_SLOPE_UP = 4367,
|
|
|
SPR_BTGEN_MGLV_Y_SLOPE_DOWN = 4368,
|
|
|
SPR_BTGEN_MGLV_Y_SLOPE_UP = 4369,
|
|
|
SPR_BTGEN_MGLV_RAMP_X_UP = 4370,
|
|
|
SPR_BTGEN_MGLV_RAMP_X_DOWN = 4371,
|
|
|
SPR_BTGEN_MGLV_RAMP_Y_UP = 4372,
|
|
|
SPR_BTGEN_MGLV_RAMP_Y_DOWN = 4373,
|
|
|
|
|
|
|
|
|
/* Vehicle sprite-flags (red/green) */
|
|
|
SPR_FLAG_VEH_STOPPED = 3090,
|
|
|
SPR_FLAG_VEH_RUNNING = 3091,
|
|
|
|
|
|
/* Rotor sprite numbers */
|
|
|
SPR_ROTOR_STOPPED = 3901,
|
|
|
SPR_ROTOR_MOVING_1 = 3902,
|
|
|
SPR_ROTOR_MOVING_3 = 3904,
|
|
|
|
|
|
/* Town/house sprites */
|
|
|
SPR_LIFT = 1443,
|
|
|
|
|
|
/* Easter egg/disaster sprites */
|
|
|
SPR_BLIMP = 3905, // Zeppelin
|
|
|
SPR_BLIMP_CRASHING = 3906,
|
|
|
SPR_BLIMP_CRASHED = 3907,
|
|
|
SPR_UFO_SMALL_SCOUT = 3908, // XCOM - UFO Defense
|
|
|
SPR_UFO_SMALL_SCOUT_DARKER = 3909,
|
|
|
SPR_SUB_SMALL_NE = 3910, // Silent Service
|
|
|
SPR_SUB_SMALL_SE = 3911,
|
|
|
SPR_SUB_SMALL_SW = 3912,
|
|
|
SPR_SUB_SMALL_NW = 3913,
|
|
|
SPR_SUB_LARGE_NE = 3914,
|
|
|
SPR_SUB_LARGE_SE = 3915,
|
|
|
SPR_SUB_LARGE_SW = 3916,
|
|
|
SPR_SUB_LARGE_NW = 3917,
|
|
|
SPR_F_15 = 3918, // F-15 Strike Eagle
|
|
|
SPR_F_15_FIRING = 3919,
|
|
|
SPR_UFO_HARVESTER = 3920, // XCOM - UFO Defense
|
|
|
SPR_XCOM_SKYRANGER = 3921,
|
|
|
SPR_AH_64A = 3922, // Gunship
|
|
|
SPR_AH_64A_FIRING = 3923,
|
|
|
|
|
|
/* main_gui.c */
|
|
|
SPR_IMG_TERRAFORM_UP = 694,
|
|
|
SPR_IMG_TERRAFORM_DOWN = 695,
|
|
|
SPR_IMG_DYNAMITE = 703,
|
|
|
SPR_IMG_ROCKS = 4084,
|
|
|
SPR_IMG_LIGHTHOUSE_DESERT = 4085, // XXX - is Desert image on the desert-climate
|
|
|
SPR_IMG_TRANSMITTER = 4086,
|
|
|
SPR_IMG_LEVEL_LAND = SPR_OPENTTD_BASE + 68,
|
|
|
SPR_IMG_BUILD_CANAL = SPR_OPENTTD_BASE + 65,
|
|
|
SPR_IMG_BUILD_LOCK = SPR_CANALS_BASE + 69,
|
|
|
SPR_IMG_PLACE_SIGN = SPR_OPENTTD_BASE + 70,
|
|
|
SPR_IMG_PAUSE = 726,
|
|
|
SPR_IMG_FASTFORWARD = SPR_OPENTTD_BASE + 57,
|
|
|
SPR_IMG_SETTINGS = 751,
|
|
|
SPR_IMG_SAVE = 724,
|
|
|
SPR_IMG_SMALLMAP = 708,
|
|
|
SPR_IMG_TOWN = 4077,
|
|
|
SPR_IMG_SUBSIDIES = 679,
|
|
|
SPR_IMG_COMPANY_LIST = 1299,
|
|
|
SPR_IMG_COMPANY_FINANCE = 737,
|
|
|
SPR_IMG_COMPANY_GENERAL = 743,
|
|
|
SPR_IMG_GRAPHS = 745,
|
|
|
SPR_IMG_COMPANY_LEAGUE = 684,
|
|
|
SPR_IMG_SHOW_COUNTOURS = 738,
|
|
|
SPR_IMG_SHOW_VEHICLES = 739,
|
|
|
SPR_IMG_SHOW_ROUTES = 740,
|
|
|
SPR_IMG_INDUSTRY = 741,
|
|
|
SPR_IMG_PLANTTREES = 742,
|
|
|
SPR_IMG_TRAINLIST = 731,
|
|
|
SPR_IMG_TRUCKLIST = 732,
|
|
|
SPR_IMG_SHIPLIST = 733,
|
|
|
SPR_IMG_AIRPLANESLIST = 734,
|
|
|
SPR_IMG_ZOOMIN = 735,
|
|
|
SPR_IMG_ZOOMOUT = 736,
|
|
|
SPR_IMG_BUILDRAIL = 727,
|
|
|
SPR_IMG_BUILDROAD = 728,
|
|
|
SPR_IMG_BUILDWATER = 729,
|
|
|
SPR_IMG_BUILDAIR = 730,
|
|
|
SPR_IMG_LANDSCAPING = 4083,
|
|
|
SPR_IMG_MUSIC = 713,
|
|
|
SPR_IMG_MESSAGES = 680,
|
|
|
SPR_IMG_QUERY = 723,
|
|
|
SPR_IMG_SIGN = 4082,
|
|
|
SPR_IMG_BUY_LAND = 4791,
|
|
|
|
|
|
/* OPEN TRANSPORT TYCOON in gamescreen */
|
|
|
SPR_OTTD_O = 4842,
|
|
|
SPR_OTTD_P = 4841,
|
|
|
SPR_OTTD_E = SPR_OPENTTD_BASE + 16,
|
|
|
SPR_OTTD_D = SPR_OPENTTD_BASE + 17,
|
|
|
SPR_OTTD_N = 4839,
|
|
|
SPR_OTTD_T = 4836,
|
|
|
SPR_OTTD_R = 4837,
|
|
|
SPR_OTTD_A = 4838,
|
|
|
SPR_OTTD_S = 4840,
|
|
|
SPR_OTTD_Y = 4843,
|
|
|
SPR_OTTD_C = 4844,
|
|
|
|
|
|
SPR_HIGHSCORE_CHART_BEGIN = 4804,
|
|
|
SPR_TYCOON_IMG1_BEGIN = 4814,
|
|
|
SPR_TYCOON_IMG2_BEGIN = 4824,
|
|
|
|
|
|
/* Effect vehciles */
|
|
|
SPR_BULLDOZER_NE = 1416,
|
|
|
SPR_BULLDOZER_SE = 1417,
|
|
|
SPR_BULLDOZER_SW = 1418,
|
|
|
SPR_BULLDOZER_NW = 1419,
|
|
|
|
|
|
SPR_SMOKE_0 = 2040,
|
|
|
SPR_SMOKE_1 = 2041,
|
|
|
SPR_SMOKE_2 = 2042,
|
|
|
SPR_SMOKE_3 = 2043,
|
|
|
SPR_SMOKE_4 = 2044,
|
|
|
|
|
|
SPR_DIESEL_SMOKE_0 = 3073,
|
|
|
SPR_DIESEL_SMOKE_1 = 3074,
|
|
|
SPR_DIESEL_SMOKE_2 = 3075,
|
|
|
SPR_DIESEL_SMOKE_3 = 3076,
|
|
|
SPR_DIESEL_SMOKE_4 = 3077,
|
|
|
SPR_DIESEL_SMOKE_5 = 3078,
|
|
|
|
|
|
SPR_STEAM_SMOKE_0 = 3079,
|
|
|
SPR_STEAM_SMOKE_1 = 3080,
|
|
|
SPR_STEAM_SMOKE_2 = 3081,
|
|
|
SPR_STEAM_SMOKE_3 = 3082,
|
|
|
SPR_STEAM_SMOKE_4 = 3083,
|
|
|
|
|
|
SPR_ELECTRIC_SPARK_0 = 3084,
|
|
|
SPR_ELECTRIC_SPARK_1 = 3085,
|
|
|
SPR_ELECTRIC_SPARK_2 = 3086,
|
|
|
SPR_ELECTRIC_SPARK_3 = 3087,
|
|
|
SPR_ELECTRIC_SPARK_4 = 3088,
|
|
|
SPR_ELECTRIC_SPARK_5 = 3089,
|
|
|
|
|
|
SPR_CHIMNEY_SMOKE_0 = 3701,
|
|
|
SPR_CHIMNEY_SMOKE_1 = 3702,
|
|
|
SPR_CHIMNEY_SMOKE_2 = 3703,
|
|
|
SPR_CHIMNEY_SMOKE_3 = 3704,
|
|
|
SPR_CHIMNEY_SMOKE_4 = 3705,
|
|
|
SPR_CHIMNEY_SMOKE_5 = 3706,
|
|
|
SPR_CHIMNEY_SMOKE_6 = 3707,
|
|
|
SPR_CHIMNEY_SMOKE_7 = 3708,
|
|
|
|
|
|
SPR_EXPLOSION_LARGE_0 = 3709,
|
|
|
SPR_EXPLOSION_LARGE_1 = 3710,
|
|
|
SPR_EXPLOSION_LARGE_2 = 3711,
|
|
|
SPR_EXPLOSION_LARGE_3 = 3712,
|
|
|
SPR_EXPLOSION_LARGE_4 = 3713,
|
|
|
SPR_EXPLOSION_LARGE_5 = 3714,
|
|
|
SPR_EXPLOSION_LARGE_6 = 3715,
|
|
|
SPR_EXPLOSION_LARGE_7 = 3716,
|
|
|
SPR_EXPLOSION_LARGE_8 = 3717,
|
|
|
SPR_EXPLOSION_LARGE_9 = 3718,
|
|
|
SPR_EXPLOSION_LARGE_A = 3719,
|
|
|
SPR_EXPLOSION_LARGE_B = 3720,
|
|
|
SPR_EXPLOSION_LARGE_C = 3721,
|
|
|
SPR_EXPLOSION_LARGE_D = 3722,
|
|
|
SPR_EXPLOSION_LARGE_E = 3723,
|
|
|
SPR_EXPLOSION_LARGE_F = 3724,
|
|
|
|
|
|
SPR_EXPLOSION_SMALL_0 = 3725,
|
|
|
SPR_EXPLOSION_SMALL_1 = 3726,
|
|
|
SPR_EXPLOSION_SMALL_2 = 3727,
|
|
|
SPR_EXPLOSION_SMALL_3 = 3728,
|
|
|
SPR_EXPLOSION_SMALL_4 = 3729,
|
|
|
SPR_EXPLOSION_SMALL_5 = 3730,
|
|
|
SPR_EXPLOSION_SMALL_6 = 3731,
|
|
|
SPR_EXPLOSION_SMALL_7 = 3732,
|
|
|
SPR_EXPLOSION_SMALL_8 = 3733,
|
|
|
SPR_EXPLOSION_SMALL_9 = 3734,
|
|
|
SPR_EXPLOSION_SMALL_A = 3735,
|
|
|
SPR_EXPLOSION_SMALL_B = 3736,
|
|
|
|
|
|
SPR_BREAKDOWN_SMOKE_0 = 3737,
|
|
|
SPR_BREAKDOWN_SMOKE_1 = 3738,
|
|
|
SPR_BREAKDOWN_SMOKE_2 = 3739,
|
|
|
SPR_BREAKDOWN_SMOKE_3 = 3740,
|
|
|
|
|
|
SPR_BUBBLE_0 = 4748,
|
|
|
SPR_BUBBLE_1 = 4749,
|
|
|
SPR_BUBBLE_2 = 4750,
|
|
|
SPR_BUBBLE_GENERATE_0 = 4751,
|
|
|
SPR_BUBBLE_GENERATE_1 = 4752,
|
|
|
SPR_BUBBLE_GENERATE_2 = 4753,
|
|
|
SPR_BUBBLE_GENERATE_3 = 4754,
|
|
|
SPR_BUBBLE_BURST_0 = 4755,
|
|
|
SPR_BUBBLE_BURST_1 = 4756,
|
|
|
SPR_BUBBLE_BURST_2 = 4757,
|
|
|
SPR_BUBBLE_ABSORB_0 = 4758,
|
|
|
SPR_BUBBLE_ABSORB_1 = 4759,
|
|
|
SPR_BUBBLE_ABSORB_2 = 4760,
|
|
|
SPR_BUBBLE_ABSORB_3 = 4761,
|
|
|
SPR_BUBBLE_ABSORB_4 = 4762,
|
|
|
|
|
|
/* road_gui.c */
|
|
|
SPR_IMG_ROAD_NW = 1309,
|
|
|
SPR_IMG_ROAD_NE = 1310,
|
|
|
SPR_IMG_ROAD_DEPOT = 1295,
|
|
|
SPR_IMG_BUS_STATION = 749,
|
|
|
SPR_IMG_TRUCK_BAY = 750,
|
|
|
SPR_IMG_BRIDGE = 2594,
|
|
|
SPR_IMG_ROAD_TUNNEL = 2429,
|
|
|
SPR_IMG_REMOVE = 714
|
|
|
};
|
|
|
|
|
|
/** Cursor sprite numbers */
|
|
|
typedef enum CursorSprites {
|
|
|
/* Terraform */
|
|
|
/* Cursors */
|
|
|
SPR_CURSOR_MOUSE = 0,
|
|
|
SPR_CURSOR_ZZZ = 1,
|
|
|
SPR_CURSOR_BOUY = 702,
|
|
|
SPR_CURSOR_QUERY = 719,
|
|
|
SPR_CURSOR_HQ = 720,
|
|
|
SPR_CURSOR_SHIP_DEPOT = 721,
|
|
|
SPR_CURSOR_SIGN = 722,
|
|
|
|
|
|
SPR_CURSOR_TREE = 2010,
|
|
|
SPR_CURSOR_BUY_LAND = 4792,
|
|
|
SPR_CURSOR_LEVEL_LAND = SPR_OPENTTD_BASE + 69,
|
|
|
|
|
|
SPR_CURSOR_TOWN = 4080,
|
|
|
SPR_CURSOR_INDUSTRY = 4081,
|
|
|
SPR_CURSOR_ROCKY_AREA = 4087,
|
|
|
SPR_CURSOR_LIGHTHOUSE = 4088,
|
|
|
SPR_CURSOR_TRANSMITTER = 4089,
|
|
|
|
|
|
/* airport cursors */
|
|
|
SPR_CURSOR_AIRPORT = 2724,
|
|
|
|
|
|
/* dock cursors */
|
|
|
SPR_CURSOR_DOCK = 3668,
|
|
|
SPR_CURSOR_CANAL = SPR_OPENTTD_BASE + 11,
|
|
|
SPR_CURSOR_LOCK = SPR_OPENTTD_BASE + 64,
|
|
|
|
|
|
/* shared road & rail cursors */
|
|
|
SPR_CURSOR_BRIDGE = 2593,
|
|
|
|
|
|
/* rail cursors */
|
|
|
SPR_CURSOR_NS_TRACK = 1263,
|
|
|
SPR_CURSOR_SWNE_TRACK = 1264,
|
|
|
SPR_CURSOR_EW_TRACK = 1265,
|
|
|
SPR_CURSOR_NWSE_TRACK = 1266,
|
|
|
|
|
|
SPR_CURSOR_NS_MONO = 1267,
|
|
|
SPR_CURSOR_SWNE_MONO = 1268,
|
|
|
SPR_CURSOR_EW_MONO = 1269,
|
|
|
SPR_CURSOR_NWSE_MONO = 1270,
|
|
|
|
|
|
SPR_CURSOR_NS_MAGLEV = 1271,
|
|
|
SPR_CURSOR_SWNE_MAGLEV = 1272,
|
|
|
SPR_CURSOR_EW_MAGLEV = 1273,
|
|
|
SPR_CURSOR_NWSE_MAGLEV = 1274,
|
|
|
|
|
|
SPR_CURSOR_RAIL_DEPOT = 1296,
|
|
|
SPR_CURSOR_RAIL_STATION = 1300,
|
|
|
|
|
|
SPR_CURSOR_TUNNEL_RAIL = 2434,
|
|
|
SPR_CURSOR_TUNNEL_MONO = 2435,
|
|
|
SPR_CURSOR_TUNNEL_MAGLEV = 2436,
|
|
|
|
|
|
SPR_CURSOR_AUTORAIL = SPR_OPENTTD_BASE + 4,
|
|
|
SPR_CURSOR_AUTOMONO = SPR_OPENTTD_BASE + 5,
|
|
|
SPR_CURSOR_AUTOMAGLEV = SPR_OPENTTD_BASE + 6,
|
|
|
|
|
|
SPR_CURSOR_WAYPOINT = SPR_OPENTTD_BASE + 7,
|
|
|
SPR_CURSOR_MONO_DEPOT = SPR_OPENTTD_BASE + 14,
|
|
|
SPR_CURSOR_MAGLEV_DEPOT = SPR_OPENTTD_BASE + 15,
|
|
|
|
|
|
SPR_CURSOR_CONVERT_RAIL = SPR_OPENTTD_BASE + 26,
|
|
|
SPR_CURSOR_CONVERT_MONO = SPR_OPENTTD_BASE + 28,
|
|
|
SPR_CURSOR_CONVERT_MAGLEV = SPR_OPENTTD_BASE + 30,
|
|
|
|
|
|
/* road cursors */
|
|
|
SPR_CURSOR_ROAD_NESW = 1311,
|
|
|
SPR_CURSOR_ROAD_NWSE = 1312,
|
|
|
|
|
|
SPR_CURSOR_ROAD_DEPOT = 1297,
|
|
|
SPR_CURSOR_BUS_STATION = 2725,
|
|
|
SPR_CURSOR_TRUCK_STATION = 2726,
|
|
|
SPR_CURSOR_ROAD_TUNNEL = 2433,
|
|
|
|
|
|
SPR_CURSOR_CLONE = SPR_OPENTTD_BASE + 100,
|
|
|
} CursorSprite;
|
|
|
|
|
|
/// Animation macro in table/animcursors.h (_animcursors[])
|
|
|
enum AnimCursors {
|
|
|
ANIMCURSOR_DEMOLISH = -1, ///< 704 - 707 - demolish dynamite
|
|
|
ANIMCURSOR_LOWERLAND = -2, ///< 699 - 701 - lower land tool
|
|
|
ANIMCURSOR_RAISELAND = -3, ///< 696 - 698 - raise land tool
|
|
|
ANIMCURSOR_PICKSTATION = -4, ///< 716 - 718 - goto-order icon
|
|
|
ANIMCURSOR_BUILDSIGNALS = -5, ///< 1292 - 1293 - build signal
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* Bitmask setup. For the graphics system, 32 bits are used to define
|
|
|
* the sprite to be displayed. This variable contains various information:<p>
|
|
|
* <ul><li> SPRITE_WIDTH is the number of bits used for the actual sprite to be displayed.
|
|
|
* This always starts at bit 0.</li>
|
|
|
* <li> TRANSPARENT_BIT is the bit number which toggles sprite transparency</li>
|
|
|
* <li> RECOLOR_BIT toggles the recoloring system</li>
|
|
|
* <li> PALETTE_SPRITE_WIDTH and PALETTE_SPRITE_START determine the position and number of
|
|
|
* bits used for the recoloring process. For transparency, it must be 0x322.</li>
|
|
|
*/
|
|
|
enum SpriteSetup {
|
|
|
TRANSPARENT_BIT = 31, ///< toggles transparency in the sprite
|
|
|
RECOLOR_BIT = 15, ///< toggles recoloring in the sprite
|
|
|
PALETTE_SPRITE_START = 16, ///< number of the first bit of the sprite containing the recolor palette
|
|
|
PALETTE_SPRITE_WIDTH = 11, ///< number of bits of the sprite containing the recolor palette
|
|
|
SPRITE_WIDTH = 14, ///< number of bits for the sprite number
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
these masks change the colors of the palette for a sprite.
|
|
|
Apart from this bit, a sprite number is needed to define
|
|
|
the palette used for recoloring. This palette is stored
|
|
|
in the bits marked by PALETTE_SPRITE_MASK.
|
|
|
@note Do not modify this enum. Alter SpriteSetup instead
|
|
|
@see SpriteSetup
|
|
|
*/
|
|
|
enum Modifiers {
|
|
|
///when a sprite is to be displayed transparently, this bit needs to be set.
|
|
|
PALETTE_MODIFIER_TRANSPARENT = 1 << TRANSPARENT_BIT,
|
|
|
///this bit is set when a recoloring process is in action
|
|
|
PALETTE_MODIFIER_COLOR = 1 << RECOLOR_BIT,
|
|
|
|
|
|
//This is used for the GfxFillRect function
|
|
|
///Used to draw a "grey out" rectangle. @see GfxFillRect
|
|
|
PALETTE_MODIFIER_GREYOUT = 1 << TRANSPARENT_BIT,
|
|
|
///Set when a colortable mode is used. @see GfxFillRect
|
|
|
USE_COLORTABLE = 1 << RECOLOR_BIT,
|
|
|
};
|
|
|
|
|
|
/** Masks needed for sprite operations.
|
|
|
* @note Do not modify this enum. Alter SpriteSetup instead
|
|
|
* @see SpriteSetup
|
|
|
*/
|
|
|
enum SpriteMasks {
|
|
|
///Maximum number of sprites that can be loaded at a given time.
|
|
|
MAX_SPRITES = (1 << SPRITE_WIDTH) - 1,
|
|
|
///The mask to for the main sprite
|
|
|
SPRITE_MASK = MAX_SPRITES,
|
|
|
///The mask for the auxiliary sprite (the one that takes care of recoloring)
|
|
|
PALETTE_SPRITE_MASK = ((1 << PALETTE_SPRITE_WIDTH) - 1) << PALETTE_SPRITE_START,
|
|
|
///Mask for the auxiliary sprites if it is locate in the LSBs
|
|
|
COLORTABLE_MASK = (1 << PALETTE_SPRITE_WIDTH) - 1
|
|
|
};
|
|
|
|
|
|
assert_compile( (1 << TRANSPARENT_BIT & SPRITE_MASK) == 0 );
|
|
|
assert_compile( (1 << RECOLOR_BIT & SPRITE_MASK) == 0 );
|
|
|
assert_compile( TRANSPARENT_BIT != RECOLOR_BIT );
|
|
|
assert_compile( (1 << TRANSPARENT_BIT & PALETTE_SPRITE_MASK) == 0);
|
|
|
assert_compile( (1 << RECOLOR_BIT & PALETTE_SPRITE_MASK) == 0 );
|
|
|
assert_compile( (PALETTE_SPRITE_MASK & SPRITE_MASK) == 0 );
|
|
|
assert_compile( SPRITE_WIDTH + PALETTE_SPRITE_WIDTH <= 30 );
|
|
|
|
|
|
#define PALETTE_RECOLOR_SPRITE(a) (a << PALETTE_SPRITE_START | PALETTE_MODIFIER_COLOR)
|
|
|
enum PaletteSprites {
|
|
|
//note: these numbers are already the modified once the renderer needs.
|
|
|
//the actual sprite number is the upper 16 bits of the number
|
|
|
|
|
|
///Here a puslating red tile is drawn if you try to build a wrong tunnel or raise/lower land where it is not possible
|
|
|
PALETTE_TILE_RED_PULSATING = PALETTE_RECOLOR_SPRITE(0x303),
|
|
|
///makes a square red. is used when removing rails or other stuff
|
|
|
PALETTE_SEL_TILE_RED = PALETTE_RECOLOR_SPRITE(0x304),
|
|
|
///This draws a blueish square (catchment areas for example)
|
|
|
PALETTE_SEL_TILE_BLUE = PALETTE_RECOLOR_SPRITE(0x305),
|
|
|
//0x306 is a real sprite (the little dot you get when you try to raise/lower a corner of the map
|
|
|
//here the color switches begin
|
|
|
//use this if you add stuff to the value, so that the resulting color
|
|
|
//is not a fixed value.
|
|
|
//NOTE THAT THE SWITCH 0x8000 is NOT present in _TO_COLORS yet!
|
|
|
PALETTE_TO_COLORS = 0x307 << PALETTE_SPRITE_START,
|
|
|
PALETTE_TO_DARK_BLUE = PALETTE_RECOLOR_SPRITE(0x307),
|
|
|
PALETTE_TO_PALE_GREEN = PALETTE_RECOLOR_SPRITE(0x308),
|
|
|
PALETTE_TO_PINK = PALETTE_RECOLOR_SPRITE(0x309),
|
|
|
PALETTE_TO_YELLOW = PALETTE_RECOLOR_SPRITE(0x30A),
|
|
|
PALETTE_TO_RED = PALETTE_RECOLOR_SPRITE(0x30B),
|
|
|
PALETTE_TO_LIGHT_BLUE = PALETTE_RECOLOR_SPRITE(0x30C),
|
|
|
PALETTE_TO_GREEN = PALETTE_RECOLOR_SPRITE(0x30D),
|
|
|
PALETTE_TO_DARK_GREEN = PALETTE_RECOLOR_SPRITE(0x30E),
|
|
|
PALETTE_TO_BLUE = PALETTE_RECOLOR_SPRITE(0x30F),
|
|
|
PALETTE_TO_CREAM = PALETTE_RECOLOR_SPRITE(0x310),
|
|
|
//maybe don't use as player color because it doesn't display in the graphs?
|
|
|
PALETTE_TO_MAUVE = PALETTE_RECOLOR_SPRITE(0x311),
|
|
|
PALETTE_TO_PURPLE = PALETTE_RECOLOR_SPRITE(0x312),
|
|
|
PALETTE_TO_ORANGE = PALETTE_RECOLOR_SPRITE(0x313),
|
|
|
PALETTE_TO_BROWN = PALETTE_RECOLOR_SPRITE(0x314),
|
|
|
PALETTE_TO_GREY = PALETTE_RECOLOR_SPRITE(0x315),
|
|
|
PALETTE_TO_WHITE = PALETTE_RECOLOR_SPRITE(0x316),
|
|
|
//sets color to bare land stuff, for rail and road (and crossings)
|
|
|
PALETTE_TO_BARE_LAND = PALETTE_RECOLOR_SPRITE(0x317),
|
|
|
//XXX is 318-31A really not used?
|
|
|
//XXX FIXME I dunno yet what this is
|
|
|
PALETTE_31B = PALETTE_RECOLOR_SPRITE(0x31B),
|
|
|
//structure color to something brownish (for the cantilever bridges for example)
|
|
|
PALETTE_TO_STRUCT_BROWN = PALETTE_RECOLOR_SPRITE(0x31C),
|
|
|
PALETTE_31D = PALETTE_RECOLOR_SPRITE(0x31D), //XXX FIXME Don't know this either
|
|
|
//sets bridge or structure to red, little concrete one and cantilever use this one for example
|
|
|
PALETTE_TO_STRUCT_RED = PALETTE_RECOLOR_SPRITE(0x31E),
|
|
|
//XXX 31F
|
|
|
PALETTE_TO_STRUCT_CONCRETE = PALETTE_RECOLOR_SPRITE(0x320), //Sets the suspension bridge to concrete, also other strucutures use it
|
|
|
PALETTE_TO_STRUCT_YELLOW = PALETTE_RECOLOR_SPRITE(0x321), //Sets the bridge color to yellow (suspension and tubular)
|
|
|
PALETTE_TO_TRANSPARENT = 0x322 << PALETTE_SPRITE_START | PALETTE_MODIFIER_TRANSPARENT, //This sets the sprite to transparent
|
|
|
//This is used for changing the tubular bridges to the silicon display, or some grayish color
|
|
|
PALETTE_TO_STRUCT_GREY = PALETTE_RECOLOR_SPRITE(0x323),
|
|
|
PALETTE_CRASH = PALETTE_RECOLOR_SPRITE(0x324), //this changes stuff to the "crash color"
|
|
|
//XXX another place where structures are colored.
|
|
|
//I'm not sure which colors these are
|
|
|
PALETTE_59E = PALETTE_RECOLOR_SPRITE(0x59E),
|
|
|
PALETTE_59F = PALETTE_RECOLOR_SPRITE(0x59F),
|
|
|
};
|
|
|
#undef PALETTE_RECOLOR_SPRITE
|
|
|
|
|
|
#define MAKE_TRANSPARENT(img) (img = (img & SPRITE_MASK) | PALETTE_TO_TRANSPARENT)
|
|
|
|
|
|
#endif /* SPRITES_H */
|