(svn r2702) -Codechange: Cleaned up the sprite code and replaced many magic numbers
authorcelestar
Sun, 24 Jul 2005 15:56:31 +0000
changeset 2187 2a51f8925eeb
parent 2186 461a2aff3486
child 2188 9acde6fcc645
(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.
gfx.c
gfx.h
graph_gui.c
industry_cmd.c
macros.h
misc_gui.c
openttd.h
player_gui.c
players.c
rail_cmd.c
road_cmd.c
settings_gui.c
ship_gui.c
spritecache.c
station_cmd.c
table/animcursors.h
table/bridge_land.h
table/industry_land.h
table/road_land.h
table/sprites.h
table/station_land.h
table/town_land.h
table/track_land.h
table/tree_land.h
table/unmovable_land.h
table/water_land.h
town_cmd.c
town_gui.c
tunnelbridge_cmd.c
viewport.c
waypoint.c
window.h
--- a/gfx.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/gfx.c	Sun Jul 24 15:56:31 2005 +0000
@@ -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 @@
 
 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 @@
 
 	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;
--- a/gfx.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/gfx.h	Sun Jul 24 15:56:31 2005 +0000
@@ -104,11 +104,6 @@
 
 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;
--- a/graph_gui.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/graph_gui.c	Sun Jul 24 15:56:31 2005 +0000
@@ -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"
--- a/industry_cmd.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/industry_cmd.c	Sun Jul 24 15:56:31 2005 +0000
@@ -348,13 +348,13 @@
 
 	/* 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 @@
 	/* 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)
--- a/macros.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/macros.h	Sun Jul 24 15:56:31 2005 +0000
@@ -60,8 +60,8 @@
 #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
--- a/misc_gui.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/misc_gui.c	Sun Jul 24 15:56:31 2005 +0000
@@ -291,7 +291,7 @@
 	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)
--- a/openttd.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/openttd.h	Sun Jul 24 15:56:31 2005 +0000
@@ -71,7 +71,7 @@
 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
--- a/player_gui.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/player_gui.c	Sun Jul 24 15:56:31 2005 +0000
@@ -545,7 +545,7 @@
 
 		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);
 
--- a/players.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/players.c	Sun Jul 24 15:56:31 2005 +0000
@@ -1,5 +1,8 @@
 /* $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 @@
 		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 @@
 	{
 		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);
 			}
 		}
 	}
--- a/rail_cmd.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/rail_cmd.c	Sun Jul 24 15:56:31 2005 +0000
@@ -1351,7 +1351,7 @@
                                 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 @@
 		}
 
 		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 @@
 		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 @@
 	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);
 	}
 }
--- a/road_cmd.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/road_cmd.c	Sun Jul 24 15:56:31 2005 +0000
@@ -794,7 +794,7 @@
 
 		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 @@
 			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 @@
 
 		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 @@
 		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 @@
 		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);
--- a/settings_gui.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/settings_gui.c	Sun Jul 24 15:56:31 2005 +0000
@@ -1180,7 +1180,7 @@
 				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;
 			}
 
--- a/ship_gui.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/ship_gui.c	Sun Jul 24 15:56:31 2005 +0000
@@ -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"
--- a/spritecache.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/spritecache.c	Sun Jul 24 15:56:31 2005 +0000
@@ -35,27 +35,27 @@
 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 @@
 #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 @@
 		_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 @@
 		if (size == 0)
 			return;
 
-		ReadSpriteHeaderSkipData(size, NUM_SPRITES - 1);
+		ReadSpriteHeaderSkipData(size, MAX_SPRITES - 1);
 	}
 }
 
@@ -313,10 +313,11 @@
 
 	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 @@
 	}
 
 	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 @@
 	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 @@
 	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 @@
 		_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 @@
 
 #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 @@
 #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 @@
 {
 	void* p;
 
-	assert(sprite < NUM_SPRITES);
+	assert(sprite < MAX_SPRITES);
 
 #if defined(NEW_ROTATION)
 	sprite = RotateSprite(sprite);
@@ -732,7 +733,7 @@
 };
 
 #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 @@
 				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);
 			}
 		}
 
--- a/station_cmd.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/station_cmd.c	Sun Jul 24 15:56:31 2005 +0000
@@ -2139,7 +2139,7 @@
 
 	{
 		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 @@
 	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 @@
 		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 @@
 	t = &_station_display_datas[image];
 
 	img = t->ground_sprite;
-	if (img & 0x8000)
+	if (img & PALETTE_MODIFIER_COLOR)
 		img |= ormod;
 	DrawSprite(img + railtype, x, y);
 
--- a/table/animcursors.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/table/animcursors.h	Sun Jul 24 15:56:31 2005 +0000
@@ -1,8 +1,28 @@
 /* $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 @@
 	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 @@
 	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 @@
 	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 @@
 	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,
--- a/table/bridge_land.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/table/bridge_land.h	Sun Jul 24 15:56:31 2005 +0000
@@ -23,9 +23,9 @@
 
 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_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_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_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_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_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_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_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_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,
--- a/table/industry_land.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/table/industry_land.h	Sun Jul 24 15:56:31 2005 +0000
@@ -75,26 +75,26 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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] = {
--- a/table/road_land.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/table/road_land.h	Sun Jul 24 15:56:31 2005 +0000
@@ -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()
 };
 
--- a/table/sprites.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/table/sprites.h	Sun Jul 24 15:56:31 2005 +0000
@@ -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 @@
 	SPR_IMG_REMOVE				= 714
 };
 
-/* Cursor sprite numbers */
+/** Cursor sprite numbers */
 typedef enum CursorSprites {
 	/* Terraform */
 	/* Cursors */
@@ -940,85 +944,127 @@
 	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
 };
 
-enum {
-	MAX_SPRITES = 0x3FFF, //the highest number a sprite can have
+/**
+  * Bitmask setup. For the graphics system, 32 bits are used to define
+  * the sprite to be displayed. This variable contains various information:<p>
+	* <ul><li> SPRITE_WIDTH is the number of bits used for the actual sprite to be displayed.
+  * This always starts at bit 0.</li>
+  * <li> TRANSPARENT_BIT is the bit number which toggles sprite transparency</li>
+  * <li> RECOLOR_BIT toggles the recoloring system</li>
+  * <li> PALETTE_SPRITE_WIDTH and PALETTE_SPRITE_START determine the position and number of
+  * bits used for the recoloring process. For transparency, it must be 0x322.</li>
+  */
+enum SpriteSetup {
+	TRANSPARENT_BIT = 31,       ///< toggles transparency in the sprite
+	RECOLOR_BIT = 15,           ///< toggles recoloring in the sprite
+	PALETTE_SPRITE_START = 16,  ///< number of the first bit of the sprite containing the recolor palette
+	PALETTE_SPRITE_WIDTH = 11,  ///< number of bits of the sprite containing the recolor palette
+	SPRITE_WIDTH = 14,          ///< number of bits for the sprite number
 };
 
-/*
-	these numbers change the colors of the palette for a sprite
-	both need to be fed a sprite which contains the "new" colors
+/**
+	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 {
-	PALETTE_MODIFIER_TRANSPARENT 	= 0x4000,
-	PALETTE_MODIFIER_COLOR 				= 0x8000,
+	///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,
 };
 
+/** 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 */
--- a/table/station_land.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/table/station_land.h	Sun Jul 24 15:56:31 2005 +0000
@@ -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_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_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_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_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_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 @@
 // 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 @@
 // 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 @@
 //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 @@
 //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 @@
 // 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 @@
 	{ 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 @@
 	{ 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 },
--- a/table/town_land.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/table/town_land.h	Sun Jul 24 15:56:31 2005 +0000
@@ -1,5 +1,8 @@
 /* $Id$ */
 
+/** @file town_land.h
+ */
+
 enum {
 	HOUSE_TEMP_CHURCH    = 0x03,
 	HOUSE_STADIUM        = 0x14,
@@ -12,1769 +15,1780 @@
 	HOUSE_MAX            = 110
 };
 
+/** Writes the data into the Town Tile Drawing Struct
+  * @param s1 The first sprite of the building, mostly the ground sprite
+  * @param s2 The second sprite of the building.
+  * @param sx The x-position of the sprite within the tile
+  * @param xy the y-position of the sprite within the tile
+  * @param w the width of the sprite
+  * @param h the height of the sprite
+  * @param dz the virtual height of the sprite
+  * @param p set to 1 if a lift is present
+  * @see DrawTownTileStruct
+  */
 #define M(s1, s2, sx, sy, w, h, dz, p) {s1, s2, sx, sy, w - 1, h - 1, dz, p}
 
 static const DrawTownTileStruct _town_draw_tile_data[] = {
-	M(     0xf54,      0x58d,  0,  0, 14, 14,   8, 0),
-	M(     0xf54,      0x58e,  0,  0, 14, 14,  60, 0),
-	M(     0xf54,      0x58f,  0,  0, 14, 14,  60, 0),
-	M(     0x590,      0x58f,  0,  0, 14, 14,  60, 0),
-	M(     0xf54,      0x58d,  0,  0, 14, 14,   8, 0),
-	M(     0xf54,      0x58e,  0,  0, 14, 14,  60, 0),
-	M(     0xf54,      0x591,  0,  0, 14, 14,  60, 0),
-	M(     0x590,      0x591,  0,  0, 14, 14,  60, 0),
-	M(     0xf54,  0x31d858d,  0,  0, 14, 14,   8, 0),
-	M(     0xf54,  0x31d858e,  0,  0, 14, 14,  60, 0),
-	M(     0xf54,  0x31d8591,  0,  0, 14, 14,  60, 0),
-	M(     0x590,  0x31d8591,  0,  0, 14, 14,  60, 0),
-	M(     0xf54,  0x320858d,  0,  0, 14, 14,   8, 0),
-	M(     0xf54,  0x320858e,  0,  0, 14, 14,  60, 0),
-	M(     0xf54,  0x3208591,  0,  0, 14, 14,  60, 0),
-	M(     0x590,  0x3208591,  0,  0, 14, 14,  60, 0),
-	M(     0xf54,      0x592,  0,  0, 14, 16,  11, 0),
-	M(     0xf54,      0x593,  0,  0, 14, 16,  33, 0),
-	M(     0xf54,      0x594,  0,  0, 14, 16,  33, 0),
-	M(     0x595,      0x594,  0,  0, 14, 16,  33, 0),
-	M(     0xf54,  0x31d8592,  0,  0, 16, 16,  11, 0),
-	M(     0xf54,  0x31d8593,  0,  0, 16, 16,  33, 0),
-	M(     0xf54,  0x31d8594,  0,  0, 16, 16,  33, 0),
-	M(     0x595,  0x31d8594,  0,  0, 16, 16,  33, 0),
-	M(     0xf54,  0x3208592,  0,  0, 16, 16,  11, 0),
-	M(     0xf54,  0x3208593,  0,  0, 16, 16,  33, 0),
-	M(     0xf54,  0x3208594,  0,  0, 16, 16,  33, 0),
-	M(     0x595,  0x3208594,  0,  0, 16, 16,  33, 0),
-	M(     0xf54,  0x31c8592,  0,  0, 16, 16,  11, 0),
-	M(     0xf54,  0x31c8593,  0,  0, 16, 16,  33, 0),
-	M(     0xf54,  0x31c8594,  0,  0, 16, 16,  33, 0),
-	M(     0x595,  0x31c8594,  0,  0, 16, 16,  33, 0),
-	M(     0xf54,      0x596,  0,  0, 12, 12,   6, 0),
-	M(     0xf54,      0x597,  0,  0, 12, 12,  17, 0),
-	M(     0xf54,      0x598,  0,  0, 12, 12,  17, 0),
-	M(     0x599,      0x598,  0,  0, 12, 12,  17, 0),
-	M(     0xf54,      0x596,  0,  0, 12, 12,   6, 0),
-	M(     0xf54,      0x597,  0,  0, 12, 12,  17, 0),
-	M(     0xf54,      0x598,  0,  0, 12, 12,  17, 0),
-	M(     0x599,      0x598,  0,  0, 12, 12,  17, 0),
-	M(     0xf54,      0x596,  0,  0, 12, 12,   6, 0),
-	M(     0xf54,      0x597,  0,  0, 12, 12,  17, 0),
-	M(     0xf54,      0x598,  0,  0, 12, 12,  17, 0),
-	M(     0x599,      0x598,  0,  0, 12, 12,  17, 0),
-	M(     0xf54,      0x596,  0,  0, 12, 12,   6, 0),
-	M(     0xf54,      0x597,  0,  0, 12, 12,  17, 0),
-	M(     0xf54,      0x598,  0,  0, 12, 12,  17, 0),
-	M(     0x599,      0x598,  0,  0, 12, 12,  17, 0),
-	M(     0xf54,      0x59a,  0,  0, 14, 16,  16, 0),
-	M(     0xf54,      0x59b,  0,  0, 14, 16,  22, 0),
-	M(     0xf54,      0x59c,  0,  0, 14, 16,  35, 0),
-	M(     0x59d,      0x59c,  0,  0, 14, 16,  35, 0),
-	M(     0xf54,  0x59e859a,  0,  0, 14, 16,  16, 0),
-	M(     0xf54,  0x59e859b,  0,  0, 14, 16,  22, 0),
-	M(     0xf54,  0x59e859c,  0,  0, 14, 16,  35, 0),
-	M(     0x59d,  0x59e859c,  0,  0, 14, 16,  35, 0),
-	M(     0xf54,  0x59f859a,  0,  0, 14, 16,  16, 0),
-	M(     0xf54,  0x59f859b,  0,  0, 14, 16,  22, 0),
-	M(     0xf54,  0x59f859c,  0,  0, 14, 16,  35, 0),
-	M(     0x59d,  0x59f859c,  0,  0, 14, 16,  35, 0),
-	M(     0xf54,  0x59f859a,  0,  0, 14, 16,  16, 0),
-	M(     0xf54,  0x59f859b,  0,  0, 14, 16,  22, 0),
-	M(     0xf54,  0x59f859c,  0,  0, 14, 16,  35, 0),
-	M(     0x59d,  0x59f859c,  0,  0, 14, 16,  35, 0),
-	M(     0xf54,      0x5a0,  0,  0, 15, 15,   5, 0),
-	M(     0xf54,      0x5a1,  0,  0, 15, 15,  53, 0),
-	M(     0xf54,      0x5a2,  0,  0, 15, 15,  53, 0),
-	M(     0x58c,      0x5a2,  0,  0, 15, 15,  53, 1),
-	M(     0xf54,      0x5a0,  0,  0, 15, 15,   5, 0),
-	M(     0xf54,      0x5a1,  0,  0, 15, 15,  53, 0),
-	M(     0xf54,      0x5a2,  0,  0, 15, 15,  53, 0),
-	M(     0x58c,      0x5a2,  0,  0, 15, 15,  53, 1),
-	M(     0xf54,      0x5a0,  0,  0, 15, 15,   5, 0),
-	M(     0xf54,      0x5a1,  0,  0, 15, 15,  53, 0),
-	M(     0xf54,      0x5a2,  0,  0, 15, 15,  53, 0),
-	M(     0x58c,      0x5a2,  0,  0, 15, 15,  53, 1),
-	M(     0xf54,      0x5a0,  0,  0, 15, 15,   5, 0),
-	M(     0xf54,      0x5a1,  0,  0, 15, 15,  53, 0),
-	M(     0xf54,      0x5a2,  0,  0, 15, 15,  53, 0),
-	M(     0x58c,      0x5a2,  0,  0, 15, 15,  53, 1),
-	M(     0xf54,      0x5a0,  0,  0, 15, 15,   5, 0),
-	M(     0xf54,      0x5a1,  0,  0, 15, 15,  53, 0),
-	M(     0xf54,     0x11d9,  0,  0, 15, 15,  53, 0),
-	M(     0x58c,     0x11d9,  0,  0, 15, 15,  53, 1),
-	M(     0xf54,      0x5a0,  0,  0, 15, 15,   5, 0),
-	M(     0xf54,      0x5a1,  0,  0, 15, 15,  53, 0),
-	M(     0xf54,     0x11d9,  0,  0, 15, 15,  53, 0),
-	M(     0x58c,     0x11d9,  0,  0, 15, 15,  53, 1),
-	M(     0xf54,      0x5a0,  0,  0, 15, 15,   5, 0),
-	M(     0xf54,      0x5a1,  0,  0, 15, 15,  53, 0),
-	M(     0xf54,     0x11d9,  0,  0, 15, 15,  53, 0),
-	M(     0x58c,     0x11d9,  0,  0, 15, 15,  53, 1),
-	M(     0xf54,      0x5a0,  0,  0, 15, 15,   5, 0),
-	M(     0xf54,      0x5a1,  0,  0, 15, 15,  53, 0),
-	M(     0xf54,     0x11d9,  0,  0, 15, 15,  53, 0),
-	M(     0x58c,     0x11d9,  0,  0, 15, 15,  53, 1),
-	M(     0xf54,      0x5a4,  0,  0, 16, 16,  16, 0),
-	M(     0xf54,      0x5a5,  0,  0, 16, 16,  16, 0),
-	M(     0xf54,      0x5a6,  0,  0, 16, 16,  16, 0),
-	M(     0x5a7,      0x5a6,  0,  0, 16, 16,  16, 0),
-	M(     0xf54,      0x5a4,  0,  0, 16, 16,  16, 0),
-	M(     0xf54,      0x5a5,  0,  0, 16, 16,  16, 0),
-	M(     0xf54,      0x5a6,  0,  0, 16, 16,  16, 0),
-	M(     0x5a7,      0x5a6,  0,  0, 16, 16,  16, 0),
-	M(     0x5dd,      0x5de,  0,  0, 16, 16,  16, 0),
-	M(     0x5df,      0x5e0,  0,  0, 16, 16,  16, 0),
-	M(     0x5e1,      0x5e2,  0,  0, 16, 16,  16, 0),
-	M(     0x5e1,      0x5e2,  0,  0, 16, 16,  16, 0),
-	M(     0x5dd,      0x5de,  0,  0, 16, 16,  16, 0),
-	M(     0x5df,      0x5e0,  0,  0, 16, 16,  16, 0),
-	M(     0x5e1,      0x5e2,  0,  0, 16, 16,  16, 0),
-	M(     0x5e1,      0x5e2,  0,  0, 16, 16,  16, 0),
-	M(     0xf54,      0x5a8,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,      0x5a9,  0,  0, 16, 16,  38, 0),
-	M(     0xf54,      0x5aa,  0,  0, 16, 16,  45, 0),
-	M(     0x58c,      0x5aa,  0,  0, 16, 16,  45, 0),
-	M(     0xf54,      0x5a8,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,      0x5a9,  0,  0, 16, 16,  38, 0),
-	M(     0xf54,      0x5aa,  0,  0, 16, 16,  45, 0),
-	M(     0x58c,      0x5aa,  0,  0, 16, 16,  45, 0),
-	M(     0xf54,      0x5a8,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,      0x5a9,  0,  0, 16, 16,  38, 0),
-	M(     0xf54,      0x5aa,  0,  0, 16, 16,  45, 0),
-	M(     0x58c,      0x5aa,  0,  0, 16, 16,  45, 0),
-	M(     0xf54,      0x5a8,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,      0x5a9,  0,  0, 16, 16,  38, 0),
-	M(     0xf54,      0x5aa,  0,  0, 16, 16,  45, 0),
-	M(     0x58c,      0x5aa,  0,  0, 16, 16,  45, 0),
-	M(     0xf54,      0x5ab,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,      0x5ac,  0,  0, 16, 16,  38, 0),
-	M(     0xf54,      0x5ad,  0,  0, 16, 16,  45, 0),
-	M(     0x58c,      0x5ad,  0,  0, 16, 16,  45, 0),
-	M(     0xf54,      0x5ab,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,      0x5ac,  0,  0, 16, 16,  38, 0),
-	M(     0xf54,      0x5ad,  0,  0, 16, 16,  45, 0),
-	M(     0x58c,      0x5ad,  0,  0, 16, 16,  45, 0),
-	M(     0xf54,      0x5ab,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,      0x5ac,  0,  0, 16, 16,  38, 0),
-	M(     0xf54,      0x5ad,  0,  0, 16, 16,  45, 0),
-	M(     0x58c,      0x5ad,  0,  0, 16, 16,  45, 0),
-	M(     0xf54,      0x5ab,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,      0x5ac,  0,  0, 16, 16,  38, 0),
-	M(     0xf54,      0x5ad,  0,  0, 16, 16,  45, 0),
-	M(     0x58c,      0x5ad,  0,  0, 16, 16,  45, 0),
-	M(     0xf54,        0x0,  6,  5,  3,  6,   8, 0),
-	M(     0x58c,        0x0,  6,  5,  3,  6,   8, 0),
-	M(     0x58c,      0x5ae,  6,  5,  3,  6,   8, 0),
-	M(     0x58c,      0x5ae,  6,  5,  3,  6,   8, 0),
-	M(     0xf54,        0x0,  6,  5,  3,  6,   8, 0),
-	M(     0x58c,        0x0,  6,  5,  3,  6,   8, 0),
-	M(     0x58c,      0x5ae,  6,  5,  3,  6,   8, 0),
-	M(     0x58c,      0x5ae,  6,  5,  3,  6,   8, 0),
-	M(     0xf54,        0x0,  6,  5,  3,  6,   8, 0),
-	M(     0x58c,        0x0,  6,  5,  3,  6,   8, 0),
-	M(     0x58c,      0x5ae,  6,  5,  3,  6,   8, 0),
-	M(     0x58c,      0x5ae,  6,  5,  3,  6,   8, 0),
-	M(     0xf54,        0x0,  6,  5,  3,  6,   8, 0),
-	M(     0x58c,        0x0,  6,  5,  3,  6,   8, 0),
-	M(     0x58c,      0x5ae,  6,  5,  3,  6,   8, 0),
-	M(     0x58c,      0x5ae,  6,  5,  3,  6,   8, 0),
-	M(     0xf54,        0x0,  3,  3,  9,  9,   8, 0),
-	M(     0x58c,        0x0,  3,  3,  9,  9,   8, 0),
-	M(     0x58c,      0x5af,  3,  3,  9,  9,   8, 0),
-	M(     0x58c,      0x5af,  3,  3,  9,  9,   8, 0),
-	M(     0xf54,        0x0,  3,  3,  9,  9,   8, 0),
-	M(     0x58c,        0x0,  3,  3,  9,  9,   8, 0),
-	M(     0x58c,      0x5af,  3,  3,  9,  9,   8, 0),
-	M(     0x58c,      0x5af,  3,  3,  9,  9,   8, 0),
-	M(     0xf54,        0x0,  3,  3,  9,  9,   8, 0),
-	M(     0x58c,        0x0,  3,  3,  9,  9,   8, 0),
-	M(     0x58c,      0x5af,  3,  3,  9,  9,   8, 0),
-	M(     0x58c,      0x5af,  3,  3,  9,  9,   8, 0),
-	M(     0xf54,        0x0,  3,  3,  9,  9,   8, 0),
-	M(     0x58c,        0x0,  3,  3,  9,  9,   8, 0),
-	M(     0x58c,      0x5af,  3,  3,  9,  9,   8, 0),
-	M(     0x58c,      0x5af,  3,  3,  9,  9,   8, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b0,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b0,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b0,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b0,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b1,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b1,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b1,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b1,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b1,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b1,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b1,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b1,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b1,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b1,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b1,  0,  0, 16, 16,  15, 0),
-	M(     0xf8d,      0x5b1,  0,  0, 16, 16,  15, 0),
-	M(     0xf54,      0x5b2,  0,  0, 16, 16,   8, 0),
-	M(     0xf54,      0x5b3,  0,  0, 16, 16,  42, 0),
-	M(     0xf54,      0x5b4,  0,  0, 16, 16,  42, 0),
-	M(     0x58c,      0x5b4,  0,  0, 16, 16,  42, 0),
-	M(     0xf54,  0x31d85b2,  0,  0, 16, 16,   8, 0),
-	M(     0xf54,  0x31d85b3,  0,  0, 16, 16,  42, 0),
-	M(     0xf54,  0x31d85b4,  0,  0, 16, 16,  42, 0),
-	M(     0x58c,  0x31d85b4,  0,  0, 16, 16,  42, 0),
-	M(     0xf54,  0x31e85b2,  0,  0, 16, 16,   8, 0),
-	M(     0xf54,  0x31e85b3,  0,  0, 16, 16,  42, 0),
-	M(     0xf54,  0x31e85b4,  0,  0, 16, 16,  42, 0),
-	M(     0x58c,  0x31e85b4,  0,  0, 16, 16,  42, 0),
-	M(     0xf54,  0x31c85b2,  0,  0, 16, 16,   8, 0),
-	M(     0xf54,  0x31c85b3,  0,  0, 16, 16,  42, 0),
-	M(     0xf54,  0x31c85b4,  0,  0, 16, 16,  42, 0),
-	M(     0x58c,  0x31c85b4,  0,  0, 16, 16,  42, 0),
-	M(     0xf54,      0x5b5,  1,  3, 14, 11,   7, 0),
-	M(     0xf54,      0x5b6,  1,  3, 14, 11,  53, 0),
-	M(     0xf54,      0x5b7,  1,  3, 14, 11,  53, 0),
-	M(     0x58c,      0x5b7,  1,  3, 14, 11,  53, 0),
-	M(     0xf54,      0x5b5,  1,  3, 14, 11,   7, 0),
-	M(     0xf54,      0x5b6,  1,  3, 14, 11,  53, 0),
-	M(     0xf54,      0x5b7,  1,  3, 14, 11,  53, 0),
-	M(     0x58c,      0x5b7,  1,  3, 14, 11,  53, 0),
-	M(     0xf54,      0x5b5,  1,  3, 14, 11,   7, 0),
-	M(     0xf54,      0x5b6,  1,  3, 14, 11,  53, 0),
-	M(     0xf54,      0x5b7,  1,  3, 14, 11,  53, 0),
-	M(     0x58c,      0x5b7,  1,  3, 14, 11,  53, 0),
-	M(     0xf54,      0x5b5,  1,  3, 14, 11,   7, 0),
-	M(     0xf54,      0x5b6,  1,  3, 14, 11,  53, 0),
-	M(     0xf54,      0x5b7,  1,  3, 14, 11,  53, 0),
-	M(     0x58c,      0x5b7,  1,  3, 14, 11,  53, 0),
-	M(     0xf54,      0x5b8,  3,  1, 11, 14,   6, 0),
-	M(     0xf54,      0x5b9,  3,  1, 11, 14,  28, 0),
-	M(     0xf54,      0x5ba,  3,  1, 11, 14,  28, 0),
-	M(     0x58c,      0x5ba,  3,  1, 11, 14,  28, 0),
-	M(     0xf54,      0x5b8,  3,  1, 11, 14,   6, 0),
-	M(     0xf54,      0x5b9,  3,  1, 11, 14,  28, 0),
-	M(     0xf54,      0x5ba,  3,  1, 11, 14,  28, 0),
-	M(     0x58c,      0x5ba,  3,  1, 11, 14,  28, 0),
-	M(     0xf54,      0x5b8,  3,  1, 11, 14,   6, 0),
-	M(     0xf54,      0x5b9,  3,  1, 11, 14,  28, 0),
-	M(     0xf54,      0x5ba,  3,  1, 11, 14,  28, 0),
-	M(     0x58c,      0x5ba,  3,  1, 11, 14,  28, 0),
-	M(     0xf54,      0x5b8,  3,  1, 11, 14,   6, 0),
-	M(     0xf54,      0x5b9,  3,  1, 11, 14,  28, 0),
-	M(     0xf54,      0x5ba,  3,  1, 11, 14,  28, 0),
-	M(     0x58c,      0x5ba,  3,  1, 11, 14,  28, 0),
-	M(     0xf54,      0x5bb,  2,  0, 13, 16,   6, 0),
-	M(     0xf54,      0x5bc,  2,  0, 13, 16,  45, 0),
-	M(     0xf54,      0x5bd,  2,  0, 13, 16,  46, 0),
-	M(     0x58c,      0x5bd,  2,  0, 13, 16,  46, 0),
-	M(     0xf54,      0x5bb,  2,  0, 13, 16,   6, 0),
-	M(     0xf54,      0x5bc,  2,  0, 13, 16,  45, 0),
-	M(     0xf54,      0x5bd,  2,  0, 13, 16,  46, 0),
-	M(     0x58c,      0x5bd,  2,  0, 13, 16,  46, 0),
-	M(     0xf54,  0x31b85bb,  2,  0, 13, 16,   6, 0),
-	M(     0xf54,  0x31b85bc,  2,  0, 13, 16,  45, 0),
-	M(     0xf54,  0x31b85bd,  2,  0, 13, 16,  46, 0),
-	M(     0x58c,  0x31b85bd,  2,  0, 13, 16,  46, 0),
-	M(     0xf54,  0x31d85bb,  2,  0, 13, 16,   6, 0),
-	M(     0xf54,  0x31d85bc,  2,  0, 13, 16,  45, 0),
-	M(     0xf54,  0x31d85bd,  2,  0, 13, 16,  46, 0),
-	M(     0x58c,  0x31d85bd,  2,  0, 13, 16,  46, 0),
-	M(     0xf54,  0x30b85be,  2,  0, 13, 16,  13, 0),
-	M(     0xf54,  0x30b85bf,  2,  0, 13, 16, 110, 0),
-	M(     0xf54,  0x30b85c0,  2,  0, 13, 16, 110, 0),
-	M(     0x58c,  0x30b85c0,  2,  0, 13, 16, 110, 0),
-	M(     0xf54,  0x30f85be,  2,  0, 13, 16,  13, 0),
-	M(     0xf54,  0x30f85bf,  2,  0, 13, 16, 110, 0),
-	M(     0xf54,  0x30f85c0,  2,  0, 13, 16, 110, 0),
-	M(     0x58c,  0x30f85c0,  2,  0, 13, 16, 110, 0),
-	M(     0xf54,  0x31385be,  2,  0, 13, 16,  13, 0),
-	M(     0xf54,  0x31385bf,  2,  0, 13, 16, 110, 0),
-	M(     0xf54,  0x31385c0,  2,  0, 13, 16, 110, 0),
-	M(     0x58c,  0x31385c0,  2,  0, 13, 16, 110, 0),
-	M(     0xf54,  0x30d85be,  2,  0, 13, 16,  13, 0),
-	M(     0xf54,  0x30d85bf,  2,  0, 13, 16, 110, 0),
-	M(     0xf54,  0x30d85c0,  2,  0, 13, 16, 110, 0),
-	M(     0x58c,  0x30d85c0,  2,  0, 13, 16, 110, 0),
-	M(     0xf54,      0x5c1,  1,  2, 15, 12,   4, 0),
-	M(     0xf54,      0x5c2,  1,  2, 15, 12,  24, 0),
-	M(     0xf54,      0x5c3,  1,  2, 15, 12,  31, 0),
-	M(     0x58c,      0x5c3,  1,  2, 15, 12,  31, 0),
-	M(     0xf54,      0x5c1,  1,  2, 15, 12,   4, 0),
-	M(     0xf54,      0x5c2,  1,  2, 15, 12,  24, 0),
-	M(     0xf54,      0x5c3,  1,  2, 15, 12,  31, 0),
-	M(     0x58c,      0x5c3,  1,  2, 15, 12,  31, 0),
-	M(     0xf54,      0x5c1,  1,  2, 15, 12,   4, 0),
-	M(     0xf54,      0x5c2,  1,  2, 15, 12,  24, 0),
-	M(     0xf54,      0x5c3,  1,  2, 15, 12,  31, 0),
-	M(     0x58c,      0x5c3,  1,  2, 15, 12,  31, 0),
-	M(     0xf54,      0x5c1,  1,  2, 15, 12,   4, 0),
-	M(     0xf54,      0x5c2,  1,  2, 15, 12,  24, 0),
-	M(     0xf54,      0x5c3,  1,  2, 15, 12,  31, 0),
-	M(     0x58c,      0x5c3,  1,  2, 15, 12,  31, 0),
-	M(     0xf54,      0x5c4,  1,  0, 14, 15,  20, 0),
-	M(     0xf54,      0x5c5,  1,  0, 14, 15,  42, 0),
-	M(     0xf54,      0x5c6,  1,  0, 14, 15,  42, 0),
-	M(     0x58c,      0x5c6,  1,  0, 14, 15,  42, 0),
-	M(     0xf54,      0x5c4,  1,  0, 14, 15,  20, 0),
-	M(     0xf54,      0x5c5,  1,  0, 14, 15,  42, 0),
-	M(     0xf54,      0x5c6,  1,  0, 14, 15,  42, 0),
-	M(     0x58c,      0x5c6,  1,  0, 14, 15,  42, 0),
-	M(     0xf54,      0x5c4,  1,  0, 14, 15,  20, 0),
-	M(     0xf54,      0x5c5,  1,  0, 14, 15,  42, 0),
-	M(     0xf54,      0x5c6,  1,  0, 14, 15,  42, 0),
-	M(     0x58c,      0x5c6,  1,  0, 14, 15,  42, 0),
-	M(     0xf54,      0x5c4,  1,  0, 14, 15,  20, 0),
-	M(     0xf54,      0x5c5,  1,  0, 14, 15,  42, 0),
-	M(     0xf54,      0x5c6,  1,  0, 14, 15,  42, 0),
-	M(     0x58c,      0x5c6,  1,  0, 14, 15,  42, 0),
-	M(     0x5c7,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,      0x5cb,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,      0x5cb,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,      0x5cb,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,      0x5cb,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,      0x5cb,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,      0x5cb,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,      0x5cb,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,      0x5cb,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,      0x5cb,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,      0x5cb,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,      0x5cb,  0,  0, 16, 16,  20, 0),
-	M(     0x5c7,      0x5cb,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,      0x5cc,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,      0x5cc,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,      0x5cc,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,      0x5cc,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,      0x5cc,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,      0x5cc,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,      0x5cc,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,      0x5cc,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,      0x5cc,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,      0x5cc,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,      0x5cc,  0,  0, 16, 16,  20, 0),
-	M(     0x5c8,      0x5cc,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,      0x5cd,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,      0x5cd,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,      0x5cd,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,      0x5cd,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,      0x5cd,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,      0x5cd,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,      0x5cd,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,      0x5cd,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,      0x5cd,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,      0x5cd,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,      0x5cd,  0,  0, 16, 16,  20, 0),
-	M(     0x5c9,      0x5cd,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,      0x5ce,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,      0x5ce,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,      0x5ce,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,      0x5ce,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,      0x5ce,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,      0x5ce,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,      0x5ce,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,      0x5ce,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,      0x5ce,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,      0x5ce,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,      0x5ce,  0,  0, 16, 16,  20, 0),
-	M(     0x5ca,      0x5ce,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,      0x5d4,  0,  0, 16, 16,  22, 0),
-	M(     0x5d3,      0x5d4,  0,  0, 16, 16,  22, 0),
-	M(     0x5d3,      0x5d4,  0,  0, 16, 16,  22, 0),
-	M(     0x5d3,      0x5d4,  0,  0, 16, 16,  22, 0),
-	M(     0xf54,      0x5d6,  0,  0, 16, 16,  22, 0),
-	M(     0x5d5,      0x5d6,  0,  0, 16, 16,  22, 0),
-	M(     0x5d5,      0x5d6,  0,  0, 16, 16,  22, 0),
-	M(     0x5d5,      0x5d6,  0,  0, 16, 16,  22, 0),
-	M(     0xf54,      0x5d0,  0,  0, 16, 16,  21, 0),
-	M(     0x5cf,      0x5d0,  0,  0, 16, 16,  21, 0),
-	M(     0x5cf,      0x5d0,  0,  0, 16, 16,  21, 0),
-	M(     0x5cf,      0x5d0,  0,  0, 16, 16,  21, 0),
-	M(     0xf54,      0x5d2,  0,  0, 16, 16,  11, 0),
-	M(     0x5d1,      0x5d2,  0,  0, 16, 16,  11, 0),
-	M(     0x5d1,      0x5d2,  0,  0, 16, 16,  11, 0),
-	M(     0x5d1,      0x5d2,  0,  0, 16, 16,  11, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x5d7,      0x5d8,  0,  0, 16, 16,  22, 0),
-	M(     0x5d7,      0x5d8,  0,  0, 16, 16,  22, 0),
-	M(     0x5d7,      0x5d8,  0,  0, 16, 16,  22, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x5d7,      0x5d8,  0,  0, 16, 16,  22, 0),
-	M(     0x5d7,      0x5d8,  0,  0, 16, 16,  22, 0),
-	M(     0x5d7,      0x5d8,  0,  0, 16, 16,  22, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x5d7,      0x5d8,  0,  0, 16, 16,  22, 0),
-	M(     0x5d7,      0x5d8,  0,  0, 16, 16,  22, 0),
-	M(     0x5d7,      0x5d8,  0,  0, 16, 16,  22, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x5d7,      0x5d8,  0,  0, 16, 16,  22, 0),
-	M(     0x5d7,      0x5d8,  0,  0, 16, 16,  22, 0),
-	M(     0x5d7,      0x5d8,  0,  0, 16, 16,  22, 0),
-	M(     0x5d9,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x5da,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x5db,      0x5dc,  0,  0, 16, 16,  22, 0),
-	M(     0x5db,      0x5dc,  0,  0, 16, 16,  22, 0),
-	M(     0x622,      0x623,  0,  0, 16, 16,  22, 0),
-	M(     0x624,      0x625,  0,  0, 16, 16,  22, 0),
-	M(     0x626,      0x627,  0,  0, 16, 16,  22, 0),
-	M(     0x626,      0x627,  0,  0, 16, 16,  22, 0),
-	M(     0x5e3,      0x5e4,  0,  0, 16, 16,  22, 0),
-	M(     0x5e5,      0x5e6,  0,  0, 16, 16,  22, 0),
-	M(     0x5e7,      0x5e8,  0,  0, 16, 16,  22, 0),
-	M(     0x5e7,      0x5e8,  0,  0, 16, 16,  22, 0),
-	M(     0x5e9,      0x5ea,  0,  0, 16, 16,  22, 0),
-	M(     0x5eb,      0x5ec,  0,  0, 16, 16,  22, 0),
-	M(     0x5ed,      0x5ee,  0,  0, 16, 16,  22, 0),
-	M(     0x5ed,      0x5ee,  0,  0, 16, 16,  22, 0),
-	M(     0x5ef,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x5f0,      0x5f1,  0,  0, 16, 16,  22, 0),
-	M(     0x5f2,      0x5f3,  0,  0, 16, 16,  22, 0),
-	M(     0x5f2,      0x5f3,  0,  0, 16, 16,  22, 0),
-	M(     0x5ef,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x5f0,      0x5f1,  0,  0, 16, 16,  22, 0),
-	M(     0x5f2,      0x5f3,  0,  0, 16, 16,  22, 0),
-	M(     0x5f2,      0x5f3,  0,  0, 16, 16,  22, 0),
-	M(     0x5f4,      0x5f5,  0,  0, 16, 16,  22, 0),
-	M(     0x5f6,      0x5f7,  0,  0, 16, 16,  22, 0),
-	M(     0x5f8,      0x5f9,  0,  0, 16, 16,  22, 0),
-	M(     0x5f8,      0x5f9,  0,  0, 16, 16,  22, 0),
-	M(     0x5f4,      0x5f5,  0,  0, 16, 16,  22, 0),
-	M(     0x5f6,      0x5f7,  0,  0, 16, 16,  22, 0),
-	M(     0x5f8,      0x5f9,  0,  0, 16, 16,  22, 0),
-	M(     0x5f8,      0x5f9,  0,  0, 16, 16,  22, 0),
-	M(     0x5fa,      0x5fb,  0,  0, 16, 16,  85, 0),
-	M(     0x5fc,      0x5fd,  0,  0, 16, 16,  85, 0),
-	M(     0x5fe,      0x5ff,  0,  0, 16, 16,  85, 0),
-	M(     0x5fe,      0x5ff,  0,  0, 16, 16,  85, 0),
-	M(     0x5fa,      0x5fb,  0,  0, 16, 16,  85, 0),
-	M(     0x5fc,      0x5fd,  0,  0, 16, 16,  85, 0),
-	M(     0x5fe,      0x5ff,  0,  0, 16, 16,  85, 0),
-	M(     0x5fe,      0x5ff,  0,  0, 16, 16,  85, 0),
-	M(     0x60a,      0x60b,  0,  0, 16, 16,  95, 0),
-	M(     0x60c,      0x60d,  0,  0, 16, 16,  95, 0),
-	M(     0x60e,      0x60f,  0,  0, 16, 16,  95, 0),
-	M(     0x60e,      0x60f,  0,  0, 16, 16,  95, 0),
-	M(     0x60a,      0x60b,  0,  0, 16, 16,  95, 0),
-	M(     0x60c,      0x60d,  0,  0, 16, 16,  95, 0),
-	M(     0x60e,      0x60f,  0,  0, 16, 16,  95, 0),
-	M(     0x60e,      0x60f,  0,  0, 16, 16,  95, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x600,      0x601,  0,  0, 16, 16,  55, 0),
-	M(     0x600,      0x601,  0,  0, 16, 16,  55, 0),
-	M(     0x600,      0x601,  0,  0, 16, 16,  55, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M( 0x31d8600,  0x31d8601,  0,  0, 16, 16,  55, 0),
-	M( 0x31d8600,  0x31d8601,  0,  0, 16, 16,  55, 0),
-	M( 0x31d8600,  0x31d8601,  0,  0, 16, 16,  55, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x602,      0x603,  0,  0, 16, 16,  42, 0),
-	M(     0x602,      0x603,  0,  0, 16, 16,  42, 0),
-	M(     0x602,      0x603,  0,  0, 16, 16,  42, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M( 0x3208602,  0x3208603,  0,  0, 16, 16,  42, 0),
-	M( 0x3208602,  0x3208603,  0,  0, 16, 16,  42, 0),
-	M( 0x3208602,  0x3208603,  0,  0, 16, 16,  42, 0),
-	M(     0x604,      0x605,  0,  0, 16, 16,  88, 0),
-	M(     0x606,      0x607,  0,  0, 16, 16,  88, 0),
-	M(     0x608,      0x609,  0,  0, 16, 16,  88, 0),
-	M(     0x608,      0x609,  0,  0, 16, 16,  88, 0),
-	M(     0x604,      0x605,  0,  0, 16, 16,  88, 0),
-	M(     0x606,      0x607,  0,  0, 16, 16,  88, 0),
-	M(     0x608,      0x609,  0,  0, 16, 16,  88, 0),
-	M(     0x608,      0x609,  0,  0, 16, 16,  88, 0),
-	M(     0x604,      0x605,  0,  0, 16, 16,  88, 0),
-	M(     0x606,      0x607,  0,  0, 16, 16,  88, 0),
-	M(     0x608,      0x609,  0,  0, 16, 16,  88, 0),
-	M(     0x608,      0x609,  0,  0, 16, 16,  88, 0),
-	M(     0x604,      0x605,  0,  0, 16, 16,  88, 0),
-	M(     0x606,      0x607,  0,  0, 16, 16,  88, 0),
-	M(     0x608,      0x609,  0,  0, 16, 16,  88, 0),
-	M(     0x608,      0x609,  0,  0, 16, 16,  88, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x610,      0x611,  0,  0, 16, 16,  40, 0),
-	M(     0x610,      0x611,  0,  0, 16, 16,  40, 0),
-	M(     0x610,      0x611,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x610,      0x611,  0,  0, 16, 16,  40, 0),
-	M(     0x610,      0x611,  0,  0, 16, 16,  40, 0),
-	M(     0x610,      0x611,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x610,      0x611,  0,  0, 16, 16,  40, 0),
-	M(     0x610,      0x611,  0,  0, 16, 16,  40, 0),
-	M(     0x610,      0x611,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x610,      0x611,  0,  0, 16, 16,  40, 0),
-	M(     0x610,      0x611,  0,  0, 16, 16,  40, 0),
-	M(     0x610,      0x611,  0,  0, 16, 16,  40, 0),
-	M(     0x612,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x612,      0x616,  0,  0, 16, 16,  20, 0),
-	M(     0x612,      0x616,  0,  0, 16, 16,  20, 0),
-	M(     0x612,      0x616,  0,  0, 16, 16,  20, 0),
-	M(     0x612,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x612,      0x616,  0,  0, 16, 16,  20, 0),
-	M(     0x612,      0x616,  0,  0, 16, 16,  20, 0),
-	M(     0x612,      0x616,  0,  0, 16, 16,  20, 0),
-	M(     0x612,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x612,      0x616,  0,  0, 16, 16,  20, 0),
-	M(     0x612,      0x616,  0,  0, 16, 16,  20, 0),
-	M(     0x612,      0x616,  0,  0, 16, 16,  20, 0),
-	M(     0x612,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x612,      0x616,  0,  0, 16, 16,  20, 0),
-	M(     0x612,      0x616,  0,  0, 16, 16,  20, 0),
-	M(     0x612,      0x616,  0,  0, 16, 16,  20, 0),
-	M(     0x613,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x613,      0x617,  0,  0, 16, 16,  20, 0),
-	M(     0x613,      0x617,  0,  0, 16, 16,  20, 0),
-	M(     0x613,      0x617,  0,  0, 16, 16,  20, 0),
-	M(     0x613,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x613,      0x617,  0,  0, 16, 16,  20, 0),
-	M(     0x613,      0x617,  0,  0, 16, 16,  20, 0),
-	M(     0x613,      0x617,  0,  0, 16, 16,  20, 0),
-	M(     0x613,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x613,      0x617,  0,  0, 16, 16,  20, 0),
-	M(     0x613,      0x617,  0,  0, 16, 16,  20, 0),
-	M(     0x613,      0x617,  0,  0, 16, 16,  20, 0),
-	M(     0x613,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x613,      0x617,  0,  0, 16, 16,  20, 0),
-	M(     0x613,      0x617,  0,  0, 16, 16,  20, 0),
-	M(     0x613,      0x617,  0,  0, 16, 16,  20, 0),
-	M(     0x614,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x614,      0x618,  0,  0, 16, 16,  20, 0),
-	M(     0x614,      0x618,  0,  0, 16, 16,  20, 0),
-	M(     0x614,      0x618,  0,  0, 16, 16,  20, 0),
-	M(     0x614,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x614,      0x618,  0,  0, 16, 16,  20, 0),
-	M(     0x614,      0x618,  0,  0, 16, 16,  20, 0),
-	M(     0x614,      0x618,  0,  0, 16, 16,  20, 0),
-	M(     0x614,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x614,      0x618,  0,  0, 16, 16,  20, 0),
-	M(     0x614,      0x618,  0,  0, 16, 16,  20, 0),
-	M(     0x614,      0x618,  0,  0, 16, 16,  20, 0),
-	M(     0x614,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x614,      0x618,  0,  0, 16, 16,  20, 0),
-	M(     0x614,      0x618,  0,  0, 16, 16,  20, 0),
-	M(     0x614,      0x618,  0,  0, 16, 16,  20, 0),
-	M(     0x615,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x615,      0x619,  0,  0, 16, 16,  20, 0),
-	M(     0x615,      0x619,  0,  0, 16, 16,  20, 0),
-	M(     0x615,      0x619,  0,  0, 16, 16,  20, 0),
-	M(     0x615,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x615,      0x619,  0,  0, 16, 16,  20, 0),
-	M(     0x615,      0x619,  0,  0, 16, 16,  20, 0),
-	M(     0x615,      0x619,  0,  0, 16, 16,  20, 0),
-	M(     0x615,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x615,      0x619,  0,  0, 16, 16,  20, 0),
-	M(     0x615,      0x619,  0,  0, 16, 16,  20, 0),
-	M(     0x615,      0x619,  0,  0, 16, 16,  20, 0),
-	M(     0x615,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0x615,      0x619,  0,  0, 16, 16,  20, 0),
-	M(     0x615,      0x619,  0,  0, 16, 16,  20, 0),
-	M(     0x615,      0x619,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x61a,      0x61b,  0,  0, 16, 16, 100, 0),
-	M(     0x61a,      0x61b,  0,  0, 16, 16, 100, 0),
-	M(     0x61c,      0x61d,  0,  0, 16, 16, 100, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x61a,      0x61b,  0,  0, 16, 16, 100, 0),
-	M(     0x61a,      0x61b,  0,  0, 16, 16, 100, 0),
-	M(     0x61c,      0x61d,  0,  0, 16, 16, 100, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x61a,      0x61b,  0,  0, 16, 16, 100, 0),
-	M(     0x61a,      0x61b,  0,  0, 16, 16, 100, 0),
-	M(     0x61c,      0x61d,  0,  0, 16, 16, 100, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x61a,      0x61b,  0,  0, 16, 16, 100, 0),
-	M(     0x61a,      0x61b,  0,  0, 16, 16, 100, 0),
-	M(     0x61c,      0x61d,  0,  0, 16, 16, 100, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x61e,      0x61f,  0,  0, 16, 16,  25, 0),
-	M(     0x61e,      0x61f,  0,  0, 16, 16,  25, 0),
-	M(     0x61e,      0x61f,  0,  0, 16, 16,  25, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M( 0x31d861e,  0x31d861f,  0,  0, 16, 16,  25, 0),
-	M( 0x31d861e,  0x31d861f,  0,  0, 16, 16,  25, 0),
-	M( 0x31d861e,  0x31d861f,  0,  0, 16, 16,  25, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(     0x620,      0x621,  0,  0, 16, 16,  25, 0),
-	M(     0x620,      0x621,  0,  0, 16, 16,  25, 0),
-	M(     0x620,      0x621,  0,  0, 16, 16,  25, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M( 0x3108620,  0x3108621,  0,  0, 16, 16,  25, 0),
-	M( 0x3108620,  0x3108621,  0,  0, 16, 16,  25, 0),
-	M( 0x3108620,  0x3108621,  0,  0, 16, 16,  25, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(    0x11da,     0x11db,  0,  0, 16, 16,  25, 0),
-	M(    0x11da,     0x11db,  0,  0, 16, 16,  25, 0),
-	M(    0x11da,     0x11db,  0,  0, 16, 16,  25, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M( 0x31d91da,  0x31d91db,  0,  0, 16, 16,  25, 0),
-	M( 0x31d91da,  0x31d91db,  0,  0, 16, 16,  25, 0),
-	M( 0x31d91da,  0x31d91db,  0,  0, 16, 16,  25, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(    0x11dc,     0x11dd,  0,  0, 16, 16,  25, 0),
-	M(    0x11dc,     0x11dd,  0,  0, 16, 16,  25, 0),
-	M(    0x11dc,     0x11dd,  0,  0, 16, 16,  25, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M( 0x31091dc,  0x31091dd,  0,  0, 16, 16,  25, 0),
-	M( 0x31091dc,  0x31091dd,  0,  0, 16, 16,  25, 0),
-	M( 0x31091dc,  0x31091dd,  0,  0, 16, 16,  25, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(    0x1134,     0x1135,  0,  0, 16, 16,  40, 0),
-	M(    0x1134,     0x1135,  0,  0, 16, 16,  40, 0),
-	M(    0x1134,     0x1135,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(    0x1134,     0x1135,  0,  0, 16, 16,  40, 0),
-	M(    0x1134,     0x1135,  0,  0, 16, 16,  40, 0),
-	M(    0x1134,     0x1135,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(    0x1134,     0x1135,  0,  0, 16, 16,  40, 0),
-	M(    0x1134,     0x1135,  0,  0, 16, 16,  40, 0),
-	M(    0x1134,     0x1135,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  22, 0),
-	M(    0x1134,     0x1135,  0,  0, 16, 16,  40, 0),
-	M(    0x1134,     0x1135,  0,  0, 16, 16,  40, 0),
-	M(    0x1134,     0x1135,  0,  0, 16, 16,  40, 0),
-	M(    0x1136,     0x1137,  0,  0, 16, 16,  20, 0),
-	M(    0x1136,     0x1137,  0,  0, 16, 16,  20, 0),
-	M(    0x113b,     0x113c,  0,  0, 16, 16,  20, 0),
-	M(    0x113b,     0x113c,  0,  0, 16, 16,  20, 0),
-	M(    0x1136,     0x1137,  0,  0, 16, 16,  20, 0),
-	M(    0x1136,     0x1137,  0,  0, 16, 16,  20, 0),
-	M(    0x113b,     0x113c,  0,  0, 16, 16,  20, 0),
-	M(    0x113b,     0x113c,  0,  0, 16, 16,  20, 0),
-	M(    0x1136,     0x1137,  0,  0, 16, 16,  20, 0),
-	M(    0x1136,     0x1137,  0,  0, 16, 16,  20, 0),
-	M(    0x113b,     0x113c,  0,  0, 16, 16,  20, 0),
-	M(    0x113b,     0x113c,  0,  0, 16, 16,  20, 0),
-	M(    0x1136,     0x1137,  0,  0, 16, 16,  20, 0),
-	M(    0x1136,     0x1137,  0,  0, 16, 16,  20, 0),
-	M(    0x113b,     0x113c,  0,  0, 16, 16,  20, 0),
-	M(    0x113b,     0x113c,  0,  0, 16, 16,  20, 0),
-	M(    0x1138,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1138,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113d,     0x113e,  0,  0, 16, 16,  20, 0),
-	M(    0x113d,     0x113e,  0,  0, 16, 16,  20, 0),
-	M(    0x1138,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1138,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113d,     0x113e,  0,  0, 16, 16,  20, 0),
-	M(    0x113d,     0x113e,  0,  0, 16, 16,  20, 0),
-	M(    0x1138,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1138,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113d,     0x113e,  0,  0, 16, 16,  20, 0),
-	M(    0x113d,     0x113e,  0,  0, 16, 16,  20, 0),
-	M(    0x1138,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1138,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113d,     0x113e,  0,  0, 16, 16,  20, 0),
-	M(    0x113d,     0x113e,  0,  0, 16, 16,  20, 0),
-	M(    0x1139,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1139,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113f,     0x1140,  0,  0, 16, 16,  20, 0),
-	M(    0x113f,     0x1140,  0,  0, 16, 16,  20, 0),
-	M(    0x1139,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1139,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113f,     0x1140,  0,  0, 16, 16,  20, 0),
-	M(    0x113f,     0x1140,  0,  0, 16, 16,  20, 0),
-	M(    0x1139,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1139,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113f,     0x1140,  0,  0, 16, 16,  20, 0),
-	M(    0x113f,     0x1140,  0,  0, 16, 16,  20, 0),
-	M(    0x1139,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1139,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113f,     0x1140,  0,  0, 16, 16,  20, 0),
-	M(    0x113f,     0x1140,  0,  0, 16, 16,  20, 0),
-	M(    0x113a,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113a,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1141,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1141,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113a,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113a,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1141,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1141,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113a,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113a,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1141,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1141,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113a,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x113a,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1141,        0x0,  0,  0, 16, 16,  20, 0),
-	M(    0x1141,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1144,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1145,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1146,  0,  0, 16, 16,  40, 0),
-	M(    0x1142,     0x1146,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1144,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1145,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1146,  0,  0, 16, 16,  40, 0),
-	M(    0x1142,     0x1146,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1144,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1145,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1146,  0,  0, 16, 16,  40, 0),
-	M(    0x1142,     0x1146,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1144,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1145,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1146,  0,  0, 16, 16,  40, 0),
-	M(    0x1142,     0x1146,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1144,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1145,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1146,  0,  0, 16, 16,  40, 0),
-	M(    0x1143,     0x1147,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1144,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1145,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1146,  0,  0, 16, 16,  40, 0),
-	M(    0x1143,     0x1147,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1144,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1145,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1146,  0,  0, 16, 16,  40, 0),
-	M(    0x1143,     0x1147,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1144,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1145,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1146,  0,  0, 16, 16,  40, 0),
-	M(    0x1143,     0x1147,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1148,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1149,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x114a,  0,  0, 16, 16,  40, 0),
-	M(    0x1142,     0x114a,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1148,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1149,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x114a,  0,  0, 16, 16,  40, 0),
-	M(    0x1142,     0x114a,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1148,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1149,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x114a,  0,  0, 16, 16,  40, 0),
-	M(    0x1142,     0x114a,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1148,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1149,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x114a,  0,  0, 16, 16,  40, 0),
-	M(    0x1142,     0x114a,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1148,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1149,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x114a,  0,  0, 16, 16,  40, 0),
-	M(    0x1143,     0x114b,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1148,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1149,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x114a,  0,  0, 16, 16,  40, 0),
-	M(    0x1143,     0x114b,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1148,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1149,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x114a,  0,  0, 16, 16,  40, 0),
-	M(    0x1143,     0x114b,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1148,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1149,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x114a,  0,  0, 16, 16,  40, 0),
-	M(    0x1143,     0x114b,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x114e,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x114f,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1150,  0,  0, 16, 16,  40, 0),
-	M(    0x114c,     0x1150,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x309914e,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x309914f,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3099150,  0,  0, 16, 16,  40, 0),
-	M(    0x114c,  0x3099150,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x310914e,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x310914f,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3109150,  0,  0, 16, 16,  40, 0),
-	M(    0x114c,  0x3109150,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x30e914e,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x30e914f,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x30e9150,  0,  0, 16, 16,  40, 0),
-	M(    0x114c,  0x30e9150,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x114e,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x114f,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1150,  0,  0, 16, 16,  40, 0),
-	M(    0x114d,     0x1151,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x309914e,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x309914f,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3099150,  0,  0, 16, 16,  40, 0),
-	M(    0x114d,  0x3099151,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x310914e,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x310914f,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3109150,  0,  0, 16, 16,  40, 0),
-	M(    0x114d,  0x3109151,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x30e914e,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x30e914f,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x30e9150,  0,  0, 16, 16,  40, 0),
-	M(    0x114d,  0x30e9151,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1153,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1154,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1155,  0,  0, 16, 16,  60, 0),
-	M(    0x1152,     0x1155,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b9153,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b9154,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b9155,  0,  0, 16, 16,  60, 0),
-	M(    0x1152,  0x30b9155,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30e9153,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30e9154,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30e9155,  0,  0, 16, 16,  60, 0),
-	M(    0x1152,  0x30e9155,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3159153,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3159154,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3159155,  0,  0, 16, 16,  60, 0),
-	M(    0x1152,  0x3159155,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1153,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1154,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11de,  0,  0, 16, 16,  60, 0),
-	M(    0x1152,     0x11de,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b9153,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b9154,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b91de,  0,  0, 16, 16,  60, 0),
-	M(    0x1152,  0x30b91de,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30e9153,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30e9154,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30e91de,  0,  0, 16, 16,  60, 0),
-	M(    0x1152,  0x30e91de,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3159153,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3159154,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x31591de,  0,  0, 16, 16,  60, 0),
-	M(    0x1152,  0x31591de,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1157,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1158,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1159,  0,  0, 16, 16,  60, 0),
-	M(    0x1156,     0x1159,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30e9157,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30e9158,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30e9159,  0,  0, 16, 16,  60, 0),
-	M(    0x1156,  0x30e9159,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3109157,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3109158,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3109159,  0,  0, 16, 16,  60, 0),
-	M(    0x1156,  0x3109159,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30a9157,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30a9158,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30a9159,  0,  0, 16, 16,  60, 0),
-	M(    0x1156,  0x30a9159,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1157,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1158,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11df,  0,  0, 16, 16,  60, 0),
-	M(    0x1156,     0x11df,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30e9157,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30e9158,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30e91df,  0,  0, 16, 16,  60, 0),
-	M(    0x1156,  0x30e91df,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3109157,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3109158,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x31091df,  0,  0, 16, 16,  60, 0),
-	M(    0x1156,  0x31091df,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30a9157,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30a9158,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30a91df,  0,  0, 16, 16,  60, 0),
-	M(    0x1156,  0x30a91df,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x115b,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x115c,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x115d,  0,  0, 16, 16,  60, 0),
-	M(    0x115a,     0x115d,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b915b,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b915c,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b915d,  0,  0, 16, 16,  60, 0),
-	M(    0x115a,  0x30b915d,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x313915b,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x313915c,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x313915d,  0,  0, 16, 16,  60, 0),
-	M(    0x115a,  0x313915d,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x314915b,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x314915c,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x314915d,  0,  0, 16, 16,  60, 0),
-	M(    0x115a,  0x314915d,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x115b,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x115c,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11e0,  0,  0, 16, 16,  60, 0),
-	M(    0x115a,     0x11e0,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b915b,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b915c,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b91e0,  0,  0, 16, 16,  60, 0),
-	M(    0x115a,  0x30b91e0,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x313915b,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x313915c,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x31391e0,  0,  0, 16, 16,  60, 0),
-	M(    0x115a,  0x31391e0,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x314915b,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x314915c,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x31491e0,  0,  0, 16, 16,  60, 0),
-	M(    0x115a,  0x31491e0,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1160,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1161,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1162,  0,  0, 16, 16,  20, 0),
-	M(    0x115e,     0x1162,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1160,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1161,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1162,  0,  0, 16, 16,  20, 0),
-	M(    0x115e,     0x1162,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1166,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1167,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1168,  0,  0, 16, 16,  20, 0),
-	M(    0x1164,     0x1168,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1166,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1167,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1168,  0,  0, 16, 16,  20, 0),
-	M(    0x1164,     0x1168,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1160,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1161,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1162,  0,  0, 16, 16,  20, 0),
-	M(    0x115f,     0x1163,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1160,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1161,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1162,  0,  0, 16, 16,  20, 0),
-	M(    0x115f,     0x1163,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1166,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1167,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1168,  0,  0, 16, 16,  20, 0),
-	M(    0x1165,     0x1169,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1166,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1167,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x1168,  0,  0, 16, 16,  20, 0),
-	M(    0x1165,     0x1169,  0,  0, 16, 16,  20, 0),
-	M(    0x116b,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x116c,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x116d,  0,  0, 16, 16,  40, 0),
-	M(    0x116a,     0x116d,  0,  0, 16, 16,  40, 0),
-	M(    0x116b,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x116c,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x116d,  0,  0, 16, 16,  40, 0),
-	M(    0x116a,     0x116d,  0,  0, 16, 16,  40, 0),
-	M(    0x116b,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x116c,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x116d,  0,  0, 16, 16,  40, 0),
-	M(    0x116a,     0x116d,  0,  0, 16, 16,  40, 0),
-	M(    0x116b,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x116c,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x116d,  0,  0, 16, 16,  40, 0),
-	M(    0x116a,     0x116d,  0,  0, 16, 16,  40, 0),
-	M(    0x116b,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x116c,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e2,  0,  0, 16, 16,  40, 0),
-	M(    0x116a,     0x11e2,  0,  0, 16, 16,  40, 0),
-	M(    0x116b,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x116c,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e2,  0,  0, 16, 16,  40, 0),
-	M(    0x116a,     0x11e2,  0,  0, 16, 16,  40, 0),
-	M(    0x116b,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x116c,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e2,  0,  0, 16, 16,  40, 0),
-	M(    0x116a,     0x11e2,  0,  0, 16, 16,  40, 0),
-	M(    0x116b,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x116c,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e2,  0,  0, 16, 16,  40, 0),
-	M(    0x116a,     0x11e2,  0,  0, 16, 16,  40, 0),
-	M(    0x116f,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1170,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1171,  0,  0, 16, 16,  40, 0),
-	M(    0x116e,     0x1171,  0,  0, 16, 16,  40, 0),
-	M(    0x116f,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1170,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1171,  0,  0, 16, 16,  40, 0),
-	M(    0x116e,     0x1171,  0,  0, 16, 16,  40, 0),
-	M(    0x116f,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1170,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1171,  0,  0, 16, 16,  40, 0),
-	M(    0x116e,     0x1171,  0,  0, 16, 16,  40, 0),
-	M(    0x116f,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1170,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1171,  0,  0, 16, 16,  40, 0),
-	M(    0x116e,     0x1171,  0,  0, 16, 16,  40, 0),
-	M(    0x116f,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1170,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e3,  0,  0, 16, 16,  40, 0),
-	M(    0x116e,     0x11e3,  0,  0, 16, 16,  40, 0),
-	M(    0x116f,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1170,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e3,  0,  0, 16, 16,  40, 0),
-	M(    0x116e,     0x11e3,  0,  0, 16, 16,  40, 0),
-	M(    0x116f,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1170,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e3,  0,  0, 16, 16,  40, 0),
-	M(    0x116e,     0x11e3,  0,  0, 16, 16,  40, 0),
-	M(    0x116f,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1170,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e3,  0,  0, 16, 16,  40, 0),
-	M(    0x116e,     0x11e3,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1173,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1174,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1175,  0,  0, 16, 16,  40, 0),
-	M(    0x1172,     0x1175,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3149173,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3149174,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3149175,  0,  0, 16, 16,  40, 0),
-	M(    0x1172,  0x3149175,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3109173,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3109174,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3109175,  0,  0, 16, 16,  40, 0),
-	M(    0x1172,  0x3109175,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3159173,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3159174,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3159175,  0,  0, 16, 16,  40, 0),
-	M(    0x1172,  0x3159175,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1173,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1174,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1175,  0,  0, 16, 16,  40, 0),
-	M(    0x11e4,     0x11e5,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3149173,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3149174,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3149175,  0,  0, 16, 16,  40, 0),
-	M(    0x11e4,  0x31491e5,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3109173,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3109174,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3109175,  0,  0, 16, 16,  40, 0),
-	M(    0x11e4,  0x31091e5,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3159173,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3159174,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x3159175,  0,  0, 16, 16,  40, 0),
-	M(    0x11e4,  0x31591e5,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1176,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1176,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1176,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1176,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1176,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1176,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x31c9176,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x31c9176,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x31c9176,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x31c9176,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x31c9176,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x31c9176,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e6,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11e6,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11e6,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e6,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11e6,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11e6,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x31c91e6,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x31c91e6,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x31c91e6,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,  0x31c91e6,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x31c91e6,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x31c91e6,  0,  0, 16, 16,  60, 0),
-	M(    0x1177,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1179,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117b,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117b,  0,  0, 16, 16,  40, 0),
-	M(    0x1177,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1179,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117b,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117b,  0,  0, 16, 16,  40, 0),
-	M(    0x1177,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1179,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117b,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117b,  0,  0, 16, 16,  40, 0),
-	M(    0x1177,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1179,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117b,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117b,  0,  0, 16, 16,  40, 0),
-	M(    0x1178,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117a,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117c,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117c,  0,  0, 16, 16,  40, 0),
-	M(    0x1178,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117a,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117c,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117c,  0,  0, 16, 16,  40, 0),
-	M(    0x1178,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117a,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117c,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117c,  0,  0, 16, 16,  40, 0),
-	M(    0x1178,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117a,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117c,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117c,  0,  0, 16, 16,  40, 0),
-	M(    0x1177,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1179,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e7,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e7,  0,  0, 16, 16,  40, 0),
-	M(    0x1177,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1179,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e7,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e7,  0,  0, 16, 16,  40, 0),
-	M(    0x1177,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1179,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e7,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e7,  0,  0, 16, 16,  40, 0),
-	M(    0x1177,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1179,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e7,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e7,  0,  0, 16, 16,  40, 0),
-	M(    0x1178,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117a,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e8,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e8,  0,  0, 16, 16,  40, 0),
-	M(    0x1178,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117a,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e8,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e8,  0,  0, 16, 16,  40, 0),
-	M(    0x1178,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117a,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e8,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e8,  0,  0, 16, 16,  40, 0),
-	M(    0x1178,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117a,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e8,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11e8,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x117d,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x117e,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x117f,  0,  0, 16, 16,  50, 0),
-	M(     0x58c,     0x117f,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x117d,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x117e,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x117f,  0,  0, 16, 16,  50, 0),
-	M(     0x58c,     0x117f,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,  0x31c917d,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,  0x31c917e,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,  0x31c917f,  0,  0, 16, 16,  50, 0),
-	M(     0x58c,  0x31c917f,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,  0x31d917d,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,  0x31d917e,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,  0x31d917f,  0,  0, 16, 16,  50, 0),
-	M(     0x58c,  0x31d917f,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x117d,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x117e,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x11e1,  0,  0, 16, 16,  50, 0),
-	M(     0x58c,     0x11e1,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x117d,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x117e,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x11e1,  0,  0, 16, 16,  50, 0),
-	M(     0x58c,     0x11e1,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,  0x31c917d,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,  0x31c917e,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,  0x31c91e1,  0,  0, 16, 16,  50, 0),
-	M(     0x58c,  0x31c91e3,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,  0x31d917d,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,  0x31d917e,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,  0x31d91e1,  0,  0, 16, 16,  50, 0),
-	M(     0x58c,  0x31d91e1,  0,  0, 16, 16,  50, 0),
-	M(    0x1180,     0x1181,  0,  0, 16, 16,  10, 0),
-	M(    0x1183,  0x30e9182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x30e9182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x30e9184,  0,  0, 16, 16,  60, 0),
-	M(    0x1180,     0x1181,  0,  0, 16, 16,  10, 0),
-	M(    0x1183,  0x3139182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x3139182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x3139184,  0,  0, 16, 16,  60, 0),
-	M(    0x1180,     0x1181,  0,  0, 16, 16,  10, 0),
-	M(    0x1183,  0x3149182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x3149182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x3149184,  0,  0, 16, 16,  60, 0),
-	M(    0x1180,     0x1181,  0,  0, 16, 16,  10, 0),
-	M(    0x1183,  0x3159182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x3159182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x3159184,  0,  0, 16, 16,  60, 0),
-	M(    0x1180,     0x1181,  0,  0, 16, 16,  10, 0),
-	M(    0x1183,  0x30e9182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x30e9182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x30e91e9,  0,  0, 16, 16,  60, 0),
-	M(    0x1180,     0x1181,  0,  0, 16, 16,  10, 0),
-	M(    0x1183,  0x3139182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x3139182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x31391e9,  0,  0, 16, 16,  60, 0),
-	M(    0x1180,     0x1181,  0,  0, 16, 16,  10, 0),
-	M(    0x1183,  0x3149182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x3149182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x31491e9,  0,  0, 16, 16,  60, 0),
-	M(    0x1180,     0x1181,  0,  0, 16, 16,  10, 0),
-	M(    0x1183,  0x3159182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x3159182,  0,  0, 16, 16,  60, 0),
-	M(    0x1183,  0x31591e9,  0,  0, 16, 16,  60, 0),
-	M(    0x1185,     0x1187,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x118b,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1187,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x118b,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1187,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x118b,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1187,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x118b,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x1188,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118c,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x1188,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118c,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x1188,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118c,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x1188,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118c,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1187,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x11ea,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1187,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x11ea,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1187,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x11ea,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1187,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x1189,  0,  0, 16, 16,  10, 0),
-	M(    0x1185,     0x11ea,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x1188,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x11eb,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x1188,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x11eb,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x1188,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x11eb,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x1188,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x118a,  0,  0, 16, 16,  10, 0),
-	M(    0x1186,     0x11eb,  0,  0, 16, 16,  10, 0),
-	M(     0xf54,     0x11ec,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ed,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ed,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ee,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ec,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ed,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ed,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ee,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ec,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ed,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ed,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ee,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ec,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ed,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ed,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ee,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ef,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f1,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ef,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f1,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ef,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f1,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ef,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f1,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f2,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f3,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f3,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f4,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f2,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f3,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f3,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f4,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f2,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f3,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f3,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f4,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f2,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f3,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f3,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11f4,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x11f5,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x11f5,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x11f5,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x11f6,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x11f6,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x11f6,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x11f7,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x11f7,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x11f7,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x11f8,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x11f8,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x11f8,  0,  0, 16, 16,  20, 0),
-	M(     0xf54,     0x11f9,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11fa,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11fa,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11fb,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11f9,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11fa,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11fa,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11fb,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11f9,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11fa,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11fa,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11fb,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11f9,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11fa,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11fa,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x11fb,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fc,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fc,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fc,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fc,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fc,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fc,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fc,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fc,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fc,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,        0x0,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fc,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fc,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fc,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fd,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fe,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fe,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ff,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fd,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fe,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fe,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ff,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fd,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fe,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fe,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ff,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fd,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fe,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11fe,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x11ff,  0,  0, 16, 16,  40, 0),
-	M(     0xf54,     0x1200,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1201,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1201,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1202,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3099200,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3099201,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3099201,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3099202,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30a9200,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30a9201,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30a9201,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30a9202,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b9200,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b9201,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b9201,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b9202,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1203,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1204,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1204,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1205,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3099203,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3099204,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3099204,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x3099205,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30a9203,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30a9204,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30a9204,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30a9205,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b9203,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b9204,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b9204,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,  0x30b9205,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x1206,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1208,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1208,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x120a,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1206,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1208,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1208,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x120a,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1206,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1208,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1208,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x120a,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1206,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1208,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1208,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x120a,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1207,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1209,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1209,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x120b,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1207,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1209,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1209,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x120b,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1207,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1209,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1209,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x120b,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1207,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1209,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x1209,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x120b,  0,  0, 16, 16,  80, 0),
-	M(     0xf54,     0x120c,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120d,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120d,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120e,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120c,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120d,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120d,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120e,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120c,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120d,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120d,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120e,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120c,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120d,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120d,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120e,  0,  0, 16, 16,  60, 0),
-	M(     0xf54,     0x120f,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x1210,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x1210,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x1211,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x120f,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x1210,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x1210,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x1211,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x120f,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x1210,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x1210,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x1211,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x120f,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x1210,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x1210,  0,  0, 16, 16,  50, 0),
-	M(     0xf54,     0x1211,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1213,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1214,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1214,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1215,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x30b9213,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x30b9214,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x30b9214,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x30b9215,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3099213,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3099214,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3099214,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3099215,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3089213,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3089214,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3089214,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3089215,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1216,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1217,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1217,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1218,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1216,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1217,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1217,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1218,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1216,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1217,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1217,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1218,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1216,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1217,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1217,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1218,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1219,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x121a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x121a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x121b,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1219,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x121a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x121a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x121b,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1219,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x121a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x121a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x121b,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1219,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x121a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x121a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x121b,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121c,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121d,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121d,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121e,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121c,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121d,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121d,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121e,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121c,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121d,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121d,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121e,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121c,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121d,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121d,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x121e,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x121f,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1220,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1220,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1221,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x309921f,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3099220,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3099220,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3099221,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x311921f,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3119220,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3119220,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3119221,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x310921f,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3109220,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3109220,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3109221,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1222,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1223,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1223,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1224,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3099222,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3099223,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3099223,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3099224,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3109222,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3109223,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3109223,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3109224,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3089222,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3089223,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3089223,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3089224,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1225,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1226,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1226,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1227,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3099225,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3099226,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3099226,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3099227,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x30b9225,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x30b9226,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x30b9226,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x30b9227,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3089225,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3089226,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3089226,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x3089227,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1228,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1229,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1229,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122a,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1228,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1229,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1229,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122a,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1228,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1229,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1229,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122a,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1228,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1229,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1229,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122b,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122d,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122d,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122f,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122b,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122d,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122d,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122f,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122b,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122d,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122d,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122f,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122b,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122d,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122d,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x122f,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122c,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122e,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122e,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1230,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122c,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122e,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122e,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1230,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122c,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122e,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122e,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1230,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122c,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122e,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x122e,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1230,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1231,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1232,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1232,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1233,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1231,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1232,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1232,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1233,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1231,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1232,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1232,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1233,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1231,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1232,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1232,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1233,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1234,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1235,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1235,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1236,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1234,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1235,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1235,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1236,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1234,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1235,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1235,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1236,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1234,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1235,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1235,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1236,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1237,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1238,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1238,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1239,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1237,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1238,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1238,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1239,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1237,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1238,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1238,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1239,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1237,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1238,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1238,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x1239,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123a,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123b,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123b,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123c,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123a,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123b,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123b,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123c,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123a,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123b,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123b,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123c,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123a,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123b,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123b,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x123c,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123d,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123e,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123e,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123f,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123d,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123e,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123e,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123f,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123d,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123e,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123e,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123f,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123d,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123e,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123e,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x123f,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1240,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1241,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1241,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1242,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1240,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1241,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1241,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1242,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1240,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1241,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1241,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1242,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1240,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1241,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1241,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1242,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,        0x0,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1256,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1256,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1256,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,        0x0,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3089256,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3089256,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3089256,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,        0x0,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x30b9256,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x30b9256,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,  0x30b9256,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,        0x0,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3109256,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3109256,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,  0x3109256,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1257,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1258,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1258,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1259,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1257,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1258,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1258,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1259,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1257,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1258,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1258,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1259,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1257,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1258,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1258,  0,  0, 16, 16,  50, 0),
-	M(    0x1243,     0x1259,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,        0x0,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x125a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x125a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x125a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,        0x0,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x125a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x125a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x125a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,        0x0,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x125a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x125a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x125a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,        0x0,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x125a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x125a,  0,  0, 16, 16,  50, 0),
-	M(    0x1244,     0x125a,  0,  0, 16, 16,  50, 0),
+	M( 0xf54,  0x58d,  0,  0, 14, 14,   8, 0),
+	M( 0xf54,  0x58e,  0,  0, 14, 14,  60, 0),
+	M( 0xf54,  0x58f,  0,  0, 14, 14,  60, 0),
+	M( 0x590,  0x58f,  0,  0, 14, 14,  60, 0),
+	M( 0xf54,  0x58d,  0,  0, 14, 14,   8, 0),
+	M( 0xf54,  0x58e,  0,  0, 14, 14,  60, 0),
+	M( 0xf54,  0x591,  0,  0, 14, 14,  60, 0),
+	M( 0x590,  0x591,  0,  0, 14, 14,  60, 0),
+	M( 0xf54,  0x58d | PALETTE_31D,  0,  0, 14, 14,   8, 0),
+	M( 0xf54,  0x58e | PALETTE_31D,  0,  0, 14, 14,  60, 0),
+	M( 0xf54,  0x591 | PALETTE_31D,  0,  0, 14, 14,  60, 0),
+	M( 0x590,  0x591 | PALETTE_31D,  0,  0, 14, 14,  60, 0),
+	M( 0xf54,  0x58d | PALETTE_TO_STRUCT_CONCRETE,  0,  0, 14, 14,   8, 0),
+	M( 0xf54,  0x58e | PALETTE_TO_STRUCT_CONCRETE,  0,  0, 14, 14,  60, 0),
+	M( 0xf54,  0x591 | PALETTE_TO_STRUCT_CONCRETE,  0,  0, 14, 14,  60, 0),
+	M( 0x590,  0x591 | PALETTE_TO_STRUCT_CONCRETE,  0,  0, 14, 14,  60, 0),
+	M( 0xf54,  0x592,  0,  0, 14, 16,  11, 0),
+	M( 0xf54,  0x593,  0,  0, 14, 16,  33, 0),
+	M( 0xf54,  0x594,  0,  0, 14, 16,  33, 0),
+	M( 0x595,  0x594,  0,  0, 14, 16,  33, 0),
+	M( 0xf54,  0x592 | PALETTE_31D,  0,  0, 16, 16,  11, 0),
+	M( 0xf54,  0x593 | PALETTE_31D,  0,  0, 16, 16,  33, 0),
+	M( 0xf54,  0x594 | PALETTE_31D,  0,  0, 16, 16,  33, 0),
+	M( 0x595,  0x594 | PALETTE_31D,  0,  0, 16, 16,  33, 0),
+	M( 0xf54,  0x592 | PALETTE_TO_STRUCT_CONCRETE,  0,  0, 16, 16,  11, 0),
+	M( 0xf54,  0x593 | PALETTE_TO_STRUCT_CONCRETE,  0,  0, 16, 16,  33, 0),
+	M( 0xf54,  0x594 | PALETTE_TO_STRUCT_CONCRETE,  0,  0, 16, 16,  33, 0),
+	M( 0x595,  0x594 | PALETTE_TO_STRUCT_CONCRETE,  0,  0, 16, 16,  33, 0),
+	M( 0xf54,  0x592 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  11, 0),
+	M( 0xf54,  0x593 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  33, 0),
+	M( 0xf54,  0x594 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  33, 0),
+	M( 0x595,  0x594 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  33, 0),
+	M( 0xf54,  0x596,  0,  0, 12, 12,   6, 0),
+	M( 0xf54,  0x597,  0,  0, 12, 12,  17, 0),
+	M( 0xf54,  0x598,  0,  0, 12, 12,  17, 0),
+	M( 0x599,  0x598,  0,  0, 12, 12,  17, 0),
+	M( 0xf54,  0x596,  0,  0, 12, 12,   6, 0),
+	M( 0xf54,  0x597,  0,  0, 12, 12,  17, 0),
+	M( 0xf54,  0x598,  0,  0, 12, 12,  17, 0),
+	M( 0x599,  0x598,  0,  0, 12, 12,  17, 0),
+	M( 0xf54,  0x596,  0,  0, 12, 12,   6, 0),
+	M( 0xf54,  0x597,  0,  0, 12, 12,  17, 0),
+	M( 0xf54,  0x598,  0,  0, 12, 12,  17, 0),
+	M( 0x599,  0x598,  0,  0, 12, 12,  17, 0),
+	M( 0xf54,  0x596,  0,  0, 12, 12,   6, 0),
+	M( 0xf54,  0x597,  0,  0, 12, 12,  17, 0),
+	M( 0xf54,  0x598,  0,  0, 12, 12,  17, 0),
+	M( 0x599,  0x598,  0,  0, 12, 12,  17, 0),
+	M( 0xf54,  0x59a,  0,  0, 14, 16,  16, 0),
+	M( 0xf54,  0x59b,  0,  0, 14, 16,  22, 0),
+	M( 0xf54,  0x59c,  0,  0, 14, 16,  35, 0),
+	M( 0x59d,  0x59c,  0,  0, 14, 16,  35, 0),
+	M( 0xf54,  0x59a | PALETTE_59E,  0,  0, 14, 16,  16, 0),
+	M( 0xf54,  0x59b | PALETTE_59E,  0,  0, 14, 16,  22, 0),
+	M( 0xf54,  0x59c | PALETTE_59E,  0,  0, 14, 16,  35, 0),
+	M( 0x59d,  0x59c | PALETTE_59E,  0,  0, 14, 16,  35, 0),
+	M( 0xf54,  0x59a | PALETTE_59F,  0,  0, 14, 16,  16, 0),
+	M( 0xf54,  0x59b | PALETTE_59F,  0,  0, 14, 16,  22, 0),
+	M( 0xf54,  0x59c | PALETTE_59F,  0,  0, 14, 16,  35, 0),
+	M( 0x59d,  0x59c | PALETTE_59F,  0,  0, 14, 16,  35, 0),
+	M( 0xf54,  0x59a | PALETTE_59F,  0,  0, 14, 16,  16, 0),
+	M( 0xf54,  0x59b | PALETTE_59F,  0,  0, 14, 16,  22, 0),
+	M( 0xf54,  0x59c | PALETTE_59F,  0,  0, 14, 16,  35, 0),
+	M( 0x59d,  0x59c | PALETTE_59F,  0,  0, 14, 16,  35, 0),
+	M( 0xf54,  0x5a0,  0,  0, 15, 15,   5, 0),
+	M( 0xf54,  0x5a1,  0,  0, 15, 15,  53, 0),
+	M( 0xf54,  0x5a2,  0,  0, 15, 15,  53, 0),
+	M( 0x58c,  0x5a2,  0,  0, 15, 15,  53, 1),
+	M( 0xf54,  0x5a0,  0,  0, 15, 15,   5, 0),
+	M( 0xf54,  0x5a1,  0,  0, 15, 15,  53, 0),
+	M( 0xf54,  0x5a2,  0,  0, 15, 15,  53, 0),
+	M( 0x58c,  0x5a2,  0,  0, 15, 15,  53, 1),
+	M( 0xf54,  0x5a0,  0,  0, 15, 15,   5, 0),
+	M( 0xf54,  0x5a1,  0,  0, 15, 15,  53, 0),
+	M( 0xf54,  0x5a2,  0,  0, 15, 15,  53, 0),
+	M( 0x58c,  0x5a2,  0,  0, 15, 15,  53, 1),
+	M( 0xf54,  0x5a0,  0,  0, 15, 15,   5, 0),
+	M( 0xf54,  0x5a1,  0,  0, 15, 15,  53, 0),
+	M( 0xf54,  0x5a2,  0,  0, 15, 15,  53, 0),
+	M( 0x58c,  0x5a2,  0,  0, 15, 15,  53, 1),
+	M( 0xf54,  0x5a0,  0,  0, 15, 15,   5, 0),
+	M( 0xf54,  0x5a1,  0,  0, 15, 15,  53, 0),
+	M( 0xf54, 0x11d9,  0,  0, 15, 15,  53, 0),
+	M( 0x58c, 0x11d9,  0,  0, 15, 15,  53, 1),
+	M( 0xf54,  0x5a0,  0,  0, 15, 15,   5, 0),
+	M( 0xf54,  0x5a1,  0,  0, 15, 15,  53, 0),
+	M( 0xf54, 0x11d9,  0,  0, 15, 15,  53, 0),
+	M( 0x58c, 0x11d9,  0,  0, 15, 15,  53, 1),
+	M( 0xf54,  0x5a0,  0,  0, 15, 15,   5, 0),
+	M( 0xf54,  0x5a1,  0,  0, 15, 15,  53, 0),
+	M( 0xf54, 0x11d9,  0,  0, 15, 15,  53, 0),
+	M( 0x58c, 0x11d9,  0,  0, 15, 15,  53, 1),
+	M( 0xf54,  0x5a0,  0,  0, 15, 15,   5, 0),
+	M( 0xf54,  0x5a1,  0,  0, 15, 15,  53, 0),
+	M( 0xf54, 0x11d9,  0,  0, 15, 15,  53, 0),
+	M( 0x58c, 0x11d9,  0,  0, 15, 15,  53, 1),
+	M( 0xf54,  0x5a4,  0,  0, 16, 16,  16, 0),
+	M( 0xf54,  0x5a5,  0,  0, 16, 16,  16, 0),
+	M( 0xf54,  0x5a6,  0,  0, 16, 16,  16, 0),
+	M( 0x5a7,  0x5a6,  0,  0, 16, 16,  16, 0),
+	M( 0xf54,  0x5a4,  0,  0, 16, 16,  16, 0),
+	M( 0xf54,  0x5a5,  0,  0, 16, 16,  16, 0),
+	M( 0xf54,  0x5a6,  0,  0, 16, 16,  16, 0),
+	M( 0x5a7,  0x5a6,  0,  0, 16, 16,  16, 0),
+	M( 0x5dd,  0x5de,  0,  0, 16, 16,  16, 0),
+	M( 0x5df,  0x5e0,  0,  0, 16, 16,  16, 0),
+	M( 0x5e1,  0x5e2,  0,  0, 16, 16,  16, 0),
+	M( 0x5e1,  0x5e2,  0,  0, 16, 16,  16, 0),
+	M( 0x5dd,  0x5de,  0,  0, 16, 16,  16, 0),
+	M( 0x5df,  0x5e0,  0,  0, 16, 16,  16, 0),
+	M( 0x5e1,  0x5e2,  0,  0, 16, 16,  16, 0),
+	M( 0x5e1,  0x5e2,  0,  0, 16, 16,  16, 0),
+	M( 0xf54,  0x5a8,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,  0x5a9,  0,  0, 16, 16,  38, 0),
+	M( 0xf54,  0x5aa,  0,  0, 16, 16,  45, 0),
+	M( 0x58c,  0x5aa,  0,  0, 16, 16,  45, 0),
+	M( 0xf54,  0x5a8,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,  0x5a9,  0,  0, 16, 16,  38, 0),
+	M( 0xf54,  0x5aa,  0,  0, 16, 16,  45, 0),
+	M( 0x58c,  0x5aa,  0,  0, 16, 16,  45, 0),
+	M( 0xf54,  0x5a8,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,  0x5a9,  0,  0, 16, 16,  38, 0),
+	M( 0xf54,  0x5aa,  0,  0, 16, 16,  45, 0),
+	M( 0x58c,  0x5aa,  0,  0, 16, 16,  45, 0),
+	M( 0xf54,  0x5a8,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,  0x5a9,  0,  0, 16, 16,  38, 0),
+	M( 0xf54,  0x5aa,  0,  0, 16, 16,  45, 0),
+	M( 0x58c,  0x5aa,  0,  0, 16, 16,  45, 0),
+	M( 0xf54,  0x5ab,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,  0x5ac,  0,  0, 16, 16,  38, 0),
+	M( 0xf54,  0x5ad,  0,  0, 16, 16,  45, 0),
+	M( 0x58c,  0x5ad,  0,  0, 16, 16,  45, 0),
+	M( 0xf54,  0x5ab,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,  0x5ac,  0,  0, 16, 16,  38, 0),
+	M( 0xf54,  0x5ad,  0,  0, 16, 16,  45, 0),
+	M( 0x58c,  0x5ad,  0,  0, 16, 16,  45, 0),
+	M( 0xf54,  0x5ab,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,  0x5ac,  0,  0, 16, 16,  38, 0),
+	M( 0xf54,  0x5ad,  0,  0, 16, 16,  45, 0),
+	M( 0x58c,  0x5ad,  0,  0, 16, 16,  45, 0),
+	M( 0xf54,  0x5ab,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,  0x5ac,  0,  0, 16, 16,  38, 0),
+	M( 0xf54,  0x5ad,  0,  0, 16, 16,  45, 0),
+	M( 0x58c,  0x5ad,  0,  0, 16, 16,  45, 0),
+	M( 0xf54,    0x0,  6,  5,  3,  6,   8, 0),
+	M( 0x58c,    0x0,  6,  5,  3,  6,   8, 0),
+	M( 0x58c,  0x5ae,  6,  5,  3,  6,   8, 0),
+	M( 0x58c,  0x5ae,  6,  5,  3,  6,   8, 0),
+	M( 0xf54,    0x0,  6,  5,  3,  6,   8, 0),
+	M( 0x58c,    0x0,  6,  5,  3,  6,   8, 0),
+	M( 0x58c,  0x5ae,  6,  5,  3,  6,   8, 0),
+	M( 0x58c,  0x5ae,  6,  5,  3,  6,   8, 0),
+	M( 0xf54,    0x0,  6,  5,  3,  6,   8, 0),
+	M( 0x58c,    0x0,  6,  5,  3,  6,   8, 0),
+	M( 0x58c,  0x5ae,  6,  5,  3,  6,   8, 0),
+	M( 0x58c,  0x5ae,  6,  5,  3,  6,   8, 0),
+	M( 0xf54,    0x0,  6,  5,  3,  6,   8, 0),
+	M( 0x58c,    0x0,  6,  5,  3,  6,   8, 0),
+	M( 0x58c,  0x5ae,  6,  5,  3,  6,   8, 0),
+	M( 0x58c,  0x5ae,  6,  5,  3,  6,   8, 0),
+	M( 0xf54,    0x0,  3,  3,  9,  9,   8, 0),
+	M( 0x58c,    0x0,  3,  3,  9,  9,   8, 0),
+	M( 0x58c,  0x5af,  3,  3,  9,  9,   8, 0),
+	M( 0x58c,  0x5af,  3,  3,  9,  9,   8, 0),
+	M( 0xf54,    0x0,  3,  3,  9,  9,   8, 0),
+	M( 0x58c,    0x0,  3,  3,  9,  9,   8, 0),
+	M( 0x58c,  0x5af,  3,  3,  9,  9,   8, 0),
+	M( 0x58c,  0x5af,  3,  3,  9,  9,   8, 0),
+	M( 0xf54,    0x0,  3,  3,  9,  9,   8, 0),
+	M( 0x58c,    0x0,  3,  3,  9,  9,   8, 0),
+	M( 0x58c,  0x5af,  3,  3,  9,  9,   8, 0),
+	M( 0x58c,  0x5af,  3,  3,  9,  9,   8, 0),
+	M( 0xf54,    0x0,  3,  3,  9,  9,   8, 0),
+	M( 0x58c,    0x0,  3,  3,  9,  9,   8, 0),
+	M( 0x58c,  0x5af,  3,  3,  9,  9,   8, 0),
+	M( 0x58c,  0x5af,  3,  3,  9,  9,   8, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b0,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b0,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b0,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b0,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b1,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b1,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b1,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b1,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b1,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b1,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b1,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b1,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b1,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b1,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b1,  0,  0, 16, 16,  15, 0),
+	M( 0xf8d,  0x5b1,  0,  0, 16, 16,  15, 0),
+	M( 0xf54,  0x5b2,  0,  0, 16, 16,   8, 0),
+	M( 0xf54,  0x5b3,  0,  0, 16, 16,  42, 0),
+	M( 0xf54,  0x5b4,  0,  0, 16, 16,  42, 0),
+	M( 0x58c,  0x5b4,  0,  0, 16, 16,  42, 0),
+	M( 0xf54,  0x5b2 | PALETTE_31D,  0,  0, 16, 16,   8, 0),
+	M( 0xf54,  0x5b3 | PALETTE_31D,  0,  0, 16, 16,  42, 0),
+	M( 0xf54,  0x5b4 | PALETTE_31D,  0,  0, 16, 16,  42, 0),
+	M( 0x58c,  0x5b4 | PALETTE_31D,  0,  0, 16, 16,  42, 0),
+	M( 0xf54,  0x5b2 | PALETTE_TO_STRUCT_RED,  0,  0, 16, 16,   8, 0),
+	M( 0xf54,  0x5b3 | PALETTE_TO_STRUCT_RED,  0,  0, 16, 16,  42, 0),
+	M( 0xf54,  0x5b4 | PALETTE_TO_STRUCT_RED,  0,  0, 16, 16,  42, 0),
+	M( 0x58c,  0x5b4 | PALETTE_TO_STRUCT_RED,  0,  0, 16, 16,  42, 0),
+	M( 0xf54,  0x5b2 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,   8, 0),
+	M( 0xf54,  0x5b3 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  42, 0),
+	M( 0xf54,  0x5b4 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  42, 0),
+	M( 0x58c,  0x5b4 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  42, 0),
+	M( 0xf54,  0x5b5,  1,  3, 14, 11,   7, 0),
+	M( 0xf54,  0x5b6,  1,  3, 14, 11,  53, 0),
+	M( 0xf54,  0x5b7,  1,  3, 14, 11,  53, 0),
+	M( 0x58c,  0x5b7,  1,  3, 14, 11,  53, 0),
+	M( 0xf54,  0x5b5,  1,  3, 14, 11,   7, 0),
+	M( 0xf54,  0x5b6,  1,  3, 14, 11,  53, 0),
+	M( 0xf54,  0x5b7,  1,  3, 14, 11,  53, 0),
+	M( 0x58c,  0x5b7,  1,  3, 14, 11,  53, 0),
+	M( 0xf54,  0x5b5,  1,  3, 14, 11,   7, 0),
+	M( 0xf54,  0x5b6,  1,  3, 14, 11,  53, 0),
+	M( 0xf54,  0x5b7,  1,  3, 14, 11,  53, 0),
+	M( 0x58c,  0x5b7,  1,  3, 14, 11,  53, 0),
+	M( 0xf54,  0x5b5,  1,  3, 14, 11,   7, 0),
+	M( 0xf54,  0x5b6,  1,  3, 14, 11,  53, 0),
+	M( 0xf54,  0x5b7,  1,  3, 14, 11,  53, 0),
+	M( 0x58c,  0x5b7,  1,  3, 14, 11,  53, 0),
+	M( 0xf54,  0x5b8,  3,  1, 11, 14,   6, 0),
+	M( 0xf54,  0x5b9,  3,  1, 11, 14,  28, 0),
+	M( 0xf54,  0x5ba,  3,  1, 11, 14,  28, 0),
+	M( 0x58c,  0x5ba,  3,  1, 11, 14,  28, 0),
+	M( 0xf54,  0x5b8,  3,  1, 11, 14,   6, 0),
+	M( 0xf54,  0x5b9,  3,  1, 11, 14,  28, 0),
+	M( 0xf54,  0x5ba,  3,  1, 11, 14,  28, 0),
+	M( 0x58c,  0x5ba,  3,  1, 11, 14,  28, 0),
+	M( 0xf54,  0x5b8,  3,  1, 11, 14,   6, 0),
+	M( 0xf54,  0x5b9,  3,  1, 11, 14,  28, 0),
+	M( 0xf54,  0x5ba,  3,  1, 11, 14,  28, 0),
+	M( 0x58c,  0x5ba,  3,  1, 11, 14,  28, 0),
+	M( 0xf54,  0x5b8,  3,  1, 11, 14,   6, 0),
+	M( 0xf54,  0x5b9,  3,  1, 11, 14,  28, 0),
+	M( 0xf54,  0x5ba,  3,  1, 11, 14,  28, 0),
+	M( 0x58c,  0x5ba,  3,  1, 11, 14,  28, 0),
+	M( 0xf54,  0x5bb,  2,  0, 13, 16,   6, 0),
+	M( 0xf54,  0x5bc,  2,  0, 13, 16,  45, 0),
+	M( 0xf54,  0x5bd,  2,  0, 13, 16,  46, 0),
+	M( 0x58c,  0x5bd,  2,  0, 13, 16,  46, 0),
+	M( 0xf54,  0x5bb,  2,  0, 13, 16,   6, 0),
+	M( 0xf54,  0x5bc,  2,  0, 13, 16,  45, 0),
+	M( 0xf54,  0x5bd,  2,  0, 13, 16,  46, 0),
+	M( 0x58c,  0x5bd,  2,  0, 13, 16,  46, 0),
+	M( 0xf54,  0x5bb | PALETTE_31B,  2,  0, 13, 16,   6, 0),
+	M( 0xf54,  0x5bc | PALETTE_31B,  2,  0, 13, 16,  45, 0),
+	M( 0xf54,  0x5bd | PALETTE_31B,  2,  0, 13, 16,  46, 0),
+	M( 0x58c,  0x5bd | PALETTE_31B,  2,  0, 13, 16,  46, 0),
+	M( 0xf54,  0x5bb | PALETTE_31D,  2,  0, 13, 16,   6, 0),
+	M( 0xf54,  0x5bc | PALETTE_31D,  2,  0, 13, 16,  45, 0),
+	M( 0xf54,  0x5bd | PALETTE_31D,  2,  0, 13, 16,  46, 0),
+	M( 0x58c,  0x5bd | PALETTE_31D,  2,  0, 13, 16,  46, 0),
+	M( 0xf54,  0x5be | PALETTE_TO_RED,  2,  0, 13, 16,  13, 0),
+	M( 0xf54,  0x5bf | PALETTE_TO_RED,  2,  0, 13, 16, 110, 0),
+	M( 0xf54,  0x5c0 | PALETTE_TO_RED,  2,  0, 13, 16, 110, 0),
+	M( 0x58c,  0x5c0 | PALETTE_TO_RED,  2,  0, 13, 16, 110, 0),
+	M( 0xf54,  0x5be | PALETTE_TO_BLUE,  2,  0, 13, 16,  13, 0),
+	M( 0xf54,  0x5bf | PALETTE_TO_BLUE,  2,  0, 13, 16, 110, 0),
+	M( 0xf54,  0x5c0 | PALETTE_TO_BLUE,  2,  0, 13, 16, 110, 0),
+	M( 0x58c,  0x5c0 | PALETTE_TO_BLUE,  2,  0, 13, 16, 110, 0),
+	M( 0xf54,  0x5be | PALETTE_TO_ORANGE,  2,  0, 13, 16,  13, 0),
+	M( 0xf54,  0x5bf | PALETTE_TO_ORANGE,  2,  0, 13, 16, 110, 0),
+	M( 0xf54,  0x5c0 | PALETTE_TO_ORANGE,  2,  0, 13, 16, 110, 0),
+	M( 0x58c,  0x5c0 | PALETTE_TO_ORANGE,  2,  0, 13, 16, 110, 0),
+	M( 0xf54,  0x5be | PALETTE_TO_GREEN,  2,  0, 13, 16,  13, 0),
+	M( 0xf54,  0x5bf | PALETTE_TO_GREEN,  2,  0, 13, 16, 110, 0),
+	M( 0xf54,  0x5c0 | PALETTE_TO_GREEN,  2,  0, 13, 16, 110, 0),
+	M( 0x58c,  0x5c0 | PALETTE_TO_GREEN,  2,  0, 13, 16, 110, 0),
+	M( 0xf54,  0x5c1,  1,  2, 15, 12,   4, 0),
+	M( 0xf54,  0x5c2,  1,  2, 15, 12,  24, 0),
+	M( 0xf54,  0x5c3,  1,  2, 15, 12,  31, 0),
+	M( 0x58c,  0x5c3,  1,  2, 15, 12,  31, 0),
+	M( 0xf54,  0x5c1,  1,  2, 15, 12,   4, 0),
+	M( 0xf54,  0x5c2,  1,  2, 15, 12,  24, 0),
+	M( 0xf54,  0x5c3,  1,  2, 15, 12,  31, 0),
+	M( 0x58c,  0x5c3,  1,  2, 15, 12,  31, 0),
+	M( 0xf54,  0x5c1,  1,  2, 15, 12,   4, 0),
+	M( 0xf54,  0x5c2,  1,  2, 15, 12,  24, 0),
+	M( 0xf54,  0x5c3,  1,  2, 15, 12,  31, 0),
+	M( 0x58c,  0x5c3,  1,  2, 15, 12,  31, 0),
+	M( 0xf54,  0x5c1,  1,  2, 15, 12,   4, 0),
+	M( 0xf54,  0x5c2,  1,  2, 15, 12,  24, 0),
+	M( 0xf54,  0x5c3,  1,  2, 15, 12,  31, 0),
+	M( 0x58c,  0x5c3,  1,  2, 15, 12,  31, 0),
+	M( 0xf54,  0x5c4,  1,  0, 14, 15,  20, 0),
+	M( 0xf54,  0x5c5,  1,  0, 14, 15,  42, 0),
+	M( 0xf54,  0x5c6,  1,  0, 14, 15,  42, 0),
+	M( 0x58c,  0x5c6,  1,  0, 14, 15,  42, 0),
+	M( 0xf54,  0x5c4,  1,  0, 14, 15,  20, 0),
+	M( 0xf54,  0x5c5,  1,  0, 14, 15,  42, 0),
+	M( 0xf54,  0x5c6,  1,  0, 14, 15,  42, 0),
+	M( 0x58c,  0x5c6,  1,  0, 14, 15,  42, 0),
+	M( 0xf54,  0x5c4,  1,  0, 14, 15,  20, 0),
+	M( 0xf54,  0x5c5,  1,  0, 14, 15,  42, 0),
+	M( 0xf54,  0x5c6,  1,  0, 14, 15,  42, 0),
+	M( 0x58c,  0x5c6,  1,  0, 14, 15,  42, 0),
+	M( 0xf54,  0x5c4,  1,  0, 14, 15,  20, 0),
+	M( 0xf54,  0x5c5,  1,  0, 14, 15,  42, 0),
+	M( 0xf54,  0x5c6,  1,  0, 14, 15,  42, 0),
+	M( 0x58c,  0x5c6,  1,  0, 14, 15,  42, 0),
+	M( 0x5c7,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,  0x5cb,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,  0x5cb,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,  0x5cb,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,  0x5cb,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,  0x5cb,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,  0x5cb,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,  0x5cb,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,  0x5cb,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,  0x5cb,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,  0x5cb,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,  0x5cb,  0,  0, 16, 16,  20, 0),
+	M( 0x5c7,  0x5cb,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,  0x5cc,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,  0x5cc,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,  0x5cc,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,  0x5cc,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,  0x5cc,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,  0x5cc,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,  0x5cc,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,  0x5cc,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,  0x5cc,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,  0x5cc,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,  0x5cc,  0,  0, 16, 16,  20, 0),
+	M( 0x5c8,  0x5cc,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,  0x5cd,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,  0x5cd,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,  0x5cd,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,  0x5cd,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,  0x5cd,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,  0x5cd,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,  0x5cd,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,  0x5cd,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,  0x5cd,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,  0x5cd,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,  0x5cd,  0,  0, 16, 16,  20, 0),
+	M( 0x5c9,  0x5cd,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,  0x5ce,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,  0x5ce,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,  0x5ce,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,  0x5ce,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,  0x5ce,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,  0x5ce,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,  0x5ce,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,  0x5ce,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,  0x5ce,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,  0x5ce,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,  0x5ce,  0,  0, 16, 16,  20, 0),
+	M( 0x5ca,  0x5ce,  0,  0, 16, 16,  20, 0),
+	M( 0xf54,  0x5d4,  0,  0, 16, 16,  22, 0),
+	M( 0x5d3,  0x5d4,  0,  0, 16, 16,  22, 0),
+	M( 0x5d3,  0x5d4,  0,  0, 16, 16,  22, 0),
+	M( 0x5d3,  0x5d4,  0,  0, 16, 16,  22, 0),
+	M( 0xf54,  0x5d6,  0,  0, 16, 16,  22, 0),
+	M( 0x5d5,  0x5d6,  0,  0, 16, 16,  22, 0),
+	M( 0x5d5,  0x5d6,  0,  0, 16, 16,  22, 0),
+	M( 0x5d5,  0x5d6,  0,  0, 16, 16,  22, 0),
+	M( 0xf54,  0x5d0,  0,  0, 16, 16,  21, 0),
+	M( 0x5cf,  0x5d0,  0,  0, 16, 16,  21, 0),
+	M( 0x5cf,  0x5d0,  0,  0, 16, 16,  21, 0),
+	M( 0x5cf,  0x5d0,  0,  0, 16, 16,  21, 0),
+	M( 0xf54,  0x5d2,  0,  0, 16, 16,  11, 0),
+	M( 0x5d1,  0x5d2,  0,  0, 16, 16,  11, 0),
+	M( 0x5d1,  0x5d2,  0,  0, 16, 16,  11, 0),
+	M( 0x5d1,  0x5d2,  0,  0, 16, 16,  11, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x5d7,  0x5d8,  0,  0, 16, 16,  22, 0),
+	M( 0x5d7,  0x5d8,  0,  0, 16, 16,  22, 0),
+	M( 0x5d7,  0x5d8,  0,  0, 16, 16,  22, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x5d7,  0x5d8,  0,  0, 16, 16,  22, 0),
+	M( 0x5d7,  0x5d8,  0,  0, 16, 16,  22, 0),
+	M( 0x5d7,  0x5d8,  0,  0, 16, 16,  22, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x5d7,  0x5d8,  0,  0, 16, 16,  22, 0),
+	M( 0x5d7,  0x5d8,  0,  0, 16, 16,  22, 0),
+	M( 0x5d7,  0x5d8,  0,  0, 16, 16,  22, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x5d7,  0x5d8,  0,  0, 16, 16,  22, 0),
+	M( 0x5d7,  0x5d8,  0,  0, 16, 16,  22, 0),
+	M( 0x5d7,  0x5d8,  0,  0, 16, 16,  22, 0),
+	M( 0x5d9,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x5da,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x5db,  0x5dc,  0,  0, 16, 16,  22, 0),
+	M( 0x5db,  0x5dc,  0,  0, 16, 16,  22, 0),
+	M( 0x622,  0x623,  0,  0, 16, 16,  22, 0),
+	M( 0x624,  0x625,  0,  0, 16, 16,  22, 0),
+	M( 0x626,  0x627,  0,  0, 16, 16,  22, 0),
+	M( 0x626,  0x627,  0,  0, 16, 16,  22, 0),
+	M( 0x5e3,  0x5e4,  0,  0, 16, 16,  22, 0),
+	M( 0x5e5,  0x5e6,  0,  0, 16, 16,  22, 0),
+	M( 0x5e7,  0x5e8,  0,  0, 16, 16,  22, 0),
+	M( 0x5e7,  0x5e8,  0,  0, 16, 16,  22, 0),
+	M( 0x5e9,  0x5ea,  0,  0, 16, 16,  22, 0),
+	M( 0x5eb,  0x5ec,  0,  0, 16, 16,  22, 0),
+	M( 0x5ed,  0x5ee,  0,  0, 16, 16,  22, 0),
+	M( 0x5ed,  0x5ee,  0,  0, 16, 16,  22, 0),
+	M( 0x5ef,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x5f0,  0x5f1,  0,  0, 16, 16,  22, 0),
+	M( 0x5f2,  0x5f3,  0,  0, 16, 16,  22, 0),
+	M( 0x5f2,  0x5f3,  0,  0, 16, 16,  22, 0),
+	M( 0x5ef,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x5f0,  0x5f1,  0,  0, 16, 16,  22, 0),
+	M( 0x5f2,  0x5f3,  0,  0, 16, 16,  22, 0),
+	M( 0x5f2,  0x5f3,  0,  0, 16, 16,  22, 0),
+	M( 0x5f4,  0x5f5,  0,  0, 16, 16,  22, 0),
+	M( 0x5f6,  0x5f7,  0,  0, 16, 16,  22, 0),
+	M( 0x5f8,  0x5f9,  0,  0, 16, 16,  22, 0),
+	M( 0x5f8,  0x5f9,  0,  0, 16, 16,  22, 0),
+	M( 0x5f4,  0x5f5,  0,  0, 16, 16,  22, 0),
+	M( 0x5f6,  0x5f7,  0,  0, 16, 16,  22, 0),
+	M( 0x5f8,  0x5f9,  0,  0, 16, 16,  22, 0),
+	M( 0x5f8,  0x5f9,  0,  0, 16, 16,  22, 0),
+	M( 0x5fa,  0x5fb,  0,  0, 16, 16,  85, 0),
+	M( 0x5fc,  0x5fd,  0,  0, 16, 16,  85, 0),
+	M( 0x5fe,  0x5ff,  0,  0, 16, 16,  85, 0),
+	M( 0x5fe,  0x5ff,  0,  0, 16, 16,  85, 0),
+	M( 0x5fa,  0x5fb,  0,  0, 16, 16,  85, 0),
+	M( 0x5fc,  0x5fd,  0,  0, 16, 16,  85, 0),
+	M( 0x5fe,  0x5ff,  0,  0, 16, 16,  85, 0),
+	M( 0x5fe,  0x5ff,  0,  0, 16, 16,  85, 0),
+	M( 0x60a,  0x60b,  0,  0, 16, 16,  95, 0),
+	M( 0x60c,  0x60d,  0,  0, 16, 16,  95, 0),
+	M( 0x60e,  0x60f,  0,  0, 16, 16,  95, 0),
+	M( 0x60e,  0x60f,  0,  0, 16, 16,  95, 0),
+	M( 0x60a,  0x60b,  0,  0, 16, 16,  95, 0),
+	M( 0x60c,  0x60d,  0,  0, 16, 16,  95, 0),
+	M( 0x60e,  0x60f,  0,  0, 16, 16,  95, 0),
+	M( 0x60e,  0x60f,  0,  0, 16, 16,  95, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x600,  0x601,  0,  0, 16, 16,  55, 0),
+	M( 0x600,  0x601,  0,  0, 16, 16,  55, 0),
+	M( 0x600,  0x601,  0,  0, 16, 16,  55, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x600 | PALETTE_31D,  0x601 | PALETTE_31D,  0,  0, 16, 16,  55, 0),
+	M( 0x600 | PALETTE_31D,  0x601 | PALETTE_31D,  0,  0, 16, 16,  55, 0),
+	M( 0x600 | PALETTE_31D,  0x601 | PALETTE_31D,  0,  0, 16, 16,  55, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x602,  0x603,  0,  0, 16, 16,  42, 0),
+	M( 0x602,  0x603,  0,  0, 16, 16,  42, 0),
+	M( 0x602,  0x603,  0,  0, 16, 16,  42, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x602 | PALETTE_TO_STRUCT_CONCRETE,  0x603 | PALETTE_TO_STRUCT_CONCRETE,  0,  0, 16, 16,  42, 0),
+	M( 0x602 | PALETTE_TO_STRUCT_CONCRETE,  0x603 | PALETTE_TO_STRUCT_CONCRETE,  0,  0, 16, 16,  42, 0),
+	M( 0x602 | PALETTE_TO_STRUCT_CONCRETE,  0x603 | PALETTE_TO_STRUCT_CONCRETE,  0,  0, 16, 16,  42, 0),
+	M( 0x604,  0x605,  0,  0, 16, 16,  88, 0),
+	M( 0x606,  0x607,  0,  0, 16, 16,  88, 0),
+	M( 0x608,  0x609,  0,  0, 16, 16,  88, 0),
+	M( 0x608,  0x609,  0,  0, 16, 16,  88, 0),
+	M( 0x604,  0x605,  0,  0, 16, 16,  88, 0),
+	M( 0x606,  0x607,  0,  0, 16, 16,  88, 0),
+	M( 0x608,  0x609,  0,  0, 16, 16,  88, 0),
+	M( 0x608,  0x609,  0,  0, 16, 16,  88, 0),
+	M( 0x604,  0x605,  0,  0, 16, 16,  88, 0),
+	M( 0x606,  0x607,  0,  0, 16, 16,  88, 0),
+	M( 0x608,  0x609,  0,  0, 16, 16,  88, 0),
+	M( 0x608,  0x609,  0,  0, 16, 16,  88, 0),
+	M( 0x604,  0x605,  0,  0, 16, 16,  88, 0),
+	M( 0x606,  0x607,  0,  0, 16, 16,  88, 0),
+	M( 0x608,  0x609,  0,  0, 16, 16,  88, 0),
+	M( 0x608,  0x609,  0,  0, 16, 16,  88, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x610,  0x611,  0,  0, 16, 16,  40, 0),
+	M( 0x610,  0x611,  0,  0, 16, 16,  40, 0),
+	M( 0x610,  0x611,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x610,  0x611,  0,  0, 16, 16,  40, 0),
+	M( 0x610,  0x611,  0,  0, 16, 16,  40, 0),
+	M( 0x610,  0x611,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x610,  0x611,  0,  0, 16, 16,  40, 0),
+	M( 0x610,  0x611,  0,  0, 16, 16,  40, 0),
+	M( 0x610,  0x611,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x610,  0x611,  0,  0, 16, 16,  40, 0),
+	M( 0x610,  0x611,  0,  0, 16, 16,  40, 0),
+	M( 0x610,  0x611,  0,  0, 16, 16,  40, 0),
+	M( 0x612,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x612,  0x616,  0,  0, 16, 16,  20, 0),
+	M( 0x612,  0x616,  0,  0, 16, 16,  20, 0),
+	M( 0x612,  0x616,  0,  0, 16, 16,  20, 0),
+	M( 0x612,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x612,  0x616,  0,  0, 16, 16,  20, 0),
+	M( 0x612,  0x616,  0,  0, 16, 16,  20, 0),
+	M( 0x612,  0x616,  0,  0, 16, 16,  20, 0),
+	M( 0x612,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x612,  0x616,  0,  0, 16, 16,  20, 0),
+	M( 0x612,  0x616,  0,  0, 16, 16,  20, 0),
+	M( 0x612,  0x616,  0,  0, 16, 16,  20, 0),
+	M( 0x612,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x612,  0x616,  0,  0, 16, 16,  20, 0),
+	M( 0x612,  0x616,  0,  0, 16, 16,  20, 0),
+	M( 0x612,  0x616,  0,  0, 16, 16,  20, 0),
+	M( 0x613,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x613,  0x617,  0,  0, 16, 16,  20, 0),
+	M( 0x613,  0x617,  0,  0, 16, 16,  20, 0),
+	M( 0x613,  0x617,  0,  0, 16, 16,  20, 0),
+	M( 0x613,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x613,  0x617,  0,  0, 16, 16,  20, 0),
+	M( 0x613,  0x617,  0,  0, 16, 16,  20, 0),
+	M( 0x613,  0x617,  0,  0, 16, 16,  20, 0),
+	M( 0x613,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x613,  0x617,  0,  0, 16, 16,  20, 0),
+	M( 0x613,  0x617,  0,  0, 16, 16,  20, 0),
+	M( 0x613,  0x617,  0,  0, 16, 16,  20, 0),
+	M( 0x613,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x613,  0x617,  0,  0, 16, 16,  20, 0),
+	M( 0x613,  0x617,  0,  0, 16, 16,  20, 0),
+	M( 0x613,  0x617,  0,  0, 16, 16,  20, 0),
+	M( 0x614,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x614,  0x618,  0,  0, 16, 16,  20, 0),
+	M( 0x614,  0x618,  0,  0, 16, 16,  20, 0),
+	M( 0x614,  0x618,  0,  0, 16, 16,  20, 0),
+	M( 0x614,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x614,  0x618,  0,  0, 16, 16,  20, 0),
+	M( 0x614,  0x618,  0,  0, 16, 16,  20, 0),
+	M( 0x614,  0x618,  0,  0, 16, 16,  20, 0),
+	M( 0x614,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x614,  0x618,  0,  0, 16, 16,  20, 0),
+	M( 0x614,  0x618,  0,  0, 16, 16,  20, 0),
+	M( 0x614,  0x618,  0,  0, 16, 16,  20, 0),
+	M( 0x614,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x614,  0x618,  0,  0, 16, 16,  20, 0),
+	M( 0x614,  0x618,  0,  0, 16, 16,  20, 0),
+	M( 0x614,  0x618,  0,  0, 16, 16,  20, 0),
+	M( 0x615,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x615,  0x619,  0,  0, 16, 16,  20, 0),
+	M( 0x615,  0x619,  0,  0, 16, 16,  20, 0),
+	M( 0x615,  0x619,  0,  0, 16, 16,  20, 0),
+	M( 0x615,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x615,  0x619,  0,  0, 16, 16,  20, 0),
+	M( 0x615,  0x619,  0,  0, 16, 16,  20, 0),
+	M( 0x615,  0x619,  0,  0, 16, 16,  20, 0),
+	M( 0x615,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x615,  0x619,  0,  0, 16, 16,  20, 0),
+	M( 0x615,  0x619,  0,  0, 16, 16,  20, 0),
+	M( 0x615,  0x619,  0,  0, 16, 16,  20, 0),
+	M( 0x615,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0x615,  0x619,  0,  0, 16, 16,  20, 0),
+	M( 0x615,  0x619,  0,  0, 16, 16,  20, 0),
+	M( 0x615,  0x619,  0,  0, 16, 16,  20, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x61a,  0x61b,  0,  0, 16, 16, 100, 0),
+	M( 0x61a,  0x61b,  0,  0, 16, 16, 100, 0),
+	M( 0x61c,  0x61d,  0,  0, 16, 16, 100, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x61a,  0x61b,  0,  0, 16, 16, 100, 0),
+	M( 0x61a,  0x61b,  0,  0, 16, 16, 100, 0),
+	M( 0x61c,  0x61d,  0,  0, 16, 16, 100, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x61a,  0x61b,  0,  0, 16, 16, 100, 0),
+	M( 0x61a,  0x61b,  0,  0, 16, 16, 100, 0),
+	M( 0x61c,  0x61d,  0,  0, 16, 16, 100, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x61a,  0x61b,  0,  0, 16, 16, 100, 0),
+	M( 0x61a,  0x61b,  0,  0, 16, 16, 100, 0),
+	M( 0x61c,  0x61d,  0,  0, 16, 16, 100, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x61e,  0x61f,  0,  0, 16, 16,  25, 0),
+	M( 0x61e,  0x61f,  0,  0, 16, 16,  25, 0),
+	M( 0x61e,  0x61f,  0,  0, 16, 16,  25, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x61e | PALETTE_31D,  0x61f | PALETTE_31D,  0,  0, 16, 16,  25, 0),
+	M( 0x61e | PALETTE_31D,  0x61f | PALETTE_31D,  0,  0, 16, 16,  25, 0),
+	M( 0x61e | PALETTE_31D,  0x61f | PALETTE_31D,  0,  0, 16, 16,  25, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x620,  0x621,  0,  0, 16, 16,  25, 0),
+	M( 0x620,  0x621,  0,  0, 16, 16,  25, 0),
+	M( 0x620,  0x621,  0,  0, 16, 16,  25, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x620 | PALETTE_TO_CREAM,  0x621 | PALETTE_TO_CREAM,  0,  0, 16, 16,  25, 0),
+	M( 0x620 | PALETTE_TO_CREAM,  0x621 | PALETTE_TO_CREAM,  0,  0, 16, 16,  25, 0),
+	M( 0x620 | PALETTE_TO_CREAM,  0x621 | PALETTE_TO_CREAM,  0,  0, 16, 16,  25, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M(0x11da, 0x11db,  0,  0, 16, 16,  25, 0),
+	M(0x11da, 0x11db,  0,  0, 16, 16,  25, 0),
+	M(0x11da, 0x11db,  0,  0, 16, 16,  25, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x11da | PALETTE_31D,  0x11db | PALETTE_31D,  0,  0, 16, 16,  25, 0),
+	M( 0x11da | PALETTE_31D,  0x11db | PALETTE_31D,  0,  0, 16, 16,  25, 0),
+	M( 0x11da | PALETTE_31D,  0x11db | PALETTE_31D,  0,  0, 16, 16,  25, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M(0x11dc, 0x11dd,  0,  0, 16, 16,  25, 0),
+	M(0x11dc, 0x11dd,  0,  0, 16, 16,  25, 0),
+	M(0x11dc, 0x11dd,  0,  0, 16, 16,  25, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M( 0x11dc | PALETTE_TO_CREAM,  0x11dd | PALETTE_TO_CREAM,  0,  0, 16, 16,  25, 0),
+	M( 0x11dc | PALETTE_TO_CREAM,  0x11dd | PALETTE_TO_CREAM,  0,  0, 16, 16,  25, 0),
+	M( 0x11dc | PALETTE_TO_CREAM,  0x11dd | PALETTE_TO_CREAM,  0,  0, 16, 16,  25, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M(0x1134, 0x1135,  0,  0, 16, 16,  40, 0),
+	M(0x1134, 0x1135,  0,  0, 16, 16,  40, 0),
+	M(0x1134, 0x1135,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M(0x1134, 0x1135,  0,  0, 16, 16,  40, 0),
+	M(0x1134, 0x1135,  0,  0, 16, 16,  40, 0),
+	M(0x1134, 0x1135,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M(0x1134, 0x1135,  0,  0, 16, 16,  40, 0),
+	M(0x1134, 0x1135,  0,  0, 16, 16,  40, 0),
+	M(0x1134, 0x1135,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  22, 0),
+	M(0x1134, 0x1135,  0,  0, 16, 16,  40, 0),
+	M(0x1134, 0x1135,  0,  0, 16, 16,  40, 0),
+	M(0x1134, 0x1135,  0,  0, 16, 16,  40, 0),
+	M(0x1136, 0x1137,  0,  0, 16, 16,  20, 0),
+	M(0x1136, 0x1137,  0,  0, 16, 16,  20, 0),
+	M(0x113b, 0x113c,  0,  0, 16, 16,  20, 0),
+	M(0x113b, 0x113c,  0,  0, 16, 16,  20, 0),
+	M(0x1136, 0x1137,  0,  0, 16, 16,  20, 0),
+	M(0x1136, 0x1137,  0,  0, 16, 16,  20, 0),
+	M(0x113b, 0x113c,  0,  0, 16, 16,  20, 0),
+	M(0x113b, 0x113c,  0,  0, 16, 16,  20, 0),
+	M(0x1136, 0x1137,  0,  0, 16, 16,  20, 0),
+	M(0x1136, 0x1137,  0,  0, 16, 16,  20, 0),
+	M(0x113b, 0x113c,  0,  0, 16, 16,  20, 0),
+	M(0x113b, 0x113c,  0,  0, 16, 16,  20, 0),
+	M(0x1136, 0x1137,  0,  0, 16, 16,  20, 0),
+	M(0x1136, 0x1137,  0,  0, 16, 16,  20, 0),
+	M(0x113b, 0x113c,  0,  0, 16, 16,  20, 0),
+	M(0x113b, 0x113c,  0,  0, 16, 16,  20, 0),
+	M(0x1138,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1138,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113d, 0x113e,  0,  0, 16, 16,  20, 0),
+	M(0x113d, 0x113e,  0,  0, 16, 16,  20, 0),
+	M(0x1138,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1138,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113d, 0x113e,  0,  0, 16, 16,  20, 0),
+	M(0x113d, 0x113e,  0,  0, 16, 16,  20, 0),
+	M(0x1138,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1138,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113d, 0x113e,  0,  0, 16, 16,  20, 0),
+	M(0x113d, 0x113e,  0,  0, 16, 16,  20, 0),
+	M(0x1138,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1138,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113d, 0x113e,  0,  0, 16, 16,  20, 0),
+	M(0x113d, 0x113e,  0,  0, 16, 16,  20, 0),
+	M(0x1139,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1139,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113f, 0x1140,  0,  0, 16, 16,  20, 0),
+	M(0x113f, 0x1140,  0,  0, 16, 16,  20, 0),
+	M(0x1139,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1139,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113f, 0x1140,  0,  0, 16, 16,  20, 0),
+	M(0x113f, 0x1140,  0,  0, 16, 16,  20, 0),
+	M(0x1139,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1139,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113f, 0x1140,  0,  0, 16, 16,  20, 0),
+	M(0x113f, 0x1140,  0,  0, 16, 16,  20, 0),
+	M(0x1139,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1139,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113f, 0x1140,  0,  0, 16, 16,  20, 0),
+	M(0x113f, 0x1140,  0,  0, 16, 16,  20, 0),
+	M(0x113a,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113a,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1141,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1141,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113a,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113a,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1141,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1141,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113a,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113a,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1141,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1141,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113a,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x113a,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1141,    0x0,  0,  0, 16, 16,  20, 0),
+	M(0x1141,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1144,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1145,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1146,  0,  0, 16, 16,  40, 0),
+	M(0x1142, 0x1146,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1144,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1145,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1146,  0,  0, 16, 16,  40, 0),
+	M(0x1142, 0x1146,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1144,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1145,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1146,  0,  0, 16, 16,  40, 0),
+	M(0x1142, 0x1146,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1144,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1145,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1146,  0,  0, 16, 16,  40, 0),
+	M(0x1142, 0x1146,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1144,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1145,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1146,  0,  0, 16, 16,  40, 0),
+	M(0x1143, 0x1147,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1144,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1145,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1146,  0,  0, 16, 16,  40, 0),
+	M(0x1143, 0x1147,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1144,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1145,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1146,  0,  0, 16, 16,  40, 0),
+	M(0x1143, 0x1147,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1144,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1145,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1146,  0,  0, 16, 16,  40, 0),
+	M(0x1143, 0x1147,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1148,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1149,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x114a,  0,  0, 16, 16,  40, 0),
+	M(0x1142, 0x114a,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1148,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1149,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x114a,  0,  0, 16, 16,  40, 0),
+	M(0x1142, 0x114a,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1148,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1149,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x114a,  0,  0, 16, 16,  40, 0),
+	M(0x1142, 0x114a,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1148,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1149,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x114a,  0,  0, 16, 16,  40, 0),
+	M(0x1142, 0x114a,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1148,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1149,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x114a,  0,  0, 16, 16,  40, 0),
+	M(0x1143, 0x114b,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1148,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1149,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x114a,  0,  0, 16, 16,  40, 0),
+	M(0x1143, 0x114b,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1148,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1149,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x114a,  0,  0, 16, 16,  40, 0),
+	M(0x1143, 0x114b,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1148,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1149,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x114a,  0,  0, 16, 16,  40, 0),
+	M(0x1143, 0x114b,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x114e,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x114f,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1150,  0,  0, 16, 16,  40, 0),
+	M(0x114c, 0x1150,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x114e | PALETTE_TO_PINK,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x114f | PALETTE_TO_PINK,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1150 | PALETTE_TO_PINK,  0,  0, 16, 16,  40, 0),
+	M(0x114c,  0x1150 | PALETTE_TO_PINK,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x114e | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x114f | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1150 | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M(0x114c,  0x1150 | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x114e | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x114f | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1150 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  40, 0),
+	M(0x114c,  0x1150 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x114e,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x114f,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1150,  0,  0, 16, 16,  40, 0),
+	M(0x114d, 0x1151,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x114e | PALETTE_TO_PINK,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x114f | PALETTE_TO_PINK,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1150 | PALETTE_TO_PINK,  0,  0, 16, 16,  40, 0),
+	M(0x114d,  0x1151 | PALETTE_TO_PINK,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x114e | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x114f | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1150 | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M(0x114d,  0x1151 | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x114e | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x114f | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1150 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  40, 0),
+	M(0x114d,  0x1151 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1153,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1154,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1155,  0,  0, 16, 16,  60, 0),
+	M(0x1152, 0x1155,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1153 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1154 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1155 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M(0x1152,  0x1155 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1153 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1154 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1155 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M(0x1152,  0x1155 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1153 | PALETTE_TO_GREY,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1154 | PALETTE_TO_GREY,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1155 | PALETTE_TO_GREY,  0,  0, 16, 16,  60, 0),
+	M(0x1152,  0x1155 | PALETTE_TO_GREY,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1153,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1154,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11de,  0,  0, 16, 16,  60, 0),
+	M(0x1152, 0x11de,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1153 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1154 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x11de | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M(0x1152,  0x11de | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1153 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1154 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x11de | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M(0x1152,  0x11de | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1153 | PALETTE_TO_GREY,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1154 | PALETTE_TO_GREY,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x11de | PALETTE_TO_GREY,  0,  0, 16, 16,  60, 0),
+	M(0x1152,  0x11de | PALETTE_TO_GREY,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1157,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1158,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1159,  0,  0, 16, 16,  60, 0),
+	M(0x1156, 0x1159,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1157 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1158 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1159 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M(0x1156,  0x1159 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1157 | PALETTE_TO_CREAM,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1158 | PALETTE_TO_CREAM,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1159 | PALETTE_TO_CREAM,  0,  0, 16, 16,  60, 0),
+	M(0x1156,  0x1159 | PALETTE_TO_CREAM,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1157 | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1158 | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1159 | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M(0x1156,  0x1159 | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1157,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1158,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11df,  0,  0, 16, 16,  60, 0),
+	M(0x1156, 0x11df,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1157 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1158 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x11df | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M(0x1156,  0x11df | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1157 | PALETTE_TO_CREAM,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1158 | PALETTE_TO_CREAM,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x11df | PALETTE_TO_CREAM,  0,  0, 16, 16,  60, 0),
+	M(0x1156,  0x11df | PALETTE_TO_CREAM,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1157 | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1158 | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x11df | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M(0x1156,  0x11df | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x115b,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x115c,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x115d,  0,  0, 16, 16,  60, 0),
+	M(0x115a, 0x115d,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115b | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115c | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115d | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M(0x115a,  0x115d | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115b | PALETTE_TO_ORANGE,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115c | PALETTE_TO_ORANGE,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115d | PALETTE_TO_ORANGE,  0,  0, 16, 16,  60, 0),
+	M(0x115a,  0x115d | PALETTE_TO_ORANGE,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115b | PALETTE_TO_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115c | PALETTE_TO_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115d | PALETTE_TO_BROWN,  0,  0, 16, 16,  60, 0),
+	M(0x115a,  0x115d | PALETTE_TO_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x115b,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x115c,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11e0,  0,  0, 16, 16,  60, 0),
+	M(0x115a, 0x11e0,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115b | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115c | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x11e0 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M(0x115a,  0x11e0 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115b | PALETTE_TO_ORANGE,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115c | PALETTE_TO_ORANGE,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x11e0 | PALETTE_TO_ORANGE,  0,  0, 16, 16,  60, 0),
+	M(0x115a,  0x11e0 | PALETTE_TO_ORANGE,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115b | PALETTE_TO_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x115c | PALETTE_TO_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x11e0 | PALETTE_TO_BROWN,  0,  0, 16, 16,  60, 0),
+	M(0x115a,  0x11e0 | PALETTE_TO_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1160,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1161,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1162,  0,  0, 16, 16,  20, 0),
+	M(0x115e, 0x1162,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1160,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1161,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1162,  0,  0, 16, 16,  20, 0),
+	M(0x115e, 0x1162,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1166,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1167,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1168,  0,  0, 16, 16,  20, 0),
+	M(0x1164, 0x1168,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1166,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1167,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1168,  0,  0, 16, 16,  20, 0),
+	M(0x1164, 0x1168,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1160,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1161,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1162,  0,  0, 16, 16,  20, 0),
+	M(0x115f, 0x1163,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1160,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1161,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1162,  0,  0, 16, 16,  20, 0),
+	M(0x115f, 0x1163,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1166,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1167,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1168,  0,  0, 16, 16,  20, 0),
+	M(0x1165, 0x1169,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1166,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1167,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x1168,  0,  0, 16, 16,  20, 0),
+	M(0x1165, 0x1169,  0,  0, 16, 16,  20, 0),
+	M(0x116b,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x116c,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x116d,  0,  0, 16, 16,  40, 0),
+	M(0x116a, 0x116d,  0,  0, 16, 16,  40, 0),
+	M(0x116b,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x116c,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x116d,  0,  0, 16, 16,  40, 0),
+	M(0x116a, 0x116d,  0,  0, 16, 16,  40, 0),
+	M(0x116b,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x116c,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x116d,  0,  0, 16, 16,  40, 0),
+	M(0x116a, 0x116d,  0,  0, 16, 16,  40, 0),
+	M(0x116b,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x116c,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x116d,  0,  0, 16, 16,  40, 0),
+	M(0x116a, 0x116d,  0,  0, 16, 16,  40, 0),
+	M(0x116b,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x116c,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e2,  0,  0, 16, 16,  40, 0),
+	M(0x116a, 0x11e2,  0,  0, 16, 16,  40, 0),
+	M(0x116b,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x116c,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e2,  0,  0, 16, 16,  40, 0),
+	M(0x116a, 0x11e2,  0,  0, 16, 16,  40, 0),
+	M(0x116b,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x116c,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e2,  0,  0, 16, 16,  40, 0),
+	M(0x116a, 0x11e2,  0,  0, 16, 16,  40, 0),
+	M(0x116b,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x116c,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e2,  0,  0, 16, 16,  40, 0),
+	M(0x116a, 0x11e2,  0,  0, 16, 16,  40, 0),
+	M(0x116f,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1170,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1171,  0,  0, 16, 16,  40, 0),
+	M(0x116e, 0x1171,  0,  0, 16, 16,  40, 0),
+	M(0x116f,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1170,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1171,  0,  0, 16, 16,  40, 0),
+	M(0x116e, 0x1171,  0,  0, 16, 16,  40, 0),
+	M(0x116f,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1170,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1171,  0,  0, 16, 16,  40, 0),
+	M(0x116e, 0x1171,  0,  0, 16, 16,  40, 0),
+	M(0x116f,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1170,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1171,  0,  0, 16, 16,  40, 0),
+	M(0x116e, 0x1171,  0,  0, 16, 16,  40, 0),
+	M(0x116f,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1170,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e3,  0,  0, 16, 16,  40, 0),
+	M(0x116e, 0x11e3,  0,  0, 16, 16,  40, 0),
+	M(0x116f,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1170,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e3,  0,  0, 16, 16,  40, 0),
+	M(0x116e, 0x11e3,  0,  0, 16, 16,  40, 0),
+	M(0x116f,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1170,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e3,  0,  0, 16, 16,  40, 0),
+	M(0x116e, 0x11e3,  0,  0, 16, 16,  40, 0),
+	M(0x116f,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1170,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e3,  0,  0, 16, 16,  40, 0),
+	M(0x116e, 0x11e3,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1173,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1174,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1175,  0,  0, 16, 16,  40, 0),
+	M(0x1172, 0x1175,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1173 | PALETTE_TO_BROWN,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1174 | PALETTE_TO_BROWN,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1175 | PALETTE_TO_BROWN,  0,  0, 16, 16,  40, 0),
+	M(0x1172,  0x1175 | PALETTE_TO_BROWN,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1173 | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1174 | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1175 | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M(0x1172,  0x1175 | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1173 | PALETTE_TO_GREY,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1174 | PALETTE_TO_GREY,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1175 | PALETTE_TO_GREY,  0,  0, 16, 16,  40, 0),
+	M(0x1172,  0x1175 | PALETTE_TO_GREY,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1173,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1174,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1175,  0,  0, 16, 16,  40, 0),
+	M(0x11e4, 0x11e5,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1173 | PALETTE_TO_BROWN,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1174 | PALETTE_TO_BROWN,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1175 | PALETTE_TO_BROWN,  0,  0, 16, 16,  40, 0),
+	M(0x11e4,  0x11e5 | PALETTE_TO_BROWN,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1173 | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1174 | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1175 | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M(0x11e4,  0x11e5 | PALETTE_TO_CREAM,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1173 | PALETTE_TO_GREY,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1174 | PALETTE_TO_GREY,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1175 | PALETTE_TO_GREY,  0,  0, 16, 16,  40, 0),
+	M(0x11e4,  0x11e5 | PALETTE_TO_GREY,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1176,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1176,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1176,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1176,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1176,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1176,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1176 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1176 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1176 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x1176 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1176 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1176 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e6,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11e6,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11e6,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e6,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11e6,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11e6,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x11e6 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x11e6 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x11e6 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,  0x11e6 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x11e6 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x11e6 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  60, 0),
+	M(0x1177,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1179,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117b,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117b,  0,  0, 16, 16,  40, 0),
+	M(0x1177,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1179,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117b,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117b,  0,  0, 16, 16,  40, 0),
+	M(0x1177,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1179,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117b,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117b,  0,  0, 16, 16,  40, 0),
+	M(0x1177,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1179,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117b,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117b,  0,  0, 16, 16,  40, 0),
+	M(0x1178,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117a,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117c,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117c,  0,  0, 16, 16,  40, 0),
+	M(0x1178,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117a,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117c,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117c,  0,  0, 16, 16,  40, 0),
+	M(0x1178,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117a,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117c,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117c,  0,  0, 16, 16,  40, 0),
+	M(0x1178,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117a,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117c,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117c,  0,  0, 16, 16,  40, 0),
+	M(0x1177,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1179,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e7,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e7,  0,  0, 16, 16,  40, 0),
+	M(0x1177,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1179,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e7,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e7,  0,  0, 16, 16,  40, 0),
+	M(0x1177,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1179,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e7,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e7,  0,  0, 16, 16,  40, 0),
+	M(0x1177,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1179,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e7,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e7,  0,  0, 16, 16,  40, 0),
+	M(0x1178,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117a,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e8,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e8,  0,  0, 16, 16,  40, 0),
+	M(0x1178,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117a,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e8,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e8,  0,  0, 16, 16,  40, 0),
+	M(0x1178,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117a,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e8,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e8,  0,  0, 16, 16,  40, 0),
+	M(0x1178,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117a,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e8,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11e8,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x117d,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x117e,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x117f,  0,  0, 16, 16,  50, 0),
+	M( 0x58c, 0x117f,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x117d,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x117e,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x117f,  0,  0, 16, 16,  50, 0),
+	M( 0x58c, 0x117f,  0,  0, 16, 16,  50, 0),
+	M( 0xf54,  0x117d | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  50, 0),
+	M( 0xf54,  0x117e | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  50, 0),
+	M( 0xf54,  0x117f | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  50, 0),
+	M( 0x58c,  0x117f | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  50, 0),
+	M( 0xf54,  0x117d | PALETTE_31D,  0,  0, 16, 16,  50, 0),
+	M( 0xf54,  0x117e | PALETTE_31D,  0,  0, 16, 16,  50, 0),
+	M( 0xf54,  0x117f | PALETTE_31D,  0,  0, 16, 16,  50, 0),
+	M( 0x58c,  0x117f | PALETTE_31D,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x117d,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x117e,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x11e1,  0,  0, 16, 16,  50, 0),
+	M( 0x58c, 0x11e1,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x117d,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x117e,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x11e1,  0,  0, 16, 16,  50, 0),
+	M( 0x58c, 0x11e1,  0,  0, 16, 16,  50, 0),
+	M( 0xf54,  0x117d | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  50, 0),
+	M( 0xf54,  0x117e | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  50, 0),
+	M( 0xf54,  0x11e1 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  50, 0),
+	M( 0x58c,  0x11e3 | PALETTE_TO_STRUCT_BROWN,  0,  0, 16, 16,  50, 0),
+	M( 0xf54,  0x117d | PALETTE_31D,  0,  0, 16, 16,  50, 0),
+	M( 0xf54,  0x117e | PALETTE_31D,  0,  0, 16, 16,  50, 0),
+	M( 0xf54,  0x11e1 | PALETTE_31D,  0,  0, 16, 16,  50, 0),
+	M( 0x58c,  0x11e1 | PALETTE_31D,  0,  0, 16, 16,  50, 0),
+	M(0x1180, 0x1181,  0,  0, 16, 16,  10, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x1184 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M(0x1180, 0x1181,  0,  0, 16, 16,  10, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_ORANGE,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_ORANGE,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x1184 | PALETTE_TO_ORANGE,  0,  0, 16, 16,  60, 0),
+	M(0x1180, 0x1181,  0,  0, 16, 16,  10, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_BROWN,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_BROWN,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x1184 | PALETTE_TO_BROWN,  0,  0, 16, 16,  60, 0),
+	M(0x1180, 0x1181,  0,  0, 16, 16,  10, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_GREY,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_GREY,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x1184 | PALETTE_TO_GREY,  0,  0, 16, 16,  60, 0),
+	M(0x1180, 0x1181,  0,  0, 16, 16,  10, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x11e9 | PALETTE_TO_DARK_GREEN,  0,  0, 16, 16,  60, 0),
+	M(0x1180, 0x1181,  0,  0, 16, 16,  10, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_ORANGE,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_ORANGE,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x11e9 | PALETTE_TO_ORANGE,  0,  0, 16, 16,  60, 0),
+	M(0x1180, 0x1181,  0,  0, 16, 16,  10, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_BROWN,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_BROWN,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x11e9 | PALETTE_TO_BROWN,  0,  0, 16, 16,  60, 0),
+	M(0x1180, 0x1181,  0,  0, 16, 16,  10, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_GREY,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x1182 | PALETTE_TO_GREY,  0,  0, 16, 16,  60, 0),
+	M(0x1183,  0x11e9 | PALETTE_TO_GREY,  0,  0, 16, 16,  60, 0),
+	M(0x1185, 0x1187,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x118b,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1187,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x118b,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1187,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x118b,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1187,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x118b,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x1188,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118c,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x1188,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118c,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x1188,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118c,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x1188,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118c,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1187,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x11ea,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1187,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x11ea,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1187,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x11ea,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1187,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x1189,  0,  0, 16, 16,  10, 0),
+	M(0x1185, 0x11ea,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x1188,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x11eb,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x1188,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x11eb,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x1188,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x11eb,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x1188,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x118a,  0,  0, 16, 16,  10, 0),
+	M(0x1186, 0x11eb,  0,  0, 16, 16,  10, 0),
+	M( 0xf54, 0x11ec,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ed,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ed,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ee,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ec,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ed,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ed,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ee,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ec,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ed,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ed,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ee,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ec,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ed,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ed,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ee,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ef,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f1,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ef,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f1,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ef,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f1,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ef,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f1,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f2,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f3,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f3,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f4,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f2,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f3,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f3,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f4,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f2,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f3,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f3,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f4,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f2,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f3,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f3,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11f4,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x11f5,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x11f5,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x11f5,  0,  0, 16, 16,  20, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x11f6,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x11f6,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x11f6,  0,  0, 16, 16,  20, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x11f7,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x11f7,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x11f7,  0,  0, 16, 16,  20, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x11f8,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x11f8,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x11f8,  0,  0, 16, 16,  20, 0),
+	M( 0xf54, 0x11f9,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11fa,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11fa,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11fb,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11f9,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11fa,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11fa,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11fb,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11f9,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11fa,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11fa,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11fb,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11f9,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11fa,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11fa,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x11fb,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fc,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fc,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fc,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fc,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fc,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fc,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fc,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fc,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fc,  0,  0, 16, 16,  40, 0),
+	M( 0xf54,    0x0,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fc,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fc,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fc,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fd,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fe,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fe,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ff,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fd,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fe,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fe,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ff,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fd,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fe,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fe,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ff,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fd,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fe,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11fe,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x11ff,  0,  0, 16, 16,  40, 0),
+	M( 0xf54, 0x1200,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1201,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1201,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1202,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1200 | PALETTE_TO_PINK,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1201 | PALETTE_TO_PINK,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1201 | PALETTE_TO_PINK,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1202 | PALETTE_TO_PINK,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1200 | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1201 | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1201 | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1202 | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1200 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1201 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1201 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1202 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1203,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1204,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1204,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1205,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1203 | PALETTE_TO_PINK,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1204 | PALETTE_TO_PINK,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1204 | PALETTE_TO_PINK,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1205 | PALETTE_TO_PINK,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1203 | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1204 | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1204 | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1205 | PALETTE_TO_YELLOW,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1203 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1204 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1204 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54,  0x1205 | PALETTE_TO_RED,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x1206,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1208,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1208,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x120a,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1206,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1208,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1208,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x120a,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1206,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1208,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1208,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x120a,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1206,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1208,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1208,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x120a,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1207,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1209,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1209,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x120b,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1207,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1209,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1209,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x120b,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1207,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1209,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1209,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x120b,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1207,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1209,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x1209,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x120b,  0,  0, 16, 16,  80, 0),
+	M( 0xf54, 0x120c,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120d,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120d,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120e,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120c,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120d,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120d,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120e,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120c,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120d,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120d,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120e,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120c,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120d,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120d,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120e,  0,  0, 16, 16,  60, 0),
+	M( 0xf54, 0x120f,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x1210,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x1210,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x1211,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x120f,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x1210,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x1210,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x1211,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x120f,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x1210,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x1210,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x1211,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x120f,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x1210,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x1210,  0,  0, 16, 16,  50, 0),
+	M( 0xf54, 0x1211,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1213,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1214,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1214,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1215,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1213 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1214 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1214 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1215 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1213 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1214 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1214 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1215 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1213 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1214 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1214 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1215 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1216,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1217,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1217,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1218,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1216,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1217,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1217,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1218,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1216,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1217,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1217,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1218,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1216,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1217,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1217,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1218,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1219,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x121a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x121a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x121b,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1219,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x121a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x121a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x121b,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1219,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x121a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x121a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x121b,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1219,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x121a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x121a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x121b,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121c,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121d,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121d,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121e,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121c,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121d,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121d,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121e,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121c,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121d,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121d,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121e,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121c,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121d,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121d,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x121e,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x121f,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1220,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1220,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1221,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x121f | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1220 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1220 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1221 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x311921f,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x3119220,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x3119220,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x3119221,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x121f | PALETTE_TO_CREAM,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1220 | PALETTE_TO_CREAM,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1220 | PALETTE_TO_CREAM,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1221 | PALETTE_TO_CREAM,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1222,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1223,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1223,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1224,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1222 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1223 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1223 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1224 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1222 | PALETTE_TO_CREAM,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1223 | PALETTE_TO_CREAM,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1223 | PALETTE_TO_CREAM,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1224 | PALETTE_TO_CREAM,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1222 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1223 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1223 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1224 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1225,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1226,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1226,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1227,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1225 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1226 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1226 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1227 | PALETTE_TO_PINK,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1225 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1226 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1226 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1227 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1225 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1226 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1226 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1227 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1228,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1229,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1229,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122a,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1228,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1229,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1229,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122a,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1228,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1229,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1229,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122a,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1228,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1229,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1229,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122b,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122d,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122d,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122f,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122b,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122d,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122d,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122f,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122b,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122d,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122d,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122f,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122b,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122d,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122d,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x122f,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122c,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122e,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122e,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1230,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122c,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122e,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122e,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1230,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122c,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122e,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122e,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1230,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122c,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122e,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x122e,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1230,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1231,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1232,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1232,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1233,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1231,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1232,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1232,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1233,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1231,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1232,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1232,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1233,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1231,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1232,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1232,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1233,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1234,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1235,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1235,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1236,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1234,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1235,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1235,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1236,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1234,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1235,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1235,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1236,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1234,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1235,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1235,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1236,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1237,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1238,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1238,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1239,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1237,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1238,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1238,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1239,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1237,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1238,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1238,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1239,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1237,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1238,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1238,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x1239,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123a,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123b,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123b,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123c,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123a,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123b,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123b,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123c,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123a,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123b,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123b,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123c,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123a,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123b,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123b,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x123c,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123d,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123e,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123e,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123f,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123d,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123e,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123e,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123f,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123d,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123e,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123e,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123f,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123d,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123e,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123e,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x123f,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1240,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1241,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1241,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1242,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1240,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1241,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1241,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1242,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1240,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1241,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1241,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1242,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1240,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1241,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1241,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1242,  0,  0, 16, 16,  50, 0),
+	M(0x1243,    0x0,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1256,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1256,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1256,  0,  0, 16, 16,  50, 0),
+	M(0x1244,    0x0,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1256 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1256 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1256 | PALETTE_TO_PALE_GREEN,  0,  0, 16, 16,  50, 0),
+	M(0x1243,    0x0,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1256 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1256 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
+	M(0x1243,  0x1256 | PALETTE_TO_RED,  0,  0, 16, 16,  50, 0),
+	M(0x1244,    0x0,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1256 | PALETTE_TO_CREAM,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1256 | PALETTE_TO_CREAM,  0,  0, 16, 16,  50, 0),
+	M(0x1244,  0x1256 | PALETTE_TO_CREAM,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1257,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1258,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1258,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1259,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1257,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1258,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1258,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1259,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1257,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1258,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1258,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1259,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1257,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1258,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1258,  0,  0, 16, 16,  50, 0),
+	M(0x1243, 0x1259,  0,  0, 16, 16,  50, 0),
+	M(0x1244,    0x0,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x125a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x125a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x125a,  0,  0, 16, 16,  50, 0),
+	M(0x1244,    0x0,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x125a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x125a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x125a,  0,  0, 16, 16,  50, 0),
+	M(0x1244,    0x0,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x125a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x125a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x125a,  0,  0, 16, 16,  50, 0),
+	M(0x1244,    0x0,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x125a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x125a,  0,  0, 16, 16,  50, 0),
+	M(0x1244, 0x125a,  0,  0, 16, 16,  50, 0),
 };
 #undef M
 // 4 variants * 4 build stages
--- a/table/track_land.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/table/track_land.h	Sun Jul 24 15:56:31 2005 +0000
@@ -1,7 +1,7 @@
 /* $Id$ */
 
 typedef struct DrawTrackSeqStruct {
-	uint16 image;
+	SpriteID image;
 	byte subcoord_x;
 	byte subcoord_y;
 	byte width;
@@ -14,41 +14,41 @@
 
 static const DrawTrackSeqStruct _track_depot_layout_table_0[] = {
 	TILE_SEQ_BEGIN(0xF8D)
-	TILE_SEQ_LINE(0x842B, 2, 13, 13, 1)
+	TILE_SEQ_LINE(0x42B | PALETTE_MODIFIER_COLOR, 2, 13, 13, 1)
 	TILE_SEQ_END()
 };
 
 static const DrawTrackSeqStruct _track_depot_layout_table_1[] = {
-	TILE_SEQ_BEGIN(0x83F3)
-	TILE_SEQ_LINE(0x8427, 2, 2, 1, 13)
-	TILE_SEQ_LINE(0x8428, 13, 2, 1, 13)
+	TILE_SEQ_BEGIN(0x3F3 | PALETTE_MODIFIER_COLOR)
+	TILE_SEQ_LINE(0x427 | PALETTE_MODIFIER_COLOR, 2, 2, 1, 13)
+	TILE_SEQ_LINE(0x428 | PALETTE_MODIFIER_COLOR, 13, 2, 1, 13)
 	TILE_SEQ_END()
 };
 
 static const DrawTrackSeqStruct _track_depot_layout_table_2[] = {
-	TILE_SEQ_BEGIN(0x83F4)
-	TILE_SEQ_LINE(0x8429, 2, 2, 13, 1)
-	TILE_SEQ_LINE(0x842A, 2, 13, 13, 1)
+	TILE_SEQ_BEGIN(0x3F4 | PALETTE_MODIFIER_COLOR)
+	TILE_SEQ_LINE(0x429 | PALETTE_MODIFIER_COLOR, 2, 2, 13, 1)
+	TILE_SEQ_LINE(0x42A | PALETTE_MODIFIER_COLOR, 2, 13, 13, 1)
 	TILE_SEQ_END()
 };
 
 static const DrawTrackSeqStruct _track_depot_layout_table_3[] = {
 	TILE_SEQ_BEGIN(0xF8D)
-	TILE_SEQ_LINE(0x842C, 13, 2, 1, 13)
+	TILE_SEQ_LINE(0x42C | PALETTE_MODIFIER_COLOR, 13, 2, 1, 13)
 	TILE_SEQ_END()
 };
 
 static const DrawTrackSeqStruct _track_waypoint_table_0[] = {
-	TILE_SEQ_BEGIN(0x83F4)
-	TILE_SEQ_LINE(0x8000 + SPR_OPENTTD_BASE+18,  0,  0,  16,  5)
-	TILE_SEQ_LINE(0x8000 + SPR_OPENTTD_BASE+19,  0, 11,  16,  5)
+	TILE_SEQ_BEGIN(0x3F4 | PALETTE_MODIFIER_COLOR)
+	TILE_SEQ_LINE(PALETTE_MODIFIER_COLOR | (SPR_OPENTTD_BASE + 18),  0,  0,  16,  5)
+	TILE_SEQ_LINE(PALETTE_MODIFIER_COLOR | (SPR_OPENTTD_BASE + 19),  0, 11,  16,  5)
 	TILE_SEQ_END()
 };
 
 static const DrawTrackSeqStruct _track_waypoint_table_1[] = {
-	TILE_SEQ_BEGIN(0x83F3)
-	TILE_SEQ_LINE(0x8000 + SPR_OPENTTD_BASE+20,   0,  0, 5, 16)
-	TILE_SEQ_LINE(0x8000 + SPR_OPENTTD_BASE+21,  11,  0, 5, 16)
+	TILE_SEQ_BEGIN(0x3F3 | PALETTE_MODIFIER_COLOR)
+	TILE_SEQ_LINE(PALETTE_MODIFIER_COLOR | (SPR_OPENTTD_BASE + 20),   0,  0, 5, 16)
+	TILE_SEQ_LINE(PALETTE_MODIFIER_COLOR | (SPR_OPENTTD_BASE + 21),  11,  0, 5, 16)
 	TILE_SEQ_END()
 };
 
--- a/table/tree_land.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/table/tree_land.h	Sun Jul 24 15:56:31 2005 +0000
@@ -149,42 +149,42 @@
 	{     0x794,      0x794,      0x75c,      0x71d}, /* 125 */
 	{     0x794,      0x724,      0x794,      0x71d}, /* 126 */
 	{     0x794,      0x794,      0x771,      0x78d}, /* 127 */
-	{ 0x30b879b,  0x308879b,  0x311879b,  0x312879b}, /* 128 */
-	{     0x79b,  0x315879b,  0x30d879b,  0x316879b}, /* 129 */
-	{ 0x30d879b,  0x313879b,  0x309879b,      0x79b}, /* 130 */
-	{ 0x30a879b,  0x30b879b,  0x310879b,  0x30b879b}, /* 131 */
-	{     0x7a2,  0x30b87a2,  0x30987a2,  0x31287a2}, /* 132 */
-	{ 0x31187a2,  0x30d87a2,  0x30987a2,  0x31587a2}, /* 133 */
-	{ 0x30b87a2,  0x30887a2,  0x30a87a2,  0x31687a2}, /* 134 */
-	{ 0x31387a2,  0x31187a2,  0x31087a2,  0x31487a2}, /* 135 */
-	{ 0x30b87a9,      0x7a9,  0x31387a9,  0x31587a9}, /* 136 */
-	{ 0x31387a9,  0x30d87a9,  0x30887a9,  0x31187a9}, /* 137 */
-	{ 0x30987a9,  0x30b87a9,  0x30d87a9,  0x31487a9}, /* 138 */
-	{ 0x30d87a9,      0x7a9,  0x30b87a9,  0x31087a9}, /* 139 */
+	{ 0x79b | PALETTE_TO_RED,  0x79b | PALETTE_TO_PALE_GREEN,  0x79b | PALETTE_TO_MAUVE,  0x79b | PALETTE_TO_PURPLE}, /* 128 */
+	{     0x79b,  0x79b | PALETTE_TO_GREY,  0x79b | PALETTE_TO_GREEN,  0x79b | PALETTE_TO_WHITE}, /* 129 */
+	{ 0x79b | PALETTE_TO_GREEN,  0x79b | PALETTE_TO_ORANGE,  0x79b | PALETTE_TO_PINK,      0x79b}, /* 130 */
+	{ 0x79b | PALETTE_TO_YELLOW,  0x79b | PALETTE_TO_RED,  0x79b | PALETTE_TO_CREAM,  0x79b | PALETTE_TO_RED}, /* 131 */
+	{     0x7a2,  0x7a2 | PALETTE_TO_RED,  0x7a2 | PALETTE_TO_PINK,  0x7a2 | PALETTE_TO_PURPLE}, /* 132 */
+	{ 0x7a2 | PALETTE_TO_MAUVE,  0x7a2 | PALETTE_TO_GREEN,  0x7a2 | PALETTE_TO_PINK,  0x7a2 | PALETTE_TO_GREY}, /* 133 */
+	{ 0x7a2 | PALETTE_TO_RED,  0x7a2 | PALETTE_TO_PALE_GREEN,  0x7a2 | PALETTE_TO_YELLOW,  0x7a2 | PALETTE_TO_WHITE}, /* 134 */
+	{ 0x7a2 | PALETTE_TO_ORANGE,  0x7a2 | PALETTE_TO_MAUVE,  0x7a2 | PALETTE_TO_CREAM,  0x7a2 | PALETTE_TO_BROWN}, /* 135 */
+	{ 0x7a9 | PALETTE_TO_RED,      0x7a9,  0x7a9 | PALETTE_TO_ORANGE,  0x7a9 | PALETTE_TO_GREY}, /* 136 */
+	{ 0x7a9 | PALETTE_TO_ORANGE,  0x7a9 | PALETTE_TO_GREEN,  0x7a9 | PALETTE_TO_PALE_GREEN,  0x7a9 | PALETTE_TO_MAUVE}, /* 137 */
+	{ 0x7a9 | PALETTE_TO_PINK,  0x7a9 | PALETTE_TO_RED,  0x7a9 | PALETTE_TO_GREEN,  0x7a9 | PALETTE_TO_BROWN}, /* 138 */
+	{ 0x7a9 | PALETTE_TO_GREEN,      0x7a9,  0x7a9 | PALETTE_TO_RED,  0x7a9 | PALETTE_TO_CREAM}, /* 139 */
 	{     0x7b0,      0x7b0,      0x7b0,      0x7b0}, /* 140 */
 	{     0x7b0,      0x7b0,      0x7b0,      0x7b0}, /* 141 */
 	{     0x7b0,      0x7b0,      0x7b0,      0x7b0}, /* 142 */
 	{     0x7b0,      0x7b0,      0x7b0,      0x7b0}, /* 143 */
-	{ 0x30987b7,  0x30b87b7,  0x31387b7,  0x31187b7}, /* 144 */
-	{ 0x30b87b7,      0x7b7,  0x31587b7,  0x31087b7}, /* 145 */
-	{ 0x30d87b7,  0x31487b7,  0x30987b7,  0x30b87b7}, /* 146 */
-	{     0x7b7,  0x30887b7,  0x31387b7,  0x30b87b7}, /* 147 */
-	{ 0x30b87be,  0x30987be,  0x30d87be,      0x7be}, /* 148 */
-	{ 0x30d87be,  0x31487be,  0x31287be,  0x31587be}, /* 149 */
-	{ 0x31187be,  0x31087be,  0x31387be,  0x30b87be}, /* 150 */
-	{     0x7be,  0x30b87be,  0x30887be,  0x30987be}, /* 151 */
-	{ 0x30a87c5,  0x30b87c5,  0x31687c5,  0x31087c5}, /* 152 */
-	{ 0x30b87c5,  0x30887c5,  0x31487c5,  0x30a87c5}, /* 153 */
-	{     0x7c5,  0x31287c5,  0x30d87c5,  0x30a87c5}, /* 154 */
-	{ 0x30987c5,  0x31087c5,      0x7c5,  0x31587c5}, /* 155 */
-	{ 0x30a87cc,  0x31587cc,  0x31287cc,  0x31487cc}, /* 156 */
-	{ 0x30d87cc,      0x7cc,  0x31087cc,  0x31687cc}, /* 157 */
-	{ 0x30b87cc,  0x30887cc,  0x31187cc,  0x30b87cc}, /* 158 */
-	{ 0x30987cc,  0x31387cc,  0x30d87cc,  0x30a87cc}, /* 159 */
-	{ 0x30b87d3,  0x30987d3,  0x31487d3,  0x31687d3}, /* 160 */
-	{ 0x30d87d3,  0x31387d3,  0x31587d3,  0x31187d3}, /* 161 */
-	{ 0x30a87d3,  0x30887d3,      0x7d3,  0x31087d3}, /* 162 */
-	{ 0x31587d3,  0x30b87d3,  0x31687d3,      0x7d3}, /* 163 */
+	{ 0x7b7 | PALETTE_TO_PINK,  0x7b7 | PALETTE_TO_RED,  0x7b7 | PALETTE_TO_ORANGE,  0x7b7 | PALETTE_TO_MAUVE}, /* 144 */
+	{ 0x7b7 | PALETTE_TO_RED,      0x7b7,  0x7b7 | PALETTE_TO_GREY,  0x7b7 | PALETTE_TO_CREAM}, /* 145 */
+	{ 0x7b7 | PALETTE_TO_GREEN,  0x7b7 | PALETTE_TO_BROWN,  0x7b7 | PALETTE_TO_PINK,  0x7b7 | PALETTE_TO_RED}, /* 146 */
+	{     0x7b7,  0x7b7 | PALETTE_TO_PALE_GREEN,  0x7b7 | PALETTE_TO_ORANGE,  0x7b7 | PALETTE_TO_RED}, /* 147 */
+	{ 0x7be | PALETTE_TO_RED,  0x7be | PALETTE_TO_PINK,  0x7be | PALETTE_TO_GREEN,      0x7be}, /* 148 */
+	{ 0x7be | PALETTE_TO_GREEN,  0x7be | PALETTE_TO_BROWN,  0x7be | PALETTE_TO_PURPLE,  0x7be | PALETTE_TO_GREY}, /* 149 */
+	{ 0x7be | PALETTE_TO_MAUVE,  0x7be | PALETTE_TO_CREAM,  0x7be | PALETTE_TO_ORANGE,  0x7be | PALETTE_TO_RED}, /* 150 */
+	{     0x7be,  0x7be | PALETTE_TO_RED,  0x7be | PALETTE_TO_PALE_GREEN,  0x7be | PALETTE_TO_PINK}, /* 151 */
+	{ 0x7c5 | PALETTE_TO_YELLOW,  0x7c5 | PALETTE_TO_RED,  0x7c5 | PALETTE_TO_WHITE,  0x7c5 | PALETTE_TO_CREAM}, /* 152 */
+	{ 0x7c5 | PALETTE_TO_RED,  0x7c5 | PALETTE_TO_PALE_GREEN,  0x7c5 | PALETTE_TO_BROWN,  0x7c5 | PALETTE_TO_YELLOW}, /* 153 */
+	{     0x7c5,  0x7c5 | PALETTE_TO_PURPLE,  0x7c5 | PALETTE_TO_GREEN,  0x7c5 | PALETTE_TO_YELLOW}, /* 154 */
+	{ 0x7c5 | PALETTE_TO_PINK,  0x7c5 | PALETTE_TO_CREAM,      0x7c5,  0x7c5 | PALETTE_TO_GREY}, /* 155 */
+	{ 0x7cc | PALETTE_TO_YELLOW,  0x7cc | PALETTE_TO_GREY,  0x7cc | PALETTE_TO_PURPLE,  0x7cc | PALETTE_TO_BROWN}, /* 156 */
+	{ 0x7cc | PALETTE_TO_GREEN,      0x7cc,  0x7cc | PALETTE_TO_CREAM,  0x7cc | PALETTE_TO_WHITE}, /* 157 */
+	{ 0x7cc | PALETTE_TO_RED,  0x7cc | PALETTE_TO_PALE_GREEN,  0x7cc | PALETTE_TO_MAUVE,  0x7cc | PALETTE_TO_RED}, /* 158 */
+	{ 0x7cc | PALETTE_TO_PINK,  0x7cc | PALETTE_TO_ORANGE,  0x7cc | PALETTE_TO_GREEN,  0x7cc | PALETTE_TO_YELLOW}, /* 159 */
+	{ 0x7d3 | PALETTE_TO_RED,  0x7d3 | PALETTE_TO_PINK,  0x7d3 | PALETTE_TO_BROWN,  0x7d3 | PALETTE_TO_WHITE}, /* 160 */
+	{ 0x7d3 | PALETTE_TO_GREEN,  0x7d3 | PALETTE_TO_ORANGE,  0x7d3 | PALETTE_TO_GREY,  0x7d3 | PALETTE_TO_MAUVE}, /* 161 */
+	{ 0x7d3 | PALETTE_TO_YELLOW,  0x7d3 | PALETTE_TO_PALE_GREEN,      0x7d3,  0x7d3 | PALETTE_TO_CREAM}, /* 162 */
+	{ 0x7d3 | PALETTE_TO_GREY,  0x7d3 | PALETTE_TO_RED,  0x7d3 | PALETTE_TO_WHITE,      0x7d3}, /* 163 */
 	/* the extra things follow */
 	{     0x6e5,      0x6e5,      0x6e5,      0x6e5}, /* 0 */
 	{     0x6e5,      0x6e5,      0x6fa,      0x708}, /* 1 */
--- a/table/unmovable_land.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/table/unmovable_land.h	Sun Jul 24 15:56:31 2005 +0000
@@ -41,17 +41,17 @@
 };
 
 static const DrawTileSeqStruct _unmovable_display_datas_8[] = {
-	{   0,  0,  0, 16, 16, 20, 0x8A34 },
+	{   0,  0,  0, 16, 16, 20, 0xA34 | PALETTE_MODIFIER_COLOR },
 	TILE_SEQ_END()
 };
 
 static const DrawTileSeqStruct _unmovable_display_datas_9[] = {
-	{   0,  0,  0, 16, 16, 20, 0x8A36 },
+	{   0,  0,  0, 16, 16, 20, 0xA36 | PALETTE_MODIFIER_COLOR },
 	TILE_SEQ_END()
 };
 
 static const DrawTileSeqStruct _unmovable_display_datas_10[] = {
-	{   0,  0,  0, 16, 16, 20, 0x8A38 },
+	{   0,  0,  0, 16, 16, 20, 0xA38 | PALETTE_MODIFIER_COLOR },
 	TILE_SEQ_END()
 };
 
@@ -60,17 +60,17 @@
 };
 
 static const DrawTileSeqStruct _unmovable_display_datas_12[] = {
-	{   0,  0,  0, 16, 16, 50, 0x8A3B },
+	{   0,  0,  0, 16, 16, 50, 0xA3B | PALETTE_MODIFIER_COLOR },
 	TILE_SEQ_END()
 };
 
 static const DrawTileSeqStruct _unmovable_display_datas_13[] = {
-	{   0,  0,  0, 16, 16, 50, 0x8A3D },
+	{   0,  0,  0, 16, 16, 50, 0xA3D | PALETTE_MODIFIER_COLOR },
 	TILE_SEQ_END()
 };
 
 static const DrawTileSeqStruct _unmovable_display_datas_14[] = {
-	{   0,  0,  0, 16, 16, 50, 0x8A3F },
+	{   0,  0,  0, 16, 16, 50, 0xA3F | PALETTE_MODIFIER_COLOR },
 	TILE_SEQ_END()
 };
 
@@ -79,17 +79,17 @@
 };
 
 static const DrawTileSeqStruct _unmovable_display_datas_16[] = {
-	{   0,  0,  0, 16, 16, 60, 0x8A42 },
+	{   0,  0,  0, 16, 16, 60, 0xA42 | PALETTE_MODIFIER_COLOR },
 	TILE_SEQ_END()
 };
 
 static const DrawTileSeqStruct _unmovable_display_datas_17[] = {
-	{   0,  0,  0, 16, 16, 60, 0x8A44 },
+	{   0,  0,  0, 16, 16, 60, 0xA44 | PALETTE_MODIFIER_COLOR },
 	TILE_SEQ_END()
 };
 
 static const DrawTileSeqStruct _unmovable_display_datas_18[] = {
-	{   0,  0,  0, 16, 16, 60, 0x8A46 },
+	{   0,  0,  0, 16, 16, 60, 0xA46 | PALETTE_MODIFIER_COLOR },
 	TILE_SEQ_END()
 };
 
@@ -98,24 +98,24 @@
 };
 
 static const DrawTileSprites _unmovable_display_datas[] = {
-	{ 0x8A2B, _unmovable_display_datas_0 },
-	{ 0x8A2C, _unmovable_display_datas_1 },
-	{ 0x8A2D, _unmovable_display_datas_2 },
-	{ 0x8A2E, _unmovable_display_datas_3 },
-	{ 0x8A2F, _unmovable_display_datas_4 },
-	{ 0x8A30, _unmovable_display_datas_5 },
-	{ 0x8A31, _unmovable_display_datas_6 },
-	{ 0x8A32, _unmovable_display_datas_7 },
-	{ 0x8A33, _unmovable_display_datas_8 },
-	{ 0x8A35, _unmovable_display_datas_9 },
-	{ 0x8A37, _unmovable_display_datas_10 },
-	{ 0x8A39, _unmovable_display_datas_11 },
-	{ 0x8A3A, _unmovable_display_datas_12 },
-	{ 0x8A3C, _unmovable_display_datas_13 },
-	{ 0x8A3E, _unmovable_display_datas_14 },
-	{ 0x8A40, _unmovable_display_datas_15 },
-	{ 0x8A41, _unmovable_display_datas_16 },
-	{ 0x8A43, _unmovable_display_datas_17 },
-	{ 0x8A45, _unmovable_display_datas_18 },
-	{ 0x8A47, _unmovable_display_datas_19 },
+	{ 0xA2B | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_0 },
+	{ 0xA2C | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_1 },
+	{ 0xA2D | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_2 },
+	{ 0xA2E | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_3 },
+	{ 0xA2F | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_4 },
+	{ 0xA30 | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_5 },
+	{ 0xA31 | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_6 },
+	{ 0xA32 | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_7 },
+	{ 0xA33 | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_8 },
+	{ 0xA35 | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_9 },
+	{ 0xA37 | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_10 },
+	{ 0xA39 | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_11 },
+	{ 0xA3A | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_12 },
+	{ 0xA3C | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_13 },
+	{ 0xA3E | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_14 },
+	{ 0xA40 | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_15 },
+	{ 0xA41 | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_16 },
+	{ 0xA43 | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_17 },
+	{ 0xA45 | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_18 },
+	{ 0xA47 | PALETTE_MODIFIER_COLOR, _unmovable_display_datas_19 },
 };
--- a/table/water_land.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/table/water_land.h	Sun Jul 24 15:56:31 2005 +0000
@@ -15,27 +15,27 @@
 
 static const WaterDrawTileStruct _shipdepot_display_seq_1[] = {
 	BEGIN(0xFDD),
-	{ 0, 15, 0, 16, 1, 0x14, 0x8FE8 },
+	{ 0, 15, 0, 16, 1, 0x14, 0xFE8 | PALETTE_MODIFIER_COLOR },
 	END(0)
 };
 
 static const WaterDrawTileStruct _shipdepot_display_seq_2[] = {
 	BEGIN(0xFDD),
 	{ 0,  0, 0, 16, 1, 0x14, 0xFEA },
-	{ 0, 15, 0, 16, 1, 0x14, 0x8FE6 },
+	{ 0, 15, 0, 16, 1, 0x14, 0xFE6 | PALETTE_MODIFIER_COLOR },
 	END(0)
 };
 
 static const WaterDrawTileStruct _shipdepot_display_seq_3[] = {
 	BEGIN(0xFDD),
-	{ 15, 0, 0, 1, 0x10, 0x14, 0x8FE9 },
+	{ 15, 0, 0, 1, 0x10, 0x14, 0xFE9 | PALETTE_MODIFIER_COLOR },
 	END(0)
 };
 
 static const WaterDrawTileStruct _shipdepot_display_seq_4[] = {
 	BEGIN(0xFDD),
 	{  0, 0, 0, 1, 16, 0x14, 0xFEB },
-	{ 15, 0, 0, 1, 16, 0x14, 0x8FE7 },
+	{ 15, 0, 0, 1, 16, 0x14, 0xFE7 | PALETTE_MODIFIER_COLOR },
 	END(0)
 };
 
--- a/town_cmd.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/town_cmd.c	Sun Jul 24 15:56:31 2005 +0000
@@ -62,8 +62,8 @@
 static void DoBuildTownHouse(Town *t, TileIndex tile);
 
 typedef struct DrawTownTileStruct {
-	uint32 sprite_1;
-	uint32 sprite_2;
+	SpriteID sprite_1;
+	SpriteID sprite_2;
 
 	byte subtile_x:4;
 	byte subtile_y:4;
--- a/town_gui.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/town_gui.c	Sun Jul 24 15:56:31 2005 +0000
@@ -138,7 +138,7 @@
 
 					SetDParam(4, str);
 					if (t->exclusivity == p->index) // red icon for player with exclusive rights
-						DrawSprite((SPR_BLOT) | 0x30b8000, 18, y);
+						DrawSprite((SPR_BLOT) | PALETTE_TO_RED, 18, y);
 
 					DrawString(28, y, STR_2024, 0);
 					y+=10;
--- a/tunnelbridge_cmd.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/tunnelbridge_cmd.c	Sun Jul 24 15:56:31 2005 +0000
@@ -40,10 +40,10 @@
 };
 
 const PalSpriteID _bridge_sprites[MAX_BRIDGES] = {
-	0x0A24, 0x31E8A26, 0x0A25, 0x3208A22,
-	0x0A22, 0x3218A22, 0x0A23, 0x31C8A23,
-	0x31E8A23, 0x0A27, 0x0A28, 0x3218A28,
-	0x3238A28,
+	0x0A24, 0xA26 | PALETTE_TO_STRUCT_RED, 0x0A25, 0xA22 | PALETTE_TO_STRUCT_CONCRETE,
+	0x0A22, 0xA22 | PALETTE_TO_STRUCT_YELLOW, 0x0A23, 0xA23 | PALETTE_TO_STRUCT_BROWN,
+	0xA23 | PALETTE_TO_STRUCT_RED, 0x0A27, 0x0A28, 0xA28 | PALETTE_TO_STRUCT_YELLOW,
+	0xA28 | PALETTE_TO_STRUCT_GREY,
 };
 
 const StringID _bridge_material[MAX_BRIDGES] = {
@@ -1135,10 +1135,10 @@
 			// draw roof
 			if (ti->map5&1) {
 				x += 12;
-				if (image&0x3FFF) AddSortableSpriteToDraw(image, x,y, 1, 16, 0x28, z);
+				if (image & SPRITE_MASK) AddSortableSpriteToDraw(image, x,y, 1, 16, 0x28, z);
 			} else {
 				y += 12;
-				if (image&0x3FFF) AddSortableSpriteToDraw(image, x,y, 16, 1, 0x28, z);
+				if (image & SPRITE_MASK) AddSortableSpriteToDraw(image, x,y, 16, 1, 0x28, z);
 			}
 
 			if (ti->z + 5 == z ) {
--- a/viewport.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/viewport.c	Sun Jul 24 15:56:31 2005 +0000
@@ -361,7 +361,7 @@
 	ViewportDrawer *vd = _cur_vd;
 	TileSpriteToDraw *ts;
 
-	assert((image & 0x3FFF) < NUM_SPRITES);
+	assert((image & SPRITE_MASK) < MAX_SPRITES);
 
 	if (vd->spritelist_mem >= vd->eof_spritelist_mem) {
 		DEBUG(misc, 0) ("Out of sprite mem");
@@ -403,7 +403,7 @@
 {
 	const ViewportDrawer *vd = _cur_vd;
 	Point pt = RemapCoords(x, y, z);
-	const SpriteDimension *sd = GetSpriteDimension(image & 0x3FFF);
+	const SpriteDimension *sd = GetSpriteDimension(image & SPRITE_MASK);
 
 	if (pt.x + sd->xoffs >= vd->dpi.left + vd->dpi.width ||
 			pt.x + sd->xoffs + sd->xsize <= vd->dpi.left ||
@@ -422,7 +422,7 @@
 	const SpriteDimension *sd;
 	Point pt;
 
-	assert((image & 0x3FFF) < NUM_SPRITES);
+	assert((image & SPRITE_MASK) < MAX_SPRITES);
 
 	if (vd->combine_sprites == 2) {
 		AddCombinedSprite(image, x, y, z);
@@ -462,7 +462,7 @@
 
 	pt = RemapCoords(x, y, z);
 
-	sd = GetSpriteDimension(image & 0x3FFF);
+	sd = GetSpriteDimension(image & SPRITE_MASK);
 	if ((ps->left = (pt.x += sd->xoffs)) >= vd->dpi.left + vd->dpi.width ||
 			(ps->right = (pt.x + sd->xsize)) <= vd->dpi.left ||
 			(ps->top = (pt.y += sd->yoffs)) >= vd->dpi.top + vd->dpi.height ||
@@ -494,7 +494,7 @@
 	ViewportDrawer *vd = _cur_vd;
 	ChildScreenSpriteToDraw *cs;
 
-	assert((image & 0x3FFF) < NUM_SPRITES);
+	assert((image & SPRITE_MASK) < MAX_SPRITES);
 
 	if (vd->spritelist_mem >= vd->eof_spritelist_mem) {
 		DEBUG(misc, 0) ("Out of sprite mem");
--- a/waypoint.c	Sun Jul 24 14:12:37 2005 +0000
+++ b/waypoint.c	Sun Jul 24 15:56:31 2005 +0000
@@ -378,13 +378,13 @@
 		const DrawTrackSeqStruct *dtss = _track_depot_layout_table[4];
 
 		img = dtss++->image;
-		if (img & 0x8000) img = (img & 0x7FFF) + railtype*TRACKTYPE_SPRITE_PITCH;
+		if (img & PALETTE_MODIFIER_COLOR) img = (img & SPRITE_MASK) + railtype*TRACKTYPE_SPRITE_PITCH;
 		DrawSprite(img, x, y);
 
 		for (; dtss->image != 0; dtss++) {
 			Point pt = RemapCoords(dtss->subcoord_x, dtss->subcoord_y, 0);
 			img = dtss->image;
-			if (img & 0x8000) img |= ormod;
+			if (img & PALETTE_MODIFIER_COLOR) img |= ormod;
 			DrawSprite(img, x + pt.x, y + pt.y);
 		}
 		return;
@@ -400,14 +400,14 @@
 	img = cust->ground_sprite;
 	img += railtype * ((img < _custom_sprites_base) ? TRACKTYPE_SPRITE_PITCH : 1);
 
-	if (img & 0x8000) img = (img & 0x7FFF);
+	if (img & PALETTE_MODIFIER_COLOR) img = (img & SPRITE_MASK);
 	DrawSprite(img, x, y);
 
 	foreach_draw_tile_seq(seq, cust->seq) {
 		Point pt = RemapCoords(seq->delta_x, seq->delta_y, seq->delta_z);
 		uint32 image = seq->image + relocation;
 
-		DrawSprite((image&0x3FFF) | ormod, x + pt.x, y + pt.y);
+		DrawSprite((image & SPRITE_MASK) | ormod, x + pt.x, y + pt.y);
 	}
 }
 
--- a/window.h	Sun Jul 24 14:12:37 2005 +0000
+++ b/window.h	Sun Jul 24 15:56:31 2005 +0000
@@ -606,7 +606,7 @@
 void UpdateWindows(void);
 void InvalidateWidget(Window *w, byte widget_index);
 
-void GuiShowTooltips(uint16 string_id);
+void GuiShowTooltips(StringID string_id);
 
 void UnclickWindowButtons(Window *w);
 void UnclickSomeWindowButtons(Window *w, uint32 mask);