Changeset - r2187:60cea7c48bf4
[Not reviewed]
master
0 32 0
celestar - 19 years ago 2005-07-24 15:56:31
celestar@openttd.org
(svn r2702) -Codechange: Cleaned up the sprite code and replaced many magic numbers
by enums. There remains work in gfx.c to move the "transparency" and
"recolor" bits around to make space for more sprites. However, 2800
additional sprites can now be loaded. There also remains cleanup and
Doxygen work on many of the header files.
21 files changed:
0 comments (0 inline, 0 general)
gfx.c
Show inline comments
 
@@ -9,6 +9,7 @@
 
#include "string.h"
 
#include "gfx.h"
 
#include "table/palettes.h"
 
#include "table/sprites.h"
 
#include "hal.h"
 
#include "variables.h"
 

	
 
@@ -661,14 +662,14 @@ int DoDrawStringTruncated(const char *st
 

	
 
void DrawSprite(uint32 img, int x, int y)
 
{
 
	if (img & 0x8000) {
 
		_color_remap_ptr = GetNonSprite(img >> 16) + 1;
 
		GfxMainBlitter(GetSprite(img & 0x3FFF), x, y, 1);
 
	} else if (img & 0x4000) {
 
		_color_remap_ptr = GetNonSprite(img >> 16) + 1;
 
		GfxMainBlitter(GetSprite(img & 0x3FFF), x, y, 2);
 
	if (img & PALETTE_MODIFIER_COLOR) {
 
		_color_remap_ptr = GetNonSprite(GB(img, PALETTE_SPRITE_START, PALETTE_SPRITE_WIDTH)) + 1;
 
		GfxMainBlitter(GetSprite(img & SPRITE_MASK), x, y, 1);
 
	} else if (img & PALETTE_MODIFIER_TRANSPARENT) {
 
		_color_remap_ptr = GetNonSprite(GB(img, PALETTE_SPRITE_START, PALETTE_SPRITE_WIDTH)) + 1;
 
		GfxMainBlitter(GetSprite(img & SPRITE_MASK), x, y, 2);
 
	} else {
 
		GfxMainBlitter(GetSprite(img & 0x3FFF), x, y, 0);
 
		GfxMainBlitter(GetSprite(img & SPRITE_MASK), x, y, 0);
 
	}
 
}
 

	
 
@@ -1923,7 +1924,7 @@ static void SetCursorSprite(CursorID cur
 

	
 
	if (cv->sprite == cursor) return;
 

	
 
	p = GetSprite(cursor & 0x3FFF);
 
	p = GetSprite(cursor & SPRITE_MASK);
 
	cv->sprite = cursor;
 
	cv->size.y = p->height;
 
	cv->size.x = p->width;
gfx.h
Show inline comments
 
@@ -104,11 +104,6 @@ VARDEF int _pal_last_dirty;
 

	
 
VARDEF bool _use_dos_palette;
 

	
 
/* spritecache.c */
 
//enum { NUM_SPRITES = 0x1320 };
 
//enum { NUM_SPRITES = 0x1500 };
 
enum { NUM_SPRITES = 0x3500 }; // 1500 + space for custom GRF sets
 

	
 
typedef struct Colour {
 
	byte r;
 
	byte g;
graph_gui.c
Show inline comments
 
@@ -3,6 +3,7 @@
 
#include "stdafx.h"
 
#include "openttd.h"
 
#include "table/strings.h"
 
#include "table/sprites.h"
 
#include "functions.h"
 
#include "window.h"
 
#include "gui.h"
industry_cmd.c
Show inline comments
 
@@ -348,13 +348,13 @@ static void DrawTile_Industry(TileInfo *
 

	
 
	/* Pointer to industry */
 
	ind = GetIndustry(_m[ti->tile].m2);
 
	ormod = (ind->color_map+0x307)<<16;
 
	ormod = (ind->color_map+0x307) << PALETTE_SPRITE_START;
 

	
 
	/* Retrieve pointer to the draw industry tile struct */
 
	dits = &_industry_draw_tile_data[(ti->map5<<2) | (_m[ti->tile].owner&3)];
 

	
 
	image = dits->sprite_1;
 
	if (image&0x8000 && (image & 0xFFFF0000) == 0)
 
	if (image & PALETTE_MODIFIER_COLOR && (image & PALETTE_SPRITE_MASK) == 0)
 
		image |= ormod;
 

	
 
	z = ti->z;
 
@@ -371,7 +371,7 @@ static void DrawTile_Industry(TileInfo *
 
	/* Add industry on top of the ground? */
 
	if ((image = dits->sprite_2) != 0) {
 

	
 
		if (image&0x8000 && (image & 0xFFFF0000) == 0)
 
		if (image & PALETTE_MODIFIER_COLOR && (image & PALETTE_SPRITE_MASK) == 0)
 
			image |= ormod;
 

	
 
		if (_display_opt & DO_TRANS_BUILDINGS)
macros.h
Show inline comments
 
@@ -60,8 +60,8 @@ static inline int64 BIGMULS(int32 a, int
 
#define SETBITS(x,y) ((x) |= (y))
 
#define CLRBITS(x,y) ((x) &= ~(y))
 

	
 
#define PLAYER_SPRITE_COLOR(owner) ((_player_colors[owner] << 16) + 0x3070000)
 
#define SPRITE_PALETTE(x) ((x) + 0x8000)
 
#define PLAYER_SPRITE_COLOR(owner) ( (_player_colors[owner] + 0x307) << PALETTE_SPRITE_START)
 
#define SPRITE_PALETTE(x) ((x) | PALETTE_MODIFIER_COLOR)
 

	
 
extern const byte _ffb_64[128];
 
/* Returns the position of the first bit that is not zero, counted from the
misc_gui.c
Show inline comments
 
@@ -291,7 +291,7 @@ static const uint32 _tree_sprites[] = {
 
	0x655,0x663,0x678,0x62B,0x647,0x639,0x64E,0x632,0x67F,0x68D,0x69B,0x6A9,
 
	0x6AF,0x6D2,0x6D9,0x6C4,0x6CB,0x6B6,0x6BD,0x6E0,
 
	0x72E,0x734,0x74A,0x74F,0x76B,0x78F,0x788,0x77B,0x75F,0x774,0x720,0x797,
 
	0x79E,0x30D87A5,0x30B87AC,0x7B3,0x7BA,0x30B87C1,0x30887C8,0x30A87CF,0x30B87D6
 
	0x79E,0x7A5 | PALETTE_TO_GREEN,0x7AC | PALETTE_TO_RED,0x7B3,0x7BA,0x7C1 | PALETTE_TO_RED,0x7C8 | PALETTE_TO_PALE_GREEN,0x7CF | PALETTE_TO_YELLOW,0x7D6 | PALETTE_TO_RED
 
};
 

	
 
static void BuildTreesWndProc(Window *w, WindowEvent *e)
openttd.h
Show inline comments
 
@@ -71,7 +71,7 @@ typedef byte PlayerID;
 
typedef byte OrderID;
 
typedef byte CargoID;
 
typedef uint16 StringID;
 
typedef uint16 SpriteID;
 
typedef uint32 SpriteID;
 
typedef uint32 PalSpriteID;
 
typedef uint32 CursorID;
 
typedef uint16 EngineID; //! All enginenumbers should be of this type
player_gui.c
Show inline comments
 
@@ -545,7 +545,7 @@ static void PlayerCompanyWndProc(Window 
 

	
 
		DrawString(110,48, STR_7006_COLOR_SCHEME, 0);
 
		// Draw company-colour bus (0xC19)
 
		DrawSprite(PLAYER_SPRITE_COLOR(p->index) + 0x8C19, 215, 49);
 
		DrawSprite(PLAYER_SPRITE_COLOR(p->index) + (0xC19 | PALETTE_MODIFIER_COLOR), 215, 49);
 

	
 
		DrawPlayerFace(p->face, p->player_color, 2, 16);
 

	
players.c
Show inline comments
 
/* $Id$ */
 

	
 
/** @file players.c
 
  * @todo Cleanup the messy DrawPlayerFace function asap
 
  */
 
#include "stdafx.h"
 
#include "openttd.h"
 
#include "engine.h"
 
@@ -7,6 +10,7 @@
 
#include "string.h"
 
#include "strings.h"
 
#include "table/strings.h"
 
#include "table/sprites.h"
 
#include "map.h"
 
#include "player.h"
 
#include "town.h"
 
@@ -44,7 +48,7 @@ void DrawPlayerFace(uint32 face, int col
 
		flag |= 2;
 

	
 
	/* draw the gradient */
 
	DrawSprite( (color<<16) + 0x0307836A, x, y);
 
	DrawSprite( (color + 0x307) << PALETTE_SPRITE_START | PALETTE_MODIFIER_COLOR | 0x36A, x, y);
 

	
 
	/* draw the cheeks */
 
	DrawSprite(cheeks_table[flag&3], x, y);
 
@@ -63,25 +67,25 @@ void DrawPlayerFace(uint32 face, int col
 
	{
 
		uint val1 = GB(face,  6, 4);
 
		uint val2 = GB(face, 20, 3);
 
		uint32 high = 0x314<<16;
 
		uint32 high = 0x314 << PALETTE_SPRITE_START;
 

	
 
		if (val2 >= 6) {
 
			high = 0x30F<<16;
 
			high = 0x30F << PALETTE_SPRITE_START;
 
			if (val2 != 6)
 
				high = 0x30D<<16;
 
				high = 0x30D << PALETTE_SPRITE_START;
 
		}
 

	
 
		if (!(flag & 2)) {
 
			if (!(flag & 1)) {
 
				DrawSprite(high+((val1 * 12 >> 4) + 0x832B), x, y);
 
				DrawSprite(high+((val1 * 12 >> 4) + (0x32B | PALETTE_MODIFIER_COLOR)), x, y);
 
			} else {
 
				DrawSprite(high+(val1 + 0x8337), x, y);
 
				DrawSprite(high+(val1 + (0x337 | PALETTE_MODIFIER_COLOR)), x, y);
 
			}
 
		} else {
 
			if (!(flag & 1)) {
 
				DrawSprite(high+((val1 * 11 >> 4) + 0x839A), x, y);
 
				DrawSprite(high+((val1 * 11 >> 4) + (0x39A | PALETTE_MODIFIER_COLOR)), x, y);
 
			} else {
 
				DrawSprite(high+(val1 + 0x83B8), x, y);
 
				DrawSprite(high+(val1 + (0x3B8 | PALETTE_MODIFIER_COLOR)), x, y);
 
			}
 
		}
 
	}
rail_cmd.c
Show inline comments
 
@@ -1351,7 +1351,7 @@ static void DrawSpecialBuilding(uint32 i
 
                                byte x, byte y, byte z,
 
                                byte xsize, byte ysize, byte zsize)
 
{
 
	if (image & 0x8000)
 
	if (image & PALETTE_MODIFIER_COLOR)
 
		image |= _drawtile_track_palette;
 
	image += tracktype_offs;
 
	if (_display_opt & DO_TRANS_BUILDINGS) // show transparent depots
 
@@ -1483,7 +1483,7 @@ static void DrawTile_Track(TileInfo *ti)
 
		}
 

	
 
		if ((_m[ti->tile].m2 & RAIL_MAP2LO_GROUND_MASK)==RAIL_GROUND_BROWN) {
 
			image = (image & 0xFFFF) | 0x3178000; // use a brown palette
 
			image = (image & SPRITE_MASK) | PALETTE_TO_BARE_LAND; // use a brown palette
 
		 } else if ((_m[ti->tile].m2 & RAIL_MAP2LO_GROUND_MASK)==RAIL_GROUND_ICE_DESERT) {
 
			image += TrackSet[SNOW_OFFSET];
 
		}
 
@@ -1604,7 +1604,7 @@ static void DrawTile_Track(TileInfo *ti)
 
		drss = _track_depot_layout_table[type];
 

	
 
		image = drss++->image;
 
		if (image & 0x8000) image = (image & 0x7FFF) + tracktype_offs;
 
		if (image & PALETTE_MODIFIER_COLOR) image = (image & SPRITE_MASK) + tracktype_offs;
 

	
 
		// adjust ground tile for desert
 
		// (don't adjust for arctic depots, because snow in depots looks weird)
 
@@ -1653,13 +1653,13 @@ void DrawTrainDepotSprite(int x, int y, 
 
	y+=17;
 

	
 
	img = dtss++->image;
 
	if (img & 0x8000) img = (img & 0x7FFF) + railtype;
 
	if (img & PALETTE_MODIFIER_COLOR) img = (img & SPRITE_MASK) + railtype;
 
	DrawSprite(img, x, y);
 

	
 
	for (; dtss->image != 0; dtss++) {
 
		Point pt = RemapCoords(dtss->subcoord_x, dtss->subcoord_y, 0);
 
		image = dtss->image;
 
		if (image & 0x8000) image |= ormod;
 
		if (image & PALETTE_MODIFIER_COLOR) image |= ormod;
 
		DrawSprite(image + railtype, x + pt.x, y + pt.y);
 
	}
 
}
road_cmd.c
Show inline comments
 
@@ -794,7 +794,7 @@ static void DrawTile_Road(TileInfo *ti)
 

	
 
		m2 = GB(_m[ti->tile].m4, 4, 3);
 

	
 
		if (m2 == 0) image |= 0x3178000;
 
		if (m2 == 0) image |= PALETTE_TO_BARE_LAND;
 

	
 
		if (_m[ti->tile].m4 & 0x80) {
 
			image += 19;
 
@@ -839,7 +839,7 @@ static void DrawTile_Road(TileInfo *ti)
 
			image += 8;
 
		} else {
 
			m2 = GB(_m[ti->tile].m4, 4, 3);
 
			if (m2 == 0) image |= 0x3178000;
 
			if (m2 == 0) image |= PALETTE_TO_BARE_LAND;
 
			if (m2 > 1) image += 4;
 
		}
 

	
 
@@ -862,7 +862,7 @@ static void DrawTile_Road(TileInfo *ti)
 

	
 
		if (ti->tileh != 0) { DrawFoundation(ti, ti->tileh); }
 

	
 
		ormod = 0x315;
 
		ormod = PALETTE_TO_GREY;	//was this a bug/problem?
 
		player = GetTileOwner(ti->tile);
 
		if (player < MAX_PLAYERS)
 
			ormod = PLAYER_SPRITE_COLOR(player);
 
@@ -874,7 +874,7 @@ static void DrawTile_Road(TileInfo *ti)
 
		for (; drss->image != 0; drss++) {
 
			uint32 image = drss->image;
 

	
 
			if (image & 0x8000)
 
			if (image & PALETTE_MODIFIER_COLOR)
 
				image |= ormod;
 
			if (_display_opt & DO_TRANS_BUILDINGS) // show transparent depots
 
				MAKE_TRANSPARENT(image);
 
@@ -903,7 +903,7 @@ void DrawRoadDepotSprite(int x, int y, i
 
		Point pt = RemapCoords(dtss->subcoord_x, dtss->subcoord_y, 0);
 

	
 
		image = dtss->image;
 
		if (image & 0x8000)
 
		if (image & PALETTE_MODIFIER_COLOR)
 
			image |= ormod;
 

	
 
		DrawSprite(image, x + pt.x, y + pt.y);
settings_gui.c
Show inline comments
 
@@ -1180,7 +1180,7 @@ static void NewgrfWndProc(Window *w, Win
 
				if(h) GfxFillRect(1, y + 1, 267, y + 12, 156);
 
				// XXX - will be grf name later
 
				DoDrawString(c->filename, 25, y + 2, h ? 0xC : 0x10);
 
				DrawSprite(SPRITE_PALETTE(SPR_SQUARE | 0x30b8000), 5, y + 2);
 
				DrawSprite(SPRITE_PALETTE(SPR_SQUARE | PALETTE_TO_RED), 5, y + 2);
 
				y += NEWGRF_WND_PROC_ROWSIZE;
 
			}
 

	
ship_gui.c
Show inline comments
 
@@ -5,6 +5,7 @@
 
#include "debug.h"
 
#include "functions.h"
 
#include "table/strings.h"
 
#include "table/sprites.h"
 
#include "map.h"
 
#include "window.h"
 
#include "gui.h"
spritecache.c
Show inline comments
 
@@ -35,27 +35,27 @@ uint16 _custom_sprites_base;
 
static Sprite _cur_sprite;
 

	
 

	
 
static void* _sprite_ptr[NUM_SPRITES];
 
static uint16 _sprite_size[NUM_SPRITES];
 
static uint32 _sprite_file_pos[NUM_SPRITES];
 
static void* _sprite_ptr[MAX_SPRITES];
 
static uint16 _sprite_size[MAX_SPRITES];
 
static uint32 _sprite_file_pos[MAX_SPRITES];
 

	
 
// This one is probably not needed.
 
#if defined(WANT_LOCKED)
 
static bool _sprite_locked[NUM_SPRITES];
 
static bool _sprite_locked[MAX_SPRITES];
 
#endif
 

	
 
#if defined(WANT_NEW_LRU)
 
static int16 _sprite_lru_new[NUM_SPRITES];
 
static int16 _sprite_lru_new[MAX_SPRITES];
 
#else
 
static uint16 _sprite_lru[NUM_SPRITES];
 
static uint16 _sprite_lru_cur[NUM_SPRITES];
 
static uint16 _sprite_lru[MAX_SPRITES];
 
static uint16 _sprite_lru_cur[MAX_SPRITES];
 
#endif
 

	
 
#ifdef WANT_SPRITESIZES
 
static int8 _sprite_xoffs[NUM_SPRITES];
 
static int8 _sprite_yoffs[NUM_SPRITES];
 
static uint16 _sprite_xsize[NUM_SPRITES];
 
static uint8 _sprite_ysize[NUM_SPRITES];
 
static int8 _sprite_xoffs[MAX_SPRITES];
 
static int8 _sprite_yoffs[MAX_SPRITES];
 
static uint16 _sprite_xsize[MAX_SPRITES];
 
static uint8 _sprite_ysize[MAX_SPRITES];
 
#endif
 

	
 
bool _cache_sprites;
 
@@ -83,13 +83,13 @@ typedef struct FileList {
 
#include "table/files.h"
 
#include "table/landscape_sprite.h"
 

	
 
static const uint16 * const _landscape_spriteindexes[] = {
 
static const SpriteID * const _landscape_spriteindexes[] = {
 
	_landscape_spriteindexes_1,
 
	_landscape_spriteindexes_2,
 
	_landscape_spriteindexes_3,
 
};
 

	
 
static const uint16 * const _slopes_spriteindexes[] = {
 
static const SpriteID * const _slopes_spriteindexes[] = {
 
	_slopes_spriteindexes_0,
 
	_slopes_spriteindexes_1,
 
	_slopes_spriteindexes_2,
 
@@ -238,7 +238,7 @@ static bool LoadNextSprite(int load_inde
 
		_replace_sprites_offset[0]++;
 
		_replace_sprites_count[0]--;
 

	
 
		if ((offset + count) <= NUM_SPRITES) {
 
		if ((offset + count) <= MAX_SPRITES) {
 
			load_index = offset;
 
		} else {
 
			DEBUG(spritecache, 1) ("Sprites to be replaced are out of range: %x+%x",
 
@@ -294,7 +294,7 @@ static void SkipSprites(uint count)
 
		if (size == 0)
 
			return;
 

	
 
		ReadSpriteHeaderSkipData(size, NUM_SPRITES - 1);
 
		ReadSpriteHeaderSkipData(size, MAX_SPRITES - 1);
 
	}
 
}
 

	
 
@@ -313,10 +313,11 @@ static int LoadGrfFile(const char *filen
 

	
 
	while (LoadNextSprite(load_index, file_index)) {
 
		load_index++;
 
		if (load_index >= NUM_SPRITES) {
 
			error("Too many sprites. Recompile with higher NUM_SPRITES value or remove some custom GRF files.");
 
		if (load_index >= MAX_SPRITES) {
 
			error("Too many sprites. Recompile with higher MAX_SPRITES value or remove some custom GRF files.");
 
		}
 
	}
 
	DEBUG(spritecache, 2) ("Currently %i sprites are loaded", load_index);
 

	
 
	return load_index - load_index_org;
 
}
 
@@ -351,8 +352,8 @@ static int LoadNewGrfFile(const char *fi
 
	}
 

	
 
	for (i = 0; LoadNextSprite(load_index + i, file_index); i++) {
 
		if (load_index + i >= NUM_SPRITES)
 
			error("Too many sprites (0x%X). Recompile with higher NUM_SPRITES value or remove some custom GRF files.",
 
		if (load_index + i >= MAX_SPRITES)
 
			error("Too many sprites (0x%X). Recompile with higher MAX_SPRITES value or remove some custom GRF files.",
 
			      load_index + i);
 
	}
 

	
 
@@ -364,7 +365,7 @@ static int LoadNewGrfFile(const char *fi
 
	return i;
 
}
 

	
 
static void LoadGrfIndexed(const char *filename, const uint16 *index_tbl, int file_index)
 
static void LoadGrfIndexed(const char *filename, const SpriteID *index_tbl, int file_index)
 
{
 
	int start;
 

	
 
@@ -472,7 +473,7 @@ void IncreaseSpriteLRU(void)
 
	if (_sprite_lru_counter > 16384) {
 
		DEBUG(spritecache, 2) ("fixing lru %d, inuse=%d", _sprite_lru_counter, GetSpriteCacheUsage());
 

	
 
		for (i = 0; i != NUM_SPRITES; i++)
 
		for (i = 0; i != MAX_SPRITES; i++)
 
			if (_sprite_ptr[i] != NULL) {
 
				if (_sprite_lru_new[i] >= 0) {
 
					_sprite_lru_new[i] = -1;
 
@@ -483,7 +484,7 @@ void IncreaseSpriteLRU(void)
 
		_sprite_lru_counter = 0;
 
	}
 
#else
 
	for (i = 0; i != NUM_SPRITES; i++)
 
	for (i = 0; i != MAX_SPRITES; i++)
 
		if (_sprite_ptr[i] != NULL && _sprite_lru[i] != 65535)
 
			_sprite_lru[i]++;
 
	// Reset the lru counter.
 
@@ -560,7 +561,7 @@ static void DeleteEntryFromSpriteCache(v
 

	
 
#if defined(WANT_NEW_LRU)
 
	cur_lru = 0xffff;
 
	for (i = 0; i != NUM_SPRITES; i++) {
 
	for (i = 0; i != MAX_SPRITES; i++) {
 
		if (_sprite_ptr[i] != 0 &&
 
				_sprite_lru_new[i] < cur_lru
 
#if defined(WANT_LOCKED)
 
@@ -574,7 +575,7 @@ static void DeleteEntryFromSpriteCache(v
 
#else
 
	{
 
	uint16 cur_lru = 0, cur_lru_cur = 0xffff;
 
	for (i = 0; i != NUM_SPRITES; i++) {
 
	for (i = 0; i != MAX_SPRITES; i++) {
 
		if (_sprite_ptr[i] == 0 ||
 
#if defined(WANT_LOCKED)
 
				_sprite_locked[i] ||
 
@@ -702,7 +703,7 @@ const void *GetRawSprite(SpriteID sprite
 
{
 
	void* p;
 

	
 
	assert(sprite < NUM_SPRITES);
 
	assert(sprite < MAX_SPRITES);
 

	
 
#if defined(NEW_ROTATION)
 
	sprite = RotateSprite(sprite);
 
@@ -732,7 +733,7 @@ static const char * const _cached_filena
 
};
 

	
 
#define OPENTTD_SPRITES_COUNT 98
 
static const uint16 _openttd_grf_indexes[] = {
 
static const SpriteID _openttd_grf_indexes[] = {
 
	SPR_OPENTTD_BASE + 0, SPR_OPENTTD_BASE + 7, // icons etc
 
	134, 134,  // euro symbol medium size
 
	582, 582,  // euro symbol large size
 
@@ -910,6 +911,7 @@ static void LoadSpriteTables(void)
 
				if (_loading_stage == 0)
 
					InitNewGRFFile(_newgrf_files[j], load_index);
 
				load_index += LoadNewGrfFile(_newgrf_files[j], load_index, i++);
 
				DEBUG(spritecache, 2) ("Currently %i sprites are loaded", load_index);
 
			}
 
		}
 

	
station_cmd.c
Show inline comments
 
@@ -2139,7 +2139,7 @@ static void DrawTile_Station(TileInfo *t
 

	
 
	{
 
		uint owner = GetTileOwner(ti->tile);
 
		image_or_modificator = 0x315 << 16; /* NOTE: possible bug in ttd here? */
 
		image_or_modificator = PALETTE_TO_GREY; /* NOTE: possible bug in ttd here? */
 
		if (owner < MAX_PLAYERS)
 
			image_or_modificator = PLAYER_SPRITE_COLOR(owner);
 
	}
 
@@ -2166,11 +2166,11 @@ static void DrawTile_Station(TileInfo *t
 
	if (t == NULL) t = &_station_display_datas[ti->map5];
 

	
 
	image = t->ground_sprite;
 
	if (image & 0x8000)
 
	if (image & PALETTE_MODIFIER_COLOR)
 
		image |= image_or_modificator;
 

	
 
	// For custom sprites, there's no railtype-based pitching.
 
	type_offset = railtype * ((image & 0x3FFF) < _custom_sprites_base ? TRACKTYPE_SPRITE_PITCH : 1);
 
	type_offset = railtype * ((image & SPRITE_MASK) < _custom_sprites_base ? TRACKTYPE_SPRITE_PITCH : 1);
 

	
 
	// station_land array has been increased from 82 elements to 114
 
	// but this is something else. If AI builds station with 114 it looks all weird
 
@@ -2193,7 +2193,7 @@ static void DrawTile_Station(TileInfo *t
 
		if (_display_opt & DO_TRANS_BUILDINGS) {
 
			MAKE_TRANSPARENT(image);
 
		} else {
 
			if (image&0x8000) image |= image_or_modificator;
 
			if (image & PALETTE_MODIFIER_COLOR) image |= image_or_modificator;
 
		}
 

	
 
		if ((byte)dtss->delta_z != 0x80) {
 
@@ -2218,7 +2218,7 @@ void StationPickerDrawSprite(int x, int 
 
	t = &_station_display_datas[image];
 

	
 
	img = t->ground_sprite;
 
	if (img & 0x8000)
 
	if (img & PALETTE_MODIFIER_COLOR)
 
		img |= ormod;
 
	DrawSprite(img + railtype, x, y);
 

	
table/animcursors.h
Show inline comments
 
/* $Id$ */
 

	
 
#define ANIM_CURSOR_LINE(a,b) a,b,
 
/** @file animcursors.h
 
 * This file defines all the the animated cursors.
 
 * Animated cursors consist of the number of sprites that are
 
 * displayed in a round-robin manner. Each sprite also has a time
 
 * associated that indicates how many ticks the corresponding sprite
 
 * is to be displayed. Currently all this information is recorded in a single
 
 * array. @todo This should be converted into an array of structs on the long run
 
 * All these arrays end up in an array of pointers called _animcursors.
 
 */
 

	
 
/** Creates two array entries that define one
 
 *  status of the cursor.
 
 *  @param Sprite The Sprite to be displayed
 
 *  @param display_time The Number of ticks to display the sprite
 
 */
 
#define ANIM_CURSOR_LINE(Sprite, display_time) Sprite, display_time,
 

	
 
/** This indicates the termination of the cursor list
 
 */
 
#define ANIM_CURSOR_END() 0xFFFF
 

	
 
/** Animated cursor elements for demolishion
 
 */
 
static const CursorID _demolish_animcursor[] = {
 
	ANIM_CURSOR_LINE(0x2C0, 29)
 
	ANIM_CURSOR_LINE(0x2C1, 29)
 
@@ -11,6 +31,8 @@ static const CursorID _demolish_animcurs
 
	ANIM_CURSOR_END()
 
};
 

	
 
/** Animated cursor elements for lower land
 
 */
 
static const CursorID _lower_land_animcursor[] = {
 
	ANIM_CURSOR_LINE(0x2BB, 29)
 
	ANIM_CURSOR_LINE(0x2BC, 29)
 
@@ -18,6 +40,8 @@ static const CursorID _lower_land_animcu
 
	ANIM_CURSOR_END()
 
};
 

	
 
/** Animated cursor elements for raise land
 
 */
 
static const CursorID _raise_land_animcursor[] = {
 
	ANIM_CURSOR_LINE(0x2B8, 29)
 
	ANIM_CURSOR_LINE(0x2B9, 29)
 
@@ -25,6 +49,8 @@ static const CursorID _raise_land_animcu
 
	ANIM_CURSOR_END()
 
};
 

	
 
/** Animated cursor elements for the goto icon
 
 */
 
static const CursorID _pick_station_animcursor[] = {
 
	ANIM_CURSOR_LINE(0x2CC, 29)
 
	ANIM_CURSOR_LINE(0x2CD, 29)
 
@@ -32,12 +58,18 @@ static const CursorID _pick_station_anim
 
	ANIM_CURSOR_END()
 
};
 

	
 
/** Animated cursor elements for the build signal icon
 
 */
 
static const CursorID _build_signals_animcursor[] = {
 
	ANIM_CURSOR_LINE(0x50C, 148)
 
	ANIM_CURSOR_LINE(0x50D, 148)
 
	ANIM_CURSOR_LINE(0x50C, 29)
 
	ANIM_CURSOR_LINE(0x50D, 29)
 
	ANIM_CURSOR_END()
 
};
 

	
 
/** This is an array of pointers to all the animated cursor
 
 *  definitions we have above. This is the only thing that is
 
 *  accessed directly from other files
 
 */
 
static const CursorID * const _animcursors[] = {
 
	_demolish_animcursor,
 
	_lower_land_animcursor,
table/bridge_land.h
Show inline comments
 
@@ -23,9 +23,9 @@ static const PalSpriteID _bridge_sprite_
 

	
 
static const PalSpriteID _bridge_sprite_table_2_1[] = {
 
	    0x986,     0x988,     0x985,     0x987,     0x98A,     0x98C,     0x989,     0x98B,
 
	0x31D898E, 0x31D8990, 0x31D898D, 0x31D898F, 0x31D8992, 0x31D8994, 0x31D8991, 0x31D8993,
 
	0x31D90E7, 0x31D90E9, 0x31D90E6, 0x31D90E8, 0x31D90EB, 0x31D90ED, 0x31D90EA, 0x31D90EC,
 
	0x31D910F, 0x31D9111, 0x31D910E, 0x31D9110, 0x31D9113, 0x31D9115, 0x31D9112, 0x31D9114,
 
	0x98E | PALETTE_31D, 0x990 | PALETTE_31D, 0x98D | PALETTE_31D, 0x98F | PALETTE_31D, 0x992 | PALETTE_31D, 0x994 | PALETTE_31D, 0x991 | PALETTE_31D, 0x993 | PALETTE_31D,
 
	0x10E7 | PALETTE_31D, 0x10E9 | PALETTE_31D, 0x10E6 | PALETTE_31D, 0x10E8 | PALETTE_31D, 0x10EB | PALETTE_31D, 0x10ED | PALETTE_31D, 0x10EA | PALETTE_31D, 0x10EC | PALETTE_31D,
 
	0x110F | PALETTE_31D, 0x1111 | PALETTE_31D, 0x110E | PALETTE_31D, 0x1110 | PALETTE_31D, 0x1113 | PALETTE_31D, 0x1115 | PALETTE_31D, 0x1112 | PALETTE_31D, 0x1114 | PALETTE_31D,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_2_poles[] = {
 
@@ -116,74 +116,74 @@ static const PalSpriteID _bridge_sprite_
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_5_0[] = {
 
	0x32189A9, 0x321899F, 0x32189B1,       0x0, 0x32189A5, 0x3218997, 0x32189AD,       0x0,
 
	0x321899D, 0x321899F, 0x32189B1,       0x0, 0x3218995, 0x3218997, 0x32189AD,       0x0,
 
	0x32190F2, 0x321899F, 0x32189B1,       0x0, 0x32190EE, 0x3218997, 0x32189AD,       0x0,
 
	0x321911A, 0x321899F, 0x32189B1,       0x0, 0x3219116, 0x3218997, 0x32189AD,       0x0,
 
	0x9A9 | PALETTE_TO_STRUCT_YELLOW, 0x99F | PALETTE_TO_STRUCT_YELLOW, 0x9B1 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x9A5 | PALETTE_TO_STRUCT_YELLOW, 0x997 | PALETTE_TO_STRUCT_YELLOW, 0x9AD | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x99D | PALETTE_TO_STRUCT_YELLOW, 0x99F | PALETTE_TO_STRUCT_YELLOW, 0x9B1 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x995 | PALETTE_TO_STRUCT_YELLOW, 0x997 | PALETTE_TO_STRUCT_YELLOW, 0x9AD | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x10F2 | PALETTE_TO_STRUCT_YELLOW, 0x99F | PALETTE_TO_STRUCT_YELLOW, 0x9B1 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x10EE | PALETTE_TO_STRUCT_YELLOW, 0x997 | PALETTE_TO_STRUCT_YELLOW, 0x9AD | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x111A | PALETTE_TO_STRUCT_YELLOW, 0x99F | PALETTE_TO_STRUCT_YELLOW, 0x9B1 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x1116 | PALETTE_TO_STRUCT_YELLOW, 0x997 | PALETTE_TO_STRUCT_YELLOW, 0x9AD | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	SPR_OPENTTD_BASE + 35,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_5_1[] = {
 
	0x32189AA, 0x32189A0, 0x32189B2,       0x0, 0x32189A6, 0x3218998, 0x32189AE,       0x0,
 
	0x321899E, 0x32189A0, 0x32189B2,       0x0, 0x3218996, 0x3218998, 0x32189AE,       0x0,
 
	0x32190F3, 0x32189A0, 0x32189B2,       0x0, 0x32190EF, 0x3218998, 0x32189AE,       0x0,
 
	0x321911B, 0x32189A0, 0x32189B2,       0x0, 0x3219117, 0x3218998, 0x32189AE,       0x0,
 
	0x9AA | PALETTE_TO_STRUCT_YELLOW, 0x9A0 | PALETTE_TO_STRUCT_YELLOW, 0x9B2 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x9A6 | PALETTE_TO_STRUCT_YELLOW, 0x998 | PALETTE_TO_STRUCT_YELLOW, 0x9AE | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x99E | PALETTE_TO_STRUCT_YELLOW, 0x9A0 | PALETTE_TO_STRUCT_YELLOW, 0x9B2 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x996 | PALETTE_TO_STRUCT_YELLOW, 0x998 | PALETTE_TO_STRUCT_YELLOW, 0x9AE | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x10F3 | PALETTE_TO_STRUCT_YELLOW, 0x9A0 | PALETTE_TO_STRUCT_YELLOW, 0x9B2 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x10EF | PALETTE_TO_STRUCT_YELLOW, 0x998 | PALETTE_TO_STRUCT_YELLOW, 0x9AE | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x111B | PALETTE_TO_STRUCT_YELLOW, 0x9A0 | PALETTE_TO_STRUCT_YELLOW, 0x9B2 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x1117 | PALETTE_TO_STRUCT_YELLOW, 0x998 | PALETTE_TO_STRUCT_YELLOW, 0x9AE | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	SPR_OPENTTD_BASE + 36,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_5_2[] = {
 
	0x32189AC, 0x32189A4, 0x32189B4,       0x0, 0x32189A8, 0x321899C, 0x32189B0,       0x0,
 
	0x32189A2, 0x32189A4, 0x32189B4,       0x0, 0x321899A, 0x321899C, 0x32189B0,       0x0,
 
	0x32190F5, 0x32189A4, 0x32189B4,       0x0, 0x32190F1, 0x321899C, 0x32189B0,       0x0,
 
	0x321911D, 0x32189A4, 0x32189B4,       0x0, 0x3219119, 0x321899C, 0x32189B0,       0x0,
 
	0x9AC | PALETTE_TO_STRUCT_YELLOW, 0x9A4 | PALETTE_TO_STRUCT_YELLOW, 0x9B4 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x9A8 | PALETTE_TO_STRUCT_YELLOW, 0x99C | PALETTE_TO_STRUCT_YELLOW, 0x9B0 | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x9A2 | PALETTE_TO_STRUCT_YELLOW, 0x9A4 | PALETTE_TO_STRUCT_YELLOW, 0x9B4 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x99A | PALETTE_TO_STRUCT_YELLOW, 0x99C | PALETTE_TO_STRUCT_YELLOW, 0x9B0 | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x10F5 | PALETTE_TO_STRUCT_YELLOW, 0x9A4 | PALETTE_TO_STRUCT_YELLOW, 0x9B4 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x10F1 | PALETTE_TO_STRUCT_YELLOW, 0x99C | PALETTE_TO_STRUCT_YELLOW, 0x9B0 | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x111D | PALETTE_TO_STRUCT_YELLOW, 0x9A4 | PALETTE_TO_STRUCT_YELLOW, 0x9B4 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x1119 | PALETTE_TO_STRUCT_YELLOW, 0x99C | PALETTE_TO_STRUCT_YELLOW, 0x9B0 | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	SPR_OPENTTD_BASE + 36,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_5_3[] = {
 
	0x32189AB, 0x32189A3, 0x32189B3,       0x0, 0x32189A7, 0x321899B, 0x32189AF,       0x0,
 
	0x32189A1, 0x32189A3, 0x32189B3,       0x0, 0x3218999, 0x321899B, 0x32189AF,       0x0,
 
	0x32190F4, 0x32189A3, 0x32189B3,       0x0, 0x32190F0, 0x321899B, 0x32189AF,       0x0,
 
	0x321911C, 0x32189A3, 0x32189B3,       0x0, 0x3219118, 0x321899B, 0x32189AF,       0x0,
 
	0x9AB | PALETTE_TO_STRUCT_YELLOW, 0x9A3 | PALETTE_TO_STRUCT_YELLOW, 0x9B3 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x9A7 | PALETTE_TO_STRUCT_YELLOW, 0x99B | PALETTE_TO_STRUCT_YELLOW, 0x9AF | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x9A1 | PALETTE_TO_STRUCT_YELLOW, 0x9A3 | PALETTE_TO_STRUCT_YELLOW, 0x9B3 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x999 | PALETTE_TO_STRUCT_YELLOW, 0x99B | PALETTE_TO_STRUCT_YELLOW, 0x9AF | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x10F4 | PALETTE_TO_STRUCT_YELLOW, 0x9A3 | PALETTE_TO_STRUCT_YELLOW, 0x9B3 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x10F0 | PALETTE_TO_STRUCT_YELLOW, 0x99B | PALETTE_TO_STRUCT_YELLOW, 0x9AF | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x111C | PALETTE_TO_STRUCT_YELLOW, 0x9A3 | PALETTE_TO_STRUCT_YELLOW, 0x9B3 | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x1118 | PALETTE_TO_STRUCT_YELLOW, 0x99B | PALETTE_TO_STRUCT_YELLOW, 0x9AF | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	SPR_OPENTTD_BASE + 35,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_5_4[] = {
 
	0x32189B6, 0x32189BA, 0x32189BC,       0x0, 0x32189B5, 0x32189B9, 0x32189BB,       0x0,
 
	0x32189B8, 0x32189BA, 0x32189BC,       0x0, 0x32189B7, 0x32189B9, 0x32189BB,       0x0,
 
	0x32190F7, 0x32189BA, 0x32189BC,       0x0, 0x32190F6, 0x32189B9, 0x32189BB,       0x0,
 
	0x321911F, 0x32189BA, 0x32189BC,       0x0, 0x321911E, 0x32189B9, 0x32189BB,       0x0,
 
	0x9B6 | PALETTE_TO_STRUCT_YELLOW, 0x9BA | PALETTE_TO_STRUCT_YELLOW, 0x9BC | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x9B5 | PALETTE_TO_STRUCT_YELLOW, 0x9B9 | PALETTE_TO_STRUCT_YELLOW, 0x9BB | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x9B8 | PALETTE_TO_STRUCT_YELLOW, 0x9BA | PALETTE_TO_STRUCT_YELLOW, 0x9BC | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x9B7 | PALETTE_TO_STRUCT_YELLOW, 0x9B9 | PALETTE_TO_STRUCT_YELLOW, 0x9BB | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x10F7 | PALETTE_TO_STRUCT_YELLOW, 0x9BA | PALETTE_TO_STRUCT_YELLOW, 0x9BC | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x10F6 | PALETTE_TO_STRUCT_YELLOW, 0x9B9 | PALETTE_TO_STRUCT_YELLOW, 0x9BB | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	0x111F | PALETTE_TO_STRUCT_YELLOW, 0x9BA | PALETTE_TO_STRUCT_YELLOW, 0x9BC | PALETTE_TO_STRUCT_YELLOW,       0x0, 0x111E | PALETTE_TO_STRUCT_YELLOW, 0x9B9 | PALETTE_TO_STRUCT_YELLOW, 0x9BB | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
	SPR_OPENTTD_BASE+38,  0x0, 0x0,		   0x0, SPR_OPENTTD_BASE + 37,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_5_5[] = {
 
	0x32189BD, 0x32189C1,       0x0,       0x0, 0x32189BE, 0x32189C2,       0x0,       0x0,
 
	0x32189BF, 0x32189C1,       0x0,       0x0, 0x32189C0, 0x32189C2,       0x0,       0x0,
 
	0x32190F8, 0x32189C1,       0x0,       0x0, 0x32190F9, 0x32189C2,       0x0,       0x0,
 
	0x3219120, 0x32189C1,       0x0,       0x0, 0x3219121, 0x32189C2,       0x0,       0x0,
 
	0x9BD | PALETTE_TO_STRUCT_YELLOW, 0x9C1 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0, 0x9BE | PALETTE_TO_STRUCT_YELLOW, 0x9C2 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,
 
	0x9BF | PALETTE_TO_STRUCT_YELLOW, 0x9C1 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0, 0x9C0 | PALETTE_TO_STRUCT_YELLOW, 0x9C2 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,
 
	0x10F8 | PALETTE_TO_STRUCT_YELLOW, 0x9C1 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0, 0x10F9 | PALETTE_TO_STRUCT_YELLOW, 0x9C2 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,
 
	0x1120 | PALETTE_TO_STRUCT_YELLOW, 0x9C1 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0, 0x1121 | PALETTE_TO_STRUCT_YELLOW, 0x9C2 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,
 
	0x0, SPR_OPENTTD_BASE + 35,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_5_6[] = {
 
	    0x986,     0x988,     0x985,     0x987,     0x98A,     0x98C,     0x989,     0x98B,
 
	0x321898E, 0x3218990, 0x321898D, 0x321898F, 0x3218992, 0x3218994, 0x3218991, 0x3218993,
 
	0x32190E7, 0x32190E9, 0x32190E6, 0x32190E8, 0x32190EB, 0x32190ED, 0x32190EA, 0x32190EC,
 
	0x321910F, 0x3219111, 0x321910E, 0x3219110, 0x3219113, 0x3219115, 0x3219112, 0x3219114,
 
	0x98E | PALETTE_TO_STRUCT_YELLOW, 0x990 | PALETTE_TO_STRUCT_YELLOW, 0x98D | PALETTE_TO_STRUCT_YELLOW, 0x98F | PALETTE_TO_STRUCT_YELLOW, 0x992 | PALETTE_TO_STRUCT_YELLOW, 0x994 | PALETTE_TO_STRUCT_YELLOW, 0x991 | PALETTE_TO_STRUCT_YELLOW, 0x993 | PALETTE_TO_STRUCT_YELLOW,
 
	0x10E7 | PALETTE_TO_STRUCT_YELLOW, 0x10E9 | PALETTE_TO_STRUCT_YELLOW, 0x10E6 | PALETTE_TO_STRUCT_YELLOW, 0x10E8 | PALETTE_TO_STRUCT_YELLOW, 0x10EB | PALETTE_TO_STRUCT_YELLOW, 0x10ED | PALETTE_TO_STRUCT_YELLOW, 0x10EA | PALETTE_TO_STRUCT_YELLOW, 0x10EC | PALETTE_TO_STRUCT_YELLOW,
 
	0x110F | PALETTE_TO_STRUCT_YELLOW, 0x1111 | PALETTE_TO_STRUCT_YELLOW, 0x110E | PALETTE_TO_STRUCT_YELLOW, 0x1110 | PALETTE_TO_STRUCT_YELLOW, 0x1113 | PALETTE_TO_STRUCT_YELLOW, 0x1115 | PALETTE_TO_STRUCT_YELLOW, 0x1112 | PALETTE_TO_STRUCT_YELLOW, 0x1114 | PALETTE_TO_STRUCT_YELLOW,
 
	0x0, SPR_OPENTTD_BASE + 35,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_5_poles[] = {
 
	SPR_OPENTTD_BASE + 36 + 0x3218000,
 
	SPR_OPENTTD_BASE + 37 + 0x3218000,
 
	SPR_OPENTTD_BASE + 37 + 0x3218000,
 
	SPR_OPENTTD_BASE + 36 + 0x3218000,
 
	SPR_OPENTTD_BASE + 38 + 0x3218000,
 
	SPR_OPENTTD_BASE + 36 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 37 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 37 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 36 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 38 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	0x0,
 

	
 
	SPR_OPENTTD_BASE + 33 + 0x3218000,
 
	SPR_OPENTTD_BASE + 34 + 0x3218000,
 
	SPR_OPENTTD_BASE + 34 + 0x3218000,
 
	SPR_OPENTTD_BASE + 33 + 0x3218000,
 
	SPR_OPENTTD_BASE + 35 + 0x3218000,
 
	SPR_OPENTTD_BASE + 33 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 34 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 34 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 33 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 35 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	0x0,
 

	
 
	0x0,
 
@@ -191,68 +191,68 @@ static const PalSpriteID _bridge_sprite_
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_3_0[] = {
 
	0x32089A9, 0x320899F, 0x32089B1,       0x0, 0x32089A5, 0x3208997, 0x32089AD,       0x0,
 
	0x320899D, 0x320899F, 0x32089B1,       0x0, 0x3208995, 0x3208997, 0x32089AD,       0x0,
 
	0x32090F2, 0x320899F, 0x32089B1,       0x0, 0x32090EE, 0x3208997, 0x32089AD,       0x0,
 
	0x320911A, 0x320899F, 0x32089B1,       0x0, 0x3209116, 0x3208997, 0x32089AD,       0x0,
 
	0x9A9 | PALETTE_TO_STRUCT_CONCRETE, 0x99F | PALETTE_TO_STRUCT_CONCRETE, 0x9B1 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x9A5 | PALETTE_TO_STRUCT_CONCRETE, 0x997 | PALETTE_TO_STRUCT_CONCRETE, 0x9AD | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x99D | PALETTE_TO_STRUCT_CONCRETE, 0x99F | PALETTE_TO_STRUCT_CONCRETE, 0x9B1 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x995 | PALETTE_TO_STRUCT_CONCRETE, 0x997 | PALETTE_TO_STRUCT_CONCRETE, 0x9AD | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x10F2 | PALETTE_TO_STRUCT_CONCRETE, 0x99F | PALETTE_TO_STRUCT_CONCRETE, 0x9B1 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x10EE | PALETTE_TO_STRUCT_CONCRETE, 0x997 | PALETTE_TO_STRUCT_CONCRETE, 0x9AD | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x111A | PALETTE_TO_STRUCT_CONCRETE, 0x99F | PALETTE_TO_STRUCT_CONCRETE, 0x9B1 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x1116 | PALETTE_TO_STRUCT_CONCRETE, 0x997 | PALETTE_TO_STRUCT_CONCRETE, 0x9AD | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_3_1[] = {
 
	0x32089AA, 0x32089A0, 0x32089B2,       0x0, 0x32089A6, 0x3208998, 0x32089AE,       0x0,
 
	0x320899E, 0x32089A0, 0x32089B2,       0x0, 0x3208996, 0x3208998, 0x32089AE,       0x0,
 
	0x32090F3, 0x32089A0, 0x32089B2,       0x0, 0x32090EF, 0x3208998, 0x32089AE,       0x0,
 
	0x320911B, 0x32089A0, 0x32089B2,       0x0, 0x3209117, 0x3208998, 0x32089AE,       0x0,
 
	0x9AA | PALETTE_TO_STRUCT_CONCRETE, 0x9A0 | PALETTE_TO_STRUCT_CONCRETE, 0x9B2 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x9A6 | PALETTE_TO_STRUCT_CONCRETE, 0x998 | PALETTE_TO_STRUCT_CONCRETE, 0x9AE | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x99E | PALETTE_TO_STRUCT_CONCRETE, 0x9A0 | PALETTE_TO_STRUCT_CONCRETE, 0x9B2 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x996 | PALETTE_TO_STRUCT_CONCRETE, 0x998 | PALETTE_TO_STRUCT_CONCRETE, 0x9AE | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x10F3 | PALETTE_TO_STRUCT_CONCRETE, 0x9A0 | PALETTE_TO_STRUCT_CONCRETE, 0x9B2 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x10EF | PALETTE_TO_STRUCT_CONCRETE, 0x998 | PALETTE_TO_STRUCT_CONCRETE, 0x9AE | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x111B | PALETTE_TO_STRUCT_CONCRETE, 0x9A0 | PALETTE_TO_STRUCT_CONCRETE, 0x9B2 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x1117 | PALETTE_TO_STRUCT_CONCRETE, 0x998 | PALETTE_TO_STRUCT_CONCRETE, 0x9AE | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_3_2[] = {
 
	0x32089AC, 0x32089A4, 0x32089B4,       0x0, 0x32089A8, 0x320899C, 0x32089B0,       0x0,
 
	0x32089A2, 0x32089A4, 0x32089B4,       0x0, 0x320899A, 0x320899C, 0x32089B0,       0x0,
 
	0x32090F5, 0x32089A4, 0x32089B4,       0x0, 0x32090F1, 0x320899C, 0x32089B0,       0x0,
 
	0x320911D, 0x32089A4, 0x32089B4,       0x0, 0x3209119, 0x320899C, 0x32089B0,       0x0,
 
	0x9AC | PALETTE_TO_STRUCT_CONCRETE, 0x9A4 | PALETTE_TO_STRUCT_CONCRETE, 0x9B4 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x9A8 | PALETTE_TO_STRUCT_CONCRETE, 0x99C | PALETTE_TO_STRUCT_CONCRETE, 0x9B0 | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x9A2 | PALETTE_TO_STRUCT_CONCRETE, 0x9A4 | PALETTE_TO_STRUCT_CONCRETE, 0x9B4 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x99A | PALETTE_TO_STRUCT_CONCRETE, 0x99C | PALETTE_TO_STRUCT_CONCRETE, 0x9B0 | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x10F5 | PALETTE_TO_STRUCT_CONCRETE, 0x9A4 | PALETTE_TO_STRUCT_CONCRETE, 0x9B4 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x10F1 | PALETTE_TO_STRUCT_CONCRETE, 0x99C | PALETTE_TO_STRUCT_CONCRETE, 0x9B0 | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x111D | PALETTE_TO_STRUCT_CONCRETE, 0x9A4 | PALETTE_TO_STRUCT_CONCRETE, 0x9B4 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x1119 | PALETTE_TO_STRUCT_CONCRETE, 0x99C | PALETTE_TO_STRUCT_CONCRETE, 0x9B0 | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_3_3[] = {
 
	0x32089AB, 0x32089A3, 0x32089B3,       0x0, 0x32089A7, 0x320899B, 0x32089AF,       0x0,
 
	0x32089A1, 0x32089A3, 0x32089B3,       0x0, 0x3208999, 0x320899B, 0x32089AF,       0x0,
 
	0x32090F4, 0x32089A3, 0x32089B3,       0x0, 0x32090F0, 0x320899B, 0x32089AF,       0x0,
 
	0x320911C, 0x32089A3, 0x32089B3,       0x0, 0x3209118, 0x320899B, 0x32089AF,       0x0,
 
	0x9AB | PALETTE_TO_STRUCT_CONCRETE, 0x9A3 | PALETTE_TO_STRUCT_CONCRETE, 0x9B3 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x9A7 | PALETTE_TO_STRUCT_CONCRETE, 0x99B | PALETTE_TO_STRUCT_CONCRETE, 0x9AF | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x9A1 | PALETTE_TO_STRUCT_CONCRETE, 0x9A3 | PALETTE_TO_STRUCT_CONCRETE, 0x9B3 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x999 | PALETTE_TO_STRUCT_CONCRETE, 0x99B | PALETTE_TO_STRUCT_CONCRETE, 0x9AF | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x10F4 | PALETTE_TO_STRUCT_CONCRETE, 0x9A3 | PALETTE_TO_STRUCT_CONCRETE, 0x9B3 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x10F0 | PALETTE_TO_STRUCT_CONCRETE, 0x99B | PALETTE_TO_STRUCT_CONCRETE, 0x9AF | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x111C | PALETTE_TO_STRUCT_CONCRETE, 0x9A3 | PALETTE_TO_STRUCT_CONCRETE, 0x9B3 | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x1118 | PALETTE_TO_STRUCT_CONCRETE, 0x99B | PALETTE_TO_STRUCT_CONCRETE, 0x9AF | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_3_4[] = {
 
	0x32089B6, 0x32089BA, 0x32089BC,       0x0, 0x32089B5, 0x32089B9, 0x32089BB,       0x0,
 
	0x32089B8, 0x32089BA, 0x32089BC,       0x0, 0x32089B7, 0x32089B9, 0x32089BB,       0x0,
 
	0x32090F7, 0x32089BA, 0x32089BC,       0x0, 0x32090F6, 0x32089B9, 0x32089BB,       0x0,
 
	0x320911F, 0x32089BA, 0x32089BC,       0x0, 0x320911E, 0x32089B9, 0x32089BB,       0x0,
 
	0x9B6 | PALETTE_TO_STRUCT_CONCRETE, 0x9BA | PALETTE_TO_STRUCT_CONCRETE, 0x9BC | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x9B5 | PALETTE_TO_STRUCT_CONCRETE, 0x9B9 | PALETTE_TO_STRUCT_CONCRETE, 0x9BB | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x9B8 | PALETTE_TO_STRUCT_CONCRETE, 0x9BA | PALETTE_TO_STRUCT_CONCRETE, 0x9BC | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x9B7 | PALETTE_TO_STRUCT_CONCRETE, 0x9B9 | PALETTE_TO_STRUCT_CONCRETE, 0x9BB | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x10F7 | PALETTE_TO_STRUCT_CONCRETE, 0x9BA | PALETTE_TO_STRUCT_CONCRETE, 0x9BC | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x10F6 | PALETTE_TO_STRUCT_CONCRETE, 0x9B9 | PALETTE_TO_STRUCT_CONCRETE, 0x9BB | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
	0x111F | PALETTE_TO_STRUCT_CONCRETE, 0x9BA | PALETTE_TO_STRUCT_CONCRETE, 0x9BC | PALETTE_TO_STRUCT_CONCRETE,       0x0, 0x111E | PALETTE_TO_STRUCT_CONCRETE, 0x9B9 | PALETTE_TO_STRUCT_CONCRETE, 0x9BB | PALETTE_TO_STRUCT_CONCRETE,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_3_5[] = {
 
	0x32089BD, 0x32089C1,       0x0,       0x0, 0x32089BE, 0x32089C2,       0x0,       0x0,
 
	0x32089BF, 0x32089C1,       0x0,       0x0, 0x32089C0, 0x32089C2,       0x0,       0x0,
 
	0x32090F8, 0x32089C1,       0x0,       0x0, 0x32090F9, 0x32089C2,       0x0,       0x0,
 
	0x3209120, 0x32089C1,       0x0,       0x0, 0x3209121, 0x32089C2,       0x0,       0x0,
 
	0x9BD | PALETTE_TO_STRUCT_CONCRETE, 0x9C1 | PALETTE_TO_STRUCT_CONCRETE,       0x0,       0x0, 0x9BE | PALETTE_TO_STRUCT_CONCRETE, 0x9C2 | PALETTE_TO_STRUCT_CONCRETE,       0x0,       0x0,
 
	0x9BF | PALETTE_TO_STRUCT_CONCRETE, 0x9C1 | PALETTE_TO_STRUCT_CONCRETE,       0x0,       0x0, 0x9C0 | PALETTE_TO_STRUCT_CONCRETE, 0x9C2 | PALETTE_TO_STRUCT_CONCRETE,       0x0,       0x0,
 
	0x10F8 | PALETTE_TO_STRUCT_CONCRETE, 0x9C1 | PALETTE_TO_STRUCT_CONCRETE,       0x0,       0x0, 0x10F9 | PALETTE_TO_STRUCT_CONCRETE, 0x9C2 | PALETTE_TO_STRUCT_CONCRETE,       0x0,       0x0,
 
	0x1120 | PALETTE_TO_STRUCT_CONCRETE, 0x9C1 | PALETTE_TO_STRUCT_CONCRETE,       0x0,       0x0, 0x1121 | PALETTE_TO_STRUCT_CONCRETE, 0x9C2 | PALETTE_TO_STRUCT_CONCRETE,       0x0,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_3_6[] = {
 
	    0x986,     0x988,     0x985,     0x987,     0x98A,     0x98C,     0x989,     0x98B,
 
	0x320898E, 0x3208990, 0x320898D, 0x320898F, 0x3208992, 0x3208994, 0x3208991, 0x3208993,
 
	0x32090E7, 0x32090E9, 0x32090E6, 0x32090E8, 0x32090EB, 0x32090ED, 0x32090EA, 0x32090EC,
 
	0x320910F, 0x3209111, 0x320910E, 0x3209110, 0x3209113, 0x3209115, 0x3209112, 0x3209114,
 
	0x98E | PALETTE_TO_STRUCT_CONCRETE, 0x990 | PALETTE_TO_STRUCT_CONCRETE, 0x98D | PALETTE_TO_STRUCT_CONCRETE, 0x98F | PALETTE_TO_STRUCT_CONCRETE, 0x992 | PALETTE_TO_STRUCT_CONCRETE, 0x994 | PALETTE_TO_STRUCT_CONCRETE, 0x991 | PALETTE_TO_STRUCT_CONCRETE, 0x993 | PALETTE_TO_STRUCT_CONCRETE,
 
	0x10E7 | PALETTE_TO_STRUCT_CONCRETE, 0x10E9 | PALETTE_TO_STRUCT_CONCRETE, 0x10E6 | PALETTE_TO_STRUCT_CONCRETE, 0x10E8 | PALETTE_TO_STRUCT_CONCRETE, 0x10EB | PALETTE_TO_STRUCT_CONCRETE, 0x10ED | PALETTE_TO_STRUCT_CONCRETE, 0x10EA | PALETTE_TO_STRUCT_CONCRETE, 0x10EC | PALETTE_TO_STRUCT_CONCRETE,
 
	0x110F | PALETTE_TO_STRUCT_CONCRETE, 0x1111 | PALETTE_TO_STRUCT_CONCRETE, 0x110E | PALETTE_TO_STRUCT_CONCRETE, 0x1110 | PALETTE_TO_STRUCT_CONCRETE, 0x1113 | PALETTE_TO_STRUCT_CONCRETE, 0x1115 | PALETTE_TO_STRUCT_CONCRETE, 0x1112 | PALETTE_TO_STRUCT_CONCRETE, 0x1114 | PALETTE_TO_STRUCT_CONCRETE,
 
	0x0, SPR_OPENTTD_BASE + 35,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_3_poles[] = {
 
	SPR_OPENTTD_BASE + 36 + 0x3208000,
 
	SPR_OPENTTD_BASE + 37 + 0x3208000,
 
	SPR_OPENTTD_BASE + 37 + 0x3208000,
 
	SPR_OPENTTD_BASE + 36 + 0x3208000,
 
	SPR_OPENTTD_BASE + 38 + 0x3208000,
 
	SPR_OPENTTD_BASE + 36 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_OPENTTD_BASE + 37 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_OPENTTD_BASE + 37 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_OPENTTD_BASE + 36 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_OPENTTD_BASE + 38 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	0x0,
 

	
 
	SPR_OPENTTD_BASE + 33 + 0x3208000,
 
	SPR_OPENTTD_BASE + 34 + 0x3208000,
 
	SPR_OPENTTD_BASE + 34 + 0x3208000,
 
	SPR_OPENTTD_BASE + 33 + 0x3208000,
 
	SPR_OPENTTD_BASE + 35 + 0x3208000,
 
	SPR_OPENTTD_BASE + 33 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_OPENTTD_BASE + 34 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_OPENTTD_BASE + 34 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_OPENTTD_BASE + 33 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	SPR_OPENTTD_BASE + 35 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_CONCRETE),
 
	0x0,
 

	
 
	0x0,
 
@@ -261,9 +261,9 @@ static const PalSpriteID _bridge_sprite_
 

	
 
static const PalSpriteID _bridge_sprite_table_1_1[] = {
 
	    0x986,     0x988,     0x985,     0x987,     0x98A,     0x98C,     0x989,     0x98B,
 
	0x31E898E, 0x31E8990, 0x31E898D, 0x31E898F, 0x31E8992, 0x31E8994, 0x31E8991, 0x31E8993,
 
	0x31E90E7, 0x31E90E9, 0x31E90E6, 0x31E90E8, 0x31E90EB, 0x31E90ED, 0x31E90EA, 0x31E90EC,
 
	0x31E910F, 0x31E9111, 0x31E910E, 0x31E9110, 0x31E9113, 0x31E9115, 0x31E9112, 0x31E9114,
 
	0x98E | PALETTE_TO_STRUCT_RED, 0x990 | PALETTE_TO_STRUCT_RED, 0x98D | PALETTE_TO_STRUCT_RED, 0x98F | PALETTE_TO_STRUCT_RED, 0x992 | PALETTE_TO_STRUCT_RED, 0x994 | PALETTE_TO_STRUCT_RED, 0x991 | PALETTE_TO_STRUCT_RED, 0x993 | PALETTE_TO_STRUCT_RED,
 
	0x10E7 | PALETTE_TO_STRUCT_RED, 0x10E9 | PALETTE_TO_STRUCT_RED, 0x10E6 | PALETTE_TO_STRUCT_RED, 0x10E8 | PALETTE_TO_STRUCT_RED, 0x10EB | PALETTE_TO_STRUCT_RED, 0x10ED | PALETTE_TO_STRUCT_RED, 0x10EA | PALETTE_TO_STRUCT_RED, 0x10EC | PALETTE_TO_STRUCT_RED,
 
	0x110F | PALETTE_TO_STRUCT_RED, 0x1111 | PALETTE_TO_STRUCT_RED, 0x110E | PALETTE_TO_STRUCT_RED, 0x1110 | PALETTE_TO_STRUCT_RED, 0x1113 | PALETTE_TO_STRUCT_RED, 0x1115 | PALETTE_TO_STRUCT_RED, 0x1112 | PALETTE_TO_STRUCT_RED, 0x1114 | PALETTE_TO_STRUCT_RED,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_1_poles[] = {
 
@@ -335,31 +335,31 @@ static const PalSpriteID _bridge_sprite_
 

	
 

	
 
static const PalSpriteID _bridge_sprite_table_7_0[] = {
 
	0x31C89CD, 0x31C89D9,       0x0,       0x0, 0x31C89CE, 0x31C89DA,       0x0,       0x0,
 
	0x31C89D3, 0x31C89D9,       0x0,       0x0, 0x31C89D4, 0x31C89DA,       0x0,       0x0,
 
	0x31C90FC, 0x31C89D9,       0x0,       0x0, 0x31C90FD, 0x31C89DA,       0x0,       0x0,
 
	0x31C9124, 0x31C89D9,       0x0,       0x0, 0x31C9125, 0x31C89DA,       0x0,       0x0,
 
	0x9CD | PALETTE_TO_STRUCT_BROWN, 0x9D9 | PALETTE_TO_STRUCT_BROWN,       0x0,       0x0, 0x9CE | PALETTE_TO_STRUCT_BROWN, 0x9DA | PALETTE_TO_STRUCT_BROWN,       0x0,       0x0,
 
	0x9D3 | PALETTE_TO_STRUCT_BROWN, 0x9D9 | PALETTE_TO_STRUCT_BROWN,       0x0,       0x0, 0x9D4 | PALETTE_TO_STRUCT_BROWN, 0x9DA | PALETTE_TO_STRUCT_BROWN,       0x0,       0x0,
 
	0x10FC | PALETTE_TO_STRUCT_BROWN, 0x9D9 | PALETTE_TO_STRUCT_BROWN,       0x0,       0x0, 0x10FD | PALETTE_TO_STRUCT_BROWN, 0x9DA | PALETTE_TO_STRUCT_BROWN,       0x0,       0x0,
 
	0x1124 | PALETTE_TO_STRUCT_BROWN, 0x9D9 | PALETTE_TO_STRUCT_BROWN,       0x0,       0x0, 0x1125 | PALETTE_TO_STRUCT_BROWN, 0x9DA | PALETTE_TO_STRUCT_BROWN,       0x0,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_7_1[] = {
 
	0x31C89CB, 0x31C89D7, 0x31C89DD,       0x0, 0x31C89D0, 0x31C89DC, 0x31C89E0,       0x0,
 
	0x31C89D1, 0x31C89D7, 0x31C89DD,       0x0, 0x31C89D6, 0x31C89DC, 0x31C89E0,       0x0,
 
	0x31C90FA, 0x31C89D7, 0x31C89DD,       0x0, 0x31C90FF, 0x31C89DC, 0x31C89E0,       0x0,
 
	0x31C9122, 0x31C89D7, 0x31C89DD,       0x0, 0x31C9127, 0x31C89DC, 0x31C89E0,       0x0,
 
	0x9CB | PALETTE_TO_STRUCT_BROWN, 0x9D7 | PALETTE_TO_STRUCT_BROWN, 0x9DD | PALETTE_TO_STRUCT_BROWN,       0x0, 0x9D0 | PALETTE_TO_STRUCT_BROWN, 0x9DC | PALETTE_TO_STRUCT_BROWN, 0x9E0 | PALETTE_TO_STRUCT_BROWN,       0x0,
 
	0x9D1 | PALETTE_TO_STRUCT_BROWN, 0x9D7 | PALETTE_TO_STRUCT_BROWN, 0x9DD | PALETTE_TO_STRUCT_BROWN,       0x0, 0x9D6 | PALETTE_TO_STRUCT_BROWN, 0x9DC | PALETTE_TO_STRUCT_BROWN, 0x9E0 | PALETTE_TO_STRUCT_BROWN,       0x0,
 
	0x10FA | PALETTE_TO_STRUCT_BROWN, 0x9D7 | PALETTE_TO_STRUCT_BROWN, 0x9DD | PALETTE_TO_STRUCT_BROWN,       0x0, 0x10FF | PALETTE_TO_STRUCT_BROWN, 0x9DC | PALETTE_TO_STRUCT_BROWN, 0x9E0 | PALETTE_TO_STRUCT_BROWN,       0x0,
 
	0x1122 | PALETTE_TO_STRUCT_BROWN, 0x9D7 | PALETTE_TO_STRUCT_BROWN, 0x9DD | PALETTE_TO_STRUCT_BROWN,       0x0, 0x1127 | PALETTE_TO_STRUCT_BROWN, 0x9DC | PALETTE_TO_STRUCT_BROWN, 0x9E0 | PALETTE_TO_STRUCT_BROWN,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_7_2[] = {
 
	0x31C89CC, 0x31C89D8, 0x31C89DE,       0x0, 0x31C89CF, 0x31C89DB, 0x31C89DF,       0x0,
 
	0x31C89D2, 0x31C89D8, 0x31C89DE,       0x0, 0x31C89D5, 0x31C89DB, 0x31C89DF,       0x0,
 
	0x31C90FB, 0x31C89D8, 0x31C89DE,       0x0, 0x31C90FE, 0x31C89DB, 0x31C89DF,       0x0,
 
	0x31C9123, 0x31C89D8, 0x31C89DE,       0x0, 0x31C9126, 0x31C89DB, 0x31C89DF,       0x0,
 
	0x9CC | PALETTE_TO_STRUCT_BROWN, 0x9D8 | PALETTE_TO_STRUCT_BROWN, 0x9DE | PALETTE_TO_STRUCT_BROWN,       0x0, 0x9CF | PALETTE_TO_STRUCT_BROWN, 0x9DB | PALETTE_TO_STRUCT_BROWN, 0x9DF | PALETTE_TO_STRUCT_BROWN,       0x0,
 
	0x9D2 | PALETTE_TO_STRUCT_BROWN, 0x9D8 | PALETTE_TO_STRUCT_BROWN, 0x9DE | PALETTE_TO_STRUCT_BROWN,       0x0, 0x9D5 | PALETTE_TO_STRUCT_BROWN, 0x9DB | PALETTE_TO_STRUCT_BROWN, 0x9DF | PALETTE_TO_STRUCT_BROWN,       0x0,
 
	0x10FB | PALETTE_TO_STRUCT_BROWN, 0x9D8 | PALETTE_TO_STRUCT_BROWN, 0x9DE | PALETTE_TO_STRUCT_BROWN,       0x0, 0x10FE | PALETTE_TO_STRUCT_BROWN, 0x9DB | PALETTE_TO_STRUCT_BROWN, 0x9DF | PALETTE_TO_STRUCT_BROWN,       0x0,
 
	0x1123 | PALETTE_TO_STRUCT_BROWN, 0x9D8 | PALETTE_TO_STRUCT_BROWN, 0x9DE | PALETTE_TO_STRUCT_BROWN,       0x0, 0x1126 | PALETTE_TO_STRUCT_BROWN, 0x9DB | PALETTE_TO_STRUCT_BROWN, 0x9DF | PALETTE_TO_STRUCT_BROWN,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_7_3[] = {
 
	    0x986,     0x988,     0x985,     0x987,     0x98A,     0x98C,     0x989,     0x98B,
 
	0x31C898E, 0x31C8990, 0x31C898D, 0x31C898F, 0x31C8992, 0x31C8994, 0x31C8991, 0x31C8993,
 
	0x31C90E7, 0x31C90E9, 0x31C90E6, 0x31C90E8, 0x31C90EB, 0x31C90ED, 0x31C90EA, 0x31C90EC,
 
	0x31C910F, 0x31C9111, 0x31C910E, 0x31C9110, 0x31C9113, 0x31C9115, 0x31C9112, 0x31C9114,
 
	0x98E | PALETTE_TO_STRUCT_BROWN, 0x990 | PALETTE_TO_STRUCT_BROWN, 0x98D | PALETTE_TO_STRUCT_BROWN, 0x98F | PALETTE_TO_STRUCT_BROWN, 0x992 | PALETTE_TO_STRUCT_BROWN, 0x994 | PALETTE_TO_STRUCT_BROWN, 0x991 | PALETTE_TO_STRUCT_BROWN, 0x993 | PALETTE_TO_STRUCT_BROWN,
 
	0x10E7 | PALETTE_TO_STRUCT_BROWN, 0x10E9 | PALETTE_TO_STRUCT_BROWN, 0x10E6 | PALETTE_TO_STRUCT_BROWN, 0x10E8 | PALETTE_TO_STRUCT_BROWN, 0x10EB | PALETTE_TO_STRUCT_BROWN, 0x10ED | PALETTE_TO_STRUCT_BROWN, 0x10EA | PALETTE_TO_STRUCT_BROWN, 0x10EC | PALETTE_TO_STRUCT_BROWN,
 
	0x110F | PALETTE_TO_STRUCT_BROWN, 0x1111 | PALETTE_TO_STRUCT_BROWN, 0x110E | PALETTE_TO_STRUCT_BROWN, 0x1110 | PALETTE_TO_STRUCT_BROWN, 0x1113 | PALETTE_TO_STRUCT_BROWN, 0x1115 | PALETTE_TO_STRUCT_BROWN, 0x1112 | PALETTE_TO_STRUCT_BROWN, 0x1114 | PALETTE_TO_STRUCT_BROWN,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_7_poles[] = {
 
@@ -382,31 +382,31 @@ static const PalSpriteID _bridge_sprite_
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_8_0[] = {
 
	0x31E89CD, 0x31E89D9,       0x0,       0x0, 0x31E89CE, 0x31E89DA,       0x0,       0x0,
 
	0x31E89D3, 0x31E89D9,       0x0,       0x0, 0x31E89D4, 0x31E89DA,       0x0,       0x0,
 
	0x31E90FC, 0x31E89D9,       0x0,       0x0, 0x31E90FD, 0x31E89DA,       0x0,       0x0,
 
	0x31E9124, 0x31E89D9,       0x0,       0x0, 0x31E9125, 0x31E89DA,       0x0,       0x0,
 
	0x9CD | PALETTE_TO_STRUCT_RED, 0x9D9 | PALETTE_TO_STRUCT_RED,       0x0,       0x0, 0x9CE | PALETTE_TO_STRUCT_RED, 0x9DA | PALETTE_TO_STRUCT_RED,       0x0,       0x0,
 
	0x9D3 | PALETTE_TO_STRUCT_RED, 0x9D9 | PALETTE_TO_STRUCT_RED,       0x0,       0x0, 0x9D4 | PALETTE_TO_STRUCT_RED, 0x9DA | PALETTE_TO_STRUCT_RED,       0x0,       0x0,
 
	0x10FC | PALETTE_TO_STRUCT_RED, 0x9D9 | PALETTE_TO_STRUCT_RED,       0x0,       0x0, 0x10FD | PALETTE_TO_STRUCT_RED, 0x9DA | PALETTE_TO_STRUCT_RED,       0x0,       0x0,
 
	0x1124 | PALETTE_TO_STRUCT_RED, 0x9D9 | PALETTE_TO_STRUCT_RED,       0x0,       0x0, 0x1125 | PALETTE_TO_STRUCT_RED, 0x9DA | PALETTE_TO_STRUCT_RED,       0x0,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_8_1[] = {
 
	0x31E89CB, 0x31E89D7, 0x31E89DD,       0x0, 0x31E89D0, 0x31E89DC, 0x31E89E0,       0x0,
 
	0x31E89D1, 0x31E89D7, 0x31E89DD,       0x0, 0x31E89D6, 0x31E89DC, 0x31E89E0,       0x0,
 
	0x31E90FA, 0x31E89D7, 0x31E89DD,       0x0, 0x31E90FF, 0x31E89DC, 0x31E89E0,       0x0,
 
	0x31E9122, 0x31E89D7, 0x31E89DD,       0x0, 0x31E9127, 0x31E89DC, 0x31E89E0,       0x0,
 
	0x9CB | PALETTE_TO_STRUCT_RED, 0x9D7 | PALETTE_TO_STRUCT_RED, 0x9DD | PALETTE_TO_STRUCT_RED,       0x0, 0x9D0 | PALETTE_TO_STRUCT_RED, 0x9DC | PALETTE_TO_STRUCT_RED, 0x9E0 | PALETTE_TO_STRUCT_RED,       0x0,
 
	0x9D1 | PALETTE_TO_STRUCT_RED, 0x9D7 | PALETTE_TO_STRUCT_RED, 0x9DD | PALETTE_TO_STRUCT_RED,       0x0, 0x9D6 | PALETTE_TO_STRUCT_RED, 0x9DC | PALETTE_TO_STRUCT_RED, 0x9E0 | PALETTE_TO_STRUCT_RED,       0x0,
 
	0x10FA | PALETTE_TO_STRUCT_RED, 0x9D7 | PALETTE_TO_STRUCT_RED, 0x9DD | PALETTE_TO_STRUCT_RED,       0x0, 0x10FF | PALETTE_TO_STRUCT_RED, 0x9DC | PALETTE_TO_STRUCT_RED, 0x9E0 | PALETTE_TO_STRUCT_RED,       0x0,
 
	0x1122 | PALETTE_TO_STRUCT_RED, 0x9D7 | PALETTE_TO_STRUCT_RED, 0x9DD | PALETTE_TO_STRUCT_RED,       0x0, 0x1127 | PALETTE_TO_STRUCT_RED, 0x9DC | PALETTE_TO_STRUCT_RED, 0x9E0 | PALETTE_TO_STRUCT_RED,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_8_2[] = {
 
	0x31E89CC, 0x31E89D8, 0x31E89DE,       0x0, 0x31E89CF, 0x31E89DB, 0x31E89DF,       0x0,
 
	0x31E89D2, 0x31E89D8, 0x31E89DE,       0x0, 0x31E89D5, 0x31E89DB, 0x31E89DF,       0x0,
 
	0x31E90FB, 0x31E89D8, 0x31E89DE,       0x0, 0x31E90FE, 0x31E89DB, 0x31E89DF,       0x0,
 
	0x31E9123, 0x31E89D8, 0x31E89DE,       0x0, 0x31E9126, 0x31E89DB, 0x31E89DF,       0x0,
 
	0x9CC | PALETTE_TO_STRUCT_RED, 0x9D8 | PALETTE_TO_STRUCT_RED, 0x9DE | PALETTE_TO_STRUCT_RED,       0x0, 0x9CF | PALETTE_TO_STRUCT_RED, 0x9DB | PALETTE_TO_STRUCT_RED, 0x9DF | PALETTE_TO_STRUCT_RED,       0x0,
 
	0x9D2 | PALETTE_TO_STRUCT_RED, 0x9D8 | PALETTE_TO_STRUCT_RED, 0x9DE | PALETTE_TO_STRUCT_RED,       0x0, 0x9D5 | PALETTE_TO_STRUCT_RED, 0x9DB | PALETTE_TO_STRUCT_RED, 0x9DF | PALETTE_TO_STRUCT_RED,       0x0,
 
	0x10FB | PALETTE_TO_STRUCT_RED, 0x9D8 | PALETTE_TO_STRUCT_RED, 0x9DE | PALETTE_TO_STRUCT_RED,       0x0, 0x10FE | PALETTE_TO_STRUCT_RED, 0x9DB | PALETTE_TO_STRUCT_RED, 0x9DF | PALETTE_TO_STRUCT_RED,       0x0,
 
	0x1123 | PALETTE_TO_STRUCT_RED, 0x9D8 | PALETTE_TO_STRUCT_RED, 0x9DE | PALETTE_TO_STRUCT_RED,       0x0, 0x1126 | PALETTE_TO_STRUCT_RED, 0x9DB | PALETTE_TO_STRUCT_RED, 0x9DF | PALETTE_TO_STRUCT_RED,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_8_3[] = {
 
	    0x986,     0x988,     0x985,     0x987,     0x98A,     0x98C,     0x989,     0x98B,
 
	0x31E898E, 0x31E8990, 0x31E898D, 0x31E898F, 0x31E8992, 0x31E8994, 0x31E8991, 0x31E8993,
 
	0x31E90E7, 0x31E90E9, 0x31E90E6, 0x31E90E8, 0x31E90EB, 0x31E90ED, 0x31E90EA, 0x31E90EC,
 
	0x31E910F, 0x31E9111, 0x31E910E, 0x31E9110, 0x31E9113, 0x31E9115, 0x31E9112, 0x31E9114,
 
	0x98E | PALETTE_TO_STRUCT_RED, 0x990 | PALETTE_TO_STRUCT_RED, 0x98D | PALETTE_TO_STRUCT_RED, 0x98F | PALETTE_TO_STRUCT_RED, 0x992 | PALETTE_TO_STRUCT_RED, 0x994 | PALETTE_TO_STRUCT_RED, 0x991 | PALETTE_TO_STRUCT_RED, 0x993 | PALETTE_TO_STRUCT_RED,
 
	0x10E7 | PALETTE_TO_STRUCT_RED, 0x10E9 | PALETTE_TO_STRUCT_RED, 0x10E6 | PALETTE_TO_STRUCT_RED, 0x10E8 | PALETTE_TO_STRUCT_RED, 0x10EB | PALETTE_TO_STRUCT_RED, 0x10ED | PALETTE_TO_STRUCT_RED, 0x10EA | PALETTE_TO_STRUCT_RED, 0x10EC | PALETTE_TO_STRUCT_RED,
 
	0x110F | PALETTE_TO_STRUCT_RED, 0x1111 | PALETTE_TO_STRUCT_RED, 0x110E | PALETTE_TO_STRUCT_RED, 0x1110 | PALETTE_TO_STRUCT_RED, 0x1113 | PALETTE_TO_STRUCT_RED, 0x1115 | PALETTE_TO_STRUCT_RED, 0x1112 | PALETTE_TO_STRUCT_RED, 0x1114 | PALETTE_TO_STRUCT_RED,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_8_poles[] = {
 
@@ -463,10 +463,10 @@ static const PalSpriteID _bridge_sprite_
 

	
 

	
 
static const PalSpriteID _bridge_sprite_table_1_0[] = {
 
	0x31E89BD, 0x31E89C1,     0x9C9,       0x0, 0x31E89BE, 0x31E89C2,     0x9CA,       0x0,
 
	0x31E89BF, 0x31E89C1,     0x9C9,       0x0, 0x31E89C0, 0x31E89C2,     0x9CA,       0x0,
 
	0x31E90F8, 0x31E89C1,     0x9C9,       0x0, 0x31E90F9, 0x31E89C2,     0x9CA,       0x0,
 
	0x31E9120, 0x31E89C1,     0x9C9,       0x0, 0x31E9121, 0x31E89C2,     0x9CA,       0x0,
 
	0x9BD | PALETTE_TO_STRUCT_RED, 0x9C1 | PALETTE_TO_STRUCT_RED,     0x9C9,       0x0, 0x9BE | PALETTE_TO_STRUCT_RED, 0x9C2 | PALETTE_TO_STRUCT_RED,     0x9CA,       0x0,
 
	0x9BF | PALETTE_TO_STRUCT_RED, 0x9C1 | PALETTE_TO_STRUCT_RED,     0x9C9,       0x0, 0x9C0 | PALETTE_TO_STRUCT_RED, 0x9C2 | PALETTE_TO_STRUCT_RED,     0x9CA,       0x0,
 
	0x10F8 | PALETTE_TO_STRUCT_RED, 0x9C1 | PALETTE_TO_STRUCT_RED,     0x9C9,       0x0, 0x10F9 | PALETTE_TO_STRUCT_RED, 0x9C2 | PALETTE_TO_STRUCT_RED,     0x9CA,       0x0,
 
	0x1120 | PALETTE_TO_STRUCT_RED, 0x9C1 | PALETTE_TO_STRUCT_RED,     0x9C9,       0x0, 0x1121 | PALETTE_TO_STRUCT_RED, 0x9C2 | PALETTE_TO_STRUCT_RED,     0x9CA,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_9_0[] = {
 
@@ -517,39 +517,39 @@ static const PalSpriteID _bridge_sprite_
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_11_0[] = {
 
    0x3218A0B,     0x3218A01,       0x0,       0x0,     0x3218A0C,     0x3218A02,       0x0,       0x0,
 
    0x3218A11,     0x3218A01,       0x0,       0x0,     0x3218A12,     0x3218A02,       0x0,       0x0,
 
    0x3218A17,     0x3218A01,       0x0,       0x0,     0x3218A18,     0x3218A02,       0x0,       0x0,
 
    0x3218A1D,     0x3218A01,       0x0,       0x0,     0x3218A1E,     0x3218A02,       0x0,       0x0,
 
    0xA0B | PALETTE_TO_STRUCT_YELLOW,     0xA01 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,     0xA0C | PALETTE_TO_STRUCT_YELLOW,     0xA02 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,
 
    0xA11 | PALETTE_TO_STRUCT_YELLOW,     0xA01 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,     0xA12 | PALETTE_TO_STRUCT_YELLOW,     0xA02 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,
 
    0xA17 | PALETTE_TO_STRUCT_YELLOW,     0xA01 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,     0xA18 | PALETTE_TO_STRUCT_YELLOW,     0xA02 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,
 
    0xA1D | PALETTE_TO_STRUCT_YELLOW,     0xA01 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,     0xA1E | PALETTE_TO_STRUCT_YELLOW,     0xA02 | PALETTE_TO_STRUCT_YELLOW,       0x0,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_11_1[] = {
 
    0x3218A09,     0x32189FF,     0x3218A05,       0x0,     0x3218A0E,     0x3218A04,     0x3218A08,       0x0,
 
    0x3218A0F,     0x32189FF,     0x3218A05,       0x0,     0x3218A14,     0x3218A04,     0x3218A08,       0x0,
 
    0x3218A15,     0x32189FF,     0x3218A05,       0x0,     0x3218A1A,     0x3218A04,     0x3218A08,       0x0,
 
    0x3218A1B,     0x32189FF,     0x3218A05,       0x0,     0x3218A20,     0x3218A04,     0x3218A08,       0x0,
 
    0xA09 | PALETTE_TO_STRUCT_YELLOW,     0x9FF | PALETTE_TO_STRUCT_YELLOW,     0xA05 | PALETTE_TO_STRUCT_YELLOW,       0x0,     0xA0E | PALETTE_TO_STRUCT_YELLOW,     0xA04 | PALETTE_TO_STRUCT_YELLOW,     0xA08 | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
    0xA0F | PALETTE_TO_STRUCT_YELLOW,     0x9FF | PALETTE_TO_STRUCT_YELLOW,     0xA05 | PALETTE_TO_STRUCT_YELLOW,       0x0,     0xA14 | PALETTE_TO_STRUCT_YELLOW,     0xA04 | PALETTE_TO_STRUCT_YELLOW,     0xA08 | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
    0xA15 | PALETTE_TO_STRUCT_YELLOW,     0x9FF | PALETTE_TO_STRUCT_YELLOW,     0xA05 | PALETTE_TO_STRUCT_YELLOW,       0x0,     0xA1A | PALETTE_TO_STRUCT_YELLOW,     0xA04 | PALETTE_TO_STRUCT_YELLOW,     0xA08 | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
    0xA1B | PALETTE_TO_STRUCT_YELLOW,     0x9FF | PALETTE_TO_STRUCT_YELLOW,     0xA05 | PALETTE_TO_STRUCT_YELLOW,       0x0,     0xA20 | PALETTE_TO_STRUCT_YELLOW,     0xA04 | PALETTE_TO_STRUCT_YELLOW,     0xA08 | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_11_2[] = {
 
    0x3218A0A,     0x3218A00,     0x3218A06,       0x0,     0x3218A0D,     0x3218A03,     0x3218A07,       0x0,
 
    0x3218A10,     0x3218A00,     0x3218A06,       0x0,     0x3218A13,     0x3218A03,     0x3218A07,       0x0,
 
    0x3218A16,     0x3218A00,     0x3218A06,       0x0,     0x3218A19,     0x3218A03,     0x3218A07,       0x0,
 
    0x3218A1C,     0x3218A00,     0x3218A06,       0x0,     0x3218A1F,     0x3218A03,     0x3218A07,       0x0,
 
    0xA0A | PALETTE_TO_STRUCT_YELLOW,     0xA00 | PALETTE_TO_STRUCT_YELLOW,     0xA06 | PALETTE_TO_STRUCT_YELLOW,       0x0,     0xA0D | PALETTE_TO_STRUCT_YELLOW,     0xA03 | PALETTE_TO_STRUCT_YELLOW,     0xA07 | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
    0xA10 | PALETTE_TO_STRUCT_YELLOW,     0xA00 | PALETTE_TO_STRUCT_YELLOW,     0xA06 | PALETTE_TO_STRUCT_YELLOW,       0x0,     0xA13 | PALETTE_TO_STRUCT_YELLOW,     0xA03 | PALETTE_TO_STRUCT_YELLOW,     0xA07 | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
    0xA16 | PALETTE_TO_STRUCT_YELLOW,     0xA00 | PALETTE_TO_STRUCT_YELLOW,     0xA06 | PALETTE_TO_STRUCT_YELLOW,       0x0,     0xA19 | PALETTE_TO_STRUCT_YELLOW,     0xA03 | PALETTE_TO_STRUCT_YELLOW,     0xA07 | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
    0xA1C | PALETTE_TO_STRUCT_YELLOW,     0xA00 | PALETTE_TO_STRUCT_YELLOW,     0xA06 | PALETTE_TO_STRUCT_YELLOW,       0x0,     0xA1F | PALETTE_TO_STRUCT_YELLOW,     0xA03 | PALETTE_TO_STRUCT_YELLOW,     0xA07 | PALETTE_TO_STRUCT_YELLOW,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_11_poles[] = {
 
	SPR_OPENTTD_BASE + 36 + 2*6 + 0x3218000,
 
	SPR_OPENTTD_BASE + 36 + 2*6 + 0x3218000,
 
	SPR_OPENTTD_BASE + 36 + 2*6 + 0x3218000,
 
	SPR_OPENTTD_BASE + 36 + 2*6 + 0x3218000,
 
	SPR_OPENTTD_BASE + 38 + 2*6 + 0x3218000,
 
	SPR_OPENTTD_BASE + 36 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 36 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 36 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 36 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 38 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	0x0,
 

	
 
	SPR_OPENTTD_BASE + 33 + 2*6 + 0x3218000,
 
	SPR_OPENTTD_BASE + 33 + 2*6 + 0x3218000,
 
	SPR_OPENTTD_BASE + 33 + 2*6 + 0x3218000,
 
	SPR_OPENTTD_BASE + 33 + 2*6 + 0x3218000,
 
	SPR_OPENTTD_BASE + 35 + 2*6 + 0x3218000,
 
	SPR_OPENTTD_BASE + 33 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 33 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 33 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 33 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	SPR_OPENTTD_BASE + 35 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_YELLOW),
 
	0x0,
 

	
 
	0x0,
 
@@ -557,39 +557,39 @@ static const PalSpriteID _bridge_sprite_
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_12_0[] = {
 
    0x3238A0B,     0x3238A01,       0x0,       0x0,     0x3238A0C,     0x3238A02,       0x0,       0x0,
 
    0x3238A11,     0x3238A01,       0x0,       0x0,     0x3238A12,     0x3238A02,       0x0,       0x0,
 
    0x3238A17,     0x3238A01,       0x0,       0x0,     0x3238A18,     0x3238A02,       0x0,       0x0,
 
    0x3238A1D,     0x3238A01,       0x0,       0x0,     0x3238A1E,     0x3238A02,       0x0,       0x0,
 
    0xA0B | PALETTE_TO_STRUCT_GREY,     0xA01 | PALETTE_TO_STRUCT_GREY,       0x0,       0x0,     0xA0C | PALETTE_TO_STRUCT_GREY,     0xA02 | PALETTE_TO_STRUCT_GREY,       0x0,       0x0,
 
    0xA11 | PALETTE_TO_STRUCT_GREY,     0xA01 | PALETTE_TO_STRUCT_GREY,       0x0,       0x0,     0xA12 | PALETTE_TO_STRUCT_GREY,     0xA02 | PALETTE_TO_STRUCT_GREY,       0x0,       0x0,
 
    0xA17 | PALETTE_TO_STRUCT_GREY,     0xA01 | PALETTE_TO_STRUCT_GREY,       0x0,       0x0,     0xA18 | PALETTE_TO_STRUCT_GREY,     0xA02 | PALETTE_TO_STRUCT_GREY,       0x0,       0x0,
 
    0xA1D | PALETTE_TO_STRUCT_GREY,     0xA01 | PALETTE_TO_STRUCT_GREY,       0x0,       0x0,     0xA1E | PALETTE_TO_STRUCT_GREY,     0xA02 | PALETTE_TO_STRUCT_GREY,       0x0,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_12_1[] = {
 
    0x3238A09,     0x32389FF,     0x3238A05,       0x0,     0x3238A0E,     0x3238A04,     0x3238A08,       0x0,
 
    0x3238A0F,     0x32389FF,     0x3238A05,       0x0,     0x3238A14,     0x3238A04,     0x3238A08,       0x0,
 
    0x3238A15,     0x32389FF,     0x3238A05,       0x0,     0x3238A1A,     0x3238A04,     0x3238A08,       0x0,
 
    0x3238A1B,     0x32389FF,     0x3238A05,       0x0,     0x3238A20,     0x3238A04,     0x3238A08,       0x0,
 
    0xA09 | PALETTE_TO_STRUCT_GREY,     0x9FF | PALETTE_TO_STRUCT_GREY,     0xA05 | PALETTE_TO_STRUCT_GREY,       0x0,     0xA0E | PALETTE_TO_STRUCT_GREY,     0xA04 | PALETTE_TO_STRUCT_GREY,     0xA08 | PALETTE_TO_STRUCT_GREY,       0x0,
 
    0xA0F | PALETTE_TO_STRUCT_GREY,     0x9FF | PALETTE_TO_STRUCT_GREY,     0xA05 | PALETTE_TO_STRUCT_GREY,       0x0,     0xA14 | PALETTE_TO_STRUCT_GREY,     0xA04 | PALETTE_TO_STRUCT_GREY,     0xA08 | PALETTE_TO_STRUCT_GREY,       0x0,
 
    0xA15 | PALETTE_TO_STRUCT_GREY,     0x9FF | PALETTE_TO_STRUCT_GREY,     0xA05 | PALETTE_TO_STRUCT_GREY,       0x0,     0xA1A | PALETTE_TO_STRUCT_GREY,     0xA04 | PALETTE_TO_STRUCT_GREY,     0xA08 | PALETTE_TO_STRUCT_GREY,       0x0,
 
    0xA1B | PALETTE_TO_STRUCT_GREY,     0x9FF | PALETTE_TO_STRUCT_GREY,     0xA05 | PALETTE_TO_STRUCT_GREY,       0x0,     0xA20 | PALETTE_TO_STRUCT_GREY,     0xA04 | PALETTE_TO_STRUCT_GREY,     0xA08 | PALETTE_TO_STRUCT_GREY,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_12_2[] = {
 
    0x3238A0A,     0x3238A00,     0x3238A06,       0x0,     0x3238A0D,     0x3238A03,     0x3238A07,       0x0,
 
    0x3238A10,     0x3238A00,     0x3238A06,       0x0,     0x3238A13,     0x3238A03,     0x3238A07,       0x0,
 
    0x3238A16,     0x3238A00,     0x3238A06,       0x0,     0x3238A19,     0x3238A03,     0x3238A07,       0x0,
 
    0x3238A1C,     0x3238A00,     0x3238A06,       0x0,     0x3238A1F,     0x3238A03,     0x3238A07,       0x0,
 
    0xA0A | PALETTE_TO_STRUCT_GREY,     0xA00 | PALETTE_TO_STRUCT_GREY,     0xA06 | PALETTE_TO_STRUCT_GREY,       0x0,     0xA0D | PALETTE_TO_STRUCT_GREY,     0xA03 | PALETTE_TO_STRUCT_GREY,     0xA07 | PALETTE_TO_STRUCT_GREY,       0x0,
 
    0xA10 | PALETTE_TO_STRUCT_GREY,     0xA00 | PALETTE_TO_STRUCT_GREY,     0xA06 | PALETTE_TO_STRUCT_GREY,       0x0,     0xA13 | PALETTE_TO_STRUCT_GREY,     0xA03 | PALETTE_TO_STRUCT_GREY,     0xA07 | PALETTE_TO_STRUCT_GREY,       0x0,
 
    0xA16 | PALETTE_TO_STRUCT_GREY,     0xA00 | PALETTE_TO_STRUCT_GREY,     0xA06 | PALETTE_TO_STRUCT_GREY,       0x0,     0xA19 | PALETTE_TO_STRUCT_GREY,     0xA03 | PALETTE_TO_STRUCT_GREY,     0xA07 | PALETTE_TO_STRUCT_GREY,       0x0,
 
    0xA1C | PALETTE_TO_STRUCT_GREY,     0xA00 | PALETTE_TO_STRUCT_GREY,     0xA06 | PALETTE_TO_STRUCT_GREY,       0x0,     0xA1F | PALETTE_TO_STRUCT_GREY,     0xA03 | PALETTE_TO_STRUCT_GREY,     0xA07 | PALETTE_TO_STRUCT_GREY,       0x0,
 
};
 

	
 
static const PalSpriteID _bridge_sprite_table_12_poles[] = {
 
	SPR_OPENTTD_BASE + 36 + 2*6 + 0x3238000,
 
	SPR_OPENTTD_BASE + 36 + 2*6 + 0x3238000,
 
	SPR_OPENTTD_BASE + 36 + 2*6 + 0x3238000,
 
	SPR_OPENTTD_BASE + 36 + 2*6 + 0x3238000,
 
	SPR_OPENTTD_BASE + 38 + 2*6 + 0x3238000,
 
	SPR_OPENTTD_BASE + 36 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_OPENTTD_BASE + 36 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_OPENTTD_BASE + 36 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_OPENTTD_BASE + 36 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_OPENTTD_BASE + 38 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	0x0,
 

	
 
	SPR_OPENTTD_BASE + 33 + 2*6 + 0x3238000,
 
	SPR_OPENTTD_BASE + 33 + 2*6 + 0x3238000,
 
	SPR_OPENTTD_BASE + 33 + 2*6 + 0x3238000,
 
	SPR_OPENTTD_BASE + 33 + 2*6 + 0x3238000,
 
	SPR_OPENTTD_BASE + 35 + 2*6 + 0x3238000,
 
	SPR_OPENTTD_BASE + 33 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_OPENTTD_BASE + 33 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_OPENTTD_BASE + 33 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_OPENTTD_BASE + 33 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	SPR_OPENTTD_BASE + 35 + 2*6 + (PALETTE_MODIFIER_COLOR | PALETTE_TO_STRUCT_GREY),
 
	0x0,
 

	
 
	0x0,
table/industry_land.h
Show inline comments
 
@@ -75,26 +75,26 @@ static const DrawIndustryTileStruct _ind
 
	M(     0x81d,      0x81c,  0,  0, 16, 16,   7, 0),
 
	M(     0x81d,      0x81c,  0,  0, 16, 16,   7, 0),
 
	M(     0x81d,      0x81c,  0,  0, 16, 16,   7, 0),
 
	M(     0xf54,     0x881e,  1,  1, 14, 14,   4, 0),
 
	M(     0xf54,     0x881f,  1,  1, 14, 14,  24, 0),
 
	M(     0xf54,     0x8820,  1,  1, 14, 14,  27, 0),
 
	M(     0x58c,     0x8820,  1,  1, 14, 14,  27, 0),
 
	M(     0xf54,     0x8821,  3,  3, 10,  9,   3, 0),
 
	M(     0xf54,     0x8822,  3,  3, 10,  9,  63, 0),
 
	M(     0xf54,     0x8823,  3,  3, 10,  9,  62, 0),
 
	M(     0x58c,     0x8823,  3,  3, 10,  9,  62, 0),
 
	M(     0xf54,     0x8824,  4,  4,  7,  7,   3, 0),
 
	M(     0xf54,     0x8825,  4,  4,  7,  7,  72, 0),
 
	M(     0xf54,     0x8825,  4,  4,  7,  7,  72, 0),
 
	M(     0x58c,     0x8826,  4,  4,  7,  7,  80, 0),
 
	M(     0xf54,     0x8827,  2,  0, 12, 16,  51, 0),
 
	M(     0xf54,     0x8828,  2,  0, 12, 16,  51, 0),
 
	M(     0xf54,     0x8829,  2,  0, 12, 16,  51, 0),
 
	M(     0x58c,     0x8829,  2,  0, 12, 16,  51, 0),
 
	M(     0xf54,     0x882a,  0,  0, 16, 16,  26, 0),
 
	M(     0xf54,     0x882b,  0,  0, 16, 16,  44, 0),
 
	M(     0xf54,     0x882c,  0,  0, 16, 16,  46, 0),
 
	M(     0x58c,     0x882c,  0,  0, 16, 16,  46, 0),
 
	M(     0xf54,     0x81e | PALETTE_MODIFIER_COLOR,  1,  1, 14, 14,   4, 0),
 
	M(     0xf54,     0x81f | PALETTE_MODIFIER_COLOR,  1,  1, 14, 14,  24, 0),
 
	M(     0xf54,     0x820 | PALETTE_MODIFIER_COLOR,  1,  1, 14, 14,  27, 0),
 
	M(     0x58c,     0x820 | PALETTE_MODIFIER_COLOR,  1,  1, 14, 14,  27, 0),
 
	M(     0xf54,     0x821 | PALETTE_MODIFIER_COLOR,  3,  3, 10,  9,   3, 0),
 
	M(     0xf54,     0x822 | PALETTE_MODIFIER_COLOR,  3,  3, 10,  9,  63, 0),
 
	M(     0xf54,     0x823 | PALETTE_MODIFIER_COLOR,  3,  3, 10,  9,  62, 0),
 
	M(     0x58c,     0x823 | PALETTE_MODIFIER_COLOR,  3,  3, 10,  9,  62, 0),
 
	M(     0xf54,     0x824 | PALETTE_MODIFIER_COLOR,  4,  4,  7,  7,   3, 0),
 
	M(     0xf54,     0x825 | PALETTE_MODIFIER_COLOR,  4,  4,  7,  7,  72, 0),
 
	M(     0xf54,     0x825 | PALETTE_MODIFIER_COLOR,  4,  4,  7,  7,  72, 0),
 
	M(     0x58c,     0x826 | PALETTE_MODIFIER_COLOR,  4,  4,  7,  7,  80, 0),
 
	M(     0xf54,     0x827 | PALETTE_MODIFIER_COLOR,  2,  0, 12, 16,  51, 0),
 
	M(     0xf54,     0x828 | PALETTE_MODIFIER_COLOR,  2,  0, 12, 16,  51, 0),
 
	M(     0xf54,     0x829 | PALETTE_MODIFIER_COLOR,  2,  0, 12, 16,  51, 0),
 
	M(     0x58c,     0x829 | PALETTE_MODIFIER_COLOR,  2,  0, 12, 16,  51, 0),
 
	M(     0xf54,     0x82a | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  26, 0),
 
	M(     0xf54,     0x82b | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  44, 0),
 
	M(     0xf54,     0x82c | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  46, 0),
 
	M(     0x58c,     0x82c | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  46, 0),
 
	M(     0xf54,      0x82d,  3,  1, 10, 13,   2, 0),
 
	M(     0xf54,      0x82e,  3,  1, 10, 13,  11, 0),
 
	M(     0xf54,      0x82f,  3,  1, 10, 13,  11, 0),
 
@@ -135,18 +135,18 @@ static const DrawIndustryTileStruct _ind
 
	M(     0x87d,      0x880,  0,  0, 16, 16,  20, 0),
 
	M(     0x87d,      0x87f,  0,  0, 16, 16,  20, 0),
 
	M(     0x87d,      0x87e,  0,  0, 16, 16,  20, 0),
 
	M(     0x83a,     0x883c,  0,  0, 16, 16,  18, 0),
 
	M(     0x83a,     0x883c,  0,  0, 16, 16,  18, 0),
 
	M(     0x83a,     0x883c,  0,  0, 16, 16,  18, 0),
 
	M(     0x83a,     0x883c,  0,  0, 16, 16,  18, 0),
 
	M(     0x83b,     0x883d,  0,  0, 16, 16,  18, 0),
 
	M(     0x83b,     0x883d,  0,  0, 16, 16,  18, 0),
 
	M(     0x83b,     0x883d,  0,  0, 16, 16,  18, 0),
 
	M(     0x83b,     0x883d,  0,  0, 16, 16,  18, 0),
 
	M(     0x83a,     0x83c | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  18, 0),
 
	M(     0x83a,     0x83c | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  18, 0),
 
	M(     0x83a,     0x83c | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  18, 0),
 
	M(     0x83a,     0x83c | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  18, 0),
 
	M(     0x83b,     0x83d | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  18, 0),
 
	M(     0x83b,     0x83d | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  18, 0),
 
	M(     0x83b,     0x83d | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  18, 0),
 
	M(     0x83b,     0x83d | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  18, 0),
 
	M(     0x7e6,        0x0,  0,  0,  1,  1,   0, 0),
 
	M(     0x83e,     0x883f,  0,  0, 16, 16,  18, 0),
 
	M(     0x83e,     0x883f,  0,  0, 16, 16,  18, 0),
 
	M(     0x83e,     0x883f,  0,  0, 16, 16,  18, 0),
 
	M(     0x83e,     0x83f | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  18, 0),
 
	M(     0x83e,     0x83f | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  18, 0),
 
	M(     0x83e,     0x83f | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  18, 0),
 
	M(     0x7e6,        0x0,  0,  0,  1,  1,   0, 0),
 
	M(     0x840,      0x841,  0,  0, 16, 16,  18, 0),
 
	M(     0x840,      0x841,  0,  0, 16, 16,  18, 0),
 
@@ -162,35 +162,35 @@ static const DrawIndustryTileStruct _ind
 
	M(     0x7e6,      0x869,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86d,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86d,  0,  0, 16, 16,  50, 0),
 
	M(    0x8862,     0x8866,  0,  0, 16, 16,  50, 0),
 
	M(    0x862 | PALETTE_MODIFIER_COLOR,     0x866 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86a,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86e,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86e,  0,  0, 16, 16,  50, 0),
 
	M(    0x8863,     0x8867,  0,  0, 16, 16,  50, 0),
 
	M(    0x863 | PALETTE_MODIFIER_COLOR,     0x867 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86b,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86f,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86f,  0,  0, 16, 16,  50, 0),
 
	M(    0x8864,     0x8868,  0,  0, 16, 16,  50, 0),
 
	M(    0x864 | PALETTE_MODIFIER_COLOR,     0x868 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86c,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x870,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x870,  0,  0, 16, 16,  50, 0),
 
	M(    0x8865,        0x0,  0,  0,  1,  1,   0, 0),
 
	M(     0xf54,     0x8871,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x8875,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x8875,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x8879,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x8872,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x8876,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x8876,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x887a,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x8873,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x8877,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x8877,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x887b,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x8874,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x8878,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x8878,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x887c,  0,  0, 16, 16,  50, 0),
 
	M(    0x865 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0,  1,  1,   0, 0),
 
	M(     0xf54,     0x871 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x875 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x875 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x879 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x872 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x876 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x876 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x87a | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x873 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x877 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x877 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x87b | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x874 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x878 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x878 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,     0x87c | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf54,      0x7ea,  3,  2,  8,  8,  18, 0),
 
	M(     0xf54,      0x7eb,  3,  2,  8,  8,  37, 0),
 
	M(     0xf54,      0x7ec,  3,  2,  8,  8,  49, 0),
 
@@ -214,27 +214,27 @@ static const DrawIndustryTileStruct _ind
 
	M(     0x7e6,      0x85c,  0,  0,  1,  1,   1, 0),
 
	M(     0x851,      0x852,  0,  0, 16, 16,  20, 0),
 
	M(     0x851,      0x852,  0,  0, 16, 16,  20, 0),
 
	M(    0x8846,     0x8847,  0,  0, 16, 16,  20, 0),
 
	M(    0x846 | PALETTE_MODIFIER_COLOR,     0x847 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  20, 0),
 
	M(     0x7e6,      0x85d,  0,  0,  1,  1,   1, 0),
 
	M(     0x853,      0x854,  0,  0, 16, 16,  20, 0),
 
	M(     0x853,      0x854,  0,  0, 16, 16,  20, 0),
 
	M(    0x8848,     0x8849,  0,  0, 16, 16,  20, 0),
 
	M(    0x848 | PALETTE_MODIFIER_COLOR,     0x849 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  20, 0),
 
	M(     0x7e6,      0x85e,  0,  0,  1,  1,   1, 0),
 
	M(     0x855,      0x856,  0,  0, 16, 16,  20, 0),
 
	M(     0x855,      0x856,  0,  0, 16, 16,  20, 0),
 
	M(    0x884a,     0x884b,  0,  0, 16, 16,  20, 0),
 
	M(    0x84a | PALETTE_MODIFIER_COLOR,     0x84b | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  20, 0),
 
	M(     0x7e6,      0x85f,  0,  0,  1,  1,   1, 0),
 
	M(     0x857,        0x0,  0,  0,  1,  1,   0, 0),
 
	M(     0x857,        0x0,  0,  0,  1,  1,   0, 0),
 
	M(    0x884c,        0x0,  0,  0,  1,  1,   0, 0),
 
	M(    0x84c | PALETTE_MODIFIER_COLOR,        0x0,  0,  0,  1,  1,   0, 0),
 
	M(     0x7e6,      0x860,  0,  0,  1,  1,   1, 0),
 
	M(     0x858,      0x859,  0,  0, 16, 16,  20, 0),
 
	M(     0x858,      0x859,  0,  0, 16, 16,  20, 0),
 
	M(    0x884d,     0x884e,  0,  0, 16, 16,  20, 0),
 
	M(    0x84d | PALETTE_MODIFIER_COLOR,     0x84e | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  20, 0),
 
	M(     0x7e6,      0x861,  0,  0,  1,  1,   1, 0),
 
	M(     0x85a,      0x85b,  0,  0, 16, 16,  20, 0),
 
	M(     0x85a,      0x85b,  0,  0, 16, 16,  20, 0),
 
	M(    0x884f,     0x8850,  0,  0, 16, 16,  20, 0),
 
	M(    0x84f | PALETTE_MODIFIER_COLOR,     0x850 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  20, 0),
 
	M(     0x7e6,      0x884,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,      0x884,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,      0x884,  0,  0, 16, 16,  25, 0),
 
@@ -243,22 +243,22 @@ static const DrawIndustryTileStruct _ind
 
	M(     0x7e6,      0x885,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,      0x885,  0,  0, 16, 16,  25, 0),
 
	M(     0x887,      0x885,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x888c,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x888d,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x888d,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x888e,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x888f,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x8890,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x8890,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x8891,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x8892,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x8893,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x8893,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x8894,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x8895,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x8896,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x8896,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x8897,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x88c | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x88d | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x88d | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x88e | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x88f | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x890 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x890 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x891 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x892 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x893 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x893 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x894 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x895 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x896 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x896 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,     0x897 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,      0x898,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,      0x899,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,      0x899,  0,  0, 16, 16,  25, 0),
 
@@ -475,34 +475,34 @@ static const DrawIndustryTileStruct _ind
 
	M(     0x925,        0x0,  0,  0, 16, 16,  25, 0),
 
	M(     0x925,      0x927,  0,  0, 16, 16,  30, 0),
 
	M(     0x925,      0x927,  0,  0, 16, 16,  30, 0),
 
	M(    0x11c6,     0x892b,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x892c,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x892c,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x892d,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x892e,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x892f,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x892f,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x8930,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x8928,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x8929,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x8929,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x892a,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x92b | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x92c | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x92c | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x92d | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x92e | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x92f | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x92f | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x930 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x928 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x929 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x929 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(    0x11c6,     0x92a | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  25, 0),
 
	M(     0x7e6,      0x869,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86d,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86d,  0,  0, 16, 16,  50, 0),
 
	M(    0x8862,     0x8866,  0,  0, 16, 16,  50, 0),
 
	M(    0x862 | PALETTE_MODIFIER_COLOR,     0x866 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86a,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86e,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86e,  0,  0, 16, 16,  50, 0),
 
	M(    0x8863,     0x8867,  0,  0, 16, 16,  50, 0),
 
	M(    0x863 | PALETTE_MODIFIER_COLOR,     0x867 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86b,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86f,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86f,  0,  0, 16, 16,  50, 0),
 
	M(    0x8864,     0x8868,  0,  0, 16, 16,  50, 0),
 
	M(    0x864 | PALETTE_MODIFIER_COLOR,     0x868 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x86c,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x870,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x870,  0,  0, 16, 16,  50, 0),
 
	M(    0x8865,        0x0,  0,  0,  1,  1,   0, 0),
 
	M(    0x865 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0,  1,  1,   0, 0),
 
	M(     0x7e6,      0x931,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x935,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,      0x935,  0,  0, 16, 16,  50, 0),
 
@@ -531,18 +531,18 @@ static const DrawIndustryTileStruct _ind
 
	M(     0x7e6,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x9245,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x9248,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x9248,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x924b,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x9247,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x924a,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x924a,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x924d,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x9246,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x9249,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x9249,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x924c,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x1245 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x1248 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x1248 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x124b | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x1247 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x124a | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x124a | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x124d | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x1246 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x1249 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x1249 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x7e6,     0x124c | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0x81d,     0x124e,  0,  0, 16, 16,  10, 0),
 
	M(     0x81d,     0x124f,  0,  0, 16, 16,  10, 0),
 
	M(     0x81d,     0x1250,  0,  0, 16, 16,  10, 0),
 
@@ -634,27 +634,27 @@ static const DrawIndustryTileStruct _ind
 
	M(    0x1244,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x9284,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x1284 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x9283,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x9283,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x9286,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x9281,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x9282,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x9282,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x9285,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x1283 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x1283 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x1286 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x1281 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x1282 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x1282 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,     0x1285 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(    0x1243,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x1243,  0x30b9287,  0,  0, 16, 16,  50, 0),
 
	M(    0x1243,  0x30b9287,  0,  0, 16, 16,  50, 0),
 
	M(    0x1243,  0x30b9287,  0,  0, 16, 16,  50, 0),
 
	M(    0x1243,  0x1287 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
 
	M(    0x1243,  0x1287 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
 
	M(    0x1243,  0x1287 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,  0x30b9288,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,  0x30b9288,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,  0x30b9288,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,  0x1288 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,  0x1288 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,  0x1288 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
 
	M(    0x1243,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x1243,  0x30b9289,  0,  0, 16, 16,  50, 3),
 
	M(    0x1243,  0x30b9289,  0,  0, 16, 16,  50, 3),
 
	M(    0x1243,  0x30b9289,  0,  0, 16, 16,  50, 3),
 
	M(    0x1243,  0x1289 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 3),
 
	M(    0x1243,  0x1289 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 3),
 
	M(    0x1243,  0x1289 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 3),
 
	M(    0x1244,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x1244,        0x0,  0,  0, 16, 16,  50, 0),
 
@@ -671,38 +671,38 @@ static const DrawIndustryTileStruct _ind
 
	M(     0xf8d,     0x129d,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x129d,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x129d,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a0,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a0,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a0,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a0,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a1,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a1,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a1,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a1,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a2,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a2,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a2,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a2,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a3,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a3,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a3,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x92a3,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a0 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a0 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a0 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a0 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a1 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a1 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a1 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a1 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a2 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a2 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a2 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a2 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a3 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a3 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a3 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(    0x12a3 | PALETTE_MODIFIER_COLOR,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,        0x0,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x92a4,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x92a4,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x92a4,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x92a4,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x92a6,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x92a6,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x92a6,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x92a6,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x92a5,  0,  0, 16, 16,  50, 1),
 
	M(     0xf8d,     0x92a5,  0,  0, 16, 16,  50, 1),
 
	M(     0xf8d,     0x92a5,  0,  0, 16, 16,  50, 1),
 
	M(     0xf8d,     0x92a5,  0,  0, 16, 16,  50, 1),
 
	M(     0xf8d,     0x12a4 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x12a4 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x12a4 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x12a4 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x12a6 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x12a6 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x12a6 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x12a6 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 0),
 
	M(     0xf8d,     0x12a5 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 1),
 
	M(     0xf8d,     0x12a5 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 1),
 
	M(     0xf8d,     0x12a5 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 1),
 
	M(     0xf8d,     0x12a5 | PALETTE_MODIFIER_COLOR,  0,  0, 16, 16,  50, 1),
 
};
 

	
 
static const DrawIndustrySpec1Struct _draw_industry_spec1[96] = {
table/road_land.h
Show inline comments
 
@@ -6,27 +6,27 @@
 

	
 
static const DrawRoadSeqStruct _road_display_datas_0[] = {
 
	TILE_SEQ_BEGIN(0xA4A)
 
	TILE_SEQ_LINE(0x8584, 0, 15, 16, 1)
 
	TILE_SEQ_LINE(0x584 | PALETTE_MODIFIER_COLOR, 0, 15, 16, 1)
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawRoadSeqStruct _road_display_datas_1[] = {
 
	TILE_SEQ_BEGIN(0xA4A)
 
	TILE_SEQ_LINE(0x580, 0, 0, 1, 16)
 
	TILE_SEQ_LINE(0x8581, 15, 0, 1, 16)
 
	TILE_SEQ_LINE(0x581 | PALETTE_MODIFIER_COLOR, 15, 0, 1, 16)
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawRoadSeqStruct _road_display_datas_2[] = {
 
	TILE_SEQ_BEGIN(0xA4A)
 
	TILE_SEQ_LINE(0x582, 0, 0, 16, 1)
 
	TILE_SEQ_LINE(0x8583, 0, 15, 16, 1)
 
	TILE_SEQ_LINE(0x583 | PALETTE_MODIFIER_COLOR, 0, 15, 16, 1)
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawRoadSeqStruct _road_display_datas_3[] = {
 
	TILE_SEQ_BEGIN(0xA4A)
 
	TILE_SEQ_LINE(0x8585, 15, 0, 1, 16)
 
	TILE_SEQ_LINE(0x585 | PALETTE_MODIFIER_COLOR, 15, 0, 1, 16)
 
	TILE_SEQ_END()
 
};
 

	
table/sprites.h
Show inline comments
 
@@ -3,23 +3,25 @@
 
#ifndef SPRITES_H
 
#define SPRITES_H
 

	
 
/* NOTE:
 
/** @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
 
@@ -29,6 +31,8 @@
 
	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
 
*/
 

	
 

	
 
@@ -869,7 +873,7 @@ enum Sprites {
 
	SPR_IMG_REMOVE				= 714
 
};
 

	
 
/* Cursor sprite numbers */
 
/** Cursor sprite numbers */
 
typedef enum CursorSprites {
 
	/* Terraform */
 
	/* Cursors */
 
@@ -940,85 +944,127 @@ typedef enum CursorSprites {
 
	SPR_CURSOR_ROAD_TUNNEL    = 2433,
 
} CursorSprite;
 

	
 
// Animation macro in table/animcursors.h (_animcursors[])
 
/// 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
 
	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
 
};
 

	
 
enum {
 
	MAX_SPRITES = 0x3FFF, //the highest number a sprite can have
 
/**
 
	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,
 
};
 

	
 
/*
 
	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,
 
/** 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,
 
};
 

	
 
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 	= 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,
 
	///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 					= 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,
 
	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 						= 0x3118000,
 
	PALETTE_TO_PURPLE 					= 0x3128000,
 
	PALETTE_TO_ORANGE 					= 0x3138000,
 
	PALETTE_TO_BROWN 						= 0x3148000,
 
	PALETTE_TO_GREY 						= 0x3158000,
 
	PALETTE_TO_WHITE 						= 0x3168000,
 
	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 				= 0x3178000,
 
	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 								= 0x31B8000,
 
	PALETTE_31B 								= PALETTE_RECOLOR_SPRITE(0x31B),
 
	//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
 
	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 			= 0x31E8000,
 
	PALETTE_TO_STRUCT_RED 			= PALETTE_RECOLOR_SPRITE(0x31E),
 
	//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
 
	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 			= 0x3238000,
 
	PALETTE_CRASH 							= 0x3248000,	//this changes stuff to the "crash 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 								= 0x59E8000,
 
	PALETTE_59F 								= 0x59F8000,
 
	PALETTE_59E 								= PALETTE_RECOLOR_SPRITE(0x59E),
 
	PALETTE_59F 								= PALETTE_RECOLOR_SPRITE(0x59F),
 
};
 
#undef PALETTE_RECOLOR_SPRITE
 

	
 
};
 

	
 
#define MAKE_TRANSPARENT(img) (img = (img & MAX_SPRITES) | PALETTE_TO_TRANSPARENT)
 
#define MAKE_TRANSPARENT(img) (img = (img & SPRITE_MASK) | PALETTE_TO_TRANSPARENT)
 

	
 
#endif /* SPRITES_H */
table/station_land.h
Show inline comments
 
@@ -3,58 +3,58 @@
 
#define TILE_SEQ_END()	{ 0x80, 0, 0, 0, 0, 0, 0 }
 

	
 
static const DrawTileSeqStruct _station_display_datas_0[] = {
 
	{ 0,  0,  0, 16,  5,  2, 0x842E },
 
	{ 0, 11,  0, 16,  5,  2, 0x8430 },
 
	{ 0,  0,  0, 16,  5,  2, 0x42E | PALETTE_MODIFIER_COLOR },
 
	{ 0, 11,  0, 16,  5,  2, 0x430 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_1[] = {
 
	{ 0,  0,  0,  5, 16,  2, 0x842F },
 
	{ 11,  0,  0,  5, 16,  2, 0x842D },
 
	{ 0,  0,  0,  5, 16,  2, 0x42F | PALETTE_MODIFIER_COLOR },
 
	{ 11,  0,  0,  5, 16,  2, 0x42D | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_2[] = {
 
	{ 0,  0,  0, 16,  5,  2, 0x8431 },
 
	{ 0, 11,  0, 16,  5,  2, 0x8430 },
 
	{ 0,  0,  0, 16,  5,  2, 0x431 | PALETTE_MODIFIER_COLOR },
 
	{ 0, 11,  0, 16,  5,  2, 0x430 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_3[] = {
 
	{ 0,  0,  0,  5, 16,  2, 0x8432 },
 
	{ 11,  0,  0,  5, 16,  2, 0x842D },
 
	{ 0,  0,  0,  5, 16,  2, 0x432 | PALETTE_MODIFIER_COLOR },
 
	{ 11,  0,  0,  5, 16,  2, 0x42D | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_4[] = {
 
	{ 0,  0,  0, 16,  5,  7, 0x8434 },
 
	{ 0, 11,  0, 16,  5,  2, 0x8430 },
 
	{ 0,  0, 16, 16, 16, 10, 0x8437 },
 
	{ 0,  0,0x80, 0,  0,  0, 0x322443B },
 
	{ 0,  0,  0, 16,  5,  7, 0x434 | PALETTE_MODIFIER_COLOR },
 
	{ 0, 11,  0, 16,  5,  2, 0x430 | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0, 16, 16, 16, 10, 0x437 | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0,0x80, 0,  0,  0, 0x43B | PALETTE_TO_TRANSPARENT },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_5[] = {
 
	{ 0,  0,  0,  5, 16,  2, 0x8435 },
 
	{ 11,  0,  0,  5, 16,  2, 0x842D },
 
	{ 0,  0, 16, 16, 16, 10, 0x8438 },
 
	{ 0,  0,0x80, 0,  0,  0, 0x322443C },
 
	{ 0,  0,  0,  5, 16,  2, 0x435 | PALETTE_MODIFIER_COLOR },
 
	{ 11,  0,  0,  5, 16,  2, 0x42D | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0, 16, 16, 16, 10, 0x438 | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0,0x80, 0,  0,  0, 0x43C | PALETTE_TO_TRANSPARENT },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_6[] = {
 
	{ 0,  0,  0, 16,  5,  2, 0x842E },
 
	{ 0, 11,  0, 16,  5,  2, 0x8436 },
 
	{ 0,  0, 16, 16, 16, 10, 0x8439 },
 
	{ 0,  0,0x80, 0,  0,  0, 0x322443D },
 
	{ 0,  0,  0, 16,  5,  2, 0x42E | PALETTE_MODIFIER_COLOR },
 
	{ 0, 11,  0, 16,  5,  2, 0x436 | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0, 16, 16, 16, 10, 0x439 | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0,0x80, 0,  0,  0, 0x43D | PALETTE_TO_TRANSPARENT },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_7[] = {
 
	{ 0,  0,  0,  5, 16,  2, 0x842F },
 
	{ 11,  0,  0,  5, 16,  2, 0x8433 },
 
	{ 0,  0, 16, 16, 16, 10, 0x843A },
 
	{ 0,  0,0x80, 0,  0,  0, 0x322443E },
 
	{ 0,  0,  0,  5, 16,  2, 0x42F | PALETTE_MODIFIER_COLOR },
 
	{ 11,  0,  0,  5, 16,  2, 0x433 | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0, 16, 16, 16, 10, 0x43A | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0,0x80, 0,  0,  0, 0x43E | PALETTE_TO_TRANSPARENT },
 
	TILE_SEQ_END()
 
};
 

	
 
@@ -63,12 +63,12 @@ static const DrawTileSeqStruct _station_
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_9[] = {
 
	{ 0,  0,  0, 16,  1,  6, 0x8A68 },
 
	{ 0,  0,  0, 16,  1,  6, 0xA68 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_10[] = {
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
@@ -113,70 +113,70 @@ static const DrawTileSeqStruct _station_
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_21[] = {
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_22[] = {
 
	{ 0, 15,  0, 16,  1,  6, 0x8A68 },
 
	{ 0, 15,  0, 16,  1,  6, 0xA68 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_23[] = {
 
	{ 0, 15,  0, 16,  1,  6, 0x8A68 },
 
	{ 0, 15,  0, 16,  1,  6, 0xA68 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_24[] = {
 
	{ 0, 15,  0, 16,  1,  6, 0x8A68 },
 
	{ 0, 15,  0, 16,  1,  6, 0xA68 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_25[] = {
 
	{ 0, 15,  0, 16,  1,  6, 0x8A68 },
 
	{ 0, 15,  0, 16,  1,  6, 0xA68 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_26[] = {
 
	{ 0, 15,  0, 16,  1,  6, 0x8A68 },
 
	{ 0, 15,  0, 16,  1,  6, 0xA68 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_27[] = {
 
	{ 2,  0,  0, 11, 16, 40, 0x8A5A },
 
	{ 2,  0,  0, 11, 16, 40, 0xA5A | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_28[] = {
 
	{ 3,  3,  0, 10, 10, 60, 0x8A5B },
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 3,  3,  0, 10, 10, 60, 0xA5B | PALETTE_MODIFIER_COLOR },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_29[] = {
 
	{ 0,  1,  0, 14, 14, 30, 0x8A5C },
 
	{ 0,  1,  0, 14, 14, 30, 0xA5C | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_30[] = {
 
	{ 3,  3,  0, 10, 11, 35, 0x8A5D },
 
	{ 3,  3,  0, 10, 11, 35, 0xA5D | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_31[] = {
 
	{ 0,  3,  0, 16, 11, 40, 0x8A5E },
 
	{ 0,  3,  0, 16, 11, 40, 0xA5E | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_32[] = {
 
	{ 14,  0,  0,  2, 16, 28, 0x8A5F },
 
	{ 14,  0,  0,  2, 16, 28, 0xA5F | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0,  0,  2, 16, 28, 0xA60 },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_33[] = {
 
	{ 7, 11,  0,  3,  3, 14, 0xA63 },
 
	{ 0,  0,  0, 16,  1,  6, 0x8A68 },
 
	{ 0,  0,  0, 16,  1,  6, 0xA68 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
@@ -200,85 +200,85 @@ static const DrawTileSeqStruct _station_
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_38[] = {
 
	{ 0,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_39[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA78 },
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_40[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA79 },
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_41[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7A },
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_42[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7B },
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_43[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7C },
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_44[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7D },
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_45[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7E },
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_46[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7F },
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_47[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA80 },
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_48[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA81 },
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_49[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA82 },
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_50[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA83 },
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_51[] = {
 
	{ 7,  7,  0,  2,  2, 70, 0xA29 },
 
	{ 0,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
@@ -291,12 +291,12 @@ static const DrawTileSeqStruct _station_
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_54[] = {
 
	{ 0,  0,  0, 15, 15, 30, 0x8A6C },
 
	{ 0,  0,  0, 15, 15, 30, 0xA6C | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_55[] = {
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
@@ -309,108 +309,108 @@ static const DrawTileSeqStruct _station_
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_58[] = {
 
	{ 0,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 4, 11,  0,  1,  1, 20, 0x8A74 },
 
	{ 0,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	{ 4, 11,  0,  1,  1, 20, 0xA74 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_59[] = {
 
	{ 0,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 4, 11,  0,  1,  1, 20, 0x8A75 },
 
	{ 0,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	{ 4, 11,  0,  1,  1, 20, 0xA75 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_60[] = {
 
	{ 0,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 4, 11,  0,  1,  1, 20, 0x8A76 },
 
	{ 0,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	{ 4, 11,  0,  1,  1, 20, 0xA76 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_61[] = {
 
	{ 0,  0,  0,  1, 16,  6, 0x8A67 },
 
	{ 4, 11,  0,  1,  1, 20, 0x8A77 },
 
	{ 0,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	{ 4, 11,  0,  1,  1, 20, 0xA77 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_62[] = {
 
	{ 0, 15,  0, 16,  1,  6, 0x8A68 },
 
	{ 0, 15,  0, 16,  1,  6, 0xA68 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_63[] = {
 
	{ 0, 15,  0, 16,  1,  6, 0x8A68 },
 
	{ 0, 15,  0, 16,  1,  6, 0xA68 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_64[] = {
 
	{ 0, 15,  0, 16,  1,  6, 0x8A68 },
 
	{ 0, 15,  0, 16,  1,  6, 0xA68 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_65[] = {
 
	{ 14,  0,  0,  2, 16, 28, 0x8A61 },
 
	{ 14,  0,  0,  2, 16, 28, 0xA61 | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0,  0,  2, 16, 28, 0xA62 },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_66[] = {
 
	{ 0,  0,  0, 16, 16, 60, 0x8A49 },
 
	{ 0,  0,  0, 16, 16, 60, 0xA49 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_67[] = {
 
	{ 0, 15,  0, 13,  1, 10, 0x8A98 },
 
	{ 13,  0,  0,  3, 16, 10, 0x8A9C },
 
	{ 2,  0,  0, 11,  1, 10, 0x8AA0 },
 
	{ 0, 15,  0, 13,  1, 10, 0xA98 | PALETTE_MODIFIER_COLOR },
 
	{ 13,  0,  0,  3, 16, 10, 0xA9C | PALETTE_MODIFIER_COLOR },
 
	{ 2,  0,  0, 11,  1, 10, 0xAA0 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_68[] = {
 
	{ 15,  3,  0,  1, 13, 10, 0x8A99 },
 
	{ 0,  0,  0, 16,  3, 10, 0x8A9D },
 
	{ 0,  3,  0,  1, 11, 10, 0x8AA1 },
 
	{ 15,  3,  0,  1, 13, 10, 0xA99 | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0,  0, 16,  3, 10, 0xA9D | PALETTE_MODIFIER_COLOR },
 
	{ 0,  3,  0,  1, 11, 10, 0xAA1 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_69[] = {
 
	{ 3,  0,  0, 13,  1, 10, 0x8A9A },
 
	{ 0,  0,  0,  3, 16, 10, 0x8A9E },
 
	{ 3, 15,  0, 11,  1, 10, 0x8AA2 },
 
	{ 3,  0,  0, 13,  1, 10, 0xA9A | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0,  0,  3, 16, 10, 0xA9E | PALETTE_MODIFIER_COLOR },
 
	{ 3, 15,  0, 11,  1, 10, 0xAA2 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_70[] = {
 
	{ 0,  0,  0,  1, 13, 10, 0x8A9B },
 
	{ 0, 13,  0, 16,  3, 10, 0x8A9F },
 
	{ 15,  2,  0,  1, 11, 10, 0x8AA3 },
 
	{ 0,  0,  0,  1, 13, 10, 0xA9B | PALETTE_MODIFIER_COLOR },
 
	{ 0, 13,  0, 16,  3, 10, 0xA9F | PALETTE_MODIFIER_COLOR },
 
	{ 15,  2,  0,  1, 11, 10, 0xAA3 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_71[] = {
 
	{ 2,  0,  0, 11,  1, 10, 0x8A88 },
 
	{ 13,  0,  0,  3, 16, 10, 0x8A8C },
 
	{ 0, 13,  0, 13,  3, 10, 0x8A90 },
 
	{ 2,  0,  0, 11,  1, 10, 0xA88 | PALETTE_MODIFIER_COLOR },
 
	{ 13,  0,  0,  3, 16, 10, 0xA8C | PALETTE_MODIFIER_COLOR },
 
	{ 0, 13,  0, 13,  3, 10, 0xA90 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_72[] = {
 
	{ 0,  3,  0,  1, 11, 10, 0x8A89 },
 
	{ 0,  0,  0, 16,  3, 10, 0x8A8D },
 
	{ 13,  3,  0,  3, 13, 10, 0x8A91 },
 
	{ 0,  3,  0,  1, 11, 10, 0xA89 | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0,  0, 16,  3, 10, 0xA8D | PALETTE_MODIFIER_COLOR },
 
	{ 13,  3,  0,  3, 13, 10, 0xA91 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_73[] = {
 
	{ 3, 15,  0, 11,  1, 10, 0x8A8A },
 
	{ 0,  0,  0,  3, 16, 10, 0x8A8E },
 
	{ 3,  0,  0, 13,  3, 10, 0x8A92 },
 
	{ 3, 15,  0, 11,  1, 10, 0xA8A | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0,  0,  3, 16, 10, 0xA8E | PALETTE_MODIFIER_COLOR },
 
	{ 3,  0,  0, 13,  3, 10, 0xA92 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
static const DrawTileSeqStruct _station_display_datas_74[] = {
 
	{ 15,  2,  0,  1, 11, 10, 0x8A8B },
 
	{ 0, 13,  0, 16,  3, 10, 0x8A8F },
 
	{ 0,  0,  0,  3, 13, 10, 0x8A93 },
 
	{ 15,  2,  0,  1, 11, 10, 0xA8B | PALETTE_MODIFIER_COLOR },
 
	{ 0, 13,  0, 16,  3, 10, 0xA8F | PALETTE_MODIFIER_COLOR },
 
	{ 0,  0,  0,  3, 13, 10, 0xA93 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
@@ -465,14 +465,14 @@ const DrawTileSeqStruct _station_display
 
// control tower with concrete underground and no fence
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_085[] = {
 
	{ 3,  3,  0, 10, 10, 60, 0x8A5B },  // control tower
 
	{ 3,  3,  0, 10, 10, 60, 0xA5B | PALETTE_MODIFIER_COLOR },  // control tower
 
	TILE_SEQ_END()
 
};
 

	
 
// new airportdepot, facing west
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_086[] = {
 
	{ 14, 0,  0,  2, 16, 28, 0x8A61 },
 
	{ 14, 0,  0,  2, 16, 28, 0xA61 | PALETTE_MODIFIER_COLOR },
 
	{ 0, 0,  0,  2, 16, 28, 0xA62 },
 
	TILE_SEQ_END()
 
};
 
@@ -480,19 +480,19 @@ const DrawTileSeqStruct _station_display
 
// asphalt tile with fences in north
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_087[] = {
 
	{ 0,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// end of runway
 
const DrawTileSeqStruct _station_display_datas_088[] = {
 
	{ 0,  0,  0, 16,  1,  6, 0x8A68 }, // fences
 
	{ 0,  0,  0, 16,  1,  6, 0xA68 | PALETTE_MODIFIER_COLOR }, // fences
 
	TILE_SEQ_END()
 
};
 

	
 
// runway tiles
 
const DrawTileSeqStruct _station_display_datas_089[] = {
 
	{ 0,  0,  0, 16,  1,  6, 0x8A68 }, // fences
 
	{ 0,  0,  0, 16,  1,  6, 0xA68 | PALETTE_MODIFIER_COLOR }, // fences
 
	TILE_SEQ_END()
 
};
 

	
 
@@ -501,84 +501,84 @@ const DrawTileSeqStruct _station_display
 
//BEGIN
 
const DrawTileSeqStruct _station_display_datas_090[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA78 },   // turning radar
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },  //fences
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },  //fences
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_091[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA79 },
 
	{ 15,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_092[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7A },
 
	{ 15,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_093[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7B },
 
	{ 15,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_094[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7C },
 
	{ 15,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_095[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7D },
 
	{ 15,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_096[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7E },
 
	{ 15,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_097[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7F },
 
	{ 15,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_098[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA80 },
 
	{ 15,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_099[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA81 },
 
	{ 15,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_0100[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA82 },
 
	{ 15,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_0101[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA83 },
 
	{ 15,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 15,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 
//END
 
@@ -588,84 +588,84 @@ const DrawTileSeqStruct _station_display
 
//BEGIN
 
const DrawTileSeqStruct _station_display_datas_0102[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA78 },   // turning radar
 
	{ 0,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_0103[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA79 },
 
	{ 0,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_0104[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7A },
 
	{ 0,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_0105[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7B },
 
	{ 0,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_0106[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7C },
 
	{ 0,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_0107[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7D },
 
	{ 0,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_0108[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7E },
 
	{ 0,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_0109[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA7F },
 
	{ 0,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_0110[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA80 },
 
	{ 0,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_0111[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA81 },
 
	{ 0,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_0112[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA82 },
 
	{ 0,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 

	
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_0113[] = {
 
	{ 7,  7,  0,  2,  2,  8, 0xA83 },
 
	{ 0,  0, 0,  1, 16,  6, 0x8A67 },
 
	{ 0,  0, 0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },
 
	TILE_SEQ_END()
 
};
 
//END
 
@@ -674,7 +674,7 @@ const DrawTileSeqStruct _station_display
 
// concrete underground
 
const DrawTileSeqStruct _station_display_datas_0114[] = {
 
	{ 10,  6, 0,  0, 0,  0, SPR_OPENTTD_BASE + 31 },	// helipad
 
	{ 15,  0,  0,  1, 16,  6, 0x8A67 },	// fences bottom
 
	{ 15,  0,  0,  1, 16,  6, 0xA67 | PALETTE_MODIFIER_COLOR },	// fences bottom
 
	TILE_SEQ_END()
 
};
 

	
 
@@ -733,7 +733,7 @@ static const DrawTileSprites _station_di
 
	{ 0xF8D, _station_display_datas_51 },
 
	{ 0xA69, _station_display_datas_52 },
 
	{ 0xA6A, _station_display_datas_53 },
 
	{ 0x8A6B, _station_display_datas_54 },
 
	{ 0xA6B | PALETTE_MODIFIER_COLOR, _station_display_datas_54 },
 
	{ 0xA6D, _station_display_datas_55 },
 
	{ 0xA6E, _station_display_datas_56 },
 
	{ 0xA6F, _station_display_datas_57 },
 
@@ -746,14 +746,14 @@ static const DrawTileSprites _station_di
 
	{ 0xA73, _station_display_datas_64 },
 
	{ 0xA4A, _station_display_datas_65 },
 
	{ 0xF8D, _station_display_datas_66 },
 
	{ 0x8A94, _station_display_datas_67 },
 
	{ 0x8A95, _station_display_datas_68 },
 
	{ 0x8A96, _station_display_datas_69 },
 
	{ 0x8A97, _station_display_datas_70 },
 
	{ 0x8A84, _station_display_datas_71 },
 
	{ 0x8A85, _station_display_datas_72 },
 
	{ 0x8A86, _station_display_datas_73 },
 
	{ 0x8A87, _station_display_datas_74 },
 
	{ 0xA94 | PALETTE_MODIFIER_COLOR, _station_display_datas_67 },
 
	{ 0xA95 | PALETTE_MODIFIER_COLOR, _station_display_datas_68 },
 
	{ 0xA96 | PALETTE_MODIFIER_COLOR, _station_display_datas_69 },
 
	{ 0xA97 | PALETTE_MODIFIER_COLOR, _station_display_datas_70 },
 
	{ 0xA84 | PALETTE_MODIFIER_COLOR, _station_display_datas_71 },
 
	{ 0xA85 | PALETTE_MODIFIER_COLOR, _station_display_datas_72 },
 
	{ 0xA86 | PALETTE_MODIFIER_COLOR, _station_display_datas_73 },
 
	{ 0xA87 | PALETTE_MODIFIER_COLOR, _station_display_datas_74 },
 
	{ 0xFDD, _station_display_datas_75 },
 
	{ 0xFE4, _station_display_datas_76 },
 
	{ 0xFE5, _station_display_datas_77 },

Changeset was too big and was cut off... Show full diff anyway

0 comments (0 inline, 0 general)