diff options
-rw-r--r-- | table/sprites.h | 862 | ||||
-rw-r--r-- | ttd.h | 10 | ||||
-rw-r--r-- | viewport.h | 8 |
3 files changed, 866 insertions, 14 deletions
diff --git a/table/sprites.h b/table/sprites.h new file mode 100644 index 000000000..183859fab --- /dev/null +++ b/table/sprites.h @@ -0,0 +1,862 @@ +#ifndef SPRITES_H +#define SPRITES_H + +/* 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. +*/ + + +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 = 5126, + SPR_SLOPES_BASE = SPR_CANALS_BASE + 70, + SPR_OPENTTD_BASE = SPR_SLOPES_BASE + 74, //5270 + + SPR_BLOT = SPR_OPENTTD_BASE + 10, // used as vehicle profit marker + + /* Manager face sprites */ + SPR_GRADIENT = 874, // background gradient behind manager face + + /* Shadow cell */ + SPR_SHADOW_CELL = 1004, + + /* Sliced view shadow cells */ + /* Maybe we have differen 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 = 2623, + SPR_BOUGHT_LAND = 4790, + + /* sprites for rail and rail stations*/ + SPR_RAIL_TRACK_Y = 1011, + SPR_RAIL_TRACK_X = 1012, + 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_CHECKPOINT_X_1 = SPR_OPENTTD_BASE + 18, + SPR_CHECKPOINT_X_2 = SPR_OPENTTD_BASE + 19, + SPR_CHECKPOINT_Y_1 = SPR_OPENTTD_BASE + 20, + SPR_CHECKPOINT_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, + + /* 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_ROAD = 2389, + + /* 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 = 4085, + SPR_IMG_TRANSMITTER = 4086, + SPR_IMG_LEVEL_LAND = SPR_OPENTTD_BASE + 68, + 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_INDUSTRY = 741, + 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_PLANTTREES = 742, + SPR_IMG_SIGN = 4082, + + /* OPEN TRANSPORT TYCOON in gamescreen */ + SPR_OTTD_O = 4842, + SPR_OTTD_P = 4841, + SPR_OTTD_E = SPR_OPENTTD_BASE + 16, + 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 +}; + +/* 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_CHECKPOINT = 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, + + /* 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, +} 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 +}; + +enum { + MAX_SPRITES = 0x3FFF, //the highest number a sprite can have +}; + +/* + these numbers change the colors of the palette for a sprite + both need to be fed a sprite which contains the "new" colors +*/ +enum Modifiers { + PALETTE_MODIFIER_TRANSPARENT = 0x4000, + PALETTE_MODIFIER_COLOR = 0x8000, +}; + +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 = 0x3038000, + //makes a square red. is used when removing rails or other stuff + PALETTE_SEL_TILE_RED = 0x3048000, + //This draws a blueish square (catchment areas for example) + PALETTE_SEL_TILE_BLUE = 0x3058000, + //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 = 0x3070000, + PALETTE_TO_DARK_BLUE = 0x3078000, + PALETTE_TO_PALE_GREEN = 0x3088000, + PALETTE_TO_PINK = 0x3098000, + PALETTE_TO_YELLOW = 0x30A8000, + PALETTE_TO_RED = 0x30B8000, + PALETTE_TO_LIGHT_BLUE = 0x30C8000, + PALETTE_TO_GREEN = 0x30D8000, + PALETTE_TO_DARK_GREEN = 0x30E8000, + PALETTE_TO_BLUE = 0x30F8000, + PALETTE_TO_CREAM = 0x3108000, + //maybe don't use as player color because it doesn't display in the graphs? + PALETTE_TO_MAUVE = 0x3118000, + PALETTE_TO_PURPLE = 0x3128000, + PALETTE_TO_ORANGE = 0x3138000, + PALETTE_TO_BROWN = 0x3148000, + PALETTE_TO_GREY = 0x3158000, + PALETTE_TO_WHITE = 0x3168000, + //sets color to bare land stuff, for rail and road (and crossings) + PALETTE_TO_BARE_LAND = 0x3178000, + //XXX is 318-31A really not used? + //XXX FIXME I dunno yet what this is + PALETTE_31B = 0x31B8000, + //structure color to something brownish (for the cantilever bridges for example) + PALETTE_TO_STRUCT_BROWN = 0x31C8000, + PALETTE_31D = 0x31D8000, //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 = 0x31E8000, + //XXX 31F + PALETTE_TO_STRUCT_CONCRETE = 0x3208000, //Sets the suspension bridge to concrete, also other strucutures use it + PALETTE_TO_STRUCT_YELLOW = 0x3218000, //Sets the bridge color to yellow (suspension and tubular) + PALETTE_TO_TRANSPARENT = 0x3224000, //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 = 0x3238000, + PALETTE_CRASH = 0x3248000, //this changes stuff to the "crash color" + //XXX another place where structures are colored. + //I'm not sure which colors these are + PALETTE_59E = 0x59E8000, + PALETTE_59F = 0x59F8000, + +}; + +#define MAKE_TRANSPARENT(img) (img = (img & MAX_SPRITES) | PALETTE_TO_TRANSPARENT) + +#endif /* SPRITES_H */ @@ -1,6 +1,10 @@ #ifndef TTD_H #define TTD_H +// FIXME: Include only where really needed. +// include sprites +#include "table/sprites.h" + #ifndef VARDEF #define VARDEF extern #endif @@ -511,12 +515,6 @@ enum SpecialStrings { typedef void PlaceProc(uint tile); -enum Sprites { - SPR_CANALS_BASE = 0x1406, - SPR_SLOPES_BASE = SPR_CANALS_BASE + 70, - SPR_OPENTTD_BASE = SPR_SLOPES_BASE + 74, -}; - enum MAP_OWNERS { OWNER_TOWN = 0xf, // a town owns the tile OWNER_NONE = 0x10, // nobody owns the tile diff --git a/viewport.h b/viewport.h index 487fc9a9d..b21a4aa64 100644 --- a/viewport.h +++ b/viewport.h @@ -95,14 +95,6 @@ typedef struct TileHighlightData { } TileHighlightData; -enum AnimCursors { - ANIMCURSOR_DEMOLISH = -1, - ANIMCURSOR_LOWERLAND = -2, - ANIMCURSOR_RAISELAND = -3, - ANIMCURSOR_PICKSTATION = -4, - ANIMCURSOR_BUILDSIGNALS = -5, -}; - // common button handler bool HandlePlacePushButton(Window *w, int widget, uint32 cursor, int mode, PlaceProc *placeproc); |