summaryrefslogtreecommitdiff
path: root/table
diff options
context:
space:
mode:
Diffstat (limited to 'table')
-rw-r--r--table/ai_rail.h480
-rw-r--r--table/animcursors.h45
-rw-r--r--table/build_industry.h1258
-rw-r--r--table/clear_land.h61
-rw-r--r--table/engines.h404
-rw-r--r--table/genland.h159
-rw-r--r--table/industry_land.h939
-rw-r--r--table/landscape_const.h215
-rw-r--r--table/landscape_sprite.h134
-rw-r--r--table/palettes.h96
-rw-r--r--table/road_land.h278
-rw-r--r--table/roadveh.h1075
-rw-r--r--table/station_land.h885
-rw-r--r--table/town_land.h2169
-rw-r--r--table/track_land.h61
-rw-r--r--table/train_cmd.h55
-rw-r--r--table/tree_land.h213
-rw-r--r--table/tunnel_land.h755
-rw-r--r--table/unmovable_land.h141
-rw-r--r--table/water_land.h147
20 files changed, 9570 insertions, 0 deletions
diff --git a/table/ai_rail.h b/table/ai_rail.h
new file mode 100644
index 000000000..daf70fe44
--- /dev/null
+++ b/table/ai_rail.h
@@ -0,0 +1,480 @@
+typedef struct {
+ byte mode;
+ byte attr;
+ TileIndexDiff tileoffs;
+} AiDefaultBlockData;
+
+typedef struct {
+ byte p0;
+ byte p1;
+ byte p2;
+ byte p3;
+ byte dir;
+ AiDefaultBlockData data[VARARRAY_SIZE];
+} AiDefaultRailBlock;
+
+typedef struct {
+ byte dir;
+ AiDefaultBlockData data[VARARRAY_SIZE];
+} AiDefaultRoadBlock;
+
+
+#define MKHDR(a,b,c,d,e) a,b,c,d,e,{
+#define MKDEPOT(a,b) {0,a,b}
+#define MKSTATION(a,b) {1,a,b}
+#define MKRAIL(a,b) {2,a,b}
+#define MKCLRRAIL(a,b) {3,a,b}
+#define MKEND {4}}
+
+static const AiDefaultRailBlock _raildata_ai_0 = {
+ MKHDR(1,2,1,0,1)
+ MKDEPOT(2,TILE_XY(-1,1)),
+ MKSTATION(0x15,TILE_XY(0,-1)),
+ MKRAIL(0x26,TILE_XY(0,1)),
+ MKCLRRAIL(1,TILE_XY(0,2)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_1 = {
+ MKHDR(1,2,1,0,3)
+ MKDEPOT(2,TILE_XY(-1,-1)),
+ MKRAIL(0x26,TILE_XY(0,-1)),
+ MKSTATION(0x15,TILE_XY(0,0)),
+ MKCLRRAIL(3,TILE_XY(0,-2)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_2 = {
+ MKHDR(1,2,1,0,0)
+ MKDEPOT(1,TILE_XY(-1,-1)),
+ MKRAIL(0x15,TILE_XY(-1,0)),
+ MKSTATION(0x14,TILE_XY(0,0)),
+ MKCLRRAIL(0,TILE_XY(-2,0)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_3 = {
+ MKHDR(1,2,1,0,2)
+ MKDEPOT(1,TILE_XY(1,-1)),
+ MKRAIL(0x15,TILE_XY(1,0)),
+ MKSTATION(0x14,TILE_XY(-1,0)),
+ MKCLRRAIL(2,TILE_XY(2,0)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_4 = {
+ MKHDR(1,2,2,0,255)
+ MKSTATION(0x15,TILE_XY(0,0)),
+ MKCLRRAIL(3,TILE_XY(0,-1)),
+ MKCLRRAIL(1,TILE_XY(0,2)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_5 = {
+ MKHDR(1,2,2,0,255)
+ MKSTATION(0x14,TILE_XY(0,0)),
+ MKCLRRAIL(0,TILE_XY(-1,0)),
+ MKCLRRAIL(2,TILE_XY(2,0)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_6 = {
+ MKHDR(2,3,1,0,1)
+ MKSTATION(0x27,TILE_XY(0,-2)),
+ MKRAIL(0xC2,TILE_XY(0,1)),
+ MKRAIL(0xC2,TILE_XY(1,1)),
+ MKRAIL(0x1A,TILE_XY(0,2)),
+ MKRAIL(0x26,TILE_XY(1,2)),
+ MKDEPOT(3,TILE_XY(1,3)),
+ MKCLRRAIL(1,TILE_XY(0,3)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_7 = {
+ MKHDR(2,3,1,0,3)
+ MKDEPOT(1,TILE_XY(0,-3)),
+ MKRAIL(0x1A,TILE_XY(0,-2)),
+ MKRAIL(0x26,TILE_XY(1,-2)),
+ MKRAIL(0xC2,TILE_XY(0,-1)),
+ MKRAIL(0xC2,TILE_XY(1,-1)),
+ MKSTATION(0x27,TILE_XY(0,0)),
+ MKCLRRAIL(3,TILE_XY(1,-3)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_8 = {
+ MKHDR(2,3,1,0,2)
+ MKSTATION(0x26,TILE_XY(-2,0)),
+ MKRAIL(0xC1,TILE_XY(1,0)),
+ MKRAIL(0xC1,TILE_XY(1,1)),
+ MKRAIL(0x29,TILE_XY(2,0)),
+ MKRAIL(0x15,TILE_XY(2,1)),
+ MKDEPOT(0,TILE_XY(3,0)),
+ MKCLRRAIL(2,TILE_XY(3,1)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_9 = {
+ MKHDR(2,3,1,0,0)
+ MKDEPOT(2,TILE_XY(-3,-1)),
+ MKRAIL(0x29,TILE_XY(-2,-1)),
+ MKRAIL(0x15,TILE_XY(-2,0)),
+ MKRAIL(0xC1,TILE_XY(-1,-1)),
+ MKRAIL(0xC1,TILE_XY(-1,0)),
+ MKSTATION(0x26,TILE_XY(0,-1)),
+ MKCLRRAIL(0,TILE_XY(-3,0)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_10 = {
+ MKHDR(2,3,2,0,255)
+ MKRAIL(0x1A,TILE_XY(0,-3)),
+ MKRAIL(0x20,TILE_XY(1,-3)),
+ MKRAIL(0xC2,TILE_XY(0,-2)),
+ MKRAIL(0xC2,TILE_XY(1,-2)),
+ MKSTATION(0x27,TILE_XY(0,-1)),
+ MKRAIL(0xC2,TILE_XY(0,2)),
+ MKRAIL(0xC2,TILE_XY(1,2)),
+ MKRAIL(0x1A,TILE_XY(0,3)),
+ MKRAIL(0x4,TILE_XY(1,3)),
+ MKCLRRAIL(3,TILE_XY(0,-4)),
+ MKCLRRAIL(1,TILE_XY(0,4)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_11 = {
+ MKHDR(2,3,2,0,255)
+ MKRAIL(0x29,TILE_XY(-3,0)),
+ MKRAIL(0x10,TILE_XY(-3,1)),
+ MKRAIL(0xC1,TILE_XY(-2,0)),
+ MKRAIL(0xC1,TILE_XY(-2,1)),
+ MKSTATION(0x26,TILE_XY(-1,0)),
+ MKRAIL(0xC1,TILE_XY(2,0)),
+ MKRAIL(0xC1,TILE_XY(2,1)),
+ MKRAIL(0x29,TILE_XY(3,0)),
+ MKRAIL(0x4,TILE_XY(3,1)),
+ MKCLRRAIL(0,TILE_XY(-4,0)),
+ MKCLRRAIL(2,TILE_XY(4,0)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_12 = {
+ MKHDR(2,3,2,1,3)
+ MKRAIL(0x88,TILE_XY(-1,-3)),
+ MKRAIL(0x6,TILE_XY(0,-3)),
+ MKRAIL(0x2,TILE_XY(-1,-2)),
+ MKRAIL(0x42,TILE_XY(0,-2)),
+ MKRAIL(0x2,TILE_XY(-1,-1)),
+ MKRAIL(0x2,TILE_XY(0,-1)),
+ MKRAIL(0x2,TILE_XY(-1,0)),
+ MKRAIL(0x2,TILE_XY(0,0)),
+ MKRAIL(0x82,TILE_XY(-1,1)),
+ MKRAIL(0x2,TILE_XY(0,1)),
+ MKRAIL(0xA,TILE_XY(-1,2)),
+ MKRAIL(0x44,TILE_XY(0,2)),
+ MKCLRRAIL(3,TILE_XY(0,-4)),
+ MKCLRRAIL(1,TILE_XY(-1,3)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_13 = {
+ MKHDR(2,3,2,1,0)
+ MKRAIL(0x21,TILE_XY(-3,0)),
+ MKRAIL(0x90,TILE_XY(-3,1)),
+ MKRAIL(0x81,TILE_XY(-2,0)),
+ MKRAIL(0x1,TILE_XY(-2,1)),
+ MKRAIL(0x1,TILE_XY(-1,0)),
+ MKRAIL(0x1,TILE_XY(-1,1)),
+ MKRAIL(0x1,TILE_XY(0,0)),
+ MKRAIL(0x1,TILE_XY(0,1)),
+ MKRAIL(0x1,TILE_XY(1,0)),
+ MKRAIL(0x41,TILE_XY(1,1)),
+ MKRAIL(0x60,TILE_XY(2,0)),
+ MKRAIL(0x11,TILE_XY(2,1)),
+ MKCLRRAIL(0,TILE_XY(-4,0)),
+ MKCLRRAIL(2,TILE_XY(3,1)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_14 = {
+ MKHDR(2,3,2,1,1)
+ MKRAIL(0x88,TILE_XY(-1,-3)),
+ MKRAIL(0x6,TILE_XY(0,-3)),
+ MKRAIL(0x2,TILE_XY(-1,-2)),
+ MKRAIL(0x42,TILE_XY(0,-2)),
+ MKRAIL(0x2,TILE_XY(-1,-1)),
+ MKRAIL(0x2,TILE_XY(0,-1)),
+ MKRAIL(0x2,TILE_XY(-1,0)),
+ MKRAIL(0x2,TILE_XY(0,0)),
+ MKRAIL(0x82,TILE_XY(-1,1)),
+ MKRAIL(0x2,TILE_XY(0,1)),
+ MKRAIL(0xA,TILE_XY(-1,2)),
+ MKRAIL(0x44,TILE_XY(0,2)),
+ MKCLRRAIL(1,TILE_XY(-1,3)),
+ MKCLRRAIL(3,TILE_XY(0,-4)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_15 = {
+ MKHDR(2,3,2,1,2)
+ MKRAIL(0x21,TILE_XY(-3,0)),
+ MKRAIL(0x90,TILE_XY(-3,1)),
+ MKRAIL(0x81,TILE_XY(-2,0)),
+ MKRAIL(0x1,TILE_XY(-2,1)),
+ MKRAIL(0x1,TILE_XY(-1,0)),
+ MKRAIL(0x1,TILE_XY(-1,1)),
+ MKRAIL(0x1,TILE_XY(0,0)),
+ MKRAIL(0x1,TILE_XY(0,1)),
+ MKRAIL(0x1,TILE_XY(1,0)),
+ MKRAIL(0x41,TILE_XY(1,1)),
+ MKRAIL(0x60,TILE_XY(2,0)),
+ MKRAIL(0x11,TILE_XY(2,1)),
+ MKCLRRAIL(2,TILE_XY(3,1)),
+ MKCLRRAIL(0,TILE_XY(-4,0)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_16 = {
+ MKHDR(1,3,1,0,1)
+ MKSTATION(0x17,TILE_XY(0,-2)),
+ MKRAIL(0x1A,TILE_XY(0,1)),
+ MKCLRRAIL(1,TILE_XY(0,2)),
+ MKDEPOT(0,TILE_XY(1,1)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_17 = {
+ MKHDR(1,3,1,0,3)
+ MKCLRRAIL(3,TILE_XY(0,-2)),
+ MKRAIL(0x26,TILE_XY(0,-1)),
+ MKDEPOT(2,TILE_XY(-1,-1)),
+ MKSTATION(0x17,TILE_XY(0,0)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_18 = {
+ MKHDR(1,3,1,0,0)
+ MKCLRRAIL(0,TILE_XY(-2,0)),
+ MKRAIL(0x29,TILE_XY(-1,0)),
+ MKDEPOT(3,TILE_XY(-1,1)),
+ MKSTATION(0x16,TILE_XY(0,0)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_19 = {
+ MKHDR(1,3,1,0,2)
+ MKSTATION(0x16,TILE_XY(-2,0)),
+ MKDEPOT(2,TILE_XY(0,-1)),
+ MKRAIL(0x20,TILE_XY(1,-1)),
+ MKRAIL(0x15,TILE_XY(1,0)),
+ MKCLRRAIL(2,TILE_XY(2,0)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_20 = {
+ MKHDR(2,3,1,0,1)
+ MKSTATION(0x26,TILE_XY(-2,0)),
+ MKRAIL(0xC1,TILE_XY(1,0)),
+ MKRAIL(0xC1,TILE_XY(1,1)),
+ MKRAIL(0x26,TILE_XY(2,0)),
+ MKRAIL(0x26,TILE_XY(2,1)),
+ MKDEPOT(1,TILE_XY(2,-1)),
+ MKCLRRAIL(1,TILE_XY(2,2)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_21 = {
+ MKHDR(2,3,1,0,3)
+ MKDEPOT(2,TILE_XY(-3,-1)),
+ MKRAIL(0x3F,TILE_XY(-2,-1)),
+ MKRAIL(0x10,TILE_XY(-2,0)),
+ MKRAIL(0xC1,TILE_XY(-1,-1)),
+ MKRAIL(0xC1,TILE_XY(-1,0)),
+ MKSTATION(0x26,TILE_XY(0,-1)),
+ MKCLRRAIL(3,TILE_XY(-2,-2)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_22 = {
+ MKHDR(2,3,1,0,0)
+ MKSTATION(0x27,TILE_XY(0,-2)),
+ MKRAIL(0xC2,TILE_XY(0,1)),
+ MKRAIL(0xC2,TILE_XY(1,1)),
+ MKRAIL(0x15,TILE_XY(0,2)),
+ MKRAIL(0x4,TILE_XY(1,2)),
+ MKRAIL(0x15,TILE_XY(-1,2)),
+ MKDEPOT(1,TILE_XY(-1,1)),
+ MKCLRRAIL(0,TILE_XY(-2,2)),
+ MKEND
+};
+
+static const AiDefaultRailBlock _raildata_ai_23 = {
+ MKHDR(2,3,1,0,2)
+ MKDEPOT(1,TILE_XY(0,-3)),
+ MKRAIL(0x1A,TILE_XY(0,-2)),
+ MKRAIL(0x29,TILE_XY(1,-2)),
+ MKRAIL(0xC2,TILE_XY(0,-1)),
+ MKRAIL(0xC2,TILE_XY(1,-1)),
+ MKSTATION(0x27,TILE_XY(0,0)),
+ MKCLRRAIL(2,TILE_XY(2,-2)),
+ MKEND
+};
+
+
+
+static const AiDefaultRailBlock * const _default_rail_track_data[] = {
+ &_raildata_ai_0,
+ &_raildata_ai_1,
+ &_raildata_ai_2,
+ &_raildata_ai_3,
+ &_raildata_ai_4,
+ &_raildata_ai_5,
+ &_raildata_ai_6,
+ &_raildata_ai_7,
+ &_raildata_ai_8,
+ &_raildata_ai_9,
+ &_raildata_ai_10,
+ &_raildata_ai_11,
+ &_raildata_ai_12,
+ &_raildata_ai_13,
+ &_raildata_ai_14,
+ &_raildata_ai_15,
+ &_raildata_ai_16,
+ &_raildata_ai_17,
+ &_raildata_ai_18,
+ &_raildata_ai_19,
+ &_raildata_ai_20,
+ &_raildata_ai_21,
+ &_raildata_ai_22,
+ &_raildata_ai_23,
+ NULL
+};
+
+#undef MKHDR
+
+#define MKHDR(a) a,{
+
+static const AiDefaultRoadBlock _roaddata_ai_0 = {
+ MKHDR(0)
+ MKDEPOT(2,TILE_XY(-1,1)),
+ MKSTATION(0x2,TILE_XY(-1,0)),
+ MKRAIL(0xC,TILE_XY(0,0)),
+ MKRAIL(0x9,TILE_XY(0,1)),
+ MKCLRRAIL(0,TILE_XY(0,-1)),
+ MKCLRRAIL(0,TILE_XY(1,0)),
+ MKCLRRAIL(0,TILE_XY(1,1)),
+ MKCLRRAIL(0,TILE_XY(0,2)),
+ MKEND
+};
+
+static const AiDefaultRoadBlock _roaddata_ai_1 = {
+ MKHDR(0)
+ MKDEPOT(1,TILE_XY(0,-1)),
+ MKSTATION(0x1,TILE_XY(1,-1)),
+ MKRAIL(0x3,TILE_XY(0,0)),
+ MKRAIL(0x9,TILE_XY(1,0)),
+ MKCLRRAIL(0,TILE_XY(-1,0)),
+ MKCLRRAIL(0,TILE_XY(0,1)),
+ MKCLRRAIL(0,TILE_XY(1,1)),
+ MKCLRRAIL(0,TILE_XY(2,0)),
+ MKEND
+};
+
+static const AiDefaultRoadBlock _roaddata_ai_2 = {
+ MKHDR(0)
+ MKDEPOT(3,TILE_XY(1,1)),
+ MKSTATION(0x3,TILE_XY(0,1)),
+ MKRAIL(0x6,TILE_XY(0,0)),
+ MKRAIL(0xC,TILE_XY(1,0)),
+ MKCLRRAIL(0,TILE_XY(-1,0)),
+ MKCLRRAIL(0,TILE_XY(0,-1)),
+ MKCLRRAIL(0,TILE_XY(1,-1)),
+ MKCLRRAIL(0,TILE_XY(2,0)),
+ MKEND
+};
+
+static const AiDefaultRoadBlock _roaddata_ai_3 = {
+ MKHDR(0)
+ MKDEPOT(0,TILE_XY(1,0)),
+ MKSTATION(0x0,TILE_XY(1,1)),
+ MKRAIL(0x6,TILE_XY(0,0)),
+ MKRAIL(0x3,TILE_XY(0,1)),
+ MKCLRRAIL(0,TILE_XY(0,-1)),
+ MKCLRRAIL(0,TILE_XY(-1,0)),
+ MKCLRRAIL(0,TILE_XY(-1,1)),
+ MKCLRRAIL(0,TILE_XY(0,2)),
+ MKEND
+};
+
+static const AiDefaultRoadBlock _roaddata_ai_4 = {
+ MKHDR(1)
+ MKSTATION(0x2,TILE_XY(-1,0)),
+ MKRAIL(0x8,TILE_XY(0,0)),
+ MKCLRRAIL(0,TILE_XY(0,-1)),
+ MKCLRRAIL(0,TILE_XY(1,0)),
+ MKCLRRAIL(0,TILE_XY(0,1)),
+ MKEND
+};
+
+static const AiDefaultRoadBlock _roaddata_ai_5 = {
+ MKHDR(1)
+ MKSTATION(0x3,TILE_XY(0,1)),
+ MKRAIL(0x4,TILE_XY(0,0)),
+ MKCLRRAIL(0,TILE_XY(-1,0)),
+ MKCLRRAIL(0,TILE_XY(0,-1)),
+ MKCLRRAIL(0,TILE_XY(1,0)),
+ MKEND
+};
+
+static const AiDefaultRoadBlock _roaddata_ai_6 = {
+ MKHDR(1)
+ MKSTATION(0x0,TILE_XY(1,1)),
+ MKRAIL(0x2,TILE_XY(0,1)),
+ MKCLRRAIL(0,TILE_XY(0,0)),
+ MKCLRRAIL(0,TILE_XY(-1,0)),
+ MKCLRRAIL(0,TILE_XY(0,2)),
+ MKEND
+};
+
+static const AiDefaultRoadBlock _roaddata_ai_7 = {
+ MKHDR(1)
+ MKSTATION(0x1,TILE_XY(1,-1)),
+ MKRAIL(0x1,TILE_XY(1,0)),
+ MKCLRRAIL(0,TILE_XY(0,0)),
+ MKCLRRAIL(0,TILE_XY(1,1)),
+ MKCLRRAIL(0,TILE_XY(2,0)),
+ MKEND
+};
+
+
+static const AiDefaultRoadBlock * const _road_default_block_data[] = {
+ &_roaddata_ai_0,
+ &_roaddata_ai_1,
+ &_roaddata_ai_2,
+ &_roaddata_ai_3,
+ &_roaddata_ai_4,
+ &_roaddata_ai_5,
+ &_roaddata_ai_6,
+ &_roaddata_ai_7,
+ NULL
+};
+
+#define MKAIR(a,b) {0,a,b}
+
+static const AiDefaultBlockData _airportdata_ai_0[] = {
+ MKAIR(1, 0),
+ {1},
+};
+
+static const AiDefaultBlockData _airportdata_ai_1[] = {
+ MKAIR(0, 0),
+ {1}
+};
+
+static const AiDefaultBlockData * const _airport_default_block_data[] = {
+ _airportdata_ai_0, // city airport
+ _airportdata_ai_1, // country airport
+ NULL
+};
+
+
diff --git a/table/animcursors.h b/table/animcursors.h
new file mode 100644
index 000000000..e43dfc1c8
--- /dev/null
+++ b/table/animcursors.h
@@ -0,0 +1,45 @@
+#define ANIM_CURSOR_LINE(a,b) a,b,
+#define ANIM_CURSOR_END() 0xFFFF
+
+static const uint16 _demolish_animcursor[] = {
+ ANIM_CURSOR_LINE(0x2C0, 29)
+ ANIM_CURSOR_LINE(0x2C1, 29)
+ ANIM_CURSOR_LINE(0x2C2, 29)
+ ANIM_CURSOR_LINE(0x2C3, 29)
+ ANIM_CURSOR_END()
+};
+
+static const uint16 _lower_land_animcursor[] = {
+ ANIM_CURSOR_LINE(0x2BB, 29)
+ ANIM_CURSOR_LINE(0x2BC, 29)
+ ANIM_CURSOR_LINE(0x2BD, 98)
+ ANIM_CURSOR_END()
+};
+
+static const uint16 _raise_land_animcursor[] = {
+ ANIM_CURSOR_LINE(0x2B8, 29)
+ ANIM_CURSOR_LINE(0x2B9, 29)
+ ANIM_CURSOR_LINE(0x2BA, 98)
+ ANIM_CURSOR_END()
+};
+
+static const uint16 _pick_station_animcursor[] = {
+ ANIM_CURSOR_LINE(0x2CC, 29)
+ ANIM_CURSOR_LINE(0x2CD, 29)
+ ANIM_CURSOR_LINE(0x2CE, 98)
+ ANIM_CURSOR_END()
+};
+
+static const uint16 _build_signals_animcursor[] = {
+ ANIM_CURSOR_LINE(0x50C, 148)
+ ANIM_CURSOR_LINE(0x50D, 148)
+ ANIM_CURSOR_END()
+};
+
+static const uint16 * const _animcursors[] = {
+ _demolish_animcursor,
+ _lower_land_animcursor,
+ _raise_land_animcursor,
+ _pick_station_animcursor,
+ _build_signals_animcursor
+};
diff --git a/table/build_industry.h b/table/build_industry.h
new file mode 100644
index 000000000..88b02e822
--- /dev/null
+++ b/table/build_industry.h
@@ -0,0 +1,1258 @@
+#define MK(x,y, m) {TILE_XY(x,y), m}
+
+#define MKEND {-0x8000, 0}
+
+static const IndustryTileTable _tile_table_coal_mine_0[] = {
+ MK(1,1, 0),
+ MK(1,2, 2),
+ MK(0,0, 5),
+ MK(1,0, 6),
+ MK(2,0, 3),
+ MK(2,2, 3),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_coal_mine_1[] = {
+ MK(1,1, 0),
+ MK(1,2, 2),
+ MK(2,0, 0),
+ MK(2,1, 2),
+ MK(1,0, 3),
+ MK(0,0, 3),
+ MK(0,1, 4),
+ MK(0,2, 4),
+ MK(2,2, 4),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_coal_mine_2[] = {
+ MK(0,0, 0),
+ MK(0,1, 2),
+ MK(0,2, 5),
+ MK(1,0, 3),
+ MK(1,1, 3),
+ MK(1,2, 6),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_coal_mine_3[] = {
+ MK(0,1, 0),
+ MK(0,2, 2),
+ MK(0,3, 4),
+ MK(1,0, 5),
+ MK(1,1, 0),
+ MK(1,2, 2),
+ MK(1,3, 3),
+ MK(2,0, 6),
+ MK(2,1, 4),
+ MK(2,2, 3),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_coal_mine[] = {
+ _tile_table_coal_mine_0,
+ _tile_table_coal_mine_1,
+ _tile_table_coal_mine_2,
+ _tile_table_coal_mine_3,
+};
+
+static const IndustryTileTable _tile_table_power_station_0[] = {
+ MK(0,0, 7),
+ MK(0,1, 9),
+ MK(1,0, 7),
+ MK(1,1, 8),
+ MK(2,0, 7),
+ MK(2,1, 8),
+ MK(3,0, 10),
+ MK(3,1, 10),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_power_station_1[] = {
+ MK(0,1, 7),
+ MK(0,2, 7),
+ MK(1,0, 8),
+ MK(1,1, 8),
+ MK(1,2, 7),
+ MK(2,0, 9),
+ MK(2,1, 10),
+ MK(2,2, 9),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_power_station_2[] = {
+ MK(0,0, 7),
+ MK(0,1, 7),
+ MK(1,0, 9),
+ MK(1,1, 8),
+ MK(2,0, 10),
+ MK(2,1, 9),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_power_station[] = {
+ _tile_table_power_station_0,
+ _tile_table_power_station_1,
+ _tile_table_power_station_2,
+};
+
+static const IndustryTileTable _tile_table_sawmill_0[] = {
+ MK(1,0, 14),
+ MK(1,1, 12),
+ MK(1,2, 11),
+ MK(2,0, 14),
+ MK(2,1, 13),
+ MK(0,0, 15),
+ MK(0,1, 15),
+ MK(0,2, 12),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_sawmill_1[] = {
+ MK(0,0, 15),
+ MK(0,1, 11),
+ MK(0,2, 14),
+ MK(1,0, 15),
+ MK(1,1, 13),
+ MK(1,2, 12),
+ MK(2,0, 11),
+ MK(2,1, 13),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_sawmill[] = {
+ _tile_table_sawmill_0,
+ _tile_table_sawmill_1,
+};
+
+static const IndustryTileTable _tile_table_forest_0[] = {
+ MK(0,0, 16),
+ MK(0,1, 16),
+ MK(0,2, 16),
+ MK(0,3, 16),
+ MK(1,0, 16),
+ MK(1,1, 16),
+ MK(1,2, 16),
+ MK(1,3, 16),
+ MK(2,0, 16),
+ MK(2,1, 16),
+ MK(2,2, 16),
+ MK(2,3, 16),
+ MK(3,0, 16),
+ MK(3,1, 16),
+ MK(3,2, 16),
+ MK(3,3, 16),
+ MK(1,4, 16),
+ MK(2,4, 16),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_forest_1[] = {
+ MK(0,0, 16),
+ MK(1,0, 16),
+ MK(2,0, 16),
+ MK(3,0, 16),
+ MK(4,0, 16),
+ MK(0,1, 16),
+ MK(1,1, 16),
+ MK(2,1, 16),
+ MK(3,1, 16),
+ MK(4,1, 16),
+ MK(0,2, 16),
+ MK(1,2, 16),
+ MK(2,2, 16),
+ MK(3,2, 16),
+ MK(4,2, 16),
+ MK(0,3, 16),
+ MK(1,3, 16),
+ MK(2,3, 16),
+ MK(3,3, 16),
+ MK(4,3, 16),
+ MK(1,4, 16),
+ MK(2,4, 16),
+ MK(3,4, 16),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_forest[] = {
+ _tile_table_forest_0,
+ _tile_table_forest_1,
+};
+
+static const IndustryTileTable _tile_table_oil_refinery_0[] = {
+ MK(0,0, 20),
+ MK(0,1, 21),
+ MK(0,2, 22),
+ MK(0,3, 21),
+ MK(1,0, 20),
+ MK(1,1, 19),
+ MK(1,2, 22),
+ MK(1,3, 20),
+ MK(2,1, 18),
+ MK(2,2, 18),
+ MK(2,3, 18),
+ MK(3,2, 18),
+ MK(3,3, 18),
+ MK(2,0, 23),
+ MK(3,1, 23),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_oil_refinery_1[] = {
+ MK(0,0, 18),
+ MK(0,1, 18),
+ MK(0,2, 21),
+ MK(0,3, 22),
+ MK(0,4, 20),
+ MK(1,0, 18),
+ MK(1,1, 18),
+ MK(1,2, 19),
+ MK(1,3, 20),
+ MK(2,0, 18),
+ MK(2,1, 18),
+ MK(2,2, 19),
+ MK(2,3, 22),
+ MK(1,4, 23),
+ MK(2,4, 23),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_oil_refinery[] = {
+ _tile_table_oil_refinery_0,
+ _tile_table_oil_refinery_1,
+};
+
+static const IndustryTileTable _tile_table_oil_rig_0[] = {
+ MK(0,0, 24),
+ MK(0,1, 24),
+ MK(0,2, 25),
+ MK(1,0, 26),
+ MK(1,1, 27),
+ MK(1,2, 28),
+ MK(-4,-5, 255),
+ MK(-4,-4, 255),
+ MK(-4,-3, 255),
+ MK(-4,-2, 255),
+ MK(-4,-1, 255),
+ MK(-4,0, 255),
+ MK(-4,1, 255),
+ MK(-4,2, 255),
+ MK(-4,3, 255),
+ MK(-4,4, 255),
+ MK(-4,5, 255),
+ MK(-3,5, 255),
+ MK(-2,5, 255),
+ MK(-1,5, 255),
+ MK(0,6, 255),
+ MK(1,6, 255),
+ MK(2,6, 255),
+ MK(3,6, 255),
+ MK(4,6, 255),
+ MK(5,6, 255),
+ MK(5,5, 255),
+ MK(5,4, 255),
+ MK(5,3, 255),
+ MK(5,2, 255),
+ MK(5,1, 255),
+ MK(5,0, 255),
+ MK(5,-1, 255),
+ MK(5,-2, 255),
+ MK(5,-3, 255),
+ MK(5,-4, 255),
+ MK(4,-4, 255),
+ MK(3,-4, 255),
+ MK(2,-4, 255),
+ MK(1,-4, 255),
+ MK(0,-4, 255),
+ MK(-1,-5, 255),
+ MK(-2,-5, 255),
+ MK(-3,-5, 255),
+ MK(2,0, 255),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_oil_rig[] = {
+ _tile_table_oil_rig_0,
+};
+
+static const IndustryTileTable _tile_table_factory_0[] = {
+ MK(0,0, 39),
+ MK(0,1, 40),
+ MK(1,0, 41),
+ MK(1,1, 42),
+ MK(0,2, 39),
+ MK(0,3, 40),
+ MK(1,2, 41),
+ MK(1,3, 42),
+ MK(2,1, 39),
+ MK(2,2, 40),
+ MK(3,1, 41),
+ MK(3,2, 42),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_factory_1[] = {
+ MK(0,0, 39),
+ MK(0,1, 40),
+ MK(1,0, 41),
+ MK(1,1, 42),
+ MK(2,0, 39),
+ MK(2,1, 40),
+ MK(3,0, 41),
+ MK(3,1, 42),
+ MK(1,2, 39),
+ MK(1,3, 40),
+ MK(2,2, 41),
+ MK(2,3, 42),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_factory[] = {
+ _tile_table_factory_0,
+ _tile_table_factory_1,
+};
+
+static const IndustryTileTable _tile_table_printing_works_0[] = {
+ MK(0,0, 43),
+ MK(0,1, 44),
+ MK(1,0, 45),
+ MK(1,1, 46),
+ MK(0,2, 43),
+ MK(0,3, 44),
+ MK(1,2, 45),
+ MK(1,3, 46),
+ MK(2,1, 43),
+ MK(2,2, 44),
+ MK(3,1, 45),
+ MK(3,2, 46),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_printing_works_1[] = {
+ MK(0,0, 43),
+ MK(0,1, 44),
+ MK(1,0, 45),
+ MK(1,1, 46),
+ MK(2,0, 43),
+ MK(2,1, 44),
+ MK(3,0, 45),
+ MK(3,1, 46),
+ MK(1,2, 43),
+ MK(1,3, 44),
+ MK(2,2, 45),
+ MK(2,3, 46),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_printing_works[] = {
+ _tile_table_printing_works_0,
+ _tile_table_printing_works_1,
+};
+
+static const IndustryTileTable _tile_table_steel_mill_0[] = {
+ MK(2,1, 52),
+ MK(2,2, 53),
+ MK(3,1, 54),
+ MK(3,2, 55),
+ MK(0,0, 56),
+ MK(1,0, 57),
+ MK(0,1, 56),
+ MK(1,1, 57),
+ MK(0,2, 56),
+ MK(1,2, 57),
+ MK(2,0, 56),
+ MK(3,0, 57),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_steel_mill_1[] = {
+ MK(0,0, 52),
+ MK(0,1, 53),
+ MK(1,0, 54),
+ MK(1,1, 55),
+ MK(2,0, 52),
+ MK(2,1, 53),
+ MK(3,0, 54),
+ MK(3,1, 55),
+ MK(0,2, 56),
+ MK(1,2, 57),
+ MK(2,2, 56),
+ MK(3,2, 57),
+ MK(1,3, 56),
+ MK(2,3, 57),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_steel_mill[] = {
+ _tile_table_steel_mill_0,
+ _tile_table_steel_mill_1,
+};
+
+static const IndustryTileTable _tile_table_farm_0[] = {
+ MK(1,0, 33),
+ MK(1,1, 34),
+ MK(1,2, 36),
+ MK(0,0, 37),
+ MK(0,1, 37),
+ MK(0,2, 36),
+ MK(2,0, 35),
+ MK(2,1, 38),
+ MK(2,2, 38),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_farm_1[] = {
+ MK(1,1, 33),
+ MK(1,2, 34),
+ MK(0,0, 35),
+ MK(0,1, 36),
+ MK(0,2, 36),
+ MK(0,3, 35),
+ MK(1,0, 37),
+ MK(1,3, 38),
+ MK(2,0, 37),
+ MK(2,1, 37),
+ MK(2,2, 38),
+ MK(2,3, 38),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_farm_2[] = {
+ MK(2,0, 33),
+ MK(2,1, 34),
+ MK(0,0, 36),
+ MK(0,1, 36),
+ MK(0,2, 37),
+ MK(0,3, 37),
+ MK(1,0, 35),
+ MK(1,1, 38),
+ MK(1,2, 38),
+ MK(1,3, 37),
+ MK(2,2, 37),
+ MK(2,3, 35),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_farm[] = {
+ _tile_table_farm_0,
+ _tile_table_farm_1,
+ _tile_table_farm_2,
+};
+
+static const IndustryTileTable _tile_table_copper_mine_0[] = {
+ MK(0,0, 47),
+ MK(0,1, 49),
+ MK(0,2, 51),
+ MK(1,0, 47),
+ MK(1,1, 49),
+ MK(1,2, 50),
+ MK(2,0, 51),
+ MK(2,1, 51),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_copper_mine_1[] = {
+ MK(0,0, 50),
+ MK(0,1, 47),
+ MK(0,2, 49),
+ MK(1,0, 47),
+ MK(1,1, 49),
+ MK(1,2, 51),
+ MK(2,0, 51),
+ MK(2,1, 47),
+ MK(2,2, 49),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_copper_mine[] = {
+ _tile_table_copper_mine_0,
+ _tile_table_copper_mine_1,
+};
+
+static const IndustryTileTable _tile_table_oil_well_0[] = {
+ MK(0,0, 29),
+ MK(1,0, 29),
+ MK(2,0, 29),
+ MK(0,1, 29),
+ MK(0,2, 29),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_oil_well_1[] = {
+ MK(0,0, 29),
+ MK(1,0, 29),
+ MK(1,1, 29),
+ MK(2,2, 29),
+ MK(2,3, 29),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_oil_well[] = {
+ _tile_table_oil_well_0,
+ _tile_table_oil_well_1,
+};
+
+static const IndustryTileTable _tile_table_bank_0[] = {
+ MK(0,0, 58),
+ MK(1,0, 59),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_bank[] = {
+ _tile_table_bank_0,
+};
+
+static const IndustryTileTable _tile_table_food_process_0[] = {
+ MK(0,0, 60),
+ MK(1,0, 60),
+ MK(2,0, 60),
+ MK(0,1, 60),
+ MK(1,1, 60),
+ MK(2,1, 60),
+ MK(0,2, 61),
+ MK(1,2, 61),
+ MK(2,2, 63),
+ MK(0,3, 62),
+ MK(1,3, 62),
+ MK(2,3, 63),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_food_process_1[] = {
+ MK(0,0, 61),
+ MK(1,0, 60),
+ MK(2,0, 61),
+ MK(3,0, 61),
+ MK(0,1, 62),
+ MK(1,1, 63),
+ MK(2,1, 63),
+ MK(3,1, 63),
+ MK(0,2, 60),
+ MK(1,2, 60),
+ MK(2,2, 60),
+ MK(3,2, 60),
+ MK(0,3, 62),
+ MK(1,3, 62),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_food_process[] = {
+ _tile_table_food_process_0,
+ _tile_table_food_process_1,
+};
+
+static const IndustryTileTable _tile_table_paper_mill_0[] = {
+ MK(0,0, 64),
+ MK(1,0, 65),
+ MK(2,0, 66),
+ MK(3,0, 67),
+ MK(0,1, 68),
+ MK(1,1, 69),
+ MK(2,1, 67),
+ MK(3,1, 67),
+ MK(0,2, 66),
+ MK(1,2, 71),
+ MK(2,2, 71),
+ MK(3,2, 70),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_paper_mill[] = {
+ _tile_table_paper_mill_0,
+};
+
+static const IndustryTileTable _tile_table_gold_mine_0[] = {
+ MK(0,0, 72),
+ MK(0,1, 73),
+ MK(0,2, 74),
+ MK(0,3, 75),
+ MK(1,0, 76),
+ MK(1,1, 77),
+ MK(1,2, 78),
+ MK(1,3, 79),
+ MK(2,0, 80),
+ MK(2,1, 81),
+ MK(2,2, 82),
+ MK(2,3, 83),
+ MK(3,0, 84),
+ MK(3,1, 85),
+ MK(3,2, 86),
+ MK(3,3, 87),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_gold_mine[] = {
+ _tile_table_gold_mine_0,
+};
+
+static const IndustryTileTable _tile_table_bank2_0[] = {
+ MK(0,0, 89),
+ MK(1,0, 90),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_bank2[] = {
+ _tile_table_bank2_0,
+};
+
+static const IndustryTileTable _tile_table_diamond_mine_0[] = {
+ MK(0,0, 91),
+ MK(0,1, 92),
+ MK(0,2, 93),
+ MK(1,0, 94),
+ MK(1,1, 95),
+ MK(1,2, 96),
+ MK(2,0, 97),
+ MK(2,1, 98),
+ MK(2,2, 99),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_diamond_mine[] = {
+ _tile_table_diamond_mine_0,
+};
+
+static const IndustryTileTable _tile_table_iron_mine_0[] = {
+ MK(0,0, 100),
+ MK(0,1, 101),
+ MK(0,2, 102),
+ MK(0,3, 103),
+ MK(1,0, 104),
+ MK(1,1, 105),
+ MK(1,2, 106),
+ MK(1,3, 107),
+ MK(2,0, 108),
+ MK(2,1, 109),
+ MK(2,2, 110),
+ MK(2,3, 111),
+ MK(3,0, 112),
+ MK(3,1, 113),
+ MK(3,2, 114),
+ MK(3,3, 115),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_iron_mine[] = {
+ _tile_table_iron_mine_0,
+};
+
+static const IndustryTileTable _tile_table_fruit_plantation_0[] = {
+ MK(0,0, 116),
+ MK(0,1, 116),
+ MK(0,2, 116),
+ MK(0,3, 116),
+ MK(1,0, 116),
+ MK(1,1, 116),
+ MK(1,2, 116),
+ MK(1,3, 116),
+ MK(2,0, 116),
+ MK(2,1, 116),
+ MK(2,2, 116),
+ MK(2,3, 116),
+ MK(3,0, 116),
+ MK(3,1, 116),
+ MK(3,2, 116),
+ MK(3,3, 116),
+ MK(4,0, 116),
+ MK(4,1, 116),
+ MK(4,2, 116),
+ MK(4,3, 116),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_fruit_plantation[] = {
+ _tile_table_fruit_plantation_0,
+};
+
+static const IndustryTileTable _tile_table_rubber_plantation_0[] = {
+ MK(0,0, 117),
+ MK(0,1, 117),
+ MK(0,2, 117),
+ MK(0,3, 117),
+ MK(1,0, 117),
+ MK(1,1, 117),
+ MK(1,2, 117),
+ MK(1,3, 117),
+ MK(2,0, 117),
+ MK(2,1, 117),
+ MK(2,2, 117),
+ MK(2,3, 117),
+ MK(3,0, 117),
+ MK(3,1, 117),
+ MK(3,2, 117),
+ MK(3,3, 117),
+ MK(4,0, 117),
+ MK(4,1, 117),
+ MK(4,2, 117),
+ MK(4,3, 117),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_rubber_plantation[] = {
+ _tile_table_rubber_plantation_0,
+};
+
+static const IndustryTileTable _tile_table_water_supply_0[] = {
+ MK(0,0, 118),
+ MK(0,1, 119),
+ MK(1,0, 118),
+ MK(1,1, 119),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_water_supply[] = {
+ _tile_table_water_supply_0,
+};
+
+static const IndustryTileTable _tile_table_water_tower_0[] = {
+ MK(0,0, 120),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_water_tower[] = {
+ _tile_table_water_tower_0,
+};
+
+static const IndustryTileTable _tile_table_factory2_0[] = {
+ MK(0,0, 121),
+ MK(0,1, 122),
+ MK(1,0, 123),
+ MK(1,1, 124),
+ MK(0,2, 121),
+ MK(0,3, 122),
+ MK(1,2, 123),
+ MK(1,3, 124),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_factory2_1[] = {
+ MK(0,0, 121),
+ MK(0,1, 122),
+ MK(1,0, 123),
+ MK(1,1, 124),
+ MK(2,0, 121),
+ MK(2,1, 122),
+ MK(3,0, 123),
+ MK(3,1, 124),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_factory2[] = {
+ _tile_table_factory2_0,
+ _tile_table_factory2_1,
+};
+
+static const IndustryTileTable _tile_table_farm2_0[] = {
+ MK(1,0, 33),
+ MK(1,1, 34),
+ MK(1,2, 36),
+ MK(0,0, 37),
+ MK(0,1, 37),
+ MK(0,2, 36),
+ MK(2,0, 35),
+ MK(2,1, 38),
+ MK(2,2, 38),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_farm2_1[] = {
+ MK(1,1, 33),
+ MK(1,2, 34),
+ MK(0,0, 35),
+ MK(0,1, 36),
+ MK(0,2, 36),
+ MK(0,3, 35),
+ MK(1,0, 37),
+ MK(1,3, 38),
+ MK(2,0, 37),
+ MK(2,1, 37),
+ MK(2,2, 38),
+ MK(2,3, 38),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_farm2_2[] = {
+ MK(2,0, 33),
+ MK(2,1, 34),
+ MK(0,0, 36),
+ MK(0,1, 36),
+ MK(0,2, 37),
+ MK(0,3, 37),
+ MK(1,0, 35),
+ MK(1,1, 38),
+ MK(1,2, 38),
+ MK(1,3, 37),
+ MK(2,2, 37),
+ MK(2,3, 35),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_farm2[] = {
+ _tile_table_farm2_0,
+ _tile_table_farm2_1,
+ _tile_table_farm2_2,
+};
+
+static const IndustryTileTable _tile_table_lumber_mill_0[] = {
+ MK(0,0, 125),
+ MK(0,1, 126),
+ MK(1,0, 127),
+ MK(1,1, 128),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_lumber_mill[] = {
+ _tile_table_lumber_mill_0,
+};
+
+static const IndustryTileTable _tile_table_cotton_candy_0[] = {
+ MK(0,0, 129),
+ MK(0,1, 129),
+ MK(0,2, 129),
+ MK(0,3, 129),
+ MK(1,0, 129),
+ MK(1,1, 129),
+ MK(1,2, 129),
+ MK(1,3, 129),
+ MK(2,0, 129),
+ MK(2,1, 129),
+ MK(2,2, 129),
+ MK(2,3, 129),
+ MK(3,0, 129),
+ MK(3,1, 129),
+ MK(3,2, 129),
+ MK(3,3, 129),
+ MK(1,4, 129),
+ MK(2,4, 129),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_cotton_candy_1[] = {
+ MK(0,0, 129),
+ MK(1,0, 129),
+ MK(2,0, 129),
+ MK(3,0, 129),
+ MK(4,0, 129),
+ MK(0,1, 129),
+ MK(1,1, 129),
+ MK(2,1, 129),
+ MK(3,1, 129),
+ MK(4,1, 129),
+ MK(0,2, 129),
+ MK(1,2, 129),
+ MK(2,2, 129),
+ MK(3,2, 129),
+ MK(4,2, 129),
+ MK(0,3, 129),
+ MK(1,3, 129),
+ MK(2,3, 129),
+ MK(3,3, 129),
+ MK(4,3, 129),
+ MK(1,4, 129),
+ MK(2,4, 129),
+ MK(3,4, 129),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_cotton_candy[] = {
+ _tile_table_cotton_candy_0,
+ _tile_table_cotton_candy_1,
+};
+
+static const IndustryTileTable _tile_table_candy_factory_0[] = {
+ MK(0,0, 131),
+ MK(0,1, 132),
+ MK(1,0, 133),
+ MK(1,1, 134),
+ MK(0,2, 131),
+ MK(0,3, 132),
+ MK(1,2, 133),
+ MK(1,3, 134),
+ MK(2,1, 131),
+ MK(2,2, 132),
+ MK(3,1, 133),
+ MK(3,2, 134),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_candy_factory_1[] = {
+ MK(0,0, 131),
+ MK(0,1, 132),
+ MK(1,0, 133),
+ MK(1,1, 134),
+ MK(2,0, 131),
+ MK(2,1, 132),
+ MK(3,0, 133),
+ MK(3,1, 134),
+ MK(1,2, 131),
+ MK(1,3, 132),
+ MK(2,2, 133),
+ MK(2,3, 134),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_candy_factory[] = {
+ _tile_table_candy_factory_0,
+ _tile_table_candy_factory_1,
+};
+
+static const IndustryTileTable _tile_table_battery_farm_0[] = {
+ MK(0,0, 135),
+ MK(0,1, 135),
+ MK(0,2, 135),
+ MK(0,3, 135),
+ MK(1,0, 135),
+ MK(1,1, 135),
+ MK(1,2, 135),
+ MK(1,3, 135),
+ MK(2,0, 135),
+ MK(2,1, 135),
+ MK(2,2, 135),
+ MK(2,3, 135),
+ MK(3,0, 135),
+ MK(3,1, 135),
+ MK(3,2, 135),
+ MK(3,3, 135),
+ MK(4,0, 135),
+ MK(4,1, 135),
+ MK(4,2, 135),
+ MK(4,3, 135),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_battery_farm[] = {
+ _tile_table_battery_farm_0,
+};
+
+static const IndustryTileTable _tile_table_cola_wells_0[] = {
+ MK(0,0, 137),
+ MK(0,1, 137),
+ MK(0,2, 137),
+ MK(1,0, 137),
+ MK(1,1, 137),
+ MK(1,2, 137),
+ MK(2,1, 137),
+ MK(2,2, 137),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_cola_wells_1[] = {
+ MK(0,1, 137),
+ MK(0,2, 137),
+ MK(0,3, 137),
+ MK(1,0, 137),
+ MK(1,1, 137),
+ MK(1,2, 137),
+ MK(2,1, 137),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_cola_wells[] = {
+ _tile_table_cola_wells_0,
+ _tile_table_cola_wells_1,
+};
+
+static const IndustryTileTable _tile_table_toy_shop_0[] = {
+ MK(0,0, 138),
+ MK(0,1, 139),
+ MK(1,0, 140),
+ MK(1,1, 141),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_toy_shop[] = {
+ _tile_table_toy_shop_0,
+};
+
+static const IndustryTileTable _tile_table_toy_factory_0[] = {
+ MK(0,0, 147),
+ MK(0,1, 142),
+ MK(1,0, 147),
+ MK(1,1, 143),
+ MK(2,0, 147),
+ MK(2,1, 144),
+ MK(3,0, 146),
+ MK(3,1, 145),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_toy_factory[] = {
+ _tile_table_toy_factory_0,
+};
+
+static const IndustryTileTable _tile_table_plastic_fountain_0[] = {
+ MK(0,0, 148),
+ MK(0,1, 151),
+ MK(0,2, 154),
+ MKEND
+};
+
+static const IndustryTileTable _tile_table_plastic_fountain_1[] = {
+ MK(0,0, 148),
+ MK(1,0, 151),
+ MK(2,0, 154),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_plastic_fountain[] = {
+ _tile_table_plastic_fountain_0,
+ _tile_table_plastic_fountain_1,
+};
+
+static const IndustryTileTable _tile_table_fizzy_drink_0[] = {
+ MK(0,0, 156),
+ MK(0,1, 157),
+ MK(1,0, 158),
+ MK(1,1, 159),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_fizzy_drink[] = {
+ _tile_table_fizzy_drink_0,
+};
+
+static const IndustryTileTable _tile_table_bubble_generator_0[] = {
+ MK(0,0, 163),
+ MK(0,1, 160),
+ MK(1,0, 163),
+ MK(1,1, 161),
+ MK(2,0, 163),
+ MK(2,1, 162),
+ MK(0,2, 163),
+ MK(0,3, 160),
+ MK(1,2, 163),
+ MK(1,3, 161),
+ MK(2,2, 163),
+ MK(2,3, 162),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_bubble_generator[] = {
+ _tile_table_bubble_generator_0,
+};
+
+static const IndustryTileTable _tile_table_toffee_quarry_0[] = {
+ MK(0,0, 164),
+ MK(1,0, 165),
+ MK(2,0, 166),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_toffee_quarry[] = {
+ _tile_table_toffee_quarry_0,
+};
+
+static const IndustryTileTable _tile_table_sugar_mine_0[] = {
+ MK(0,0, 167),
+ MK(0,1, 168),
+ MK(1,0, 169),
+ MK(1,1, 170),
+ MK(2,0, 171),
+ MK(2,1, 172),
+ MK(3,0, 173),
+ MK(3,1, 174),
+ MKEND
+};
+
+static const IndustryTileTable * const _tile_table_sugar_mine[] = {
+ _tile_table_sugar_mine_0,
+};
+
+#undef MK
+#undef MKEND
+
+#define MK(tbl, a,b,c, p1,p2, r1,r2, a1,a2,a3, proc) {tbl,lengthof(tbl),a,b,c,{p1,p2},{r1,r2},{a1,a2,a3},proc}
+
+static const IndustrySpec _industry_spec[37] = {
+/* name not close to produce prodrate accepts checkproc */
+ MK(_tile_table_coal_mine, 1,255,255, 1,255, 15, 0, 255,255,255, 0),
+ MK(_tile_table_power_station, 0,255,255, 255,255, 0, 0, 1,255,255, 0),
+ MK(_tile_table_sawmill, 3,255,255, 5,255, 0, 0, 7,255,255, 0),
+ MK(_tile_table_forest, 2, 14,255, 7,255, 13, 0, 255,255,255, 1),
+ MK(_tile_table_oil_refinery, 5,255,255, 5,255, 0, 0, 3,255,255, 2),
+ MK(_tile_table_oil_rig, 4,255,255, 3, 0, 15, 2, 255,255,255, 2),
+ MK(_tile_table_factory, 9, 8,255, 5,255, 0, 0, 4, 6, 9, 0),
+ MK(_tile_table_printing_works, 14,255,255, 5,255, 0, 0, 9,255,255, 0),
+ MK(_tile_table_steel_mill, 18, 6,255, 9,255, 0, 0, 8,255,255, 0),
+ MK(_tile_table_farm, 6, 13,255, 6, 4, 10,10, 255,255,255, 3),
+ MK(_tile_table_copper_mine, 23,255,255, 8,255, 10, 0, 255,255,255, 0),
+ MK(_tile_table_oil_well, 4,255,255, 3,255, 12, 0, 255,255,255, 0),
+ MK(_tile_table_bank, 12,255,255, 10,255, 6, 0, 10,255,255, 0),
+ MK(_tile_table_food_process, 9, 19, 24, 11,255, 0, 0, 4, 6,255, 0),
+ MK(_tile_table_paper_mill, 3, 7,255, 9,255, 0, 0, 7,255,255, 0),
+ MK(_tile_table_gold_mine, 16,255,255, 10,255, 7, 0, 255,255,255, 0),
+ MK(_tile_table_bank2, 15, 17,255, 255,255, 0, 0, 10,255,255, 0),
+ MK(_tile_table_diamond_mine, 16,255,255, 10,255, 7, 0, 255,255,255, 0),
+ MK(_tile_table_iron_mine, 8,255,255, 8,255, 10, 0, 255,255,255, 0),
+ MK(_tile_table_fruit_plantation, 13,255,255, 4,255, 10, 0, 255,255,255, 4),
+ MK(_tile_table_rubber_plantation,23,255,255, 1,255, 10, 0, 255,255,255, 4),
+ MK(_tile_table_water_supply, 22,255,255, 9,255, 12, 0, 255,255,255, 5),
+ MK(_tile_table_water_tower, 21,255,255, 255,255, 0, 0, 9,255,255, 5),
+ MK(_tile_table_factory2, 10, 20, 25, 5,255, 0, 0, 1, 8, 7, 4),
+ MK(_tile_table_farm2, 13,255,255, 6,255, 11, 0, 255,255,255, 4),
+ MK(_tile_table_lumber_mill, 23,255,255, 7,255, 0, 0, 255,255,255, 6),
+ MK(_tile_table_cotton_candy, 27,255,255, 8,255, 13, 0, 255,255,255, 0),
+ MK(_tile_table_candy_factory, 26, 35, 36, 5,255, 0, 0, 1, 6, 8, 0),
+ MK(_tile_table_battery_farm, 31,255,255, 4,255, 11, 0, 255,255,255, 0),
+ MK(_tile_table_cola_wells, 33,255,255, 7,255, 12, 0, 255,255,255, 0),
+ MK(_tile_table_toy_shop, 31,255,255, 255,255, 0, 0, 3,255,255, 0),
+ MK(_tile_table_toy_factory, 30, 28, 32, 3,255, 0, 0, 10, 4,255, 0),
+ MK(_tile_table_plastic_fountain, 31,255,255, 10,255, 14, 0, 255,255,255, 0),
+ MK(_tile_table_fizzy_drink, 29, 34,255, 11,255, 0, 0, 7, 9,255, 0),
+ MK(_tile_table_bubble_generator, 33,255,255, 9,255, 13, 0, 255,255,255, 7),
+ MK(_tile_table_toffee_quarry, 27,255,255, 6,255, 10, 0, 255,255,255, 0),
+ MK(_tile_table_sugar_mine, 27,255,255, 1,255, 11, 0, 255,255,255, 0),
+};
+#undef MK
+
+const byte _industry_type_costs[37] = {
+ 210, 30, 28, 200, 31, 240, 26, 26, 27, 250, 205, 220, 193, 26,
+ 28, 208, 19, 213, 220, 225, 218, 199, 14, 26, 250, 17, 195, 26,
+ 187, 193, 17, 20, 192, 22, 203, 213, 210
+};
+
+
+static const byte _industry_create_table_0[] = {
+ 4, 4,
+ 5, 3,
+ 5, 2,
+ 8, 0,
+ 5, 1,
+ 4, 11,
+ 5, 18,
+ 9, 9,
+ 5, 8,
+ 5, 6,
+ 0
+};
+
+static const byte _industry_create_table_1[] = {
+ 4, 4,
+ 5, 3,
+ 5, 14,
+ 8, 0,
+ 5, 1,
+ 5, 11,
+ 5, 13,
+ 9, 9,
+ 4, 15,
+ 5, 7,
+ 6, 16,
+ 0
+};
+
+static const byte _industry_create_table_2[] = {
+ 4, 4,
+ 5, 11,
+ 5, 16,
+ 4, 13,
+ 4, 17,
+ 4, 10,
+ 4, 19,
+ 4, 20,
+ 4, 21,
+ 8, 22,
+ 4, 13,
+ 4, 23,
+ 2, 24,
+ 0
+};
+
+static const byte _industry_create_table_3[] = {
+ 5, 26,
+ 5, 27,
+ 4, 28,
+ 5, 29,
+ 4, 30,
+ 5, 31,
+ 5, 32,
+ 4, 33,
+ 5, 34,
+ 5, 35,
+ 4, 36,
+ 0
+};
+
+static const byte * const _industry_create_table[4] = {
+ _industry_create_table_0,
+ _industry_create_table_1,
+ _industry_create_table_2,
+ _industry_create_table_3,
+};
+
+
+static const int8 _industry_map5_accepts_1[] = {
+ -1, -1, -1, 0, -1, -1, -1, -1,
+ 0, -1, -1, 0, 0, 0, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 0,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 0, 0, -1, -1, -1, -1, 6,
+ 6, 6, 6, -1, -1, -1, -1, -1,
+ -1, -1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 6, 6, 6, 6,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 8, 8, 8, 8, -1, -1, -1,
+ -1, -1, -1, 8, 8, 8, 8, -1,
+ -1, -1, -1, -1, -1, -1, 4, 4,
+ 4, 4, 4, 4, -1, -1, -1, -1,
+ -1, -1, -1, -1, 9, 9, 9, 9,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1,
+};
+
+
+static const int8 _industry_map5_accepts_2[] = {
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 9,
+ 9, 9, 9, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 7, 7, 7, 7, -1, -1, -1,
+ -1, -1, -1, 6, 6, 6, 6, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1,
+};
+
+static const int8 _industry_map5_accepts_3[] = {
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ 1, -1, -1, -1, -1, 7, -1, -1,
+ -1, -1, -1, -1, 3, -1, -1, -1,
+ 0, 2, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 4,
+ 4, 4, 4, 9, 9, 9, 9, -1,
+ -1, -1, -1, -1, 8, 8, 8, 8,
+ 8, 8, 10, 10, 4, 4, 4, 4,
+ 7, 7, 7, 7, 7, 7, 7, 7,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 10, 10, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ 9, 1, 1, 1, 1, -1, -1, -1,
+ -1, -1, -1, 1, 1, 1, 1, -1,
+ -1, -1, 3, 3, 3, 3, 10, 10,
+ 10, 10, 10, 10, -1, -1, -1, -1,
+ -1, -1, -1, -1, 7, 7, 7, 7,
+ -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1,
+};
diff --git a/table/clear_land.h b/table/clear_land.h
new file mode 100644
index 000000000..e441639ff
--- /dev/null
+++ b/table/clear_land.h
@@ -0,0 +1,61 @@
+static const SpriteID _landscape_clear_sprites[8] = {
+ 0xFA0,
+ 0xFB3,
+ 0xFB4,
+ 0xFB5,
+ 0xFB6,
+ 0xFA0,
+ 0xFB3,
+ 0xFB4,
+};
+
+static const byte _fence_mod_by_tileh[32] = {
+ 0,2,4,0,0,2,4,0,
+ 0,2,4,0,0,2,4,0,
+ 0,2,4,0,0,2,4,4,
+ 0,2,4,2,0,2,4,0,
+};
+
+static const byte _fence_mod_by_tileh_2[32] = {
+ 1,1,5,5,3,3,1,1,
+ 1,1,5,5,3,3,1,1,
+ 1,1,5,5,3,3,1,5,
+ 1,1,5,5,3,3,3,1,
+};
+
+
+static const SpriteID _clear_land_fence_sprites_1[7] = {
+ 0xFFA,
+ 0x1000,
+ 0x1006,
+ 0x100C,
+ 0x1012,
+ 0x1018,
+};
+
+static const SpriteID _clear_land_sprites_1[16] = {
+ 0x101E,
+ 0x1031,
+ 0x1044,
+ 0x1057,
+ 0x106A,
+ 0x107D,
+ 0x1090,
+ 0x10A3,
+ 0x10B6,
+};
+
+static const SpriteID _clear_land_sprites_2[8] = {
+ 0x118D,
+ 0x11A0,
+ 0x11B3,
+ 0x11C6,
+};
+
+static const SpriteID _clear_land_sprites_3[8] = {
+ 0x118D,
+ 0x11A0,
+ 0x11B3,
+ 0x11C6,
+};
+
diff --git a/table/engines.h b/table/engines.h
new file mode 100644
index 000000000..70339af35
--- /dev/null
+++ b/table/engines.h
@@ -0,0 +1,404 @@
+#define MK(a,b,c,d,e,f) {a,b,c,d,((e)<<4)|(f)}
+#define MW(a,b,c,d,e,f) {a,b|0x80,c,d,((e)<<4)|(f)}
+
+EngineInfo _engine_info[TOTAL_NUM_ENGINES] = {
+ MK( 4809, 20, 15, 30, 0, 1), /* 0 */
+ MK( 12784, 20, 22, 30, 0, 6), /* 1 */
+ MK( 9497, 20, 20, 50, 0, 8), /* 2 */
+ MK( 11688, 20, 20, 30, 0, 8), /* 3 */
+ MK( 16802, 20, 20, 30, 0, 8), /* 4 */
+ MK( 18993, 20, 20, 30, 0, 8), /* 5 */
+ MK( 20820, 20, 20, 30, 0, 8), /* 6 */
+ MK( 8766, 20, 20, 30, 0, 6), /* 7 */
+ MK( 5114, 20, 21, 30, 0, 1), /* 8 */
+ MK( 5479, 20, 20, 30, 0, 1), /* 9 */
+ MK( 12419, 20, 23, 25, 0, 1), /* 10 */
+ MK( 13149, 20, 12, 30, 0, 1), /* 11 */
+ MK( 23376, 20, 15, 35, 0, 1), /* 12 */
+ MK( 14976, 20, 18, 28, 0, 1), /* 13 */
+ MK( 14245, 20, 20, 30, 0, 1), /* 14 */
+ MK( 15341, 20, 22, 33, 0, 1), /* 15 */
+ MK( 14976, 20, 20, 25, 0, 6), /* 16 */
+ MK( 16437, 20, 20, 30, 0, 6), /* 17 */
+ MK( 18993, 20, 22, 30, 0, 6), /* 18 */
+ MK( 13880, 20, 22, 30, 0, 6), /* 19 */
+ MK( 20454, 20, 22, 30, 0, 6), /* 20 */
+ MK( 16071, 20, 22, 30, 0, 6), /* 21 */
+ MK( 20820, 20, 20, 25, 0, 1), /* 22 */
+ MK( 16437, 20, 23, 30, 0, 1), /* 23 */
+ MK( 19359, 20, 23, 80, 0, 1), /* 24 */
+ MK( 23376, 20, 25, 30, 0, 1), /* 25 */
+ MK( 26298, 20, 25, 50, 0, 1), /* 26 */
+ MW( 1827, 20, 20, 50, 0, 15), /* 27 */
+ MW( 1827, 20, 20, 50, 0, 15), /* 28 */
+ MW( 1827, 20, 20, 50, 0, 3), /* 29 */
+ MW( 1827, 20, 20, 50, 0, 7), /* 30 */
+ MW( 1827, 20, 20, 50, 0, 3), /* 31 */
+ MW( 1827, 20, 20, 50, 0, 7), /* 32 */
+ MW( 1827, 20, 20, 50, 0, 7), /* 33 */
+ MW( 1827, 20, 20, 50, 0, 7), /* 34 */
+ MW( 1827, 20, 20, 50, 0, 1), /* 35 */
+ MW( 1827, 20, 20, 50, 0, 1), /* 36 */
+ MW( 1827, 20, 20, 50, 0, 7), /* 37 */
+ MW( 1827, 20, 20, 50, 0, 6), /* 38 */
+ MW( 1827, 20, 20, 50, 0, 2), /* 39 */
+ MW( 1827, 20, 20, 50, 0, 4), /* 40 */
+ MW( 1827, 20, 20, 50, 0, 4), /* 41 */
+ MW( 1827, 20, 20, 50, 0, 4), /* 42 */
+ MW( 1827, 20, 20, 50, 0, 4), /* 43 */
+ MW( 1827, 20, 20, 50, 0, 8), /* 44 */
+ MW( 1827, 20, 20, 50, 0, 8), /* 45 */
+ MW( 1827, 20, 20, 50, 0, 8), /* 46 */
+ MW( 1827, 20, 20, 50, 0, 8), /* 47 */
+ MW( 1827, 20, 20, 50, 0, 8), /* 48 */
+ MW( 1827, 20, 20, 50, 0, 8), /* 49 */
+ MW( 1827, 20, 20, 50, 0, 8), /* 50 */
+ MW( 1827, 20, 20, 50, 0, 8), /* 51 */
+ MW( 1827, 20, 20, 50, 0, 8), /* 52 */
+ MW( 1827, 20, 20, 50, 0, 8), /* 53 */
+ MK( 28490, 20, 20, 50, 1, 7), /* 54 */
+ MK( 31047, 20, 20, 50, 1, 7), /* 55 */
+ MK( 28855, 20, 20, 50, 1, 8), /* 56 */
+ MW( 1827, 20, 20, 50, 1, 15), /* 57 */
+ MW( 1827, 20, 20, 50, 1, 15), /* 58 */
+ MW( 1827, 20, 20, 50, 1, 3), /* 59 */
+ MW( 1827, 20, 20, 50, 1, 7), /* 60 */
+ MW( 1827, 20, 20, 50, 1, 3), /* 61 */
+ MW( 1827, 20, 20, 50, 1, 7), /* 62 */
+ MW( 1827, 20, 20, 50, 1, 7), /* 63 */
+ MW( 1827, 20, 20, 50, 1, 7), /* 64 */
+ MW( 1827, 20, 20, 50, 1, 1), /* 65 */
+ MW( 1827, 20, 20, 50, 1, 1), /* 66 */
+ MW( 1827, 20, 20, 50, 1, 7), /* 67 */
+ MW( 1827, 20, 20, 50, 1, 6), /* 68 */
+ MW( 1827, 20, 20, 50, 1, 2), /* 69 */
+ MW( 1827, 20, 20, 50, 1, 4), /* 70 */
+ MW( 1827, 20, 20, 50, 1, 4), /* 71 */
+ MW( 1827, 20, 20, 50, 1, 4), /* 72 */
+ MW( 1827, 20, 20, 50, 1, 4), /* 73 */
+ MW( 1827, 20, 20, 50, 1, 8), /* 74 */
+ MW( 1827, 20, 20, 50, 1, 8), /* 75 */
+ MW( 1827, 20, 20, 50, 1, 8), /* 76 */
+ MW( 1827, 20, 20, 50, 1, 8), /* 77 */
+ MW( 1827, 20, 20, 50, 1, 8), /* 78 */
+ MW( 1827, 20, 20, 50, 1, 8), /* 79 */
+ MW( 1827, 20, 20, 50, 1, 8), /* 80 */
+ MW( 1827, 20, 20, 50, 1, 8), /* 81 */
+ MW( 1827, 20, 20, 50, 1, 8), /* 82 */
+ MW( 1827, 20, 20, 50, 1, 8), /* 83 */
+ MK( 36525, 20, 20, 50, 2, 7), /* 84 */
+ MK( 39447, 20, 20, 50, 2, 7), /* 85 */
+ MK( 42004, 20, 20, 50, 2, 7), /* 86 */
+ MK( 42735, 20, 20, 50, 2, 7), /* 87 */
+ MK( 36891, 20, 20, 60, 2, 8), /* 88 */
+ MW( 1827, 20, 20, 50, 2, 15), /* 89 */
+ MW( 1827, 20, 20, 50, 2, 15), /* 90 */
+ MW( 1827, 20, 20, 50, 2, 3), /* 91 */
+ MW( 1827, 20, 20, 50, 2, 7), /* 92 */
+ MW( 1827, 20, 20, 50, 2, 3), /* 93 */
+ MW( 1827, 20, 20, 50, 2, 7), /* 94 */
+ MW( 1827, 20, 20, 50, 2, 7), /* 95 */
+ MW( 1827, 20, 20, 50, 2, 7), /* 96 */
+ MW( 1827, 20, 20, 50, 2, 1), /* 97 */
+ MW( 1827, 20, 20, 50, 2, 1), /* 98 */
+ MW( 1827, 20, 20, 50, 2, 7), /* 99 */
+ MW( 1827, 20, 20, 50, 2, 6), /* 100 */
+ MW( 1827, 20, 20, 50, 2, 2), /* 101 */
+ MW( 1827, 20, 20, 50, 2, 4), /* 102 */
+ MW( 1827, 20, 20, 50, 2, 4), /* 103 */
+ MW( 1827, 20, 20, 50, 2, 4), /* 104 */
+ MW( 1827, 20, 20, 50, 2, 4), /* 105 */
+ MW( 1827, 20, 20, 50, 2, 8), /* 106 */
+ MW( 1827, 20, 20, 50, 2, 8), /* 107 */
+ MW( 1827, 20, 20, 50, 2, 8), /* 108 */
+ MW( 1827, 20, 20, 50, 2, 8), /* 109 */
+ MW( 1827, 20, 20, 50, 2, 8), /* 110 */
+ MW( 1827, 20, 20, 50, 2, 8), /* 111 */
+ MW( 1827, 20, 20, 50, 2, 8), /* 112 */
+ MW( 1827, 20, 20, 50, 2, 8), /* 113 */
+ MW( 1827, 20, 20, 50, 2, 8), /* 114 */
+ MW( 1827, 20, 20, 50, 2, 8), /* 115 */
+ MK( 3378, 20, 12, 40, 0, 7), /* 116 */
+ MK( 16071, 20, 15, 30, 0, 7), /* 117 */
+ MK( 24107, 20, 15, 40, 0, 7), /* 118 */
+ MK( 32142, 20, 15, 80, 0, 7), /* 119 */
+ MK( 9132, 20, 15, 40, 0, 8), /* 120 */
+ MK( 18993, 20, 15, 40, 0, 8), /* 121 */
+ MK( 32873, 20, 15, 80, 0, 8), /* 122 */
+ MK( 5479, 20, 15, 55, 0, 3), /* 123 */
+ MK( 20089, 20, 15, 55, 0, 3), /* 124 */
+ MK( 33969, 20, 15, 85, 0, 3), /* 125 */
+ MK( 5479, 20, 15, 55, 0, 7), /* 126 */
+ MK( 21550, 20, 15, 55, 0, 7), /* 127 */
+ MK( 35795, 20, 15, 85, 0, 7), /* 128 */
+ MK( 5479, 20, 15, 55, 0, 8), /* 129 */
+ MK( 21550, 20, 15, 55, 0, 8), /* 130 */
+ MK( 35795, 20, 15, 85, 0, 8), /* 131 */
+ MK( 5479, 20, 15, 55, 0, 7), /* 132 */
+ MK( 19359, 20, 15, 55, 0, 7), /* 133 */
+ MK( 31047, 20, 15, 85, 0, 7), /* 134 */
+ MK( 5479, 20, 15, 55, 0, 3), /* 135 */
+ MK( 21915, 20, 15, 55, 0, 3), /* 136 */
+ MK( 37256, 20, 15, 85, 0, 3), /* 137 */
+ MK( 5479, 20, 15, 55, 0, 7), /* 138 */
+ MK( 19724, 20, 15, 55, 0, 7), /* 139 */
+ MK( 31047, 20, 15, 85, 0, 7), /* 140 */
+ MK( 5479, 20, 15, 55, 0, 7), /* 141 */
+ MK( 21185, 20, 15, 55, 0, 7), /* 142 */
+ MK( 32873, 20, 15, 85, 0, 7), /* 143 */
+ MK( 5479, 20, 15, 55, 0, 7), /* 144 */
+ MK( 19724, 20, 15, 55, 0, 7), /* 145 */
+ MK( 35430, 20, 15, 85, 0, 7), /* 146 */
+ MK( 5479, 20, 15, 55, 0, 1), /* 147 */
+ MK( 20820, 20, 15, 55, 0, 1), /* 148 */
+ MK( 33238, 20, 15, 85, 0, 1), /* 149 */
+ MK( 5479, 20, 15, 55, 0, 1), /* 150 */
+ MK( 21185, 20, 15, 55, 0, 1), /* 151 */
+ MK( 31777, 20, 15, 85, 0, 1), /* 152 */
+ MK( 5479, 20, 15, 55, 0, 7), /* 153 */
+ MK( 22281, 20, 15, 55, 0, 7), /* 154 */
+ MK( 33603, 20, 15, 85, 0, 7), /* 155 */
+ MK( 5479, 20, 15, 55, 0, 6), /* 156 */
+ MK( 18628, 20, 15, 55, 0, 6), /* 157 */
+ MK( 30681, 20, 15, 85, 0, 6), /* 158 */
+ MK( 5479, 20, 15, 55, 0, 2), /* 159 */
+ MK( 21185, 20, 15, 55, 0, 2), /* 160 */
+ MK( 31777, 20, 15, 85, 0, 2), /* 161 */
+ MK( 5479, 20, 15, 55, 0, 4), /* 162 */
+ MK( 20820, 20, 15, 55, 0, 4), /* 163 */
+ MK( 33238, 20, 15, 85, 0, 4), /* 164 */
+ MK( 5479, 20, 15, 55, 0, 4), /* 165 */
+ MK( 20970, 20, 15, 55, 0, 4), /* 166 */
+ MK( 33388, 20, 15, 85, 0, 4), /* 167 */
+ MK( 5479, 20, 15, 55, 0, 4), /* 168 */
+ MK( 21335, 20, 15, 55, 0, 4), /* 169 */
+ MK( 33753, 20, 15, 85, 0, 4), /* 170 */
+ MK( 5479, 20, 15, 55, 0, 4), /* 171 */
+ MK( 20604, 20, 15, 55, 0, 4), /* 172 */
+ MK( 33023, 20, 15, 85, 0, 4), /* 173 */
+ MK( 5479, 20, 15, 55, 0, 8), /* 174 */
+ MK( 19724, 20, 15, 55, 0, 8), /* 175 */
+ MK( 33238, 20, 15, 85, 0, 8), /* 176 */
+ MK( 5479, 20, 15, 55, 0, 8), /* 177 */
+ MK( 20089, 20, 15, 55, 0, 8), /* 178 */
+ MK( 33603, 20, 15, 85, 0, 8), /* 179 */
+ MK( 5479, 20, 15, 55, 0, 8), /* 180 */
+ MK( 20454, 20, 15, 55, 0, 8), /* 181 */
+ MK( 33969, 20, 15, 85, 0, 8), /* 182 */
+ MK( 5479, 20, 15, 55, 0, 8), /* 183 */
+ MK( 20820, 20, 15, 55, 0, 8), /* 184 */
+ MK( 34334, 20, 15, 85, 0, 8), /* 185 */
+ MK( 5479, 20, 15, 55, 0, 8), /* 186 */
+ MK( 21185, 20, 15, 55, 0, 8), /* 187 */
+ MK( 34699, 20, 15, 85, 0, 8), /* 188 */
+ MK( 5479, 20, 15, 55, 0, 8), /* 189 */
+ MK( 21550, 20, 15, 55, 0, 8), /* 190 */
+ MK( 35064, 20, 15, 85, 0, 8), /* 191 */
+ MK( 5479, 20, 15, 55, 0, 8), /* 192 */
+ MK( 19874, 20, 15, 55, 0, 8), /* 193 */
+ MK( 35430, 20, 15, 85, 0, 8), /* 194 */
+ MK( 5479, 20, 15, 55, 0, 8), /* 195 */
+ MK( 20239, 20, 15, 55, 0, 8), /* 196 */
+ MK( 35795, 20, 15, 85, 0, 8), /* 197 */
+ MK( 5479, 20, 15, 55, 0, 8), /* 198 */
+ MK( 20604, 20, 15, 55, 0, 8), /* 199 */
+ MK( 32873, 20, 15, 85, 0, 8), /* 200 */
+ MK( 5479, 20, 15, 55, 0, 8), /* 201 */
+ MK( 20970, 20, 15, 55, 0, 8), /* 202 */
+ MK( 33023, 20, 15, 85, 0, 8), /* 203 */
+ MK( 2922, 5, 30, 50, 0, 7), /* 204 */
+ MK( 17167, 5, 30, 90, 0, 7), /* 205 */
+ MK( 2192, 5, 30, 55, 0, 7), /* 206 */
+ MK( 18628, 5, 30, 90, 0, 7), /* 207 */
+ MK( 17257, 10, 25, 90, 0, 7), /* 208 */
+ MK( 9587, 5, 30, 40, 0, 8), /* 209 */
+ MK( 20544, 5, 30, 90, 0, 8), /* 210 */
+ MK( 2557, 5, 30, 55, 0, 7), /* 211 */
+ MK( 19724, 5, 30, 98, 0, 7), /* 212 */
+ MK( 9587, 5, 30, 45, 0, 8), /* 213 */
+ MK( 22371, 5, 30, 90, 0, 8), /* 214 */
+ MK( 2922, 20, 20, 20, 0, 7), /* 215 */
+ MK( 9922, 20, 24, 20, 0, 7), /* 216 */
+ MK( 12659, 20, 18, 20, 0, 7), /* 217 */
+ MK( 17652, 20, 25, 35, 0, 7), /* 218 */
+ MK( 4929, 20, 30, 30, 0, 7), /* 219 */
+ MK( 13695, 20, 23, 25, 0, 7), /* 220 */
+ MK( 16341, 20, 26, 30, 0, 7), /* 221 */
+ MK( 21395, 20, 25, 30, 0, 7), /* 222 */
+ MK( 18263, 20, 20, 30, 0, 7), /* 223 */
+ MK( 25233, 20, 25, 30, 0, 7), /* 224 */
+ MK( 15371, 20, 22, 25, 0, 7), /* 225 */
+ MK( 15461, 20, 25, 25, 0, 7), /* 226 */
+ MK( 16952, 20, 22, 25, 0, 7), /* 227 */
+ MK( 17227, 20, 25, 30, 0, 7), /* 228 */
+ MK( 22371, 20, 25, 35, 0, 7), /* 229 */
+ MK( 22341, 20, 25, 30, 0, 7), /* 230 */
+ MK( 27209, 20, 25, 30, 0, 7), /* 231 */
+ MK( 17988, 20, 20, 30, 0, 7), /* 232 */
+ MK( 18993, 20, 24, 35, 0, 7), /* 233 */
+ MK( 22401, 20, 24, 30, 0, 7), /* 234 */
+ MK( 24472, 20, 24, 30, 0, 7), /* 235 */
+ MK( 26724, 20, 24, 30, 0, 7), /* 236 */
+ MK( 22005, 20, 25, 30, 0, 7), /* 237 */
+ MK( 24107, 20, 20, 35, 0, 7), /* 238 */
+ MK( 29310, 20, 25, 60, 0, 7), /* 239 */
+ MK( 35520, 20, 22, 30, 0, 7), /* 240 */
+ MK( 36981, 20, 22, 30, 0, 7), /* 241 */
+ MK( 38807, 20, 22, 50, 0, 7), /* 242 */
+ MK( 42094, 20, 25, 30, 0, 7), /* 243 */
+ MK( 44651, 20, 23, 30, 0, 7), /* 244 */
+ MK( 40268, 20, 25, 30, 0, 7), /* 245 */
+ MK( 33693, 20, 25, 50, 0, 7), /* 246 */
+ MK( 32963, 20, 20, 60, 0, 7), /* 247 */
+ MK( 9222, 20, 20, 35, 0, 8), /* 248 */
+ MK( 12874, 20, 20, 35, 0, 8), /* 249 */
+ MK( 16892, 20, 20, 35, 0, 8), /* 250 */
+ MK( 21275, 20, 20, 99, 0, 8), /* 251 */
+ MK( 23832, 20, 20, 99, 0, 8), /* 252 */
+ MK( 13575, 20, 20, 40, 0, 7), /* 253 */
+ MK( 28215, 20, 20, 30, 0, 7), /* 254 */
+ MK( 13575, 20, 20, 99, 0, 8), /* 255 */
+};
+
+RailVehicleInfo _rail_vehicle_info[] = {
+ // image_index max_speed (kph) running_cost_base
+ // | flags | power (hp)| running_cost_class
+ // | | base_cost | weight | capacity
+ // | | | | | | | | | cargo_type
+ // | | | | | | | | | |
+ { 2, 0, 7, 64, 300, 47, 50, 0, 0, 0}, /* 0 */
+ { 19, 0, 8, 80, 600, 65, 65, 1, 0, 0}, /* 1 */
+ { 2, 0, 10, 72, 400, 85, 90, 0, 0, 0}, /* 2 */
+ { 0, 0, 15, 96, 900, 130, 130, 0, 0, 0}, /* 3 */
+ { 1, 0, 19, 112, 1000, 140, 145, 0, 0, 0}, /* 4 */
+ { 12, 0, 16, 120, 1400, 95, 125, 1, 0, 0}, /* 5 */
+ { 14, 0, 20, 152, 2000, 120, 135, 1, 0, 0}, /* 6 */
+ { 3, 0, 14, 88, 1100, 145, 130, 0, 0, 0}, /* 7 */
+ { 0, 0, 13, 112, 1000, 131, 120, 0, 0, 0}, /* 8 */
+ { 1, 0, 19, 128, 1200, 162, 140, 0, 0, 0}, /* 9 */
+ { 0, 0, 22, 144, 1600, 170, 130, 0, 0, 0}, /* 10 */
+ { 8, 1, 11, 112, 600/2, 32,85/2, 1, 38, CT_PASSENGERS}, /* 11 */
+ { 10, 1, 14, 120, 700/2, 38,70/2, 1, 40, CT_PASSENGERS}, /* 12 */
+ { 4, 0, 15, 128, 1250, 72, 95, 1, 0, 0}, /* 13 */
+ { 5, 0, 17, 144, 1750, 101, 120, 1, 0, 0}, /* 14 */
+ { 4, 0, 18, 160, 2580, 112, 140, 1, 0, 0}, /* 15 */
+ { 14, 0, 23, 96, 4000, 150, 135, 1, 0, 0}, /* 16 */
+ { 12, 0, 16, 112, 2400, 120, 105, 1, 0, 0}, /* 17 */
+ { 13, 0, 30, 112, 6600, 207, 155, 1, 0, 0}, /* 18 */
+ { 15, 0, 18, 104, 1500, 110, 105, 1, 0, 0}, /* 19 */
+ { 16, 1, 35, 160,3500/2, 95, 205/2, 1, 0, 0}, /* 20 */
+ { 18, 0, 21, 104, 2200, 120, 145, 1, 0, 0}, /* 21 */
+ { 6, 1, 20, 200,4500/2, 70, 190/2, 1, 4, CT_MAIL}, /* 22 */
+ { 20, 0, 26, 160, 3600, 84, 180, 2, 0, 0}, /* 23 */
+ { 20, 0, 30, 176, 5000, 82, 205, 2, 0, 0}, /* 24 */
+ { 21, 1, 40, 240,7000/2, 90, 240/2, 2, 0, 0}, /* 25 */
+ { 23, 1, 43, 264,8000/2, 95, 250/2, 2, 0, 0}, /* 26 */
+ { 33, 2, 247, 0, 0, 25, 0, 0, 40, CT_PASSENGERS}, /* 27 */
+ { 35, 2, 228, 0, 0, 21, 0, 0, 30, CT_MAIL}, /* 28 */
+ { 34, 2, 176, 0, 0, 18, 0, 0, 30, CT_COAL}, /* 29 */
+ { 36, 2, 200, 0, 0, 24, 0, 0, 30, CT_OIL}, /* 30 */
+ { 37, 2, 192, 0, 0, 20, 0, 0, 25, CT_LIVESTOCK}, /* 31 */
+ { 38, 2, 190, 0, 0, 21, 0, 0, 25, CT_GOODS}, /* 32 */
+ { 39, 2, 182, 0, 0, 19, 0, 0, 30, CT_GRAIN}, /* 33 */
+ { 40, 2, 181, 0, 0, 16, 0, 0, 30, CT_WOOD}, /* 34 */
+ { 41, 2, 179, 0, 0, 19, 0, 0, 30, CT_IRON_ORE}, /* 35 */
+ { 42, 2, 196, 0, 0, 18, 0, 0, 20, CT_STEEL}, /* 36 */
+ { 43, 2, 255, 0, 0, 30, 0, 0, 20, CT_VALUABLES}, /* 37 */
+ { 44, 2, 191, 0, 0, 22, 0, 0, 25, CT_FOOD}, /* 38 */
+ { 45, 2, 196, 0, 0, 18, 0, 0, 20, CT_PAPER}, /* 39 */
+ { 46, 2, 179, 0, 0, 19, 0, 0, 30, CT_COPPER_ORE}, /* 40 */
+ { 47, 2, 199, 0, 0, 25, 0, 0, 25, CT_WATER}, /* 41 */
+ { 48, 2, 182, 0, 0, 18, 0, 0, 25, CT_FRUIT}, /* 42 */
+ { 49, 2, 185, 0, 0, 19, 0, 0, 21, CT_RUBBER}, /* 43 */
+ { 50, 2, 176, 0, 0, 19, 0, 0, 30, CT_SUGAR}, /* 44 */
+ { 51, 2, 178, 0, 0, 20, 0, 0, 30, CT_COTTON_CANDY}, /* 45 */
+ { 52, 2, 192, 0, 0, 20, 0, 0, 30, CT_TOFFEE}, /* 46 */
+ { 53, 2, 190, 0, 0, 21, 0, 0, 20, CT_BUBBLES}, /* 47 */
+ { 54, 2, 182, 0, 0, 24, 0, 0, 25, CT_COLA}, /* 48 */
+ { 55, 2, 181, 0, 0, 21, 0, 0, 25, CT_CANDY}, /* 49 */
+ { 56, 2, 183, 0, 0, 21, 0, 0, 20, CT_TOYS}, /* 50 */
+ { 57, 2, 196, 0, 0, 18, 0, 0, 22, CT_BATTERIES}, /* 51 */
+ { 58, 2, 193, 0, 0, 18, 0, 0, 25, CT_FIZZY_DRINKS}, /* 52 */
+ { 59, 2, 191, 0, 0, 18, 0, 0, 30, CT_PLASTIC}, /* 53 */
+ { 25, 0, 52, 304, 9000, 95, 230, 2, 0, 0}, /* 54 */
+ { 26, 1, 60, 336,10000/2, 85, 240/2, 2, 25, CT_PASSENGERS}, /* 55 */
+ { 26, 0, 53, 320, 5000, 95, 230, 2, 0, 0}, /* 56 */
+ { 60, 2, 247, 0, 0, 25, 0, 0, 45, CT_PASSENGERS}, /* 57 */
+ { 62, 2, 228, 0, 0, 21, 0, 0, 35, CT_MAIL}, /* 58 */
+ { 61, 2, 176, 0, 0, 18, 0, 0, 35, CT_COAL}, /* 59 */
+ { 63, 2, 200, 0, 0, 24, 0, 0, 35, CT_OIL}, /* 60 */
+ { 64, 2, 192, 0, 0, 20, 0, 0, 30, CT_LIVESTOCK}, /* 61 */
+ { 65, 2, 190, 0, 0, 21, 0, 0, 30, CT_GOODS}, /* 62 */
+ { 66, 2, 182, 0, 0, 19, 0, 0, 35, CT_GRAIN}, /* 63 */
+ { 67, 2, 181, 0, 0, 16, 0, 0, 35, CT_WOOD}, /* 64 */
+ { 68, 2, 179, 0, 0, 19, 0, 0, 35, CT_IRON_ORE}, /* 65 */
+ { 69, 2, 196, 0, 0, 18, 0, 0, 25, CT_STEEL}, /* 66 */
+ { 70, 2, 255, 0, 0, 30, 0, 0, 25, CT_VALUABLES}, /* 67 */
+ { 71, 2, 191, 0, 0, 22, 0, 0, 30, CT_FOOD}, /* 68 */
+ { 72, 2, 196, 0, 0, 18, 0, 0, 25, CT_PAPER}, /* 69 */
+ { 73, 2, 179, 0, 0, 19, 0, 0, 35, CT_COPPER_ORE}, /* 70 */
+ { 47, 2, 199, 0, 0, 25, 0, 0, 30, CT_WATER}, /* 71 */
+ { 48, 2, 182, 0, 0, 18, 0, 0, 30, CT_FRUIT}, /* 72 */
+ { 49, 2, 185, 0, 0, 19, 0, 0, 26, CT_RUBBER}, /* 73 */
+ { 50, 2, 176, 0, 0, 19, 0, 0, 35, CT_SUGAR}, /* 74 */
+ { 51, 2, 178, 0, 0, 20, 0, 0, 35, CT_COTTON_CANDY}, /* 75 */
+ { 52, 2, 192, 0, 0, 20, 0, 0, 35, CT_TOFFEE}, /* 76 */
+ { 53, 2, 190, 0, 0, 21, 0, 0, 25, CT_BUBBLES}, /* 77 */
+ { 54, 2, 182, 0, 0, 24, 0, 0, 30, CT_COLA}, /* 78 */
+ { 55, 2, 181, 0, 0, 21, 0, 0, 30, CT_CANDY}, /* 79 */
+ { 56, 2, 183, 0, 0, 21, 0, 0, 25, CT_TOYS}, /* 80 */
+ { 57, 2, 196, 0, 0, 18, 0, 0, 27, CT_BATTERIES}, /* 81 */
+ { 58, 2, 193, 0, 0, 18, 0, 0, 30, CT_FIZZY_DRINKS}, /* 82 */
+ { 59, 2, 191, 0, 0, 18, 0, 0, 35, CT_PLASTIC}, /* 83 */
+ { 28, 0, 70, 400, 10000, 105, 250, 2, 0, 0}, /* 84 */
+ { 29, 0, 74, 448, 12000, 120, 253, 2, 0, 0}, /* 85 */
+ { 30, 0, 82, 480, 15000, 130, 254, 2, 0, 0}, /* 86 */
+ { 31, 1, 95, 640,20000/2,150, 255/2, 2, 0, 0}, /* 87 */
+ { 28, 0, 70, 480, 10000, 120, 250, 2, 0, 0}, /* 88 */
+ { 60, 2, 247, 0, 0, 25, 0, 0, 47, CT_PASSENGERS}, /* 89 */
+ { 62, 2, 228, 0, 0, 21, 0, 0, 37, CT_MAIL}, /* 90 */
+ { 61, 2, 176, 0, 0, 18, 0, 0, 37, CT_COAL}, /* 91 */
+ { 63, 2, 200, 0, 0, 24, 0, 0, 37, CT_OIL}, /* 92 */
+ { 64, 2, 192, 0, 0, 20, 0, 0, 32, CT_LIVESTOCK}, /* 93 */
+ { 65, 2, 190, 0, 0, 21, 0, 0, 32, CT_GOODS}, /* 94 */
+ { 66, 2, 182, 0, 0, 19, 0, 0, 37, CT_GRAIN}, /* 95 */
+ { 67, 2, 181, 0, 0, 16, 0, 0, 37, CT_WOOD}, /* 96 */
+ { 68, 2, 179, 0, 0, 19, 0, 0, 37, CT_IRON_ORE}, /* 97 */
+ { 69, 2, 196, 0, 0, 18, 0, 0, 27, CT_STEEL}, /* 98 */
+ { 70, 2, 255, 0, 0, 30, 0, 0, 27, CT_VALUABLES}, /* 99 */
+ { 71, 2, 191, 0, 0, 22, 0, 0, 32, CT_FOOD}, /* 100 */
+ { 72, 2, 196, 0, 0, 18, 0, 0, 27, CT_PAPER}, /* 101 */
+ { 73, 2, 179, 0, 0, 19, 0, 0, 37, CT_COPPER_ORE}, /* 102 */
+ { 47, 2, 199, 0, 0, 25, 0, 0, 32, CT_WATER}, /* 103 */
+ { 48, 2, 182, 0, 0, 18, 0, 0, 32, CT_FRUIT}, /* 104 */
+ { 49, 2, 185, 0, 0, 19, 0, 0, 28, CT_RUBBER}, /* 105 */
+ { 50, 2, 176, 0, 0, 19, 0, 0, 37, CT_SUGAR}, /* 106 */
+ { 51, 2, 178, 0, 0, 20, 0, 0, 37, CT_COTTON_CANDY}, /* 107 */
+ { 52, 2, 192, 0, 0, 20, 0, 0, 37, CT_TOFFEE}, /* 108 */
+ { 53, 2, 190, 0, 0, 21, 0, 0, 27, CT_BUBBLES}, /* 109 */
+ { 54, 2, 182, 0, 0, 24, 0, 0, 32, CT_COLA}, /* 110 */
+ { 55, 2, 181, 0, 0, 21, 0, 0, 32, CT_CANDY}, /* 111 */
+ { 56, 2, 183, 0, 0, 21, 0, 0, 27, CT_TOYS}, /* 112 */
+ { 57, 2, 196, 0, 0, 18, 0, 0, 29, CT_BATTERIES}, /* 113 */
+ { 58, 2, 193, 0, 0, 18, 0, 0, 32, CT_FIZZY_DRINKS}, /* 114 */
+ { 59, 2, 191, 0, 0, 18, 0, 0, 37, CT_PLASTIC}, /* 115 */
+};
+
+
+ShipVehicleInfo _ship_vehicle_info[] = {
+ // image_index cargo_type cargo_amount refittable
+ // | base_cost | | running_cost
+ // | | max_speed | | sfx |
+ // | | | | | | | |
+ { 1, 160, 48, CT_OIL, 220, 140, 4, 0 }, /* 0 */
+ { 1, 176, 80, CT_OIL, 350, 125, 4, 0 }, /* 1 */
+ { 2, 96, 64, CT_PASSENGERS, 100, 90, 5, 0 }, /* 2 */
+ { 2, 112, 128, CT_PASSENGERS, 130, 80, 5, 0 }, /* 3 */
+ { 3, 148, 224, CT_PASSENGERS, 100, 190, 5, 0 }, /* 4 */
+ { 2, 96, 64, CT_PASSENGERS, 100, 90, 5, 0 }, /* 5 */
+ { 2, 112, 128, CT_PASSENGERS, 130, 80, 5, 0 }, /* 6 */
+ { 0, 128, 48, CT_GOODS, 160, 150, 4, 1 }, /* 7 */
+ { 0, 144, 80, CT_GOODS, 190, 113, 4, 1 }, /* 8 */
+ { 0, 128, 48, CT_GOODS, 160, 150, 4, 1 }, /* 9 */
+ { 0, 144, 80, CT_GOODS, 190, 113, 4, 1 }, /* 10 */
+};
diff --git a/table/genland.h b/table/genland.h
new file mode 100644
index 000000000..719e5e6b4
--- /dev/null
+++ b/table/genland.h
@@ -0,0 +1,159 @@
+#define M(x,y) TILE_XY(x,y)
+
+#define MDORD_LAST 99
+static const TileIndexDiff _make_desert_or_rainforest_data[150] = {
+ M(-5,-6),
+ M(-4,-6),
+ M(-3,-6),
+ M(-2,-6),
+ M(-1,-6),
+ M(0,-5),
+ M(1,-5),
+ M(2,-5),
+ M(3,-5),
+ M(4,-5),
+ M(5,-5),
+ M(-5,-5),
+ M(-4,-5),
+ M(-3,-5),
+ M(-2,-5),
+ M(-1,-5),
+ M(0,-4),
+ M(1,-4),
+ M(2,-4),
+ M(3,-4),
+ M(4,-4),
+ M(5,-4),
+ M(-5,-4),
+ M(-4,-4),
+ M(-3,-4),
+ M(-2,-4),
+ M(-1,-4),
+ M(0,-3),
+ M(1,-3),
+ M(2,-3),
+ M(3,-3),
+ M(4,-3),
+ M(5,-3),
+ M(-5,-3),
+ M(-4,-3),
+ M(-3,-3),
+ M(-2,-3),
+ M(-1,-3),
+ M(0,-2),
+ M(1,-2),
+ M(2,-2),
+ M(3,-2),
+ M(4,-2),
+ M(5,-2),
+ M(-5,-2),
+ M(-4,-2),
+ M(-3,-2),
+ M(-2,-2),
+ M(-1,-2),
+ M(0,-1),
+ M(1,-1),
+ M(2,-1),
+ M(3,-1),
+ M(4,-1),
+ M(5,-1),
+ M(-5,-1),
+ M(-4,-1),
+ M(-3,-1),
+ M(-2,-1),
+ M(-1,-1),
+ M(0,0),
+ M(1,0),
+ M(2,0),
+ M(3,0),
+ M(4,0),
+ M(5,0),
+ M(-5,0),
+ M(-4,0),
+ M(-3,0),
+ M(-2,0),
+ M(-1,0),
+ M(0,1),
+ M(1,1),
+ M(2,1),
+ M(3,1),
+ M(4,1),
+ M(5,1),
+ M(-5,1),
+ M(-4,1),
+ M(-3,1),
+ M(-2,1),
+ M(-1,1),
+ M(0,2),
+ M(1,2),
+ M(2,2),
+ M(3,2),
+ M(4,2),
+ M(5,2),
+ M(-5,2),
+ M(-4,2),
+ M(-3,2),
+ M(-2,2),
+ M(-1,2),
+ M(0,3),
+ M(1,3),
+ M(2,3),
+ M(3,3),
+ M(4,3),
+ M(5,3),
+ M(-5,3),
+ M(-4,3),
+ M(-3,3),
+ M(-2,3),
+ M(-1,3),
+ M(0,4),
+ M(1,4),
+ M(2,4),
+ M(3,4),
+ M(4,4),
+ M(5,4),
+ M(-5,4),
+ M(-4,4),
+ M(-3,4),
+ M(-2,4),
+ M(-1,4),
+ M(0,5),
+ M(1,5),
+ M(2,5),
+ M(3,5),
+ M(4,5),
+ M(5,5),
+ M(6,-3),
+ M(-6,-4),
+ M(-3,5),
+ M(-3,-7),
+ M(6,-2),
+ M(-6,-3),
+ M(-2,5),
+ M(-2,-7),
+ M(6,-1),
+ M(-6,-2),
+ M(-1,5),
+ M(-1,-7),
+ M(6,0),
+ M(-6,-1),
+ M(0,6),
+ M(0,-6),
+ M(6,1),
+ M(-6,0),
+ M(1,6),
+ M(1,-6),
+ M(6,2),
+ M(-6,1),
+ M(2,6),
+ M(2,-6),
+ M(6,3),
+ M(-6,2),
+ M(3,6),
+ M(3,-6),
+ MDORD_LAST,
+};
+
+
+
+#undef M
diff --git a/table/industry_land.h b/table/industry_land.h
new file mode 100644
index 000000000..e5f84eec5
--- /dev/null
+++ b/table/industry_land.h
@@ -0,0 +1,939 @@
+#define M(s1,s2,sx,sy,w,h,dz,p) {s1,s2,(sx<<4)|sy,((w-1)<<4)|(h-1),dz,p}
+
+static const DrawIndustryTileStruct _industry_draw_tile_data[700] = {
+ M( 0xf54, 0x7db, 7, 0, 9, 9, 10, 0),
+ M( 0xf54, 0x7dc, 7, 0, 9, 9, 30, 0),
+ M( 0xf54, 0x7dd, 7, 0, 9, 9, 30, 0),
+ M( 0x7e6, 0x7dd, 7, 0, 9, 9, 30, 0),
+ M( 0x7e6, 0x7dd, 7, 0, 9, 9, 30, 0),
+ M( 0x7e6, 0x7de, 7, 0, 9, 9, 30, 0),
+ M( 0x7e6, 0x7df, 7, 0, 9, 9, 30, 0),
+ M( 0x7e6, 0x7df, 7, 0, 9, 9, 30, 0),
+ M( 0xf54, 0x7e0, 1, 2, 15, 9, 30, 0),
+ M( 0xf54, 0x7e1, 1, 2, 15, 9, 30, 0),
+ M( 0xf54, 0x7e2, 1, 2, 15, 9, 30, 0),
+ M( 0x7e6, 0x7e2, 1, 2, 15, 9, 30, 0),
+ M( 0xf54, 0x7e3, 4, 4, 9, 9, 30, 0),
+ M( 0xf54, 0x7e4, 4, 4, 9, 9, 30, 0),
+ M( 0xf54, 0x7e5, 4, 4, 9, 9, 30, 0),
+ M( 0x7e6, 0x7e5, 4, 4, 9, 9, 30, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0x7e6, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0x7e9, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0x7e6, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0x7e7, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0x7e6, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0x7e8, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x7fd, 1, 1, 14, 14, 5, 0),
+ M( 0xf54, 0x7fe, 1, 1, 14, 14, 44, 0),
+ M( 0xf54, 0x7ff, 1, 1, 14, 14, 44, 0),
+ M( 0xf54, 0x7ff, 1, 1, 14, 14, 44, 0),
+ M( 0xf54, 0x800, 0, 2, 16, 12, 6, 0),
+ M( 0xf54, 0x801, 0, 2, 16, 12, 47, 0),
+ M( 0xf54, 0x802, 0, 2, 16, 12, 50, 0),
+ M( 0xf54, 0x802, 0, 2, 16, 12, 50, 0),
+ M( 0xf54, 0x803, 1, 0, 14, 15, 5, 0),
+ M( 0xf54, 0x804, 1, 0, 14, 15, 19, 0),
+ M( 0xf54, 0x805, 1, 0, 14, 15, 21, 0),
+ M( 0xf54, 0x805, 1, 0, 14, 15, 21, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x806, 1, 2, 14, 11, 32, 5),
+ M( 0xf54, 0x80d, 1, 0, 13, 16, 8, 0),
+ M( 0xf54, 0x80e, 1, 0, 13, 16, 20, 0),
+ M( 0xf54, 0x80f, 1, 0, 13, 16, 20, 0),
+ M( 0xf54, 0x80f, 1, 0, 13, 16, 20, 0),
+ M( 0xf54, 0x810, 0, 1, 16, 14, 8, 0),
+ M( 0xf54, 0x811, 0, 1, 16, 14, 21, 0),
+ M( 0xf54, 0x812, 0, 1, 16, 14, 21, 0),
+ M( 0xf54, 0x812, 0, 1, 16, 14, 21, 0),
+ M( 0xf54, 0x813, 1, 1, 14, 14, 12, 0),
+ M( 0xf54, 0x814, 1, 1, 14, 14, 15, 0),
+ M( 0xf54, 0x815, 1, 1, 14, 14, 22, 0),
+ M( 0xf54, 0x815, 1, 1, 14, 14, 22, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x816, 0, 0, 16, 15, 20, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xf54, 0x817, 0, 1, 16, 13, 19, 0),
+ M( 0x81d, 0x818, 0, 0, 16, 16, 10, 0),
+ M( 0x81d, 0x819, 0, 0, 16, 16, 15, 0),
+ M( 0x81d, 0x81a, 0, 0, 16, 16, 31, 0),
+ M( 0x81d, 0x81b, 0, 0, 16, 16, 39, 0),
+ 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( 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, 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),
+ M( 0x58c, 0x82f, 3, 1, 10, 13, 11, 0),
+ M( 0xfdd, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xfdd, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xfdd, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xfdd, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xfdd, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xfdd, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xfdd, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0xfdd, 0x833, 0, 0, 16, 16, 20, 0),
+ M( 0xfdd, 0x837, 0, 0, 16, 16, 20, 0),
+ M( 0xfdd, 0x834, 0, 0, 16, 16, 20, 0),
+ M( 0xfdd, 0x834, 0, 0, 16, 16, 20, 0),
+ M( 0xfdd, 0x830, 0, 0, 16, 16, 20, 0),
+ M( 0xfdd, 0x838, 0, 0, 16, 16, 20, 0),
+ M( 0xfdd, 0x835, 0, 0, 16, 16, 20, 0),
+ M( 0xfdd, 0x835, 0, 0, 16, 16, 20, 0),
+ M( 0xfdd, 0x831, 0, 0, 16, 16, 20, 0),
+ M( 0xfdd, 0x839, 0, 0, 16, 16, 20, 0),
+ M( 0xfdd, 0x836, 0, 0, 16, 16, 20, 0),
+ M( 0xfdd, 0x836, 0, 0, 16, 16, 20, 0),
+ M( 0xfdd, 0x832, 0, 0, 16, 16, 20, 0),
+ M( 0x7e6, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0x87d, 0x87e, 0, 0, 16, 16, 20, 0),
+ M( 0x87d, 0x87e, 0, 0, 16, 16, 20, 0),
+ M( 0x87d, 0x87e, 0, 0, 16, 16, 20, 0),
+ M( 0x87d, 0x87e, 0, 0, 16, 16, 20, 0),
+ M( 0x87d, 0x87f, 0, 0, 16, 16, 20, 0),
+ M( 0x87d, 0x880, 0, 0, 16, 16, 20, 0),
+ M( 0x87d, 0x881, 0, 0, 16, 16, 20, 0),
+ M( 0x87d, 0x882, 0, 0, 16, 16, 20, 0),
+ M( 0x87d, 0x883, 0, 0, 16, 16, 20, 0),
+ M( 0x87d, 0x883, 0, 0, 16, 16, 20, 0),
+ M( 0x87d, 0x882, 0, 0, 16, 16, 20, 0),
+ M( 0x87d, 0x881, 0, 0, 16, 16, 20, 0),
+ 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( 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( 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),
+ M( 0x840, 0x841, 0, 0, 16, 16, 18, 0),
+ M( 0x7e6, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0x842, 0x843, 0, 0, 16, 16, 30, 0),
+ M( 0x842, 0x843, 0, 0, 16, 16, 30, 0),
+ M( 0x842, 0x843, 0, 0, 16, 16, 30, 0),
+ M( 0x7e6, 0x0, 0, 0, 1, 1, 0, 0),
+ M( 0x844, 0x845, 0, 0, 16, 16, 16, 0),
+ M( 0x844, 0x845, 0, 0, 16, 16, 16, 0),
+ M( 0x844, 0x845, 0, 0, 16, 16, 16, 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( 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( 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( 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( 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),
+ M( 0x7e6, 0x7ec, 3, 2, 8, 8, 49, 0),
+ M( 0x7e6, 0x7ec, 3, 2, 8, 8, 49, 0),
+ M( 0x7e6, 0x7ed, 3, 2, 8, 8, 49, 0),
+ M( 0x7e6, 0x7ee, 3, 2, 8, 8, 49, 0),
+ M( 0x7e6, 0x7ee, 3, 2, 8, 8, 49, 0),
+ M( 0xf54, 0x7ef, 3, 2, 10, 7, 20, 0),
+ M( 0xf54, 0x7f0, 3, 2, 10, 7, 40, 0),
+ M( 0xf54, 0x7f1, 3, 2, 10, 7, 40, 0),
+ M( 0x7e6, 0x7f1, 3, 2, 10, 7, 40, 0),
+ M( 0xf54, 0x7f2, 4, 4, 7, 8, 22, 0),
+ M( 0xf54, 0x7f3, 4, 4, 7, 8, 22, 0),
+ M( 0xf54, 0x7f4, 4, 4, 7, 8, 22, 0),
+ M( 0x7e6, 0x7f4, 4, 4, 7, 8, 22, 0),
+ M( 0xf54, 0x7f5, 2, 1, 11, 13, 12, 0),
+ M( 0xf54, 0x7f6, 2, 1, 11, 13, 12, 0),
+ M( 0xf54, 0x7f7, 2, 1, 11, 13, 12, 0),
+ M( 0x7e6, 0x7f7, 2, 1, 11, 13, 12, 0),
+ 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( 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( 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( 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( 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( 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( 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),
+ M( 0x886, 0x884, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x885, 0, 0, 16, 16, 25, 0),
+ 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, 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),
+ M( 0x7e6, 0x89a, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8a6, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x89b, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x89c, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x89c, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x89d, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x89e, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x89f, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8a0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8a0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x89f, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8a0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8a1, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8a2, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8a3, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8a4, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8a2, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8a3, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8a5, 0, 0, 16, 16, 25, 0),
+ M( 0x8a7, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8b7, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8b7, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8c7, 0, 0, 16, 16, 25, 0),
+ M( 0x8a8, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8b8, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8b8, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c8, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8a9, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8b9, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8b9, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8c9, 0, 0, 16, 16, 25, 0),
+ M( 0x8aa, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8ba, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8ba, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8ca, 0, 0, 16, 16, 25, 0),
+ M( 0x8ab, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8bb, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8bb, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8cb, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8ac, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8bc, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8bc, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8cc, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8ad, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8bd, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8bd, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8cd, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8ae, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8be, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8be, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8ce, 0x8d7, 0, 0, 16, 16, 35, 0),
+ M( 0x8af, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8bf, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8bf, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8cf, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8b0, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c0, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c0, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8d0, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8b1, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c1, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c1, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8d1, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8b2, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c2, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c2, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8d2, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8b3, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c3, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c3, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8d3, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8b4, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c4, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c4, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8d4, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8b5, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c5, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c5, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8d5, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8b6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8c6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8d6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8ce, 0x8d7, 0, 0, 16, 16, 35, 0),
+ M( 0x8ce, 0x8d8, 0, 0, 16, 16, 35, 0),
+ M( 0x8ce, 0x8d9, 0, 0, 16, 16, 35, 0),
+ M( 0x8ce, 0x8d9, 0, 0, 16, 16, 35, 0),
+ M( 0x7e6, 0x88a, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x88a, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x88a, 0, 0, 16, 16, 25, 0),
+ M( 0x888, 0x88a, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x88b, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x88b, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x88b, 0, 0, 16, 16, 25, 0),
+ M( 0x889, 0x88b, 0, 0, 16, 16, 25, 0),
+ M( 0x8da, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8e3, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8e3, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8ec, 0, 0, 16, 16, 25, 0),
+ M( 0x8db, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8e4, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8e4, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8ed, 0, 0, 16, 16, 25, 0),
+ M( 0x8dc, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8e5, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8e5, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8ee, 0, 0, 16, 16, 25, 0),
+ M( 0x8dd, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8e6, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8e6, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8ef, 0, 0, 16, 16, 25, 0),
+ M( 0x8de, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8e7, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8e7, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8f0, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8df, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8e8, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8e8, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8f1, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8e0, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8e9, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8e9, 0, 0, 16, 16, 25, 0),
+ M( 0x7e6, 0x8f2, 0, 0, 16, 16, 25, 0),
+ M( 0x8e1, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8ea, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8ea, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8f3, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8e2, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8eb, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8eb, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8f4, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8f5, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x905, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x905, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x915, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8f6, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x906, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x906, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x916, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8f7, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x907, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x907, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x917, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8f8, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x908, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x908, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x918, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8f9, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x909, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x909, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x919, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8fa, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x90a, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x90a, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x91a, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8fb, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x90b, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x90b, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x91b, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8fc, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x90c, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x90c, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x91c, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8fd, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x90d, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x90d, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x91d, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8fe, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x90e, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x90e, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x91e, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x8ff, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x90f, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x90f, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x91f, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x900, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x910, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x910, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x920, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x901, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x911, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x911, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x921, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x902, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x912, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x912, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x922, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x903, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x913, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x913, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x923, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x904, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x914, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x914, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x924, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x925, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x925, 0x0, 0, 0, 16, 16, 25, 0),
+ M( 0x925, 0x926, 0, 0, 16, 16, 30, 0),
+ M( 0x925, 0x926, 0, 0, 16, 16, 30, 0),
+ M( 0x925, 0x0, 0, 0, 16, 16, 25, 0),
+ 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( 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( 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( 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( 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( 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),
+ M( 0x7e6, 0x939, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x932, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x936, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x936, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x93a, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x933, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x937, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x937, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x93b, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x934, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x938, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x938, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x93c, 0, 0, 16, 16, 50, 0),
+ M( 0x81d, 0x818, 0, 0, 16, 16, 10, 0),
+ M( 0x81d, 0x819, 0, 0, 16, 16, 15, 0),
+ M( 0x81d, 0x81a, 0, 0, 16, 16, 31, 0),
+ M( 0x81d, 0x81b, 0, 0, 16, 16, 39, 0),
+ 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( 0x81d, 0x81c, 0, 0, 16, 16, 7, 0),
+ 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, 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( 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),
+ M( 0x81d, 0x1251, 0, 0, 16, 16, 10, 0),
+ M( 0x81d, 0x1252, 0, 0, 16, 16, 10, 0),
+ M( 0x81d, 0x1252, 0, 0, 16, 16, 10, 0),
+ M( 0x81d, 0x1252, 0, 0, 16, 16, 10, 0),
+ M( 0x81d, 0x1252, 0, 0, 16, 16, 10, 0),
+ M( 0x81d, 0x1253, 0, 0, 16, 16, 10, 0),
+ M( 0x81d, 0x1254, 0, 0, 16, 16, 10, 0),
+ M( 0x81d, 0x1254, 0, 0, 16, 16, 10, 0),
+ M( 0x81d, 0x1255, 0, 0, 16, 16, 10, 0),
+ 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, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x125b, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x125e, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x125e, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x1261, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x125c, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x125f, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x125f, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x1262, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x125d, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x1260, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x1260, 0, 0, 16, 16, 50, 0),
+ M( 0x7e6, 0x1263, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x1264, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x1264, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x1268, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x1265, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x1265, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x1269, 0, 0, 16, 16, 50, 4),
+ M( 0x1243, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x1266, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x1266, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x126a, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x1267, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x1267, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x126b, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x126c, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1243, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1271, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1271, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1271, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1271, 0x1279, 0, 0, 16, 16, 50, 0),
+ M( 0x1272, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1272, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1272, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1272, 0x127a, 0, 0, 16, 16, 50, 0),
+ M( 0x1273, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1273, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1273, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1273, 0x127b, 0, 0, 16, 16, 50, 0),
+ M( 0x1274, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1274, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1274, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1274, 0x127c, 0, 0, 16, 16, 50, 0),
+ M( 0x1275, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1275, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1275, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1275, 0x127d, 0, 0, 16, 16, 50, 0),
+ M( 0x1276, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1276, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1276, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1276, 0x127e, 0, 0, 16, 16, 50, 0),
+ M( 0x1277, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1277, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1277, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1277, 0x127f, 0, 0, 16, 16, 50, 0),
+ M( 0x1278, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1278, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1278, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0x1278, 0x1280, 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, 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, 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, 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( 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( 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( 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( 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, 0x0, 0, 0, 16, 16, 50, 0),
+ M( 0xf8d, 0x129b, 0, 0, 16, 16, 50, 0),
+ M( 0xf8d, 0x129b, 0, 0, 16, 16, 50, 0),
+ M( 0xf8d, 0x129b, 0, 0, 16, 16, 50, 0),
+ M( 0xf8d, 0x129b, 0, 0, 16, 16, 50, 0),
+ M( 0xf8d, 0x129c, 0, 0, 16, 16, 50, 2),
+ M( 0xf8d, 0x129c, 0, 0, 16, 16, 50, 2),
+ M( 0xf8d, 0x129c, 0, 0, 16, 16, 50, 2),
+ M( 0xf8d, 0x129c, 0, 0, 16, 16, 50, 2),
+ 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( 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( 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),
+};
+
+static const DrawIndustrySpec1Struct _draw_industry_spec1[96] = {
+ { 8, 4, 0, 0},
+ { 6, 0, 1, 0},
+ { 4, 0, 2, 0},
+ { 6, 0, 3, 0},
+ { 8, 0, 4, 0},
+ { 10, 0, 5, 0},
+ { 12, 0, 6, 0},
+ { 10, 0, 1, 0},
+ { 8, 0, 2, 0},
+ { 6, 0, 3, 0},
+ { 4, 0, 4, 0},
+ { 6, 0, 5, 1},
+ { 8, 0, 6, 1},
+ { 10, 0, 1, 1},
+ { 12, 0, 2, 1},
+ { 10, 0, 3, 1},
+ { 8, 1, 4, 1},
+ { 6, 1, 5, 1},
+ { 4, 1, 6, 1},
+ { 6, 1, 1, 1},
+ { 8, 1, 2, 1},
+ { 10, 1, 3, 1},
+ { 12, 1, 4, 1},
+ { 10, 1, 5, 2},
+ { 8, 1, 6, 2},
+ { 6, 1, 1, 2},
+ { 4, 1, 2, 2},
+ { 6, 1, 3, 2},
+ { 8, 1, 4, 2},
+ { 10, 1, 5, 2},
+ { 12, 1, 6, 2},
+ { 10, 1, 1, 2},
+ { 8, 2, 2, 2},
+ { 6, 2, 3, 2},
+ { 4, 2, 4, 3},
+ { 6, 2, 5, 3},
+ { 8, 2, 6, 3},
+ { 10, 2, 1, 3},
+ { 12, 2, 2, 3},
+ { 10, 2, 3, 3},
+ { 8, 2, 4, 3},
+ { 6, 2, 5, 3},
+ { 4, 2, 6, 3},
+ { 6, 2, 1, 3},
+ { 8, 2, 2, 3},
+ { 10, 2, 3, 4},
+ { 12, 2, 4, 4},
+ { 10, 2, 5, 4},
+ { 8, 3, 6, 4},
+ { 6, 3, 1, 4},
+ { 4, 3, 2, 4},
+ { 6, 3, 3, 4},
+ { 8, 3, 4, 4},
+ { 10, 3, 5, 4},
+ { 12, 3, 6, 4},
+ { 10, 3, 1, 4},
+ { 8, 3, 2, 4},
+ { 6, 3, 3, 4},
+ { 4, 3, 4, 4},
+ { 6, 3, 5, 4},
+ { 8, 3, 6, 4},
+ { 10, 3, 1, 4},
+ { 12, 3, 2, 4},
+ { 10, 3, 3, 4},
+ { 8, 4, 4, 4},
+ { 6, 4, 5, 4},
+ { 4, 4, 6, 4},
+ { 6, 4, 0, 4},
+ { 8, 4, 0, 4},
+ { 10, 4, 0, 4},
+ { 12, 4, 0, 4},
+ { 10, 4, 0, 4},
+ { 8, 4, 0, 4},
+ { 6, 4, 0, 4},
+ { 4, 4, 0, 4},
+ { 6, 4, 0, 4},
+ { 8, 4, 0, 4},
+ { 10, 4, 0, 4},
+ { 12, 4, 0, 4},
+ { 10, 4, 0, 4},
+ { 8, 4, 0, 4},
+ { 6, 4, 0, 4},
+ { 4, 4, 0, 4},
+ { 6, 4, 0, 4},
+ { 8, 4, 0, 4},
+ { 10, 4, 0, 4},
+ { 12, 4, 0, 4},
+ { 10, 4, 0, 4},
+ { 8, 4, 0, 4},
+ { 6, 4, 0, 4},
+ { 4, 4, 0, 4},
+ { 6, 4, 0, 4},
+ { 8, 4, 0, 4},
+ { 10, 4, 0, 4},
+ { 12, 4, 0, 4},
+ { 10, 4, 0, 4},
+};
+
+static const byte _drawtile_proc1_x[5] = {
+ 22, 17, 14, 10, 8
+};
+
+static const byte _drawtile_proc1_y[5] = {
+ 73, 70, 69, 66, 41
+};
+
+static const DrawIndustrySpec4Struct _industry_anim_offs_3[] = {
+ {255, 255, 0},
+ { 0, 255, 0},
+ { 1, 255, 0},
+ { 2, 255, 0},
+ { 3, 255, 0},
+ { 4, 255, 0},
+ { 5, 255, 0},
+ { 6, 255, 0},
+ { 7, 255, 0},
+ { 8, 255, 0},
+ { 9, 255, 0},
+ { 10, 255, 0},
+ { 11, 255, 0},
+ { 12, 255, 0},
+ { 13, 255, 0},
+ { 14, 255, 0},
+ { 15, 255, 0},
+ { 16, 255, 0},
+ { 17, 255, 0},
+ { 18, 255, 0},
+ { 18, 255, 1},
+ { 18, 255, 2},
+ { 18, 255, 4},
+ { 18, 255, 6},
+ { 18, 255, 8},
+ { 18, 255, 11},
+ { 18, 255, 14},
+ { 18, 255, 17},
+ { 18, 255, 20},
+ { 18, 255, 24},
+ {255, 0, 29},
+ {255, 0, 24},
+ {255, 0, 20},
+ {255, 0, 17},
+ {255, 0, 14},
+ {255, 0, 11},
+ {255, 0, 8},
+ {255, 0, 6},
+ {255, 0, 4},
+ {255, 0, 2},
+ {255, 0, 1},
+ {255, 1, 0},
+ {255, 2, 0},
+ {255, 3, 0},
+ {255, 4, 0},
+ {255, 5, 0},
+ {255, 6, 0},
+ {255, 7, 0},
+ {255, 8, 0},
+ {255, 255, 0},
+};
+
+static const byte _industry_anim_offs[] = {
+ 255, 0, 0, 0, 2, 4, 6, 8, 10, 9,
+ 7, 5, 3, 1, 255, 0, 0, 0, 2, 4,
+ 6, 8, 10, 9, 7, 5, 3, 1, 255, 0,
+ 0, 0, 2, 4, 6, 8, 10, 9, 7, 5,
+ 3, 1, 255, 0, 0, 0, 2, 4, 6, 8,
+ 10, 9, 7, 5, 3, 1, 255, 0, 0, 0,
+ 2, 4, 6, 8, 10, 9, 7, 5, 3, 1
+};
+
+static const byte _industry_anim_offs_2[] = {
+ 68, 69, 71, 74, 77, 80, 83, 85, 86, 86,
+ 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
+ 86, 86, 85, 84, 83, 82, 81, 80, 79, 78,
+ 77, 76, 75, 74, 73, 72, 71, 70, 69, 68,
+};
+
+static const byte _coal_plant_sparkles_x[] = {11, 11, 14, 13, 18, 15};
+static const byte _coal_plant_sparkles_y[] = {23, 11, 6, 3, 1, 0};
+
+/* next frame in an animation */
+#define N 255
+static const byte _industry_map5_animation_next[] = {
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, 16, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, 129, N, N, N, N, N,
+135, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N,
+};
+
+/* animation to start when goods is produced */
+static const byte _industry_produce_map5[] = {
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+17, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, 130, N, N, N, N, N, 136,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N, N,
+N, N, N, N, N, N, N,
+};
+
+#undef N
diff --git a/table/landscape_const.h b/table/landscape_const.h
new file mode 100644
index 000000000..a438670ef
--- /dev/null
+++ b/table/landscape_const.h
@@ -0,0 +1,215 @@
+static const LandscapePredefVar _landscape_predef_var[4] = {
+ {
+ /* normal names */
+ {
+ STR_000F_PASSENGERS,
+ STR_0010_COAL,
+ STR_0011_MAIL,
+ STR_0012_OIL,
+ STR_0013_LIVESTOCK,
+ STR_0014_GOODS,
+ STR_0015_GRAIN,
+ STR_0016_WOOD,
+ STR_0017_IRON_ORE,
+ STR_0018_STEEL,
+ STR_0019_VALUABLES,
+ STR_000E,
+ },
+ /* normal weights */
+ {
+ 1, 16, 4, 16, 3, 8, 16, 16, 16, 16, 2, 0,
+ },
+
+ /* normal sprites */
+ {
+ 0x10C9, 0x10CA, 0x10CB, 0x10CC, 0x10CD, 0x10CE, 0x10CF, 0x10D0, 0x10D1, 0x10D2, 0x10D3,
+ },
+
+ /* normal initial cargo payment */
+ {
+ 3185, 5916, 4550, 4437, 4322, 6144, 4778, 5005, 5120, 5688, 7509, 5688
+ },
+
+ /* normal transit days table 1 */
+ {
+ 0, 7, 20, 25, 4, 5, 4, 15, 9, 7, 1, 0,
+ },
+
+ /* normal transit days table 2 */
+ {
+ 24, 255, 90, 255, 18, 28, 40, 255, 255, 255, 32, 30,
+ },
+
+ /* normal railveh by cargo */
+ {
+ {27, 29, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38},
+ {57, 59, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68},
+ {89, 91, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100}
+ },
+
+ /* normal road veh by cargo start & count */
+ {116, 123, 126, 132, 135, 138, 141, 144, 147, 150, 153, 156},
+ {7, 3, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3}
+ },
+
+ {
+ /* hilly names */
+ {
+ STR_000F_PASSENGERS,
+ STR_0010_COAL,
+ STR_0011_MAIL,
+ STR_0012_OIL,
+ STR_0013_LIVESTOCK,
+ STR_0014_GOODS,
+ STR_0022_WHEAT,
+ STR_0016_WOOD,
+ STR_000E,
+ STR_001F_PAPER,
+ STR_0020_GOLD,
+ STR_001E_FOOD,
+ },
+ /* hilly weights */
+ {
+ 1, 16, 4, 16, 3, 8, 16, 16, 0, 16, 8, 16
+ },
+
+ /* hilly sprites */
+ {
+ 0x10C9, 0x10CA, 0x10CB, 0x10CC, 0x10CD, 0x10CE, 0x10CF, 0x10D0, 0x2, 0x10D9, 0x10D3, 0x10D8
+ },
+
+ /* hilly initial cargo payment */
+ {
+ 3185, 5916, 4550, 4437, 4322, 6144, 4778, 5005, 5120, 5461, 5802, 5688
+ },
+
+ /* hilly transit days table 1 */
+ {
+ 0, 7, 20, 25, 4, 5, 4, 15, 9, 7, 10, 0,
+ },
+
+ /* hilly transit days table 2 */
+ {
+ 24, 255, 90, 255, 18, 28, 40, 255, 255, 60, 40, 30
+ },
+
+ /* hilly railveh by cargo */
+ {
+ {27, 29, 28, 30, 31, 32, 33, 34, 35, 39, 37, 38},
+ {57, 59, 58, 60, 61, 62, 63, 64, 65, 69, 67, 68},
+ {89, 91, 90, 92, 93, 94, 95, 96, 97, 101, 99, 100}
+ },
+
+
+ /* hilly road veh by cargo start & count */
+ {116, 123, 126, 132, 135, 138, 141, 144, 147, 159, 153, 156},
+ {7, 3, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3},
+ },
+
+
+ {
+ /* desert names */
+ {
+ STR_000F_PASSENGERS,
+ STR_0023_RUBBER,
+ STR_0011_MAIL,
+ STR_0012_OIL,
+ STR_001C_FRUIT,
+ STR_0014_GOODS,
+ STR_001B_MAIZE,
+ STR_0016_WOOD,
+ STR_001A_COPPER_ORE,
+ STR_0021_WATER,
+ STR_001D_DIAMONDS,
+ STR_001E_FOOD
+ },
+ /* desert weights */
+ {
+ 1, 16, 4, 16, 16, 8, 16, 16, 16, 16, 2, 16,
+ },
+
+ /* desert sprites */
+ {
+ 0x10C9, 0x10DA, 0x10CB, 0x10CC, 0x10D4, 0x10CE, 0x10CF, 0x10D0, 0x10D5, 0x10D6, 0x10D7, 0x10D8
+ },
+
+ /* desert initial cargo payment */
+ {
+ 3185, 4437, 4550, 4892, 4209, 6144, 4322, 7964, 4892, 4664, 5802, 5688
+ },
+
+ /* desert transit days table 1 */
+ {
+ 0, 2, 20, 25, 0, 5, 4, 15, 12, 20, 10, 0
+ },
+
+ /* desert transit days table 2 */
+ {
+ 24, 20, 90, 255, 15, 28, 40, 255, 255, 80, 255, 30
+ },
+
+ /* desert railveh by cargo */
+ {
+ {27, 43, 28, 30, 42, 32, 33, 34, 40, 41, 37, 38},
+ {57, 73, 58, 60, 72, 62, 63, 64, 70, 71, 67, 68},
+ {89, 105, 90, 92, 104, 94, 95, 96, 102, 103, 99, 100}
+ },
+
+ /* desert road veh by cargo start & count */
+ {116, 171, 126, 132, 168, 138, 141, 144, 162, 165, 153, 156},
+ {7, 3, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3}
+ },
+
+ {
+ /* candy names */
+ {
+ STR_000F_PASSENGERS,
+ STR_0024_SUGAR,
+ STR_0011_MAIL,
+ STR_0025_TOYS,
+ STR_002B_BATTERIES,
+ STR_0026_CANDY,
+ STR_002A_TOFFEE,
+ STR_0027_COLA,
+ STR_0028_COTTON_CANDY,
+ STR_0029_BUBBLES,
+ STR_002C_PLASTIC,
+ STR_002D_FIZZY_DRINKS,
+ },
+ /* candy weights */
+ {
+ 1, 16, 4, 2, 4, 5, 16, 16, 16, 1, 16, 2
+ },
+
+ /* candy sprites */
+ {
+ 0x10C9, 0x10DC, 0x10CB, 0x10DD, 0x10E3, 0x10DB, 0x10E0, 0x10D6, 0x10DE, 0x10E1, 0x10E2, 0x10DF
+ },
+
+ /* candy initial cargo payment */
+ {
+ 3185, 4437, 4550, 5574, 4322, 6144, 4778, 4892, 5005, 5077, 4664, 6250
+ },
+
+ /* candy transit days table 1 */
+ {
+ 0, 20, 20, 25, 2, 8, 14, 5, 10, 20, 30, 30,
+ },
+
+ /* candy transit days table 2 */
+ {
+ 24, 255, 90, 255, 30, 40, 60, 75, 25, 80, 255, 50
+ },
+
+ /* candy railveh by cargo */
+ {
+ {27, 44, 28, 50, 51, 49, 46, 48, 45, 47, 53, 52},
+ {57, 74, 58, 80, 81, 79, 76, 78, 75, 77, 83, 82},
+ {89, 106, 90, 112, 113, 111, 108, 110, 107, 109, 115, 114}
+ },
+
+ /* candy road veh by cargo start & count */
+ {116, 174, 126, 186, 192, 189, 183, 177, 180, 201, 198, 195},
+ {7, 3, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3}
+ }
+};
diff --git a/table/landscape_sprite.h b/table/landscape_sprite.h
new file mode 100644
index 000000000..dfd9e84c8
--- /dev/null
+++ b/table/landscape_sprite.h
@@ -0,0 +1,134 @@
+static const SpriteID _landscape_spriteindexes_1[] = {
+ 0xF67, 0xF9F,
+ 0xAAD, 0xAB0,
+ 0x83A, 0x845,
+ 0xFA0, 0xFC9,
+ 0x43F, 0x45E,
+ 0x566, 0x56D,
+ 0x945, 0x94C,
+ 0x3ED, 0x40C,
+ 0x515, 0x51C,
+ 0x55A, 0x561,
+ 0x534, 0x546,
+ 0x93D, 0x944,
+ 0x955, 0x95C,
+ 0xFDD, 0xFEC,
+ 0x87D, 0x883,
+ 0xA2B, 0xA39,
+ 0x497, 0x4B0,
+ 0x572, 0x575,
+ 0x94D, 0x954,
+ 0x818, 0x81D,
+ 0x3DE, 0x3EB,
+0x1212, 0x1212,
+0xffff,
+};
+
+static const SpriteID _landscape_spriteindexes_2[] = {
+ 0xF67, 0xF9F,
+ 0xAAD, 0xAB0,
+ 0xFA0, 0xFC9,
+ 0x43F, 0x45E,
+ 0x566, 0x56D,
+ 0x945, 0x94C,
+ 0x3ED, 0x40C,
+ 0x515, 0x51C,
+ 0x55A, 0x561,
+ 0x547, 0x559,
+ 0x93D, 0x944,
+ 0x955, 0x95C,
+ 0xFDD, 0xFEC,
+ 0x87D, 0x883,
+ 0xA2B, 0xA39,
+ 0x497, 0x4B0,
+ 0x572, 0x575,
+ 0x94D, 0x954,
+ 0x5AE, 0x5AF,
+0x118D, 0x11D8,
+ 0x534, 0x546,
+ 0x40D, 0x426,
+ 0x45F, 0x478,
+ 0x4B1, 0x4CA,
+ 0x95D, 0x97C,
+ 0x3DE, 0x3EB,
+ 0x562, 0x565,
+ 0x56E, 0x571,
+ 0x57A, 0x57D,
+ 0x83A, 0x845,
+ 0xFF5, 0xFF5,
+ 0xFF8, 0xFF8,
+0x1212, 0x1212,
+0xffff,
+};
+
+static const SpriteID _landscape_spriteindexes_3[] = {
+ 0xF54, 0xF9F,
+ 0xFDD, 0xFE5,
+ 0xFEC, 0xFEC,
+ 0xFA0, 0xFC9,
+ 0x818, 0x81D,
+ 0x521, 0x546,
+ 0x57E, 0x57F,
+ 0x3ED, 0x40C,
+ 0x43F, 0x45E,
+ 0x491, 0x4B0,
+ 0xA48, 0xA48,
+ 0x4FB, 0x50A,
+ 0x55A, 0x561,
+ 0x566, 0x56D,
+ 0x572, 0x579,
+ 0x427, 0x42C,
+ 0x479, 0x47E,
+ 0x4CB, 0x4D0,
+ 0x4EF, 0x4FA,
+ 0xE9D, 0xECC,
+ 0xF3D, 0xF40,
+ 0xB59, 0xB60,
+ 0xE5D, 0xE6C,
+ 0xA49, 0xA59,
+ 0xA63, 0xA68,
+ 0xA5A, 0xA62,
+ 0xA78, 0xA83,
+ 0xA69, 0xA77,
+ 0xA84, 0xAA3,
+ 0xAA7, 0xAAC,
+ 0xA2B, 0xA47,
+ 0x3DE, 0x3EB,
+ 0x47F, 0x488,
+ 0x4D1, 0x4DA,
+ 0x42D, 0x436,
+ 0x515, 0x51C,
+ 0x580, 0x585,
+ 0xC14, 0xCB3,
+ 0xAAD, 0xAB0,
+ 0xAB5, 0xB00,
+ 0xB69, 0xB70,
+ 0xB61, 0xB68,
+ 0xBC9, 0xBD0,
+ 0xBD9, 0xBE0,
+ 0xBA9, 0xBB0,
+ 0xBC1, 0xBC4,
+ 0x2D0, 0x2D0,
+ 0xAA5, 0xAA6,
+ 0x50F, 0x50F,
+ 0x2EA, 0x2EA,
+ 0x2ED, 0x2EE,
+ 0x512, 0x513,
+ 0x4EB, 0x4EE,
+ 0x4E7, 0x4EA,
+ 0x985, 0xA28,
+0x10E4, 0x1133,
+ 0x93D, 0x95C,
+ 0x97D, 0x984,
+ 0x7DA, 0x7DA,
+ 0x2E6, 0x2E6,
+ 0x1, 0x1,
+ 0xE54, 0xE54,
+ 0x51F, 0x520,
+ 0x514, 0x514,
+ 0x511, 0x511,
+ 0x322, 0x322,
+ 0xffff,
+};
+
+
diff --git a/table/palettes.h b/table/palettes.h
new file mode 100644
index 000000000..f6ee1409b
--- /dev/null
+++ b/table/palettes.h
@@ -0,0 +1,96 @@
+byte _palettes[4][256 * 3] = {
+/* palette 1 */
+{
+0, 0, 0, 212, 0, 212, 212, 0, 212, 212, 0, 212,
+212, 0, 212, 212, 0, 212, 212, 0, 212, 212, 0, 212,
+212, 0, 212, 212, 0, 212, 168, 168, 168, 184, 184, 184,
+200, 200, 200, 216, 216, 216, 232, 232, 232, 252, 252, 252,
+ 52, 60, 72, 68, 76, 92, 88, 96, 112, 108, 116, 132,
+132, 140, 152, 156, 160, 172, 176, 184, 196, 204, 208, 220,
+ 48, 44, 4, 64, 60, 12, 80, 76, 20, 96, 92, 28,
+120, 120, 64, 148, 148, 100, 176, 176, 132, 204, 204, 168,
+100, 100, 100, 116, 116, 116, 104, 80, 44, 124, 104, 72,
+152, 132, 92, 184, 160, 120, 212, 188, 148, 244, 220, 176,
+132, 132, 132, 88, 4, 16, 112, 16, 32, 136, 32, 52,
+160, 56, 76, 188, 84, 108, 204, 104, 124, 220, 132, 144,
+236, 156, 164, 252, 188, 192, 252, 212, 0, 252, 232, 60,
+252, 248, 128, 76, 40, 0, 96, 60, 8, 116, 88, 28,
+136, 116, 56, 156, 136, 80, 176, 156, 108, 196, 180, 136,
+ 68, 24, 0, 96, 44, 4, 128, 68, 8, 156, 96, 16,
+184, 120, 24, 212, 156, 32, 232, 184, 16, 252, 212, 0,
+252, 248, 128, 252, 252, 192, 32, 4, 0, 64, 20, 8,
+ 84, 28, 16, 108, 44, 28, 128, 56, 40, 148, 72, 56,
+168, 92, 76, 184, 108, 88, 196, 128, 108, 212, 148, 128,
+ 8, 52, 0, 16, 64, 0, 32, 80, 4, 48, 96, 4,
+ 64, 112, 12, 84, 132, 20, 104, 148, 28, 128, 168, 44,
+ 64, 64, 64, 44, 68, 32, 60, 88, 48, 80, 104, 60,
+104, 124, 76, 128, 148, 92, 152, 176, 108, 180, 204, 124,
+ 16, 52, 24, 32, 72, 44, 56, 96, 72, 76, 116, 88,
+ 96, 136, 108, 120, 164, 136, 152, 192, 168, 184, 220, 200,
+ 32, 24, 0, 56, 28, 0, 80, 80, 80, 88, 52, 12,
+104, 64, 24, 124, 84, 44, 140, 108, 64, 160, 128, 88,
+ 76, 40, 16, 96, 52, 24, 116, 68, 40, 136, 84, 56,
+164, 96, 64, 184, 112, 80, 204, 128, 96, 212, 148, 112,
+224, 168, 128, 236, 188, 148, 80, 28, 4, 100, 40, 20,
+120, 56, 40, 140, 76, 64, 160, 100, 96, 184, 136, 136,
+ 36, 40, 68, 48, 52, 84, 64, 64, 100, 80, 80, 116,
+100, 100, 136, 132, 132, 164, 172, 172, 192, 212, 212, 224,
+ 48, 48, 48, 64, 44, 144, 88, 64, 172, 104, 76, 196,
+120, 88, 224, 140, 104, 252, 160, 136, 252, 188, 168, 252,
+ 0, 24, 108, 0, 36, 132, 0, 52, 160, 0, 72, 184,
+ 0, 96, 212, 24, 120, 220, 56, 144, 232, 88, 168, 240,
+128, 196, 252, 188, 224, 252, 16, 64, 96, 24, 80, 108,
+ 40, 96, 120, 52, 112, 132, 80, 140, 160, 116, 172, 192,
+156, 204, 220, 204, 240, 252, 172, 52, 52, 212, 52, 52,
+252, 52, 52, 252, 100, 88, 252, 144, 124, 252, 184, 160,
+252, 216, 200, 252, 244, 236, 72, 20, 112, 92, 44, 140,
+112, 68, 168, 140, 100, 196, 168, 136, 224, 204, 180, 252,
+204, 180, 252, 232, 208, 252, 60, 0, 0, 92, 0, 0,
+128, 0, 0, 160, 0, 0, 196, 0, 0, 224, 0, 0,
+252, 0, 0, 252, 80, 0, 252, 108, 0, 252, 136, 0,
+252, 164, 0, 252, 192, 0, 252, 220, 0, 252, 252, 0,
+204, 136, 8, 228, 144, 4, 252, 156, 0, 252, 176, 48,
+252, 196, 100, 252, 216, 152, 8, 24, 88, 12, 36, 104,
+ 20, 52, 124, 28, 68, 140, 40, 92, 164, 56, 120, 188,
+ 72, 152, 216, 100, 172, 224, 92, 156, 52, 108, 176, 64,
+124, 200, 76, 144, 224, 92, 224, 244, 252, 204, 240, 252,
+180, 220, 236, 132, 188, 216, 88, 152, 172, 16, 16, 16,
+ 32, 32, 32, 8, 92, 104, 16, 100, 112, 24, 108, 120,
+ 32, 116, 128, 44, 124, 140, 92, 164, 184, 116, 180, 196,
+148, 200, 216, 180, 220, 232, 216, 244, 252, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+252, 60, 0, 252, 80, 0, 252, 104, 0, 252, 128, 0,
+252, 148, 0, 252, 172, 0, 252, 196, 0, 252, 0, 0,
+252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+252, 228, 0, 148, 148, 148, 212, 0, 212, 212, 0, 212,
+212, 0, 212, 212, 0, 212, 212, 0, 212, 212, 0, 212,
+212, 0, 212, 212, 0, 212, 212, 0, 212, 252, 252, 252,
+}};
+
+#define GET_PALETTE(x) _palettes[x]
+
+typedef struct {
+ byte a[15];
+ byte ac[15];
+ byte lighthouse[12];
+ byte oil_ref[21];
+ byte e[15];
+ byte b[45];
+ byte bc[45];
+} ExtraPaletteValues;
+
+static const ExtraPaletteValues _extra_palette_values = {
+ {32, 68,112, 36, 72,116, 40, 76,120, 44, 80,124, 48, 84,128},
+ {28,108,124, 32,112,128, 36,116,132, 40,120,136, 44,124,140},
+ {240,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ {252, 60, 0,252, 84, 0,252,108, 0,252,124, 0,252,148, 0,
+ 252,172, 0,252,196, 0},
+ { 76, 24, 8,108, 44, 24,144, 72, 52,176,108, 84,212,148,128},
+ {216,244,252,172,208,224,132,172,196,100,132,168, 72,100,144,
+ 72,100,144, 72,100,144, 72,100,144, 72,100,144, 72,100,144,
+ 72,100,144, 72,100,144,100,132,168,132,172,196,172,208,224},
+ {216,244,252,180,220,232,148,200,216,116,180,196, 92,164,184,
+ 92,164,184, 92,164,184, 92,164,184, 92,164,184, 92,164,184,
+ 92,164,184, 92,164,184,116,180,196,148,200,216,180,220,232},
+};
+
diff --git a/table/road_land.h b/table/road_land.h
new file mode 100644
index 000000000..4c5ce66b8
--- /dev/null
+++ b/table/road_land.h
@@ -0,0 +1,278 @@
+#define TILE_SEQ_BEGIN(x) ADD_DWORD(x),
+#define TILE_SEQ_LINE(a,b,c,d,e) ADD_DWORD(a), b,c,d,e,
+#define TILE_SEQ_END() 0,0,0,0
+
+static const byte _road_display_datas_0[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_LINE(0x8584, 0, 15, 16, 1)
+ TILE_SEQ_END()
+};
+
+static const byte _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_END()
+};
+
+static const byte _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_END()
+};
+
+static const byte _road_display_datas_3[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_LINE(0x8585, 15, 0, 1, 16)
+ TILE_SEQ_END()
+};
+
+static const byte * const _road_display_datas[4] = {
+ _road_display_datas_0,
+ _road_display_datas_1,
+ _road_display_datas_2,
+ _road_display_datas_3,
+};
+
+
+static const SpriteID _road_tile_sprites_1[16] = {
+ 0, 0x546, 0x545, 0x53B, 0x544, 0x534, 0x53E, 0x539,
+ 0x543, 0x53C, 0x535, 0x538, 0x53D, 0x537, 0x53A, 0x536
+};
+
+
+
+#define MAKELINE(a,b,c) ADD_WORD(a), b, c,
+static const byte _road_display_datas2_0[] = {
+ 0,0
+};
+
+static const byte _road_display_datas2_1[] = {
+ 0,0
+};
+
+static const byte _road_display_datas2_2[] = {
+ 0,0
+};
+
+static const byte _road_display_datas2_3[] = {
+ MAKELINE(0x57f,1,8)
+ 0,0
+};
+
+static const byte _road_display_datas2_4[] = {
+ 0,0
+};
+
+static const byte _road_display_datas2_5[] = {
+ MAKELINE(0x57f,1,8)
+ MAKELINE(0x57e,14,8)
+ 0,0
+};
+
+static const byte _road_display_datas2_6[] = {
+ MAKELINE(0x57e,8,1)
+ 0,0
+};
+
+static const byte _road_display_datas2_7[] = {
+ MAKELINE(0x57f,1,8)
+ 0,0
+};
+
+static const byte _road_display_datas2_8[] = {
+ 0,0
+};
+
+static const byte _road_display_datas2_9[] = {
+ MAKELINE(0x57f,8,14)
+ 0,0
+};
+
+static const byte _road_display_datas2_10[] = {
+ MAKELINE(0x57f,8,14)
+ MAKELINE(0x57e,8,1)
+ 0,0
+};
+
+static const byte _road_display_datas2_11[] = {
+ MAKELINE(0x57f,8,14)
+ 0,0
+};
+
+static const byte _road_display_datas2_12[] = {
+ MAKELINE(0x57e,8,1)
+ 0,0
+};
+
+static const byte _road_display_datas2_13[] = {
+ MAKELINE(0x57e,14,8)
+ 0,0
+};
+
+static const byte _road_display_datas2_14[] = {
+ MAKELINE(0x57e,8,1)
+ 0,0
+};
+
+static const byte _road_display_datas2_15[] = {
+ 0,0
+};
+
+static const byte _road_display_datas2_16[] = {
+ 0,0
+};
+
+static const byte _road_display_datas2_17[] = {
+ 0,0
+};
+
+static const byte _road_display_datas2_18[] = {
+ 0,0
+};
+
+static const byte _road_display_datas2_19[] = {
+ MAKELINE(0x1212,0,2)
+ MAKELINE(0x1212,3,9)
+ MAKELINE(0x1212,10,12)
+ 0,0
+};
+
+static const byte _road_display_datas2_20[] = {
+ 0,0
+};
+
+static const byte _road_display_datas2_21[] = {
+ MAKELINE(0x1212,0,2)
+ MAKELINE(0x1212,0,10)
+ MAKELINE(0x1212,12,2)
+ MAKELINE(0x1212,12,10)
+ 0,0
+};
+
+static const byte _road_display_datas2_22[] = {
+ MAKELINE(0x1212,10,0)
+ MAKELINE(0x1212,3,3)
+ MAKELINE(0x1212,0,10)
+ 0,0
+};
+
+static const byte _road_display_datas2_23[] = {
+ MAKELINE(0x1212,0,2)
+ MAKELINE(0x1212,0,10)
+ 0,0
+};
+
+static const byte _road_display_datas2_24[] = {
+ 0,0
+};
+
+static const byte _road_display_datas2_25[] = {
+ MAKELINE(0x1212,12,2)
+ MAKELINE(0x1212,9,9)
+ MAKELINE(0x1212,2,12)
+ 0,0
+};
+
+static const byte _road_display_datas2_26[] = {
+ MAKELINE(0x1212,2,0)
+ MAKELINE(0x1212,10,0)
+ MAKELINE(0x1212,2,12)
+ MAKELINE(0x1212,10,12)
+ 0,0
+};
+
+static const byte _road_display_datas2_27[] = {
+ MAKELINE(0x1212,2,12)
+ MAKELINE(0x1212,10,12)
+ 0,0
+};
+
+static const byte _road_display_datas2_28[] = {
+ MAKELINE(0x1212,2,0)
+ MAKELINE(0x1212,9,3)
+ MAKELINE(0x1212,12,10)
+ 0,0
+};
+
+static const byte _road_display_datas2_29[] = {
+ MAKELINE(0x1212,12,2)
+ MAKELINE(0x1212,12,10)
+ 0,0
+};
+
+static const byte _road_display_datas2_30[] = {
+ MAKELINE(0x1212,2,0)
+ MAKELINE(0x1212,10,0)
+ 0,0
+};
+
+static const byte _road_display_datas2_31[] = {
+ 0,0
+};
+
+static const byte _road_display_datas2_32[] = {
+ 0,0
+};
+
+#undef MAKELINE
+
+static const byte * const _road_display_table_1[16] = {
+ _road_display_datas2_32,_road_display_datas2_32,
+ _road_display_datas2_32,_road_display_datas2_32,
+ _road_display_datas2_32,_road_display_datas2_32,
+ _road_display_datas2_32,_road_display_datas2_32,
+ _road_display_datas2_32,_road_display_datas2_32,
+ _road_display_datas2_32,_road_display_datas2_32,
+ _road_display_datas2_32,_road_display_datas2_32,
+ _road_display_datas2_32,_road_display_datas2_32,
+};
+
+static const byte * const _road_display_table_2[16] = {
+ _road_display_datas2_0,
+ _road_display_datas2_1,
+ _road_display_datas2_2,
+ _road_display_datas2_3,
+ _road_display_datas2_4,
+ _road_display_datas2_5,
+ _road_display_datas2_6,
+ _road_display_datas2_7,
+ _road_display_datas2_8,
+ _road_display_datas2_9,
+ _road_display_datas2_10,
+ _road_display_datas2_11,
+ _road_display_datas2_12,
+ _road_display_datas2_13,
+ _road_display_datas2_14,
+ _road_display_datas2_15,
+};
+
+static const byte * const _road_display_table_3[16] = {
+ _road_display_datas2_16,
+ _road_display_datas2_17,
+ _road_display_datas2_18,
+ _road_display_datas2_19,
+ _road_display_datas2_20,
+ _road_display_datas2_21,
+ _road_display_datas2_22,
+ _road_display_datas2_23,
+
+ _road_display_datas2_24,
+ _road_display_datas2_25,
+ _road_display_datas2_26,
+ _road_display_datas2_27,
+ _road_display_datas2_28,
+ _road_display_datas2_29,
+ _road_display_datas2_30,
+ _road_display_datas2_31,
+};
+
+static const byte* const * const _road_display_table[6] = {
+ _road_display_table_1,
+ _road_display_table_1,
+ _road_display_table_1,
+ _road_display_table_2,
+ _road_display_table_1,
+ _road_display_table_3,
+};
diff --git a/table/roadveh.h b/table/roadveh.h
new file mode 100644
index 000000000..8e2ac4cda
--- /dev/null
+++ b/table/roadveh.h
@@ -0,0 +1,1075 @@
+static const RoadDriveEntry _roadveh_drive_data_0[] = {
+ {15,5},
+ {14,5},
+ {13,5},
+ {12,5},
+ {11,5},
+ {10,5},
+ {9,5},
+ {8,5},
+ {7,5},
+ {6,5},
+ {5,5},
+ {4,5},
+ {3,5},
+ {2,5},
+ {1,5},
+ {0,5},
+ {0x80,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_1[] = {
+ {5,0},
+ {5,1},
+ {5,2},
+ {5,3},
+ {5,4},
+ {5,5},
+ {5,6},
+ {5,7},
+ {5,8},
+ {5,9},
+ {5,10},
+ {5,11},
+ {5,12},
+ {5,13},
+ {5,14},
+ {5,15},
+ {0x81,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_2[] = {
+ {5,0},
+ {5,1},
+ {5,2},
+ {4,3},
+ {3,4},
+ {2,5},
+ {1,5},
+ {0,5},
+ {0x80,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_3[] = {
+ {15,5},
+ {14,5},
+ {13,5},
+ {12,5},
+ {11,5},
+ {10,5},
+ {9,6},
+ {8,7},
+ {7,8},
+ {6,9},
+ {5,10},
+ {5,11},
+ {5,12},
+ {5,13},
+ {5,14},
+ {5,15},
+ {0x81,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_4[] = {
+ {5,0},
+ {5,1},
+ {5,2},
+ {5,3},
+ {5,4},
+ {5,5},
+ {6,6},
+ {7,7},
+ {8,8},
+ {9,9},
+ {10,9},
+ {11,9},
+ {12,9},
+ {13,9},
+ {14,9},
+ {15,9},
+ {0x82,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_5[] = {
+ {0,9},
+ {1,9},
+ {2,9},
+ {3,10},
+ {4,11},
+ {5,12},
+ {5,13},
+ {5,14},
+ {5,15},
+ {0x81,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_6[] = {
+ {0,6},
+ {0,7},
+ {0,8},
+ {0,9},
+ {0x42,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_7[] = {
+ {6,15},
+ {7,15},
+ {8,15},
+ {9,15},
+ {0x43,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_8[] = {
+ {0,9},
+ {1,9},
+ {2,9},
+ {3,9},
+ {4,9},
+ {5,9},
+ {6,9},
+ {7,9},
+ {8,9},
+ {9,9},
+ {10,9},
+ {11,9},
+ {12,9},
+ {13,9},
+ {14,9},
+ {15,9},
+ {0x82,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_9[] = {
+ {9,15},
+ {9,14},
+ {9,13},
+ {9,12},
+ {9,11},
+ {9,10},
+ {9,9},
+ {9,8},
+ {9,7},
+ {9,6},
+ {9,5},
+ {9,4},
+ {9,3},
+ {9,2},
+ {9,1},
+ {9,0},
+ {0x83,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_10[] = {
+ {0,9},
+ {1,9},
+ {2,9},
+ {3,9},
+ {4,9},
+ {5,9},
+ {6,8},
+ {7,7},
+ {8,6},
+ {9,5},
+ {9,4},
+ {9,3},
+ {9,2},
+ {9,1},
+ {9,0},
+ {0x83,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_11[] = {
+ {9,15},
+ {9,14},
+ {9,13},
+ {10,12},
+ {11,11},
+ {12,10},
+ {13,9},
+ {14,9},
+ {15,9},
+ {0x82,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_12[] = {
+ {15,5},
+ {14,5},
+ {13,5},
+ {12,4},
+ {11,3},
+ {10,2},
+ {9,1},
+ {9,0},
+ {0x83,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_13[] = {
+ {9,15},
+ {9,14},
+ {9,13},
+ {9,12},
+ {9,11},
+ {9,10},
+ {8,9},
+ {7,8},
+ {6,7},
+ {5,6},
+ {4,5},
+ {3,5},
+ {2,5},
+ {1,5},
+ {0,5},
+ {0x80,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_14[] = {
+ {15,8},
+ {15,7},
+ {15,6},
+ {15,5},
+ {0x40,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_15[] = {
+ {8,0},
+ {7,0},
+ {6,0},
+ {5,0},
+ {0x41,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_16[] = {
+ {15,9},
+ {14,9},
+ {13,9},
+ {12,9},
+ {11,9},
+ {10,9},
+ {9,9},
+ {8,9},
+ {7,9},
+ {6,9},
+ {5,9},
+ {4,9},
+ {3,9},
+ {2,9},
+ {1,9},
+ {0,9},
+ {0x80,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_17[] = {
+ {9,0},
+ {9,1},
+ {9,2},
+ {9,3},
+ {9,4},
+ {9,5},
+ {9,6},
+ {9,7},
+ {9,8},
+ {9,9},
+ {9,10},
+ {9,11},
+ {9,12},
+ {9,13},
+ {9,14},
+ {9,15},
+ {0x81,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_18[] = {
+ {9,0},
+ {9,1},
+ {9,2},
+ {9,3},
+ {9,4},
+ {9,5},
+ {8,6},
+ {7,7},
+ {6,8},
+ {5,9},
+ {4,9},
+ {3,9},
+ {2,9},
+ {1,9},
+ {0,9},
+ {0x80,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_19[] = {
+ {15,9},
+ {14,9},
+ {13,9},
+ {12,10},
+ {11,11},
+ {10,12},
+ {9,13},
+ {9,14},
+ {9,15},
+ {0x81,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_20[] = {
+ {9,0},
+ {9,1},
+ {10,2},
+ {11,3},
+ {12,4},
+ {13,5},
+ {14,5},
+ {15,5},
+ {0x82,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_21[] = {
+ {0,5},
+ {1,5},
+ {2,5},
+ {3,5},
+ {4,5},
+ {5,6},
+ {6,7},
+ {7,8},
+ {8,9},
+ {9,10},
+ {9,11},
+ {9,12},
+ {9,13},
+ {9,14},
+ {9,15},
+ {0x81,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_22[] = {
+ {0,8},
+ {0,7},
+ {0,6},
+ {0,5},
+ {0x42,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_23[] = {
+ {8,15},
+ {7,15},
+ {6,15},
+ {5,15},
+ {0x43,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_24[] = {
+ {0,5},
+ {1,5},
+ {2,5},
+ {3,5},
+ {4,5},
+ {5,5},
+ {6,5},
+ {7,5},
+ {8,5},
+ {9,5},
+ {10,5},
+ {11,5},
+ {12,5},
+ {13,5},
+ {14,5},
+ {15,5},
+ {0x82,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_25[] = {
+ {5,15},
+ {5,14},
+ {5,13},
+ {5,12},
+ {5,11},
+ {5,10},
+ {5,9},
+ {5,8},
+ {5,7},
+ {5,6},
+ {5,5},
+ {5,4},
+ {5,3},
+ {5,2},
+ {5,1},
+ {5,0},
+ {0x83,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_26[] = {
+ {0,5},
+ {1,5},
+ {2,5},
+ {3,4},
+ {4,3},
+ {5,2},
+ {5,1},
+ {5,0},
+ {0x83,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_27[] = {
+ {5,15},
+ {5,14},
+ {5,13},
+ {5,12},
+ {5,11},
+ {5,10},
+ {6,9},
+ {7,8},
+ {8,7},
+ {9,6},
+ {10,5},
+ {11,5},
+ {12,5},
+ {13,5},
+ {14,5},
+ {15,5},
+ {0x82,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_28[] = {
+ {15,9},
+ {14,9},
+ {13,9},
+ {12,9},
+ {11,9},
+ {10,9},
+ {9,9},
+ {8,8},
+ {7,7},
+ {6,6},
+ {5,5},
+ {5,4},
+ {5,3},
+ {5,2},
+ {5,1},
+ {5,0},
+ {0x83,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_29[] = {
+ {5,15},
+ {5,14},
+ {5,13},
+ {5,12},
+ {4,11},
+ {3,10},
+ {2,9},
+ {1,9},
+ {0,9},
+ {0x80,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_30[] = {
+ {15,6},
+ {15,7},
+ {15,8},
+ {15,9},
+ {0x40,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_31[] = {
+ {6,0},
+ {7,0},
+ {8,0},
+ {9,0},
+ {0x41,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_32[] = {
+ {15,5},
+ {14,5},
+ {13,6},
+ {13,7},
+ {13,8},
+ {13,9},
+ {13,10},
+ {13,11},
+ {12,12},
+ {11,12},
+ {10,12},
+ {9,12},
+ {8,12},
+ {7,12},
+ {6,12},
+ {5,11},
+ {5,10},
+ {5,9},
+ {5,8},
+ {5,7},
+ {5,6},
+ {5,7},
+ {5,8},
+ {5,9},
+ {5,10},
+ {5,11},
+ {6,12},
+ {7,12},
+ {8,12},
+ {9,12},
+ {10,12},
+ {11,12},
+ {12,12},
+ {13,11},
+ {13,10},
+ {14,9},
+ {15,9},
+ {0x82,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_33[] = {
+ {5,0},
+ {5,1},
+ {6,2},
+ {7,2},
+ {8,2},
+ {9,2},
+ {10,2},
+ {11,2},
+ {12,3},
+ {12,4},
+ {12,5},
+ {12,6},
+ {12,7},
+ {12,8},
+ {12,9},
+ {11,10},
+ {10,10},
+ {9,10},
+ {8,10},
+ {7,10},
+ {6,10},
+ {7,10},
+ {8,10},
+ {9,10},
+ {10,10},
+ {11,10},
+ {12,9},
+ {12,8},
+ {12,7},
+ {12,6},
+ {12,5},
+ {12,4},
+ {12,3},
+ {11,2},
+ {10,2},
+ {9,1},
+ {9,0},
+ {0x83,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_34[] = {
+ {15,5},
+ {14,5},
+ {13,6},
+ {13,7},
+ {13,8},
+ {13,9},
+ {13,10},
+ {13,11},
+ {12,12},
+ {11,12},
+ {10,12},
+ {9,11},
+ {9,10},
+ {9,9},
+ {9,8},
+ {9,7},
+ {9,6},
+ {9,7},
+ {9,8},
+ {9,9},
+ {9,10},
+ {9,11},
+ {10,12},
+ {11,12},
+ {12,12},
+ {13,11},
+ {13,10},
+ {14,9},
+ {15,9},
+ {0x82,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_35[] = {
+ {5,0},
+ {5,1},
+ {6,2},
+ {7,2},
+ {8,2},
+ {9,2},
+ {10,2},
+ {11,2},
+ {12,3},
+ {12,4},
+ {12,5},
+ {11,6},
+ {10,6},
+ {9,6},
+ {8,6},
+ {7,6},
+ {6,6},
+ {7,6},
+ {8,6},
+ {9,6},
+ {10,6},
+ {11,6},
+ {12,5},
+ {12,4},
+ {12,3},
+ {11,2},
+ {10,2},
+ {9,1},
+ {9,0},
+ {0x83,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_40[] = {
+ {0,9},
+ {1,9},
+ {2,8},
+ {2,7},
+ {2,6},
+ {2,5},
+ {2,4},
+ {3,3},
+ {4,3},
+ {5,3},
+ {6,3},
+ {7,3},
+ {8,3},
+ {9,3},
+ {10,4},
+ {10,5},
+ {10,6},
+ {10,7},
+ {10,8},
+ {10,9},
+ {10,8},
+ {10,7},
+ {10,6},
+ {10,5},
+ {10,4},
+ {9,3},
+ {8,3},
+ {7,3},
+ {6,3},
+ {5,3},
+ {4,3},
+ {3,3},
+ {2,4},
+ {1,5},
+ {0,5},
+ {0x80,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_41[] = {
+ {9,15},
+ {9,14},
+ {8,13},
+ {7,13},
+ {6,13},
+ {5,13},
+ {4,13},
+ {3,12},
+ {3,11},
+ {3,10},
+ {3,9},
+ {3,8},
+ {3,7},
+ {3,6},
+ {4,5},
+ {5,5},
+ {6,5},
+ {7,5},
+ {8,5},
+ {9,5},
+ {8,5},
+ {7,5},
+ {6,5},
+ {5,5},
+ {4,5},
+ {3,6},
+ {3,7},
+ {3,8},
+ {3,9},
+ {3,10},
+ {3,11},
+ {3,12},
+ {4,13},
+ {5,14},
+ {5,15},
+ {0x81,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_42[] = {
+ {0,9},
+ {1,9},
+ {2,8},
+ {2,7},
+ {2,6},
+ {2,5},
+ {2,4},
+ {3,3},
+ {4,3},
+ {5,3},
+ {6,4},
+ {6,5},
+ {6,6},
+ {6,7},
+ {6,8},
+ {6,9},
+ {6,8},
+ {6,7},
+ {6,6},
+ {6,5},
+ {6,4},
+ {5,3},
+ {4,3},
+ {3,3},
+ {2,4},
+ {1,5},
+ {0,5},
+ {0x80,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_43[] = {
+ {9,15},
+ {9,14},
+ {8,13},
+ {7,13},
+ {6,13},
+ {5,13},
+ {4,13},
+ {3,12},
+ {3,11},
+ {3,10},
+ {4,9},
+ {5,9},
+ {6,9},
+ {7,9},
+ {8,9},
+ {9,9},
+ {8,9},
+ {7,9},
+ {6,9},
+ {5,9},
+ {4,9},
+ {3,10},
+ {3,11},
+ {3,12},
+ {4,13},
+ {5,14},
+ {5,15},
+ {0x81,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_48[] = {
+ {15,9},
+ {14,9},
+ {13,10},
+ {13,11},
+ {12,12},
+ {11,12},
+ {10,12},
+ {9,12},
+ {8,12},
+ {7,12},
+ {6,12},
+ {5,11},
+ {5,10},
+ {5,9},
+ {5,8},
+ {5,7},
+ {5,6},
+ {5,7},
+ {5,8},
+ {5,9},
+ {5,10},
+ {5,11},
+ {6,12},
+ {7,12},
+ {8,12},
+ {9,12},
+ {10,12},
+ {11,12},
+ {12,12},
+ {13,11},
+ {13,10},
+ {13,9},
+ {13,8},
+ {13,7},
+ {13,6},
+ {14,5},
+ {15,5},
+ {0x82,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_49[] = {
+ {9,0},
+ {9,1},
+ {10,2},
+ {11,2},
+ {12,3},
+ {12,4},
+ {12,5},
+ {12,6},
+ {12,7},
+ {12,8},
+ {12,9},
+ {11,10},
+ {10,10},
+ {9,10},
+ {8,10},
+ {7,10},
+ {6,10},
+ {7,10},
+ {8,10},
+ {9,10},
+ {10,10},
+ {11,10},
+ {12,9},
+ {12,8},
+ {12,7},
+ {12,6},
+ {12,5},
+ {12,4},
+ {12,3},
+ {11,2},
+ {10,2},
+ {9,2},
+ {8,2},
+ {7,2},
+ {6,2},
+ {5,1},
+ {5,0},
+ {0x83,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_50[] = {
+ {15,9},
+ {14,9},
+ {13,10},
+ {13,11},
+ {12,12},
+ {11,12},
+ {10,12},
+ {9,11},
+ {9,10},
+ {9,9},
+ {9,8},
+ {9,7},
+ {9,6},
+ {9,7},
+ {9,8},
+ {9,9},
+ {9,10},
+ {9,11},
+ {10,12},
+ {11,12},
+ {12,12},
+ {13,11},
+ {13,10},
+ {13,9},
+ {13,8},
+ {13,7},
+ {13,6},
+ {14,5},
+ {15,5},
+ {0x82,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_51[] = {
+ {9,0},
+ {9,1},
+ {10,2},
+ {11,2},
+ {12,3},
+ {12,4},
+ {12,5},
+ {11,6},
+ {10,6},
+ {9,6},
+ {8,6},
+ {7,6},
+ {6,6},
+ {7,6},
+ {8,6},
+ {9,6},
+ {10,6},
+ {11,6},
+ {12,5},
+ {12,4},
+ {12,3},
+ {11,2},
+ {10,2},
+ {9,2},
+ {8,2},
+ {7,2},
+ {6,2},
+ {5,1},
+ {5,0},
+ {0x83,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_56[] = {
+ {0,5},
+ {1,5},
+ {2,4},
+ {3,3},
+ {4,3},
+ {5,3},
+ {6,3},
+ {7,3},
+ {8,3},
+ {9,3},
+ {10,4},
+ {10,5},
+ {10,6},
+ {10,7},
+ {10,8},
+ {10,9},
+ {10,8},
+ {10,7},
+ {10,6},
+ {10,5},
+ {10,4},
+ {9,3},
+ {8,3},
+ {7,3},
+ {6,3},
+ {5,3},
+ {4,3},
+ {3,3},
+ {2,4},
+ {2,5},
+ {2,6},
+ {2,7},
+ {2,8},
+ {1,9},
+ {0,9},
+ {0x80,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_57[] = {
+ {5,15},
+ {5,14},
+ {4,13},
+ {3,12},
+ {3,11},
+ {3,10},
+ {3,9},
+ {3,8},
+ {3,7},
+ {3,6},
+ {4,5},
+ {5,5},
+ {6,5},
+ {7,5},
+ {8,5},
+ {9,5},
+ {8,5},
+ {7,5},
+ {6,5},
+ {5,5},
+ {4,5},
+ {3,6},
+ {3,7},
+ {3,8},
+ {3,9},
+ {3,10},
+ {3,11},
+ {3,12},
+ {4,13},
+ {5,13},
+ {6,13},
+ {7,13},
+ {8,13},
+ {9,14},
+ {9,15},
+ {0x81,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_58[] = {
+ {0,5},
+ {1,5},
+ {2,4},
+ {3,3},
+ {4,3},
+ {5,3},
+ {6,4},
+ {6,5},
+ {6,6},
+ {6,7},
+ {6,8},
+ {6,9},
+ {6,8},
+ {6,7},
+ {6,6},
+ {6,5},
+ {6,4},
+ {5,3},
+ {4,3},
+ {3,3},
+ {2,4},
+ {2,5},
+ {2,6},
+ {2,7},
+ {2,8},
+ {1,9},
+ {0,9},
+ {0x80,0}
+};
+static const RoadDriveEntry _roadveh_drive_data_59[] = {
+ {5,15},
+ {5,14},
+ {4,13},
+ {3,12},
+ {3,11},
+ {3,10},
+ {4,9},
+ {5,9},
+ {6,9},
+ {7,9},
+ {8,9},
+ {9,9},
+ {8,9},
+ {7,9},
+ {6,9},
+ {5,9},
+ {4,9},
+ {3,10},
+ {3,11},
+ {3,12},
+ {4,13},
+ {5,13},
+ {6,13},
+ {7,13},
+ {8,13},
+ {9,14},
+ {9,15},
+ {0x81,0}
+};
+
+static const RoadDriveEntry * const _road_drive_data[] = {
+ _roadveh_drive_data_0,
+ _roadveh_drive_data_1,
+ _roadveh_drive_data_2,
+ _roadveh_drive_data_3,
+ _roadveh_drive_data_4,
+ _roadveh_drive_data_5,
+ _roadveh_drive_data_6,
+ _roadveh_drive_data_7,
+ _roadveh_drive_data_8,
+ _roadveh_drive_data_9,
+ _roadveh_drive_data_10,
+ _roadveh_drive_data_11,
+ _roadveh_drive_data_12,
+ _roadveh_drive_data_13,
+ _roadveh_drive_data_14,
+ _roadveh_drive_data_15,
+ _roadveh_drive_data_16,
+ _roadveh_drive_data_17,
+ _roadveh_drive_data_18,
+ _roadveh_drive_data_19,
+ _roadveh_drive_data_20,
+ _roadveh_drive_data_21,
+ _roadveh_drive_data_22,
+ _roadveh_drive_data_23,
+ _roadveh_drive_data_24,
+ _roadveh_drive_data_25,
+ _roadveh_drive_data_26,
+ _roadveh_drive_data_27,
+ _roadveh_drive_data_28,
+ _roadveh_drive_data_29,
+ _roadveh_drive_data_30,
+ _roadveh_drive_data_31,
+ _roadveh_drive_data_32,
+ _roadveh_drive_data_33,
+ _roadveh_drive_data_34,
+ _roadveh_drive_data_35,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ _roadveh_drive_data_40,
+ _roadveh_drive_data_41,
+ _roadveh_drive_data_42,
+ _roadveh_drive_data_43,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ _roadveh_drive_data_48,
+ _roadveh_drive_data_49,
+ _roadveh_drive_data_50,
+ _roadveh_drive_data_51,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ _roadveh_drive_data_56,
+ _roadveh_drive_data_57,
+ _roadveh_drive_data_58,
+ _roadveh_drive_data_59,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+};
diff --git a/table/station_land.h b/table/station_land.h
new file mode 100644
index 000000000..772d9cf48
--- /dev/null
+++ b/table/station_land.h
@@ -0,0 +1,885 @@
+#define TILE_SEQ_BEGIN(x) ADD_DWORD(x),
+#define TILE_SEQ_LINE(a,b,c,d,e,f,g) a,b,c,d,e,f,ADD_WORD(g),
+#define TILE_SEQ_SPEC(a,b,g) a,b,0x80,0,ADD_DWORD(g),
+#define TILE_SEQ_END() 0x80
+
+static const byte _station_display_datas_0[] = {
+ TILE_SEQ_BEGIN(0x3F4)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 5, 2, 0x842E)
+ TILE_SEQ_LINE( 0, 11, 0, 16, 5, 2, 0x8430)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_1[] = {
+ TILE_SEQ_BEGIN(0x3F3)
+ TILE_SEQ_LINE( 0, 0, 0, 5, 16, 2, 0x842F)
+ TILE_SEQ_LINE( 11, 0, 0, 5, 16, 2, 0x842D)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_2[] = {
+ TILE_SEQ_BEGIN(0x3F4)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 5, 2, 0x8431)
+ TILE_SEQ_LINE( 0, 11, 0, 16, 5, 2, 0x8430)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_3[] = {
+ TILE_SEQ_BEGIN(0x3F3)
+ TILE_SEQ_LINE( 0, 0, 0, 5, 16, 2, 0x8432)
+ TILE_SEQ_LINE( 11, 0, 0, 5, 16, 2, 0x842D)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_4[] = {
+ TILE_SEQ_BEGIN(0x3F4)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 5, 7, 0x8434)
+ TILE_SEQ_LINE( 0, 11, 0, 16, 5, 2, 0x8430)
+ TILE_SEQ_LINE( 0, 0, 16, 16, 16, 10, 0x8437)
+ TILE_SEQ_SPEC( 0, 0, 0x322443B)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_5[] = {
+ TILE_SEQ_BEGIN(0x3F3)
+ TILE_SEQ_LINE( 0, 0, 0, 5, 16, 2, 0x8435)
+ TILE_SEQ_LINE( 11, 0, 0, 5, 16, 2, 0x842D)
+ TILE_SEQ_LINE( 0, 0, 16, 16, 16, 10, 0x8438)
+ TILE_SEQ_SPEC( 0, 0, 0x322443C)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_6[] = {
+ TILE_SEQ_BEGIN(0x3F4)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 5, 2, 0x842E)
+ TILE_SEQ_LINE( 0, 11, 0, 16, 5, 2, 0x8436)
+ TILE_SEQ_LINE( 0, 0, 16, 16, 16, 10, 0x8439)
+ TILE_SEQ_SPEC( 0, 0, 0x322443D)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_7[] = {
+ TILE_SEQ_BEGIN(0x3F3)
+ TILE_SEQ_LINE( 0, 0, 0, 5, 16, 2, 0x842F)
+ TILE_SEQ_LINE( 11, 0, 0, 5, 16, 2, 0x8433)
+ TILE_SEQ_LINE( 0, 0, 16, 16, 16, 10, 0x843A)
+ TILE_SEQ_SPEC( 0, 0, 0x322443E)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_8[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_9[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, 0x8A68)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_10[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_11[] = {
+ TILE_SEQ_BEGIN(0xA4B)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_12[] = {
+ TILE_SEQ_BEGIN(0xA4C)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_13[] = {
+ TILE_SEQ_BEGIN(0xA4D)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_14[] = {
+ TILE_SEQ_BEGIN(0xA4E)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_15[] = {
+ TILE_SEQ_BEGIN(0xA4F)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_16[] = {
+ TILE_SEQ_BEGIN(0xA50)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_17[] = {
+ TILE_SEQ_BEGIN(0xA51)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_18[] = {
+ TILE_SEQ_BEGIN(0xA52)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_19[] = {
+ TILE_SEQ_BEGIN(0xA53)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_20[] = {
+ TILE_SEQ_BEGIN(0xA54)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_21[] = {
+ TILE_SEQ_BEGIN(0xA53)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_22[] = {
+ TILE_SEQ_BEGIN(0xA55)
+ TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, 0x8A68)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_23[] = {
+ TILE_SEQ_BEGIN(0xA56)
+ TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, 0x8A68)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_24[] = {
+ TILE_SEQ_BEGIN(0xA57)
+ TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, 0x8A68)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_25[] = {
+ TILE_SEQ_BEGIN(0xA58)
+ TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, 0x8A68)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_26[] = {
+ TILE_SEQ_BEGIN(0xA59)
+ TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, 0x8A68)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_27[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_LINE( 2, 0, 0, 11, 16, 40, 0x8A5A)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_28[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, 0x8A5B)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_29[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_LINE( 0, 1, 0, 14, 14, 30, 0x8A5C)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_30[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_LINE( 3, 3, 0, 10, 11, 35, 0x8A5D)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_31[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_LINE( 0, 3, 0, 16, 11, 40, 0x8A5E)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_32[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_LINE( 14, 0, 0, 2, 16, 28, 0x8A5F)
+ TILE_SEQ_LINE( 0, 0, 0, 2, 16, 28, 0xA60)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_33[] = {
+ TILE_SEQ_BEGIN(0xA4B)
+ TILE_SEQ_LINE( 7, 11, 0, 3, 3, 14, 0xA63)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, 0x8A68)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_34[] = {
+ TILE_SEQ_BEGIN(0xA4B)
+ TILE_SEQ_LINE( 2, 7, 0, 3, 3, 14, 0xA64)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_35[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_LINE( 3, 2, 0, 3, 3, 14, 0xA65)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_36[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_LINE( 0, 8, 0, 14, 3, 14, 0xA66)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_37[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_38[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_39[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA78)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_40[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA79)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_41[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7A)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_42[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7B)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_43[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7C)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_44[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7D)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_45[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7E)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_46[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7F)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_47[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA80)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_48[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA81)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_49[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA82)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_50[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA83)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_51[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 70, 0xA29)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_52[] = {
+ TILE_SEQ_BEGIN(0xA69)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_53[] = {
+ TILE_SEQ_BEGIN(0xA6A)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_54[] = {
+ TILE_SEQ_BEGIN(0x8A6B)
+ TILE_SEQ_LINE( 0, 0, 0, 15, 15, 30, 0x8A6C)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_55[] = {
+ TILE_SEQ_BEGIN(0xA6D)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_56[] = {
+ TILE_SEQ_BEGIN(0xA6E)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_57[] = {
+ TILE_SEQ_BEGIN(0xA6F)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_58[] = {
+ TILE_SEQ_BEGIN(0xA70)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_LINE( 4, 11, 0, 1, 1, 20, 0x8A74)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_59[] = {
+ TILE_SEQ_BEGIN(0xA70)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_LINE( 4, 11, 0, 1, 1, 20, 0x8A75)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_60[] = {
+ TILE_SEQ_BEGIN(0xA70)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_LINE( 4, 11, 0, 1, 1, 20, 0x8A76)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_61[] = {
+ TILE_SEQ_BEGIN(0xA70)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_LINE( 4, 11, 0, 1, 1, 20, 0x8A77)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_62[] = {
+ TILE_SEQ_BEGIN(0xA71)
+ TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, 0x8A68)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_63[] = {
+ TILE_SEQ_BEGIN(0xA72)
+ TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, 0x8A68)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_64[] = {
+ TILE_SEQ_BEGIN(0xA73)
+ TILE_SEQ_LINE( 0, 15, 0, 16, 1, 6, 0x8A68)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_65[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_LINE( 14, 0, 0, 2, 16, 28, 0x8A61)
+ TILE_SEQ_LINE( 0, 0, 0, 2, 16, 28, 0xA62)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_66[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 16, 60, 0x8A49)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_67[] = {
+ TILE_SEQ_BEGIN(0x8A94)
+ TILE_SEQ_LINE( 0, 15, 0, 13, 1, 10, 0x8A98)
+ TILE_SEQ_LINE( 13, 0, 0, 3, 16, 10, 0x8A9C)
+ TILE_SEQ_LINE( 2, 0, 0, 11, 1, 10, 0x8AA0)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_68[] = {
+ TILE_SEQ_BEGIN(0x8A95)
+ TILE_SEQ_LINE( 15, 3, 0, 1, 13, 10, 0x8A99)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 3, 10, 0x8A9D)
+ TILE_SEQ_LINE( 0, 3, 0, 1, 11, 10, 0x8AA1)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_69[] = {
+ TILE_SEQ_BEGIN(0x8A96)
+ TILE_SEQ_LINE( 3, 0, 0, 13, 1, 10, 0x8A9A)
+ TILE_SEQ_LINE( 0, 0, 0, 3, 16, 10, 0x8A9E)
+ TILE_SEQ_LINE( 3, 15, 0, 11, 1, 10, 0x8AA2)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_70[] = {
+ TILE_SEQ_BEGIN(0x8A97)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 13, 10, 0x8A9B)
+ TILE_SEQ_LINE( 0, 13, 0, 16, 3, 10, 0x8A9F)
+ TILE_SEQ_LINE( 15, 2, 0, 1, 11, 10, 0x8AA3)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_71[] = {
+ TILE_SEQ_BEGIN(0x8A84)
+ TILE_SEQ_LINE( 2, 0, 0, 11, 1, 10, 0x8A88)
+ TILE_SEQ_LINE( 13, 0, 0, 3, 16, 10, 0x8A8C)
+ TILE_SEQ_LINE( 0, 13, 0, 13, 3, 10, 0x8A90)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_72[] = {
+ TILE_SEQ_BEGIN(0x8A85)
+ TILE_SEQ_LINE( 0, 3, 0, 1, 11, 10, 0x8A89)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 3, 10, 0x8A8D)
+ TILE_SEQ_LINE( 13, 3, 0, 3, 13, 10, 0x8A91)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_73[] = {
+ TILE_SEQ_BEGIN(0x8A86)
+ TILE_SEQ_LINE( 3, 15, 0, 11, 1, 10, 0x8A8A)
+ TILE_SEQ_LINE( 0, 0, 0, 3, 16, 10, 0x8A8E)
+ TILE_SEQ_LINE( 3, 0, 0, 13, 3, 10, 0x8A92)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_74[] = {
+ TILE_SEQ_BEGIN(0x8A87)
+ TILE_SEQ_LINE( 15, 2, 0, 1, 11, 10, 0x8A8B)
+ TILE_SEQ_LINE( 0, 13, 0, 16, 3, 10, 0x8A8F)
+ TILE_SEQ_LINE( 0, 0, 0, 3, 13, 10, 0x8A93)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_75[] = {
+ TILE_SEQ_BEGIN(0xFDD)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_76[] = {
+ TILE_SEQ_BEGIN(0xFE4)
+ TILE_SEQ_LINE( 0, 4, 0, 16, 8, 8, 0xAA7)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_77[] = {
+ TILE_SEQ_BEGIN(0xFE5)
+ TILE_SEQ_LINE( 4, 0, 0, 8, 16, 8, 0xAA8)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_78[] = {
+ TILE_SEQ_BEGIN(0xFE3)
+ TILE_SEQ_LINE( 0, 4, 0, 16, 8, 8, 0xAA9)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_79[] = {
+ TILE_SEQ_BEGIN(0xFE2)
+ TILE_SEQ_LINE( 4, 0, 0, 8, 16, 8, 0xAAA)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_80[] = {
+ TILE_SEQ_BEGIN(0xFDD)
+ TILE_SEQ_LINE( 0, 4, 0, 16, 8, 8, 0xAAB)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_81[] = {
+ TILE_SEQ_BEGIN(0xFDD)
+ TILE_SEQ_LINE( 4, 0, 0, 8, 16, 8, 0xAAC)
+ TILE_SEQ_END()
+};
+
+static const byte _station_display_datas_82[] = {
+ TILE_SEQ_BEGIN(0xFEC)
+ TILE_SEQ_END()
+};
+
+// end of runway
+const byte _station_display_datas_083[] = {
+ TILE_SEQ_BEGIN(0xA59)
+ TILE_SEQ_END()
+};
+
+// runway tiles
+const byte _station_display_datas_084[] = {
+ TILE_SEQ_BEGIN(0xA56)
+ TILE_SEQ_END()
+};
+
+// control tower with concrete underground and no fence
+const byte _station_display_datas_085[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 3, 3, 0, 10, 10, 60, 0x8A5B) // control tower
+ TILE_SEQ_END()
+};
+
+// new airportdepot, facing west
+const byte _station_display_datas_086[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_LINE( 14, 0, 0, 2, 16, 28, 0x8A61)
+ TILE_SEQ_LINE( 0, 0, 0, 2, 16, 28, 0xA62)
+ TILE_SEQ_END()
+};
+
+// asphalt tile with fences in north
+const byte _station_display_datas_087[] = {
+ TILE_SEQ_BEGIN(0xA4A)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+// end of runway
+const byte _station_display_datas_088[] = {
+ TILE_SEQ_BEGIN(0xA59)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, 0x8A68) // fences
+ TILE_SEQ_END()
+};
+
+// runway tiles
+const byte _station_display_datas_089[] = {
+ TILE_SEQ_BEGIN(0xA56)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, 0x8A68) // fences
+ TILE_SEQ_END()
+};
+
+// turning radar with concrete underground fences on south -- needs 12 tiles
+//BEGIN
+const byte _station_display_datas_090[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA78) // turning radar
+ TILE_SEQ_LINE(15, 0, 0, 1, 16, 6, 0x8A67) //fences
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_091[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA79)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_092[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7A)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_093[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7B)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_094[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7C)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_095[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7D)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_096[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7E)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_097[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7F)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_098[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA80)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_099[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA81)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_0100[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA82)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_0101[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA83)
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+//END
+
+// turning radar with concrete underground fences on north -- needs 12 tiles
+//BEGIN
+const byte _station_display_datas_0102[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA78) // turning radar
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_0103[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA79)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_0104[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7A)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_0105[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7B)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_0106[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7C)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_0107[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7D)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_0108[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7E)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_0109[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA7F)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_0110[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA80)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_0111[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA81)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_0112[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA82)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+
+const byte _station_display_datas_0113[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE( 7, 7, 0, 2, 2, 8, 0xA83)
+ TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+ TILE_SEQ_END()
+};
+//END
+
+// helipad for international airport
+const byte _station_display_datas_0114[] = {
+ TILE_SEQ_BEGIN(0xA4A) // concrete underground
+ TILE_SEQ_LINE(10, 6, 0, 0, 0, 0, SPR_OPENTTD_BASE + 31) // helipad
+ TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67) // fences bottom
+ TILE_SEQ_END()
+};
+
+static const byte * const _station_display_datas[] = {
+ _station_display_datas_0,
+ _station_display_datas_1,
+ _station_display_datas_2,
+ _station_display_datas_3,
+ _station_display_datas_4,
+ _station_display_datas_5,
+ _station_display_datas_6,
+ _station_display_datas_7,
+ _station_display_datas_8,
+ _station_display_datas_9,
+ _station_display_datas_10,
+ _station_display_datas_11,
+ _station_display_datas_12,
+ _station_display_datas_13,
+ _station_display_datas_14,
+ _station_display_datas_15,
+ _station_display_datas_16,
+ _station_display_datas_17,
+ _station_display_datas_18,
+ _station_display_datas_19,
+ _station_display_datas_20,
+ _station_display_datas_21,
+ _station_display_datas_22,
+ _station_display_datas_23,
+ _station_display_datas_24,
+ _station_display_datas_25,
+ _station_display_datas_26,
+ _station_display_datas_27,
+ _station_display_datas_28,
+ _station_display_datas_29,
+ _station_display_datas_30,
+ _station_display_datas_31,
+ _station_display_datas_32,
+ _station_display_datas_33,
+ _station_display_datas_34,
+ _station_display_datas_35,
+ _station_display_datas_36,
+ _station_display_datas_37,
+ _station_display_datas_38,
+ _station_display_datas_39,
+ _station_display_datas_40,
+ _station_display_datas_41,
+ _station_display_datas_42,
+ _station_display_datas_43,
+ _station_display_datas_44,
+ _station_display_datas_45,
+ _station_display_datas_46,
+ _station_display_datas_47,
+ _station_display_datas_48,
+ _station_display_datas_49,
+ _station_display_datas_50,
+ _station_display_datas_51,
+ _station_display_datas_52,
+ _station_display_datas_53,
+ _station_display_datas_54,
+ _station_display_datas_55,
+ _station_display_datas_56,
+ _station_display_datas_57,
+ _station_display_datas_58,
+ _station_display_datas_59,
+ _station_display_datas_60,
+ _station_display_datas_61,
+ _station_display_datas_62,
+ _station_display_datas_63,
+ _station_display_datas_64,
+ _station_display_datas_65,
+ _station_display_datas_66,
+ _station_display_datas_67,
+ _station_display_datas_68,
+ _station_display_datas_69,
+ _station_display_datas_70,
+ _station_display_datas_71,
+ _station_display_datas_72,
+ _station_display_datas_73,
+ _station_display_datas_74,
+ _station_display_datas_75,
+ _station_display_datas_76,
+ _station_display_datas_77,
+ _station_display_datas_78,
+ _station_display_datas_79,
+ _station_display_datas_80,
+ _station_display_datas_81,
+ _station_display_datas_82,
+ _station_display_datas_083,
+ _station_display_datas_084,
+ _station_display_datas_085,
+ _station_display_datas_086,
+ _station_display_datas_087,
+ _station_display_datas_088,
+ _station_display_datas_089,
+ _station_display_datas_090,
+ _station_display_datas_091,
+ _station_display_datas_092,
+ _station_display_datas_093,
+ _station_display_datas_094,
+ _station_display_datas_095,
+ _station_display_datas_096,
+ _station_display_datas_097,
+ _station_display_datas_098,
+ _station_display_datas_099,
+ _station_display_datas_0100,
+ _station_display_datas_0101,
+ _station_display_datas_0102,
+ _station_display_datas_0103,
+ _station_display_datas_0104,
+ _station_display_datas_0105,
+ _station_display_datas_0106,
+ _station_display_datas_0107,
+ _station_display_datas_0108,
+ _station_display_datas_0109,
+ _station_display_datas_0110,
+ _station_display_datas_0111,
+ _station_display_datas_0112,
+ _station_display_datas_0113,
+ _station_display_datas_0114,
+};
diff --git a/table/town_land.h b/table/town_land.h
new file mode 100644
index 000000000..f7c28accc
--- /dev/null
+++ b/table/town_land.h
@@ -0,0 +1,2169 @@
+#define M(s1,s2,sx,sy,w,h,dz,p) {s1,s2,(sx<<4)|sy,((w-1)<<4)|(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),
+};
+#undef M
+
+
+static const StringID _town_tile_names[] = {
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_2010_OFFICE_BLOCK,
+ STR_2011_SMALL_BLOCK_OF_FLATS,
+ STR_2012_CHURCH,
+ STR_2013_LARGE_OFFICE_BLOCK,
+ STR_2013_LARGE_OFFICE_BLOCK,
+ STR_2014_TOWN_HOUSES,
+ STR_2015_HOTEL,
+ STR_2015_HOTEL,
+ STR_2016_STATUE,
+ STR_2017_FOUNTAIN,
+ STR_2018_PARK,
+ STR_2018_PARK,
+ STR_2019_OFFICE_BLOCK,
+ STR_201A_SHOPS_AND_OFFICES,
+ STR_201A_SHOPS_AND_OFFICES,
+ STR_201A_SHOPS_AND_OFFICES,
+ STR_201B_MODERN_OFFICE_BUILDING,
+ STR_201C_WAREHOUSE,
+ STR_201D_OFFICE_BLOCK,
+ STR_201E_STADIUM,
+ STR_201E_STADIUM,
+ STR_201E_STADIUM,
+ STR_201E_STADIUM,
+ STR_201F_OLD_HOUSES,
+ STR_2036_COTTAGES,
+ STR_2037_HOUSES,
+ STR_2038_FLATS,
+ STR_2039_TALL_OFFICE_BLOCK,
+ STR_203A_SHOPS_AND_OFFICES,
+ STR_203B_SHOPS_AND_OFFICES,
+ STR_203C_THEATER,
+ STR_203D_STADIUM,
+ STR_203D_STADIUM,
+ STR_203D_STADIUM,
+ STR_203D_STADIUM,
+ STR_203E_OFFICES,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_2040_CINEMA,
+ STR_2041_SHOPPING_MALL,
+ STR_2041_SHOPPING_MALL,
+ STR_2041_SHOPPING_MALL,
+ STR_2041_SHOPPING_MALL,
+ STR_2038_FLATS,
+ STR_2038_FLATS,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_201A_SHOPS_AND_OFFICES,
+ STR_201A_SHOPS_AND_OFFICES,
+ STR_2012_CHURCH,
+ STR_2012_CHURCH,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_201A_SHOPS_AND_OFFICES,
+ STR_201A_SHOPS_AND_OFFICES,
+ STR_2015_HOTEL,
+ STR_2015_HOTEL,
+ STR_2015_HOTEL,
+ STR_2015_HOTEL,
+ STR_201A_SHOPS_AND_OFFICES,
+ STR_201A_SHOPS_AND_OFFICES,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_2038_FLATS,
+ STR_2012_CHURCH,
+ STR_203F_HOUSES,
+ STR_2038_FLATS,
+ STR_2038_FLATS,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_2038_FLATS,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_2012_CHURCH,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_203F_HOUSES,
+ STR_203F_HOUSES,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_2059_IGLOO,
+ STR_205A_TEPEES,
+ STR_201A_SHOPS_AND_OFFICES,
+ STR_201A_SHOPS_AND_OFFICES,
+ STR_200F_TALL_OFFICE_BLOCK,
+ STR_2016_STATUE,
+ STR_205B_TEAPOT_HOUSE,
+ STR_205C_PIGGY_BANK,
+};
+
+static const uint16 _housetype_flags[110] = {
+ 0x1010, 0x1018, 0x100E, 0x100F, 0x7010, 0x0810, 0x100F, 0x1014,
+ 0x0000, 0x7018, 0x7010, 0x1004, 0x1008, 0x1018, 0x101C, 0x101C,
+ 0x101C, 0x7010, 0x1010, 0x1010, 0x100F, 0x0000, 0x0000, 0x0000,
+ 0x1003, 0x1001, 0x100F, 0x101C, 0x101C, 0x101C, 0x5014, 0x1018,
+ 0x700F, 0x0000, 0x0000, 0x0000, 0x7018, 0x2003, 0x0803, 0x101C,
+ 0x101E, 0x0000, 0x0000, 0x0000, 0x201C, 0x081C, 0x200F, 0x080F,
+ 0x2007, 0x0807, 0x6018, 0x0818, 0x2018, 0x0818, 0x6018, 0x0818,
+ 0x2001, 0x0801, 0x201E, 0x081E, 0x200F, 0x080F, 0x2007, 0x0807,
+ 0x201C, 0x081C, 0x201C, 0x0000, 0x081C, 0x0000, 0x601C, 0x081C,
+ 0x2018, 0x0818, 0x201C, 0x0000, 0x081C, 0x0000, 0x401E, 0x401E,
+ 0x401E, 0x4001, 0x401C, 0x400E, 0x401E, 0x401C, 0x401C, 0x4018,
+ 0x4000, 0x401C, 0x4018, 0x801F, 0x801F, 0x8003, 0x800F, 0x800F,
+ 0x800F, 0x800F, 0x801C, 0x801F, 0x0000, 0x801C, 0x8001, 0x8001,
+ 0x801C, 0x801C, 0x801C, 0x801C, 0x801F, 0x801F,
+};
+
+static const byte _housetype_extra_flags[110] = {
+ 0, 0, 0, 0,32,32, 0, 8,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,16, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, 0, 0, 0, 0, 0, 0, 0,
+ 16, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 8, 0, 8, 0, 0, 0,
+ 0, 0, 4, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 8, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,
+};
+
+static const byte _housetype_population[110] = {
+ 187, 85, 40, 5, 220, 220, 30, 140,
+ 0, 0, 0, 0, 0, 150, 95, 95,
+ 95, 130, 6, 110, 65, 0, 0, 0,
+ 15, 12, 13, 100, 170, 100, 180, 35,
+ 65, 0, 0, 0, 140, 15, 15, 35,
+ 180, 0, 0, 0, 80, 80, 16, 16,
+ 14, 14, 135, 135, 170, 170, 210, 210,
+ 10, 10, 25, 25, 6, 6, 17, 17,
+ 90, 90, 140, 0, 140, 0, 105, 105,
+ 190, 190, 250, 0, 250, 0, 16, 16,
+ 16, 7, 45, 8, 18, 90, 120, 250,
+ 0, 80, 180, 8, 18, 7, 15, 17,
+ 19, 21, 75, 35, 0, 85, 11, 10,
+ 67, 86, 95, 30, 25, 18,
+};
+
+static const byte _housetype_mailamount[110] = {
+ 70, 55, 20, 2, 85, 85, 12, 22,
+ 22, 0, 0, 0, 0, 65, 48, 48,
+ 48, 50, 10, 55, 5, 5, 5, 5,
+ 6, 7, 8, 35, 50, 40, 64, 23,
+ 5, 5, 5, 5, 65, 6, 6, 23,
+ 5, 5, 5, 5, 20, 20, 6, 6,
+ 6, 6, 60, 60, 70, 70, 80, 80,
+ 5, 5, 20, 20, 2, 2, 7, 7,
+ 45, 45, 25, 25, 25, 25, 50, 50,
+ 75, 75, 60, 60, 60, 60, 6, 6,
+ 5, 4, 15, 3, 7, 24, 25, 80,
+ 80, 23, 90, 3, 5, 3, 6, 6,
+ 6, 6, 20, 9, 0, 18, 3, 3,
+ 22, 23, 28, 10, 8, 7,
+};
+
+
+static const byte _housetype_remove_cost[110] = {
+ 150, 140, 100, 90, 160, 160, 80, 180,
+ 180, 65, 65, 60, 60, 130, 110, 105,
+ 107, 200, 145, 155, 250, 250, 250, 250,
+ 70, 75, 71, 135, 145, 132, 155, 220,
+ 250, 250, 250, 250, 170, 70, 70, 210,
+ 250, 250, 250, 250, 100, 100, 70, 70,
+ 80, 80, 150, 150, 170, 170, 200, 200,
+ 60, 60, 100, 100, 85, 85, 80, 80,
+ 140, 140, 160, 160, 160, 160, 130, 130,
+ 190, 190, 140, 140, 140, 140, 80, 80,
+ 80, 30, 130, 90, 80, 110, 120, 190,
+ 190, 110, 180, 90, 90, 70, 80, 80,
+ 80, 80, 160, 90, 90, 150, 60, 60,
+ 140, 145, 165, 90, 75, 85,
+};
+
+static const uint16 _housetype_remove_ratingmod[110] = {
+ 140, 130, 90, 230, 160, 160, 80, 150,
+ 150, 40, 40, 75, 75, 110, 100, 100,
+ 100, 150, 110, 110, 300, 300, 300, 300,
+ 75, 75, 75, 100, 170, 135, 180, 230,
+ 300, 300, 300, 300, 250, 75, 75, 230,
+ 300, 300, 300, 300, 90, 90, 70, 70,
+ 70, 70, 120, 120, 130, 130, 140, 140,
+ 60, 60, 80, 80, 230, 230, 80, 80,
+ 110, 110, 160, 160, 160, 160, 105, 105,
+ 135, 135, 200, 200, 200, 200, 80, 80,
+ 80, 30, 95, 200, 80, 95, 95, 140,
+ 140, 95, 150, 200, 90, 50, 75, 75,
+ 75, 75, 130, 80, 80, 130, 45, 45,
+ 130, 130, 130, 70, 65, 95,
+};
+
+
+typedef struct {
+ byte min,max;
+} HousetypeYear;
+
+static const HousetypeYear _housetype_years[110] = {
+ {43, 255},
+ {37, 255},
+ {48, 255},
+ {0, 255},
+ {55, 255},
+ {55, 255},
+ {0, 255},
+ {39, 255},
+ {39, 255},
+ {25, 255},
+ {25, 255},
+ {0, 255},
+ {15, 255},
+ {31, 255},
+ {10, 40},
+ {10, 40},
+ {10, 40},
+ {57, 255},
+ {63, 255},
+ {65, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 31},
+ {0, 32},
+ {11, 255},
+ {15, 255},
+ {43, 255},
+ {0, 35},
+ {53, 255},
+ {0, 255},
+ {38, 255},
+ {38, 255},
+ {38, 255},
+ {38, 255},
+ {80, 255},
+ {0, 40},
+ {0, 40},
+ {25, 255},
+ {63, 255},
+ {63, 255},
+ {63, 255},
+ {63, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 43},
+ {0, 43},
+ {46, 255},
+ {46, 255},
+ {50, 255},
+ {50, 255},
+ {54, 255},
+ {54, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 40},
+ {0, 40},
+ {52, 255},
+ {52, 255},
+ {52, 255},
+ {52, 255},
+ {43, 255},
+ {43, 255},
+ {58, 255},
+ {58, 255},
+ {47, 255},
+ {47, 255},
+ {47, 255},
+ {47, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {53, 255},
+ {42, 255},
+ {64, 255},
+ {64, 255},
+ {0, 255},
+ {73, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+ {0, 255},
+};
+
+static const byte _housetype_cargo_passengers[110] = {
+ 8, 8, 8, 2, 10,10,4, 6,
+ 6, 2, 2, 2, 2, 8, 6, 6,
+ 6, 10,6, 6, 4, 4, 4, 4,
+ 3, 3, 3, 7, 8, 6, 8, 8,
+ 4, 4, 4, 4, 8, 3, 3, 8,
+ 8, 8, 8, 8, 5, 5, 3, 3,
+ 3, 3, 8, 8, 9, 9,10, 10,
+ 2, 2, 3, 3, 2, 2, 3, 3,
+ 6, 6, 6, 6, 6, 6, 7, 7,
+ 9, 9, 7, 7, 7, 7, 3, 3,
+ 3, 3, 6, 2, 3, 6, 6, 8,
+ 8, 6, 8, 2, 6, 3, 3, 3,
+ 3, 3, 8, 4, 4, 8, 3, 3,
+ 8, 8, 8, 4, 3, 3,
+};
+
+static const byte _housetype_cargo_mail[110] = {
+ 3, 3, 3, 0, 4, 4, 1, 1,
+ 1, 0, 0, 0, 0, 2, 2, 2,
+ 2, 3, 3, 2, 0, 0, 0, 0,
+ 1, 1, 1, 2, 3, 2, 3, 2,
+ 0, 0, 0, 0, 3, 1, 1, 2,
+ 2, 2, 2, 2, 2, 2, 1, 1,
+ 1, 1, 3, 3, 3, 3, 3, 3,
+ 1, 1, 1, 1, 0, 0, 1, 1,
+ 2, 2, 1, 1, 1, 1, 2, 2,
+ 3, 3, 2, 2, 2, 2, 1, 1,
+ 1, 1, 2, 0, 1, 2, 2, 3,
+ 3, 2, 3, 0, 2, 1, 1, 1,
+ 1, 1, 4, 1, 1, 4, 1, 1,
+ 4, 4, 4, 1, 1, 2,
+};
+
+static const int8 _housetype_cargo_goods[110] = {
+ 4, 4, 1, 0, 6, 6, 0, 2,
+ 2, 0, 0, 0, 0, 4, 3, 3,
+ 3, 6, 8, 6, 0, 0, 0, 0,
+ 0, 0, 0, 2, 3, 3, 3, 2,
+ 0, 0, 0, 0, 2,-1,-1, 2,
+ 3, 3, 3, 3,-2,-2,-2,-2,
+ -2,-2, 4, 4, 4, 4, 5, 5,
+ -1,-1,-1,-1, 0, 0,-1,-1,
+ 3, 3,-3, 2,-3, 2, 3, 3,
+ 4, 4, 2, 2, 2, 2,-2,-2,
+ -2,-1, 1, 0,-2, 1, 1, 4,
+ 4, 1, 4, 0, 2, 1, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 1,
+ -4,-4, 2, 2, 2,-4,
+};
+
+static const byte _house_more_flags[110] = {
+ 8, 8, 8, 8, 8, 8, 8, 12,
+ 0, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 15, 0, 0, 0,
+ 8, 8, 8, 8, 8, 8, 8, 8,
+ 15, 0, 0, 0, 8, 8, 8, 8,
+ 15, 0, 0, 0, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 12, 0, 12, 0, 8, 8,
+ 8, 8, 10, 0, 10, 0, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 10,
+ 0, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 12, 0, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8,
+};
+
diff --git a/table/track_land.h b/table/track_land.h
new file mode 100644
index 000000000..3c32e61c5
--- /dev/null
+++ b/table/track_land.h
@@ -0,0 +1,61 @@
+#define TILE_SEQ_BEGIN(x) ADD_WORD(x),
+#define TILE_SEQ_LINE(a,b,c,d,e) ADD_WORD(a), b,c,d,e,
+#define TILE_SEQ_END() 0,0,0,0
+
+static const byte _track_depot_layout_table_0[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE(0x842B, 2, 13, 13, 1)
+ TILE_SEQ_END()
+};
+
+static const byte _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_END()
+};
+
+static const byte _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_END()
+};
+
+static const byte _track_depot_layout_table_3[] = {
+ TILE_SEQ_BEGIN(0xF8D)
+ TILE_SEQ_LINE(0x842C, 13, 2, 1, 13)
+ TILE_SEQ_END()
+};
+
+static const byte _track_checkpoint_table_0[] = {
+ TILE_SEQ_BEGIN(0x83F4)
+ TILE_SEQ_LINE(0x8431, 0, 0, 16, 5)
+ TILE_SEQ_LINE(0x8430, 0, 11, 16, 5)
+ TILE_SEQ_END()
+};
+
+static const byte _track_checkpoint_table_1[] = {
+ TILE_SEQ_BEGIN(0x83F3)
+ TILE_SEQ_LINE(0x8432, 0, 0, 5, 16)
+ TILE_SEQ_LINE(0x842D, 11, 0, 5, 16)
+ TILE_SEQ_END()
+};
+
+
+static const byte * const _track_depot_layout_table[6] = {
+ _track_depot_layout_table_0,
+ _track_depot_layout_table_1,
+ _track_depot_layout_table_2,
+ _track_depot_layout_table_3,
+
+ _track_checkpoint_table_0,
+ _track_checkpoint_table_1,
+};
+
+const byte _track_sloped_sprites[14] = {
+ 14, 15, 22, 13,
+ 0, 21, 17, 12,
+ 23, 0, 18, 20,
+ 19, 16
+};
diff --git a/table/train_cmd.h b/table/train_cmd.h
new file mode 100644
index 000000000..ddcd381bb
--- /dev/null
+++ b/table/train_cmd.h
@@ -0,0 +1,55 @@
+static const SpriteID _engine_sprite_base[] = {
+0x0B59, 0x0B61, 0x0B69, 0x0BE1, 0x0B71, 0x0B75, 0x0B7D, 0x0B7D,
+0x0B85, 0x0B85, 0x0B8D, 0x0B8D, 0x0BC9, 0x0BD1, 0x0BD9, 0x0BE9,
+0x0BED, 0x0BED, 0x0BF5, 0x0BF9, 0x0B79, 0x0B9D, 0x0B9D, 0x0B95,
+0x0B95, 0x0BA5, 0x0BA9, 0x0BA9, 0x0BC1, 0x0BC5, 0x0BB1, 0x0BB9,
+0x0BB9, 0x0AAD, 0x0AB1, 0x0AB5, 0x0AB9, 0x0ABD, 0x0AC1, 0x0AC9,
+0x0ACD, 0x0AD5, 0x0AD1, 0x0AD9, 0x0AC5, 0x0AD1, 0x0AD5, 0x0AF9,
+0x0AFD, 0x0B05, 0x0AB9, 0x0AC1, 0x0AC9, 0x0AD1, 0x0AD9, 0x0AE1,
+0x0AE5, 0x0AE9, 0x0AF1, 0x0AF9, 0x0B0D, 0x0B11, 0x0B15, 0x0B19,
+0x0B1D, 0x0B21, 0x0B29, 0x0B2D, 0x0B35, 0x0B31, 0x0B39, 0x0B25,
+0x0B31, 0x0B35,
+};
+
+/* For how many directions do we have sprites? (8 or 4; if 4, the other 4
+ * directions are symmetric. */
+static const byte _engine_sprite_and[] = {
+7, 7, 7, 7, 3, 3, 7, 7,
+7, 7, 7, 7, 7, 7, 7, 3,
+7, 7, 3, 7, 3, 7, 7, 7,
+7, 3, 7, 7, 3, 3, 7, 7,
+7, 3, 3, 3, 3, 3, 3, 3,
+3, 3, 3, 3, 3, 3, 3, 3,
+3, 3, 3, 3, 3, 3, 3, 3,
+3, 3, 3, 3, 3, 3, 3, 3,
+3, 3, 3, 3, 3, 3, 3, 3,
+3, 3,
+};
+
+/* Non-zero for multihead trains. */
+static const byte _engine_sprite_add[] = {
+0, 0, 0, 0, 0, 0, 0, 4,
+0, 4, 0, 4, 0, 0, 0, 0,
+0, 4, 0, 0, 0, 0, 4, 0,
+4, 0, 0, 4, 0, 0, 0, 0,
+4, 0, 0, 0, 0, 0, 0, 0,
+0, 0, 0, 0, 0, 0, 0, 0,
+0, 0, 0, 0, 0, 0, 0, 0,
+0, 0, 0, 0, 0, 0, 0, 0,
+0, 0, 0, 0, 0, 0, 0, 0,
+0, 0,
+};
+
+
+static const byte _wagon_full_adder[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 44, 0, 0, 0, 0, 24,
+ 24, 24, 24, 0, 0, 32, 32, 0,
+ 4, 4, 4, 4, 4, 4, 4, 0,
+ 0, 4, 4, 4, 0, 44, 0, 0,
+ 0, 0, 24, 24, 24, 24, 0, 0,
+ 32, 32
+};
diff --git a/table/tree_land.h b/table/tree_land.h
new file mode 100644
index 000000000..7b3588a7c
--- /dev/null
+++ b/table/tree_land.h
@@ -0,0 +1,213 @@
+static const SpriteID _tree_sprites_1[4] = {
+ 0x118D,
+ 0x11A0,
+ 0x11B3,
+ 0x11C6,
+};
+
+static const byte _tree_layout_xy[4][8] = {
+{9, 3, 1, 8, 0, 0, 8, 9},
+{4, 4, 9, 1, 6, 9, 0, 9},
+{9, 1, 0, 9, 6, 6, 3, 0},
+{3, 9, 8, 2, 9, 9, 1, 5},
+};
+
+static const PalSpriteID _tree_layout_sprite[164+(79-48+1)][4] = {
+ { 0x652, 0x659, 0x660, 0x667}, /* 0 */
+ { 0x652, 0x667, 0x66e, 0x675}, /* 1 */
+ { 0x652, 0x66e, 0x659, 0x675}, /* 2 */
+ { 0x652, 0x652, 0x660, 0x66e}, /* 3 */
+ { 0x660, 0x667, 0x659, 0x652}, /* 4 */
+ { 0x660, 0x675, 0x660, 0x660}, /* 5 */
+ { 0x660, 0x652, 0x652, 0x66e}, /* 6 */
+ { 0x660, 0x675, 0x667, 0x659}, /* 7 */
+ { 0x675, 0x660, 0x675, 0x675}, /* 8 */
+ { 0x675, 0x659, 0x652, 0x652}, /* 9 */
+ { 0x675, 0x66e, 0x652, 0x652}, /* 10 */
+ { 0x675, 0x667, 0x659, 0x667}, /* 11 */
+ { 0x628, 0x652, 0x660, 0x62f}, /* 12 */
+ { 0x628, 0x636, 0x675, 0x644}, /* 13 */
+ { 0x628, 0x652, 0x63d, 0x66e}, /* 14 */
+ { 0x628, 0x667, 0x644, 0x652}, /* 15 */
+ { 0x644, 0x659, 0x660, 0x628}, /* 16 */
+ { 0x644, 0x64b, 0x659, 0x636}, /* 17 */
+ { 0x644, 0x675, 0x652, 0x63d}, /* 18 */
+ { 0x644, 0x63d, 0x66e, 0x652}, /* 19 */
+ { 0x636, 0x636, 0x628, 0x636}, /* 20 */
+ { 0x636, 0x63d, 0x636, 0x636}, /* 21 */
+ { 0x636, 0x64b, 0x636, 0x636}, /* 22 */
+ { 0x636, 0x636, 0x636, 0x636}, /* 23 */
+ { 0x64b, 0x628, 0x62f, 0x636}, /* 24 */
+ { 0x64b, 0x63d, 0x644, 0x636}, /* 25 */
+ { 0x64b, 0x636, 0x63d, 0x628}, /* 26 */
+ { 0x64b, 0x64b, 0x636, 0x63d}, /* 27 */
+ { 0x62f, 0x644, 0x644, 0x636}, /* 28 */
+ { 0x62f, 0x62f, 0x636, 0x628}, /* 29 */
+ { 0x62f, 0x64b, 0x636, 0x636}, /* 30 */
+ { 0x62f, 0x636, 0x62f, 0x636}, /* 31 */
+ { 0x67c, 0x675, 0x683, 0x67c}, /* 32 */
+ { 0x67c, 0x69f, 0x67c, 0x659}, /* 33 */
+ { 0x67c, 0x67c, 0x67c, 0x6a6}, /* 34 */
+ { 0x67c, 0x691, 0x66e, 0x68a}, /* 35 */
+ { 0x68a, 0x68a, 0x698, 0x68a}, /* 36 */
+ { 0x68a, 0x698, 0x683, 0x68a}, /* 37 */
+ { 0x68a, 0x67c, 0x691, 0x68a}, /* 38 */
+ { 0x68a, 0x683, 0x6a6, 0x69f}, /* 39 */
+ { 0x698, 0x68a, 0x698, 0x652}, /* 40 */
+ { 0x698, 0x698, 0x660, 0x667}, /* 41 */
+ { 0x698, 0x67c, 0x6a6, 0x698}, /* 42 */
+ { 0x698, 0x698, 0x698, 0x691}, /* 43 */
+ { 0x6a6, 0x6a6, 0x67c, 0x660}, /* 44 */
+ { 0x6a6, 0x69f, 0x6a6, 0x652}, /* 45 */
+ { 0x6a6, 0x67c, 0x6a6, 0x691}, /* 46 */
+ { 0x6a6, 0x691, 0x69f, 0x6a6}, /* 47 */
+ { 0x6ad, 0x6ad, 0x6ad, 0x6ad}, /* 48 */
+ { 0x6ad, 0x6ad, 0x6c2, 0x6d0}, /* 49 */
+ { 0x6ad, 0x6d7, 0x6ad, 0x6ad}, /* 50 */
+ { 0x6ad, 0x6d0, 0x6c9, 0x6ad}, /* 51 */
+ { 0x6d0, 0x6d0, 0x6d0, 0x6ad}, /* 52 */
+ { 0x6d0, 0x6ad, 0x6d7, 0x6c9}, /* 53 */
+ { 0x6d0, 0x6d7, 0x6d0, 0x6c2}, /* 54 */
+ { 0x6d0, 0x6d0, 0x6d0, 0x6ad}, /* 55 */
+ { 0x6d7, 0x6d7, 0x6d7, 0x6d7}, /* 56 */
+ { 0x6d7, 0x6d7, 0x6ad, 0x6ad}, /* 57 */
+ { 0x6d7, 0x6d0, 0x6d7, 0x6ad}, /* 58 */
+ { 0x6d7, 0x6d7, 0x6d0, 0x6ad}, /* 59 */
+ { 0x6c2, 0x6d0, 0x6c9, 0x6c2}, /* 60 */
+ { 0x6c2, 0x6c9, 0x6c2, 0x6ad}, /* 61 */
+ { 0x6c2, 0x6c2, 0x6c2, 0x6ad}, /* 62 */
+ { 0x6c2, 0x6c2, 0x6c2, 0x6c9}, /* 63 */
+ { 0x6c9, 0x6d0, 0x6b4, 0x6c2}, /* 64 */
+ { 0x6c9, 0x6bb, 0x6de, 0x6d7}, /* 65 */
+ { 0x6c9, 0x6c2, 0x6bb, 0x6b4}, /* 66 */
+ { 0x6c9, 0x6bb, 0x6c2, 0x6de}, /* 67 */
+ { 0x6b4, 0x6b4, 0x6de, 0x6c9}, /* 68 */
+ { 0x6b4, 0x6bb, 0x6bb, 0x6ad}, /* 69 */
+ { 0x6b4, 0x6de, 0x6bb, 0x6b4}, /* 70 */
+ { 0x6b4, 0x6ad, 0x6c2, 0x6de}, /* 71 */
+ { 0x6bb, 0x6d0, 0x6de, 0x6c2}, /* 72 */
+ { 0x6bb, 0x6b4, 0x6bb, 0x6d7}, /* 73 */
+ { 0x6bb, 0x6de, 0x6bb, 0x6b4}, /* 74 */
+ { 0x6bb, 0x6c9, 0x6c2, 0x6de}, /* 75 */
+ { 0x6de, 0x6d7, 0x6de, 0x6c2}, /* 76 */
+ { 0x6de, 0x6bb, 0x6de, 0x6d0}, /* 77 */
+ { 0x6de, 0x6de, 0x6bb, 0x6b4}, /* 78 */
+ { 0x6de, 0x6c9, 0x6c2, 0x6de}, /* 79 */
+ { 0x72b, 0x732, 0x72b, 0x739}, /* 80 */
+ { 0x72b, 0x747, 0x755, 0x72b}, /* 81 */
+ { 0x72b, 0x72b, 0x76a, 0x786}, /* 82 */
+ { 0x72b, 0x74e, 0x72b, 0x72b}, /* 83 */
+ { 0x732, 0x732, 0x72b, 0x739}, /* 84 */
+ { 0x732, 0x747, 0x732, 0x732}, /* 85 */
+ { 0x732, 0x732, 0x755, 0x794}, /* 86 */
+ { 0x732, 0x74e, 0x732, 0x78d}, /* 87 */
+ { 0x747, 0x732, 0x747, 0x740}, /* 88 */
+ { 0x747, 0x747, 0x732, 0x76a}, /* 89 */
+ { 0x747, 0x72b, 0x755, 0x747}, /* 90 */
+ { 0x747, 0x786, 0x732, 0x747}, /* 91 */
+ { 0x74e, 0x74e, 0x72b, 0x794}, /* 92 */
+ { 0x74e, 0x755, 0x732, 0x74e}, /* 93 */
+ { 0x74e, 0x72b, 0x786, 0x747}, /* 94 */
+ { 0x74e, 0x74e, 0x732, 0x794}, /* 95 */
+ { 0x76a, 0x76a, 0x74e, 0x74e}, /* 96 */
+ { 0x76a, 0x794, 0x732, 0x76a}, /* 97 */
+ { 0x76a, 0x732, 0x786, 0x76a}, /* 98 */
+ { 0x76a, 0x786, 0x732, 0x78d}, /* 99 */
+ { 0x78d, 0x78d, 0x74e, 0x794}, /* 100 */
+ { 0x78d, 0x732, 0x739, 0x747}, /* 101 */
+ { 0x78d, 0x732, 0x786, 0x76a}, /* 102 */
+ { 0x78d, 0x786, 0x78d, 0x794}, /* 103 */
+ { 0x786, 0x786, 0x740, 0x732}, /* 104 */
+ { 0x786, 0x786, 0x72b, 0x732}, /* 105 */
+ { 0x786, 0x732, 0x786, 0x786}, /* 106 */
+ { 0x786, 0x786, 0x78d, 0x794}, /* 107 */
+ { 0x778, 0x778, 0x77f, 0x778}, /* 108 */
+ { 0x778, 0x77f, 0x778, 0x77f}, /* 109 */
+ { 0x778, 0x77f, 0x77f, 0x778}, /* 110 */
+ { 0x778, 0x778, 0x778, 0x77f}, /* 111 */
+ { 0x75c, 0x71d, 0x75c, 0x724}, /* 112 */
+ { 0x75c, 0x72b, 0x75c, 0x763}, /* 113 */
+ { 0x75c, 0x75c, 0x771, 0x71d}, /* 114 */
+ { 0x75c, 0x771, 0x75c, 0x75c}, /* 115 */
+ { 0x771, 0x771, 0x75c, 0x71d}, /* 116 */
+ { 0x771, 0x747, 0x75c, 0x771}, /* 117 */
+ { 0x771, 0x75c, 0x771, 0x724}, /* 118 */
+ { 0x771, 0x771, 0x75c, 0x763}, /* 119 */
+ { 0x71d, 0x71d, 0x771, 0x724}, /* 120 */
+ { 0x71d, 0x74e, 0x763, 0x71d}, /* 121 */
+ { 0x71d, 0x724, 0x794, 0x71d}, /* 122 */
+ { 0x71d, 0x71d, 0x75c, 0x78d}, /* 123 */
+ { 0x794, 0x724, 0x75c, 0x794}, /* 124 */
+ { 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 */
+ { 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 */
+ /* the extra things follow */
+ { 0x6e5, 0x6e5, 0x6e5, 0x6e5}, /* 0 */
+ { 0x6e5, 0x6e5, 0x6fa, 0x708}, /* 1 */
+ { 0x6e5, 0x70f, 0x6e5, 0x6e5}, /* 2 */
+ { 0x6e5, 0x708, 0x701, 0x6e5}, /* 3 */
+ { 0x708, 0x708, 0x708, 0x6e5}, /* 4 */
+ { 0x708, 0x6e5, 0x70f, 0x701}, /* 5 */
+ { 0x708, 0x70f, 0x708, 0x6fa}, /* 6 */
+ { 0x708, 0x708, 0x708, 0x6e5}, /* 7 */
+ { 0x70f, 0x70f, 0x70f, 0x70f}, /* 8 */
+ { 0x70f, 0x70f, 0x6e5, 0x6e5}, /* 9 */
+ { 0x70f, 0x708, 0x70f, 0x6e5}, /* 10 */
+ { 0x70f, 0x70f, 0x708, 0x6e5}, /* 11 */
+ { 0x6fa, 0x708, 0x701, 0x6fa}, /* 12 */
+ { 0x6fa, 0x701, 0x6fa, 0x6e5}, /* 13 */
+ { 0x6fa, 0x6fa, 0x6fa, 0x6e5}, /* 14 */
+ { 0x6fa, 0x6fa, 0x6fa, 0x701}, /* 15 */
+ { 0x701, 0x708, 0x6ec, 0x6fa}, /* 16 */
+ { 0x701, 0x6f3, 0x716, 0x70f}, /* 17 */
+ { 0x701, 0x6fa, 0x6f3, 0x6ec}, /* 18 */
+ { 0x701, 0x6f3, 0x6fa, 0x716}, /* 19 */
+ { 0x6ec, 0x6ec, 0x716, 0x701}, /* 20 */
+ { 0x6ec, 0x6f3, 0x6f3, 0x6e5}, /* 21 */
+ { 0x6ec, 0x716, 0x6f3, 0x6ec}, /* 22 */
+ { 0x6ec, 0x6e5, 0x6fa, 0x716}, /* 23 */
+ { 0x6f3, 0x708, 0x716, 0x6fa}, /* 24 */
+ { 0x6f3, 0x6ec, 0x6f3, 0x70f}, /* 25 */
+ { 0x6f3, 0x716, 0x6f3, 0x6ec}, /* 26 */
+ { 0x6f3, 0x701, 0x6fa, 0x716}, /* 27 */
+ { 0x716, 0x70f, 0x716, 0x6fa}, /* 28 */
+ { 0x716, 0x6f3, 0x716, 0x708}, /* 29 */
+ { 0x716, 0x716, 0x6f3, 0x6ec}, /* 30 */
+ { 0x716, 0x701, 0x6fa, 0x716}, /* 31 */
+};
diff --git a/table/tunnel_land.h b/table/tunnel_land.h
new file mode 100644
index 000000000..5e400a855
--- /dev/null
+++ b/table/tunnel_land.h
@@ -0,0 +1,755 @@
+static const SpriteID _draw_tunnel_table_1[] = {
+ 0x93D, 0x955,
+};
+
+static const SpriteID _bridge_land_below[] = {
+ 0xF8D, 0xFDD,0x11C6, 0xFDD,
+};
+
+static const SpriteID _bridge_transp_below[] = {
+ 0x3F3, 0x3F4, 0xF8D, 0xF8D, // without ice
+ 0x40D, 0x40E, 0x11C6, 0x11C6, // with ice
+};
+
+static const SpriteID _bridge_transp_overlay[] = {
+ 0, 0, 0x534, 0x535, // without ice
+ 0, 0, 0x547, 0x548, // with ice
+};
+
+static const PalSpriteID _bridge_sprite_table_2_0[] = {
+ 0x9C3, 0x9C7, 0x9C9, 0x0, 0x9C4, 0x9C8, 0x9CA, 0x0,
+ 0x9C5, 0x9C7, 0x9C9, 0x0, 0x9C6, 0x9C8, 0x9CA, 0x0,
+ 0x10E4, 0x9C7, 0x9C9, 0x0, 0x10E5, 0x9C8, 0x9CA, 0x0,
+ 0x110C, 0x9C7, 0x9C9, 0x0, 0x110D, 0x9C8, 0x9CA, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_2_1[] = {
+ 0x986, 0x988, 0x985, 0x987, 0x98A, 0x98C, 0x989, 0x98B,
+ 0x31D898E, 0x31D8990, 0x31D898D, 0x31D898F, 0x31D8992, 0x31D8994, 0x31D8991, 0x31D8993,
+ 0x10E7, 0x10E9, 0x10E6, 0x10E8, 0x10EB, 0x10ED, 0x10EA, 0x10EC,
+ 0x110F, 0x1111, 0x110E, 0x1110, 0x1113, 0x1115, 0x1112, 0x1114,
+};
+
+static const PalSpriteID _bridge_sprite_table_2_poles[] = {
+ SPR_OPENTTD_BASE + 36 + 6*3,
+ SPR_OPENTTD_BASE + 36 + 6*3,
+ SPR_OPENTTD_BASE + 36 + 6*3,
+ SPR_OPENTTD_BASE + 36 + 6*3,
+ SPR_OPENTTD_BASE + 38 + 6*3,
+ 0x0,
+
+ SPR_OPENTTD_BASE + 33 + 6*3,
+ SPR_OPENTTD_BASE + 33 + 6*3,
+ SPR_OPENTTD_BASE + 33 + 6*3,
+ SPR_OPENTTD_BASE + 33 + 6*3,
+ SPR_OPENTTD_BASE + 35 + 6*3,
+ 0x0,
+
+ 0x0,
+ 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_4_0[] = {
+ 0x9A9, 0x99F, 0x9B1, 0x0, 0x9A5, 0x997, 0x9AD, 0x0,
+ 0x99D, 0x99F, 0x9B1, 0x0, 0x995, 0x997, 0x9AD, 0x0,
+ 0x10F2, 0x99F, 0x9B1, 0x0, 0x10EE, 0x997, 0x9AD, 0x0,
+ 0x111A, 0x99F, 0x9B1, 0x0, 0x1116, 0x997, 0x9AD, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_4_1[] = {
+ 0x9AA, 0x9A0, 0x9B2, 0x0, 0x9A6, 0x998, 0x9AE, 0x0,
+ 0x99E, 0x9A0, 0x9B2, 0x0, 0x996, 0x998, 0x9AE, 0x0,
+ 0x10F3, 0x9A0, 0x9B2, 0x0, 0x10EF, 0x998, 0x9AE, 0x0,
+ 0x111B, 0x9A0, 0x9B2, 0x0, 0x1117, 0x998, 0x9AE, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_4_2[] = {
+ 0x9AC, 0x9A4, 0x9B4, 0x0, 0x9A8, 0x99C, 0x9B0, 0x0,
+ 0x9A2, 0x9A4, 0x9B4, 0x0, 0x99A, 0x99C, 0x9B0, 0x0,
+ 0x10F5, 0x9A4, 0x9B4, 0x0, 0x10F1, 0x99C, 0x9B0, 0x0,
+ 0x111D, 0x9A4, 0x9B4, 0x0, 0x1119, 0x99C, 0x9B0, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_4_3[] = {
+ 0x9AB, 0x9A3, 0x9B3, 0x0, 0x9A7, 0x99B, 0x9AF, 0x0,
+ 0x9A1, 0x9A3, 0x9B3, 0x0, 0x999, 0x99B, 0x9AF, 0x0,
+ 0x10F4, 0x9A3, 0x9B3, 0x0, 0x10F0, 0x99B, 0x9AF, 0x0,
+ 0x111C, 0x9A3, 0x9B3, 0x0, 0x1118, 0x99B, 0x9AF, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_4_4[] = {
+ 0x9B6, 0x9BA, 0x9BC, 0x0, 0x9B5, 0x9B9, 0x9BB, 0x0,
+ 0x9B8, 0x9BA, 0x9BC, 0x0, 0x9B7, 0x9B9, 0x9BB, 0x0,
+ 0x10F7, 0x9BA, 0x9BC, 0x0, 0x10F6, 0x9B9, 0x9BB, 0x0,
+ 0x111F, 0x9BA, 0x9BC, 0x0, 0x111E, 0x9B9, 0x9BB, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_4_5[] = {
+ 0x9BD, 0x9C1, 0x0, 0x0, 0x9BE, 0x9C2, 0x0, 0x0,
+ 0x9BF, 0x9C1, 0x0, 0x0, 0x9C0, 0x9C2, 0x0, 0x0,
+ 0x10F8, 0x9C1, 0x0, 0x0, 0x10F9, 0x9C2, 0x0, 0x0,
+ 0x1120, 0x9C1, 0x0, 0x0, 0x1121, 0x9C2, 0x0, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_4_6[] = {
+ 0x986, 0x988, 0x985, 0x987, 0x98A, 0x98C, 0x989, 0x98B,
+ 0x98E, 0x990, 0x98D, 0x98F, 0x992, 0x994, 0x991, 0x993,
+ 0x10E7, 0x10E9, 0x10E6, 0x10E8, 0x10EB, 0x10ED, 0x10EA, 0x10EC,
+ 0x110F, 0x1111, 0x110E, 0x1110, 0x1113, 0x1115, 0x1112, 0x1114,
+};
+
+static const PalSpriteID _bridge_sprite_table_4_poles[] = {
+ SPR_OPENTTD_BASE + 36,
+ SPR_OPENTTD_BASE + 37,
+ SPR_OPENTTD_BASE + 37,
+ SPR_OPENTTD_BASE + 36,
+ SPR_OPENTTD_BASE + 38,
+ 0x0,
+
+ SPR_OPENTTD_BASE + 33,
+ SPR_OPENTTD_BASE + 34,
+ SPR_OPENTTD_BASE + 34,
+ SPR_OPENTTD_BASE + 33,
+ SPR_OPENTTD_BASE + 35,
+ 0x0,
+
+ 0x0,
+ 0x0,
+};
+
+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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 0x10E7, 0x10E9, 0x10E6, 0x10E8, 0x10EB, 0x10ED, 0x10EA, 0x10EC,
+ 0x110F, 0x1111, 0x110E, 0x1110, 0x1113, 0x1115, 0x1112, 0x1114,
+ 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,
+ 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,
+ 0x0,
+
+ 0x0,
+ 0x0,
+};
+
+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,
+};
+
+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,
+};
+
+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,
+};
+
+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,
+};
+
+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,
+};
+
+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,
+};
+
+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,
+ 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,
+ 0x0,
+
+ 0x0,
+ 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_1_1[] = {
+ 0x986, 0x988, 0x985, 0x987, 0x98A, 0x98C, 0x989, 0x98B,
+ 0x320898E, 0x3208990, 0x320898D, 0x320898F, 0x3208992, 0x3208994, 0x3208991, 0x3208993,
+ 0x10E7, 0x10E9, 0x10E6, 0x10E8, 0x10EB, 0x10ED, 0x10EA, 0x10EC,
+ 0x110F, 0x1111, 0x110E, 0x1110, 0x1113, 0x1115, 0x1112, 0x1114,
+};
+
+static const PalSpriteID _bridge_sprite_table_1_poles[] = {
+ SPR_OPENTTD_BASE + 36 + 6*3,
+ SPR_OPENTTD_BASE + 37 + 6*3,
+ SPR_OPENTTD_BASE + 37 + 6*3,
+ SPR_OPENTTD_BASE + 36 + 6*3,
+ SPR_OPENTTD_BASE + 38 + 6*3,
+ 0x0,
+
+ SPR_OPENTTD_BASE + 33 + 6*3,
+ SPR_OPENTTD_BASE + 34 + 6*3,
+ SPR_OPENTTD_BASE + 34 + 6*3,
+ SPR_OPENTTD_BASE + 33 + 6*3,
+ SPR_OPENTTD_BASE + 35 + 6*3,
+ 0x0,
+
+ 0x0,
+ 0x0,
+};
+
+
+static const PalSpriteID _bridge_sprite_table_6_0[] = {
+ 0x9CD, 0x9D9, 0x0, 0x0, 0x9CE, 0x9DA, 0x0, 0x0,
+ 0x9D3, 0x9D9, 0x0, 0x0, 0x9D4, 0x9DA, 0x0, 0x0,
+ 0x10FC, 0x9D9, 0x0, 0x0, 0x10FD, 0x9DA, 0x0, 0x0,
+ 0x1124, 0x9D9, 0x0, 0x0, 0x1125, 0x9DA, 0x0, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_6_1[] = {
+ 0x9CB, 0x9D7, 0x9DD, 0x0, 0x9D0, 0x9DC, 0x9E0, 0x0,
+ 0x9D1, 0x9D7, 0x9DD, 0x0, 0x9D6, 0x9DC, 0x9E0, 0x0,
+ 0x10FA, 0x9D7, 0x9DD, 0x0, 0x10FF, 0x9DC, 0x9E0, 0x0,
+ 0x1122, 0x9D7, 0x9DD, 0x0, 0x1127, 0x9DC, 0x9E0, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_6_2[] = {
+ 0x9CC, 0x9D8, 0x9DE, 0x0, 0x9CF, 0x9DB, 0x9DF, 0x0,
+ 0x9D2, 0x9D8, 0x9DE, 0x0, 0x9D5, 0x9DB, 0x9DF, 0x0,
+ 0x10FB, 0x9D8, 0x9DE, 0x0, 0x10FE, 0x9DB, 0x9DF, 0x0,
+ 0x1123, 0x9D8, 0x9DE, 0x0, 0x1126, 0x9DB, 0x9DF, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_6_3[] = {
+ 0x986, 0x988, 0x985, 0x987, 0x98A, 0x98C, 0x989, 0x98B,
+ 0x98E, 0x990, 0x98D, 0x98F, 0x992, 0x994, 0x991, 0x993,
+ 0x10E7, 0x10E9, 0x10E6, 0x10E8, 0x10EB, 0x10ED, 0x10EA, 0x10EC,
+ 0x110F, 0x1111, 0x110E, 0x1110, 0x1113, 0x1115, 0x1112, 0x1114,
+};
+
+static const PalSpriteID _bridge_sprite_table_6_poles[] = {
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+
+ 2526,
+ 2528,
+};
+
+
+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,
+};
+
+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,
+};
+
+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,
+};
+
+static const PalSpriteID _bridge_sprite_table_7_3[] = {
+ 0x986, 0x988, 0x985, 0x987, 0x98A, 0x98C, 0x989, 0x98B,
+ 0x31C898E, 0x31C8990, 0x31C898D, 0x31C898F, 0x31C8992, 0x31C8994, 0x31C8991, 0x31C8993,
+ 0x10E7, 0x10E9, 0x10E6, 0x10E8, 0x10EB, 0x10ED, 0x10EA, 0x10EC,
+ 0x110F, 0x1111, 0x110E, 0x1110, 0x1113, 0x1115, 0x1112, 0x1114,
+};
+
+static const PalSpriteID _bridge_sprite_table_7_poles[] = {
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+
+ 2526,
+ 2528,
+};
+
+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,
+};
+
+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,
+};
+
+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,
+};
+
+static const PalSpriteID _bridge_sprite_table_8_3[] = {
+ 0x986, 0x988, 0x985, 0x987, 0x98A, 0x98C, 0x989, 0x98B,
+ 0x31E898E, 0x31E8990, 0x31E898D, 0x31E898F, 0x31E8992, 0x31E8994, 0x31E8991, 0x31E8993,
+ 0x10E7, 0x10E9, 0x10E6, 0x10E8, 0x10EB, 0x10ED, 0x10EA, 0x10EC,
+ 0x110F, 0x1111, 0x110E, 0x1110, 0x1113, 0x1115, 0x1112, 0x1114,
+};
+
+static const PalSpriteID _bridge_sprite_table_8_poles[] = {
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+ 0x0,
+
+ 2526,
+ 2528,
+};
+
+static const PalSpriteID _bridge_sprite_table_0_0[] = {
+ 0x9F2, 0x9F6, 0x9F8, 0x0, 0x9F1, 0x9F5, 0x9F7, 0x0,
+ 0x9F4, 0x9F6, 0x9F8, 0x0, 0x9F3, 0x9F5, 0x9F7, 0x0,
+ 0x1109, 0x9F6, 0x9F8, 0x0, 0x1108, 0x9F5, 0x9F7, 0x0,
+ 0x1131, 0x9F6, 0x9F8, 0x0, 0x1130, 0x9F5, 0x9F7, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_0_1[] = {
+ 0x9EE, 0x9ED, 0x9F0, 0x9EF, 0x9EA, 0x9E9, 0x9EB, 0x9EC,
+ 0x9E6, 0x9E5, 0x9E8, 0x9E7, 0x9E2, 0x9E1, 0x9E3, 0x9E4,
+ 0x1105, 0x1104, 0x1107, 0x1106, 0x1101, 0x1100, 0x1102, 0x1103,
+ 0x112D, 0x112C, 0x112F, 0x112E, 0x1129, 0x1128, 0x112A, 0x112B,
+};
+
+static const PalSpriteID _bridge_sprite_table_0_poles[] = {
+ SPR_OPENTTD_BASE + 42,
+ SPR_OPENTTD_BASE + 42,
+ SPR_OPENTTD_BASE + 42,
+ SPR_OPENTTD_BASE + 42,
+ SPR_OPENTTD_BASE + 44,
+ 0x0,
+
+ SPR_OPENTTD_BASE + 39,
+ SPR_OPENTTD_BASE + 39,
+ SPR_OPENTTD_BASE + 39,
+ SPR_OPENTTD_BASE + 39,
+ SPR_OPENTTD_BASE + 41,
+ 0x0,
+
+ 0x0,
+ 0x0,
+};
+
+
+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,
+};
+
+static const PalSpriteID _bridge_sprite_table_9_0[] = {
+ 0x9F9, 0x9FD, 0x9C9, 0x0, 0x9FA, 0x9FE, 0x9CA, 0x0,
+ 0x9FB, 0x9FD, 0x9C9, 0x0, 0x9FC, 0x9FE, 0x9CA, 0x0,
+ 0x110A, 0x9FD, 0x9C9, 0x0, 0x110B, 0x9FE, 0x9CA, 0x0,
+ 0x1132, 0x9FD, 0x9C9, 0x0, 0x1133, 0x9FE, 0x9CA, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_10_0[] = {
+ 0xA0B, 0xA01, 0x0, 0x0, 0xA0C, 0xA02, 0x0, 0x0,
+ 0xA11, 0xA01, 0x0, 0x0, 0xA12, 0xA02, 0x0, 0x0,
+ 0xA17, 0xA01, 0x0, 0x0, 0xA18, 0xA02, 0x0, 0x0,
+ 0xA1D, 0xA01, 0x0, 0x0, 0xA1E, 0xA02, 0x0, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_10_1[] = {
+ 0xA09, 0x9FF, 0xA05, 0x0, 0xA0E, 0xA04, 0xA08, 0x0,
+ 0xA0F, 0x9FF, 0xA05, 0x0, 0xA14, 0xA04, 0xA08, 0x0,
+ 0xA15, 0x9FF, 0xA05, 0x0, 0xA1A, 0xA04, 0xA08, 0x0,
+ 0xA1B, 0x9FF, 0xA05, 0x0, 0xA20, 0xA04, 0xA08, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_10_2[] = {
+ 0xA0A, 0xA00, 0xA06, 0x0, 0xA0D, 0xA03, 0xA07, 0x0,
+ 0xA10, 0xA00, 0xA06, 0x0, 0xA13, 0xA03, 0xA07, 0x0,
+ 0xA16, 0xA00, 0xA06, 0x0, 0xA19, 0xA03, 0xA07, 0x0,
+ 0xA1C, 0xA00, 0xA06, 0x0, 0xA1F, 0xA03, 0xA07, 0x0,
+};
+
+static const PalSpriteID _bridge_sprite_table_10_poles[] = {
+ SPR_OPENTTD_BASE + 36 + 2*6,
+ SPR_OPENTTD_BASE + 36 + 2*6,
+ SPR_OPENTTD_BASE + 36 + 2*6,
+ SPR_OPENTTD_BASE + 36 + 2*6,
+ SPR_OPENTTD_BASE + 38 + 2*6,
+ 0x0,
+
+ SPR_OPENTTD_BASE + 33 + 2*6,
+ SPR_OPENTTD_BASE + 33 + 2*6,
+ SPR_OPENTTD_BASE + 33 + 2*6,
+ SPR_OPENTTD_BASE + 33 + 2*6,
+ SPR_OPENTTD_BASE + 35 + 2*6,
+ 0x0,
+
+ 0x0,
+ 0x0,
+};
+
+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,
+};
+
+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,
+};
+
+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,
+};
+
+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,
+ 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,
+ 0x0,
+
+ 0x0,
+ 0x0,
+};
+
+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,
+};
+
+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,
+};
+
+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,
+};
+
+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,
+ 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,
+ 0x0,
+
+ 0x0,
+ 0x0,
+};
+
+static const uint32 * const _bridge_sprite_table_2[] = {
+ _bridge_sprite_table_2_0,
+ _bridge_sprite_table_2_0,
+ _bridge_sprite_table_2_0,
+ _bridge_sprite_table_2_0,
+ _bridge_sprite_table_2_0,
+ _bridge_sprite_table_2_0,
+ _bridge_sprite_table_2_1,
+};
+
+static const uint32 * const _bridge_sprite_table_4[] = {
+ _bridge_sprite_table_4_0,
+ _bridge_sprite_table_4_1,
+ _bridge_sprite_table_4_2,
+ _bridge_sprite_table_4_3,
+ _bridge_sprite_table_4_4,
+ _bridge_sprite_table_4_5,
+ _bridge_sprite_table_4_6,
+};
+
+static const uint32 * const _bridge_sprite_table_5[] = {
+ _bridge_sprite_table_5_0,
+ _bridge_sprite_table_5_1,
+ _bridge_sprite_table_5_2,
+ _bridge_sprite_table_5_3,
+ _bridge_sprite_table_5_4,
+ _bridge_sprite_table_5_5,
+ _bridge_sprite_table_5_6,
+};
+
+static const uint32 * const _bridge_sprite_table_3[] = {
+ _bridge_sprite_table_3_0,
+ _bridge_sprite_table_3_1,
+ _bridge_sprite_table_3_2,
+ _bridge_sprite_table_3_3,
+ _bridge_sprite_table_3_4,
+ _bridge_sprite_table_3_5,
+ _bridge_sprite_table_1_1,
+};
+
+static const uint32 * const _bridge_sprite_table_6[] = {
+ _bridge_sprite_table_6_0,
+ _bridge_sprite_table_6_1,
+ _bridge_sprite_table_6_2,
+ _bridge_sprite_table_6_2,
+ _bridge_sprite_table_6_2,
+ _bridge_sprite_table_6_2,
+ _bridge_sprite_table_6_3,
+};
+
+static const uint32 * const _bridge_sprite_table_7[] = {
+ _bridge_sprite_table_7_0,
+ _bridge_sprite_table_7_1,
+ _bridge_sprite_table_7_2,
+ _bridge_sprite_table_7_2,
+ _bridge_sprite_table_7_2,
+ _bridge_sprite_table_7_2,
+ _bridge_sprite_table_7_3,
+};
+
+static const uint32 * const _bridge_sprite_table_8[] = {
+ _bridge_sprite_table_8_0,
+ _bridge_sprite_table_8_1,
+ _bridge_sprite_table_8_2,
+ _bridge_sprite_table_8_2,
+ _bridge_sprite_table_8_2,
+ _bridge_sprite_table_8_2,
+ _bridge_sprite_table_8_3,
+};
+
+static const uint32 * const _bridge_sprite_table_0[] = {
+ _bridge_sprite_table_0_0,
+ _bridge_sprite_table_0_0,
+ _bridge_sprite_table_0_0,
+ _bridge_sprite_table_0_0,
+ _bridge_sprite_table_0_0,
+ _bridge_sprite_table_0_0,
+ _bridge_sprite_table_0_1,
+};
+
+static const uint32 * const _bridge_sprite_table_1[] = {
+ _bridge_sprite_table_1_0,
+ _bridge_sprite_table_1_0,
+ _bridge_sprite_table_1_0,
+ _bridge_sprite_table_1_0,
+ _bridge_sprite_table_1_0,
+ _bridge_sprite_table_1_0,
+ _bridge_sprite_table_1_1,
+};
+
+static const uint32 * const _bridge_sprite_table_9[] = {
+ _bridge_sprite_table_9_0,
+ _bridge_sprite_table_9_0,
+ _bridge_sprite_table_9_0,
+ _bridge_sprite_table_9_0,
+ _bridge_sprite_table_9_0,
+ _bridge_sprite_table_9_0,
+ _bridge_sprite_table_4_6,
+};
+
+static const uint32 * const _bridge_sprite_table_10[] = {
+ _bridge_sprite_table_10_0,
+ _bridge_sprite_table_10_1,
+ _bridge_sprite_table_10_2,
+ _bridge_sprite_table_10_2,
+ _bridge_sprite_table_10_2,
+ _bridge_sprite_table_10_2,
+ _bridge_sprite_table_6_3,
+};
+
+static const uint32 * const _bridge_sprite_table_11[] = {
+ _bridge_sprite_table_11_0,
+ _bridge_sprite_table_11_1,
+ _bridge_sprite_table_11_2,
+ _bridge_sprite_table_11_2,
+ _bridge_sprite_table_11_2,
+ _bridge_sprite_table_11_2,
+ _bridge_sprite_table_6_3,
+};
+
+static const uint32 * const _bridge_sprite_table_12[] = {
+ _bridge_sprite_table_12_0,
+ _bridge_sprite_table_12_1,
+ _bridge_sprite_table_12_2,
+ _bridge_sprite_table_12_2,
+ _bridge_sprite_table_12_2,
+ _bridge_sprite_table_12_2,
+ _bridge_sprite_table_6_3,
+};
+
+static const uint32 * const * const _bridge_sprite_table[] = {
+ _bridge_sprite_table_0,
+ _bridge_sprite_table_1,
+ _bridge_sprite_table_2,
+ _bridge_sprite_table_3,
+ _bridge_sprite_table_4,
+ _bridge_sprite_table_5,
+ _bridge_sprite_table_6,
+ _bridge_sprite_table_7,
+ _bridge_sprite_table_8,
+ _bridge_sprite_table_9,
+ _bridge_sprite_table_10,
+ _bridge_sprite_table_11,
+ _bridge_sprite_table_12
+};
+
+static const uint32 * const _bridge_poles_table[] = {
+ _bridge_sprite_table_0_poles,
+ _bridge_sprite_table_1_poles,
+ _bridge_sprite_table_2_poles,
+ _bridge_sprite_table_3_poles,
+ _bridge_sprite_table_4_poles,
+ _bridge_sprite_table_5_poles,
+ _bridge_sprite_table_6_poles,
+ _bridge_sprite_table_7_poles,
+ _bridge_sprite_table_8_poles,
+ _bridge_sprite_table_2_poles,
+ _bridge_sprite_table_10_poles,
+ _bridge_sprite_table_11_poles,
+ _bridge_sprite_table_12_poles
+};
+
+
diff --git a/table/unmovable_land.h b/table/unmovable_land.h
new file mode 100644
index 000000000..5c31e53b4
--- /dev/null
+++ b/table/unmovable_land.h
@@ -0,0 +1,141 @@
+#define TILE_SEQ_BEGIN(x) ADD_WORD(x),
+#define TILE_SEQ_LINE(a,b,c,d,e,f,g) a,b,c,d,e,f,ADD_WORD(g),
+#define TILE_SEQ_END() 0x80
+
+static const DrawTileUnmovableStruct _draw_tile_unmovable_data[] = {
+ {0xA29, 7,7, 2,2, 70},
+ {0xA2A, 4,4, 7,7, 61},
+};
+
+static const byte _unmovable_display_datas_0[] = {
+ TILE_SEQ_BEGIN(0x8A2B)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_1[] = {
+ TILE_SEQ_BEGIN(0x8A2C)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_2[] = {
+ TILE_SEQ_BEGIN(0x8A2D)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_3[] = {
+ TILE_SEQ_BEGIN(0x8A2E)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_4[] = {
+ TILE_SEQ_BEGIN(0x8A2F)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_5[] = {
+ TILE_SEQ_BEGIN(0x8A30)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_6[] = {
+ TILE_SEQ_BEGIN(0x8A31)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_7[] = {
+ TILE_SEQ_BEGIN(0x8A32)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_8[] = {
+ TILE_SEQ_BEGIN(0x8A33)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 16, 20, 0x8A34)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_9[] = {
+ TILE_SEQ_BEGIN(0x8A35)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 16, 20, 0x8A36)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_10[] = {
+ TILE_SEQ_BEGIN(0x8A37)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 16, 20, 0x8A38)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_11[] = {
+ TILE_SEQ_BEGIN(0x8A39)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_12[] = {
+ TILE_SEQ_BEGIN(0x8A3A)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 16, 50, 0x8A3B)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_13[] = {
+ TILE_SEQ_BEGIN(0x8A3C)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 16, 50, 0x8A3D)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_14[] = {
+ TILE_SEQ_BEGIN(0x8A3E)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 16, 50, 0x8A3F)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_15[] = {
+ TILE_SEQ_BEGIN(0x8A40)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_16[] = {
+ TILE_SEQ_BEGIN(0x8A41)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 16, 60, 0x8A42)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_17[] = {
+ TILE_SEQ_BEGIN(0x8A43)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 16, 60, 0x8A44)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_18[] = {
+ TILE_SEQ_BEGIN(0x8A45)
+ TILE_SEQ_LINE( 0, 0, 0, 16, 16, 60, 0x8A46)
+ TILE_SEQ_END()
+};
+
+static const byte _unmovable_display_datas_19[] = {
+ TILE_SEQ_BEGIN(0x8A47)
+ TILE_SEQ_END()
+};
+
+static const byte * const _unmovable_display_datas[] = {
+ _unmovable_display_datas_0,
+ _unmovable_display_datas_1,
+ _unmovable_display_datas_2,
+ _unmovable_display_datas_3,
+ _unmovable_display_datas_4,
+ _unmovable_display_datas_5,
+ _unmovable_display_datas_6,
+ _unmovable_display_datas_7,
+ _unmovable_display_datas_8,
+ _unmovable_display_datas_9,
+ _unmovable_display_datas_10,
+ _unmovable_display_datas_11,
+ _unmovable_display_datas_12,
+ _unmovable_display_datas_13,
+ _unmovable_display_datas_14,
+ _unmovable_display_datas_15,
+ _unmovable_display_datas_16,
+ _unmovable_display_datas_17,
+ _unmovable_display_datas_18,
+ _unmovable_display_datas_19,
+};
+
diff --git a/table/water_land.h b/table/water_land.h
new file mode 100644
index 000000000..6bd86d4b4
--- /dev/null
+++ b/table/water_land.h
@@ -0,0 +1,147 @@
+static const byte _shipdepot_display_seq_1[] = {
+ ADD_WORD(0xFDD),
+
+ 0,15,0,16,1,0x14,
+ ADD_WORD(0x8FE8),
+
+ 0x80
+};
+
+static const byte _shipdepot_display_seq_2[] = {
+ ADD_WORD(0xFDD),
+
+ 0,0,0,16,1,0x14, ADD_WORD(0xFEA),
+ 0,15,0,16,1,0x14, ADD_WORD(0x8FE6),
+
+ 0x80
+};
+
+static const byte _shipdepot_display_seq_3[] = {
+ ADD_WORD(0xFDD),
+
+ 15,0,0,1,0x10,0x14,ADD_WORD(0x8FE9),
+
+ 0x80
+};
+
+static const byte _shipdepot_display_seq_4[] = {
+ ADD_WORD(0xFDD),
+
+ 0,0,0,1,16,0x14, ADD_WORD(0xFEB),
+ 15,0,0,1,16,0x14, ADD_WORD(0x8FE7),
+
+ 0x80
+};
+
+static const byte * const _shipdepot_display_seq[] = {
+ _shipdepot_display_seq_1,
+ _shipdepot_display_seq_2,
+ _shipdepot_display_seq_3,
+ _shipdepot_display_seq_4,
+};
+
+static const byte _shiplift_display_seq_0[] = {
+ ADD_WORD(SPR_CANALS_BASE + 6),
+ 0, 0, 0, 0x10, 1, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 0 + 1),
+ 0, 0xF, 0, 0x10, 1, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 4 + 1),
+ 0x80, 0
+};
+
+static const byte _shiplift_display_seq_1[] = {
+ ADD_WORD(SPR_CANALS_BASE + 5),
+ 0, 0, 0, 1, 0x10, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 0),
+ 0xF, 0, 0, 1, 0x10, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 4),
+ 0x80, 0
+};
+
+static const byte _shiplift_display_seq_2[] = {
+ ADD_WORD(SPR_CANALS_BASE + 7),
+ 0, 0, 0, 0x10, 1, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 0 + 2),
+ 0, 0xF, 0, 0x10, 1, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 4 + 2),
+ 0x80, 0
+};
+
+static const byte _shiplift_display_seq_3[] = {
+ ADD_WORD(SPR_CANALS_BASE + 8),
+ 0, 0, 0, 1, 0x10, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 0 + 3),
+ 0xF, 0, 0, 1, 0x10, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 4 + 3),
+ 0x80, 0
+};
+
+static const byte _shiplift_display_seq_0b[] = {
+ ADD_WORD(0xFDD),
+ 0, 0, 0, 0x10, 1, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 8 + 1),
+ 0, 0xF, 0, 0x10, 1, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 12 + 1),
+ 0x80, 0
+};
+
+static const byte _shiplift_display_seq_1b[] = {
+ ADD_WORD(0xFDD),
+ 0, 0, 0, 0x1, 0x10, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 8),
+ 0xF, 0, 0, 0x1, 0x10, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 12),
+ 0x80, 0
+};
+
+static const byte _shiplift_display_seq_2b[] = {
+ ADD_WORD(0xFDD),
+ 0, 0, 0, 0x10, 1, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 8 + 2),
+ 0, 0xF, 0, 0x10, 1, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 12 + 2),
+ 0x80, 0
+};
+
+static const byte _shiplift_display_seq_3b[] = {
+ ADD_WORD(0xFDD),
+ 0, 0, 0, 1, 0x10, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 8 + 3),
+ 0xF, 0, 0, 1, 0x10, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 12 + 3),
+ 0x80, 0
+};
+
+static const byte _shiplift_display_seq_0t[] = {
+ ADD_WORD(0xFDD),
+ 0, 0, 0, 0x10, 1, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 16 + 1),
+ 0, 0xF, 0, 0x10, 1, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 20 + 1),
+ 0x80, 8
+};
+
+static const byte _shiplift_display_seq_1t[] = {
+ ADD_WORD(0xFDD),
+ 0, 0, 0, 0x1, 0x10, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 16),
+ 0xF, 0, 0, 0x1, 0x10, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 20),
+ 0x80, 8
+};
+
+static const byte _shiplift_display_seq_2t[] = {
+ ADD_WORD(0xFDD),
+ 0, 0, 0, 0x10, 1, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 16 + 2),
+ 0, 0xF, 0, 0x10, 1, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 20 + 2),
+ 0x80, 8
+};
+
+static const byte _shiplift_display_seq_3t[] = {
+ ADD_WORD(0xFDD),
+ 0, 0, 0, 1, 0x10, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 16 + 3),
+ 0xF, 0, 0, 1, 0x10, 0x14, ADD_WORD(SPR_CANALS_BASE + 9 + 20 + 3),
+ 0x80, 8
+};
+
+static const byte * const _shiplift_display_seq[] = {
+ _shiplift_display_seq_0,
+ _shiplift_display_seq_1,
+ _shiplift_display_seq_2,
+ _shiplift_display_seq_3,
+
+ _shiplift_display_seq_0b,
+ _shiplift_display_seq_1b,
+ _shiplift_display_seq_2b,
+ _shiplift_display_seq_3b,
+
+ _shiplift_display_seq_0t,
+ _shiplift_display_seq_1t,
+ _shiplift_display_seq_2t,
+ _shiplift_display_seq_3t,
+};
+
+
+static const SpriteID _water_shore_sprites[15] = {
+ 0, 0xFDF, 0xFE0, 0xFE4, 0xFDE, 0, 0xFE2, 0, 0xFE1, 0xFE5, 0, 0, 0xFE3, 0, 0
+};