summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordarkvater <darkvater@openttd.org>2004-11-14 01:25:05 +0000
committerdarkvater <darkvater@openttd.org>2004-11-14 01:25:05 +0000
commit7930faace98fea1ce02032c9cebc06e9b5266a16 (patch)
tree11dd7877ad10a2ccc94b14f4aa90d5c235fc4dbc
parente9ef930155c51d4412410c304cf08eba7c1e658f (diff)
downloadopenttd-7930faace98fea1ce02032c9cebc06e9b5266a16.tar.xz
(svn r576) -newgrf: Cleanup horrible table/(station|unmovable)_land.h DrawTileSeqStruct hacks needed for custom station supports (pasky)
-rw-r--r--station.h18
-rw-r--r--station_cmd.c48
-rw-r--r--table/station_land.h964
-rw-r--r--table/unmovable_land.h126
-rw-r--r--unmovable_cmd.c20
5 files changed, 527 insertions, 649 deletions
diff --git a/station.h b/station.h
index 7e62ad280..da5c4d6bb 100644
--- a/station.h
+++ b/station.h
@@ -89,4 +89,22 @@ VARDEF bool _global_station_sort_dirty;
void GetProductionAroundTiles(uint *produced, uint tile, int w, int h);
void GetAcceptanceAroundTiles(uint *accepts, uint tile, int w, int h);
uint GetStationPlatforms(Station *st, uint tile);
+
+
+typedef struct DrawTileSeqStruct {
+ int8 delta_x;
+ int8 delta_y;
+ int8 delta_z;
+ byte width,height;
+ byte unk; // 'depth', just z-size; TODO: rename
+ uint32 image;
+} DrawTileSeqStruct;
+
+typedef struct DrawTileSprites {
+ SpriteID ground_sprite;
+ DrawTileSeqStruct const *seq;
+} DrawTileSprites;
+
+#define foreach_draw_tile_seq(idx, list) for (idx = list; ((byte) idx->delta_x) != 0x80; idx++)
+
#endif /* STATION_H */
diff --git a/station_cmd.c b/station_cmd.c
index 23f5b17cc..c28c2587e 100644
--- a/station_cmd.c
+++ b/station_cmd.c
@@ -1717,22 +1717,13 @@ static int32 RemoveDock(Station *st, uint32 flags)
#include "table/station_land.h"
-typedef struct DrawTileSeqStruct {
- int8 delta_x;
- int8 delta_y;
- int8 delta_z;
- byte width,height;
- byte unk;
- SpriteID image;
-} DrawTileSeqStruct;
-
static void DrawTile_Station(TileInfo *ti)
{
uint32 image_or_modificator;
uint32 base_img, image;
const DrawTileSeqStruct *dtss;
- const byte *t;
+ const DrawTileSprites *t;
// station_land array has been increased from 82 elements to 114
// but this is something else. If AI builds station with 114 it looks all weird
@@ -1749,32 +1740,24 @@ static void DrawTile_Station(TileInfo *ti)
if (ti->tileh != 0 && (ti->map5 < 0x4C || ti->map5 > 0x51))
DrawFoundation(ti, ti->tileh);
- t = _station_display_datas[ti->map5];
+ t = &_station_display_datas[ti->map5];
- image = *(const uint32*)t;
- t += sizeof(uint32);
+ image = t->ground_sprite;
if (image & 0x8000)
image |= image_or_modificator;
DrawGroundSprite(image + base_img);
- for(dtss = (const DrawTileSeqStruct *)t; (byte)dtss->delta_x != 0x80; dtss++) {
- if ((byte)dtss->delta_z != 0x80) {
- image = dtss->image + base_img;
- if (_display_opt & DO_TRANS_BUILDINGS) {
- if (image&0x8000) image |= image_or_modificator;
- } else {
- image = (image & 0x3FFF) | 0x03224000;
- }
+ foreach_draw_tile_seq(dtss, t->seq) {
+ image = dtss->image + base_img;
+ if (_display_opt & DO_TRANS_BUILDINGS) {
+ if (image&0x8000) image |= image_or_modificator;
+ } else {
+ image = (image & 0x3FFF) | 0x03224000;
+ }
+ if ((byte)dtss->delta_z != 0x80) {
AddSortableSpriteToDraw(image, ti->x + dtss->delta_x, ti->y + dtss->delta_y, dtss->width, dtss->height, dtss->unk, ti->z + dtss->delta_z);
} else {
- image = *(const uint32*)&dtss->height + base_img; /* endian ok */
-
- if (_display_opt & DO_TRANS_BUILDINGS) {
- if (image&0x8000) image |= image_or_modificator;
- } else {
- image = (image & 0x3FFF) | 0x03224000;
- }
AddChildSpriteScreen(image, dtss->delta_x, dtss->delta_y);
}
}
@@ -1784,22 +1767,21 @@ void StationPickerDrawSprite(int x, int y, int railtype, int image)
{
uint32 ormod, img;
const DrawTileSeqStruct *dtss;
- const byte *t;
+ const DrawTileSprites *t;
/* baseimage */
railtype *= TRACKTYPE_SPRITE_PITCH;
ormod = PLAYER_SPRITE_COLOR(_local_player);
- t = _station_display_datas[image];
+ t = &_station_display_datas[image];
- img = *(const uint32*)t;
- t += sizeof(uint32);
+ img = t->ground_sprite;
if (img & 0x8000)
img |= ormod;
DrawSprite(img + railtype, x, y);
- for(dtss = (const DrawTileSeqStruct *)t; (byte)dtss->delta_x != 0x80; dtss++) {
+ foreach_draw_tile_seq(dtss, t->seq) {
Point pt = RemapCoords(dtss->delta_x, dtss->delta_y, dtss->delta_z);
DrawSprite((dtss->image | ormod) + railtype, x + pt.x, y + pt.y);
}
diff --git a/table/station_land.h b/table/station_land.h
index 6042b6c0a..05b2dbcfa 100644
--- a/table/station_land.h
+++ b/table/station_land.h
@@ -1,885 +1,795 @@
-#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
+#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)
+static const DrawTileSeqStruct _station_display_datas_0[] = {
+ { 0, 0, 0, 16, 5, 2, 0x842E },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_1[] = {
+ { 0, 0, 0, 5, 16, 2, 0x842F },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_2[] = {
+ { 0, 0, 0, 16, 5, 2, 0x8431 },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_3[] = {
+ { 0, 0, 0, 5, 16, 2, 0x8432 },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_4[] = {
+ { 0, 0, 0, 16, 5, 7, 0x8434 },
+ { 0, 11, 0, 16, 5, 2, 0x8430 },
+ { 0, 0, 16, 16, 16, 10, 0x8437 },
+ { 0, 0,0x80, 0, 0, 0, 0x322443B },
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)
+static const DrawTileSeqStruct _station_display_datas_5[] = {
+ { 0, 0, 0, 5, 16, 2, 0x8435 },
+ { 11, 0, 0, 5, 16, 2, 0x842D },
+ { 0, 0, 16, 16, 16, 10, 0x8438 },
+ { 0, 0,0x80, 0, 0, 0, 0x322443C },
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)
+static const DrawTileSeqStruct _station_display_datas_6[] = {
+ { 0, 0, 0, 16, 5, 2, 0x842E },
+ { 0, 11, 0, 16, 5, 2, 0x8436 },
+ { 0, 0, 16, 16, 16, 10, 0x8439 },
+ { 0, 0,0x80, 0, 0, 0, 0x322443D },
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)
+static const DrawTileSeqStruct _station_display_datas_7[] = {
+ { 0, 0, 0, 5, 16, 2, 0x842F },
+ { 11, 0, 0, 5, 16, 2, 0x8433 },
+ { 0, 0, 16, 16, 16, 10, 0x843A },
+ { 0, 0,0x80, 0, 0, 0, 0x322443E },
TILE_SEQ_END()
};
-static const byte _station_display_datas_8[] = {
- TILE_SEQ_BEGIN(0xA4A)
+static const DrawTileSeqStruct _station_display_datas_8[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_9[] = {
- TILE_SEQ_BEGIN(0xA4A)
- TILE_SEQ_LINE( 0, 0, 0, 16, 1, 6, 0x8A68)
+static const DrawTileSeqStruct _station_display_datas_9[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_10[] = {
+ { 15, 0, 0, 1, 16, 6, 0x8A67 },
TILE_SEQ_END()
};
-static const byte _station_display_datas_11[] = {
- TILE_SEQ_BEGIN(0xA4B)
+static const DrawTileSeqStruct _station_display_datas_11[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_12[] = {
- TILE_SEQ_BEGIN(0xA4C)
+static const DrawTileSeqStruct _station_display_datas_12[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_13[] = {
- TILE_SEQ_BEGIN(0xA4D)
+static const DrawTileSeqStruct _station_display_datas_13[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_14[] = {
- TILE_SEQ_BEGIN(0xA4E)
+static const DrawTileSeqStruct _station_display_datas_14[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_15[] = {
- TILE_SEQ_BEGIN(0xA4F)
+static const DrawTileSeqStruct _station_display_datas_15[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_16[] = {
- TILE_SEQ_BEGIN(0xA50)
+static const DrawTileSeqStruct _station_display_datas_16[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_17[] = {
- TILE_SEQ_BEGIN(0xA51)
+static const DrawTileSeqStruct _station_display_datas_17[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_18[] = {
- TILE_SEQ_BEGIN(0xA52)
+static const DrawTileSeqStruct _station_display_datas_18[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_19[] = {
- TILE_SEQ_BEGIN(0xA53)
+static const DrawTileSeqStruct _station_display_datas_19[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_20[] = {
- TILE_SEQ_BEGIN(0xA54)
+static const DrawTileSeqStruct _station_display_datas_20[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_21[] = {
- TILE_SEQ_BEGIN(0xA53)
- TILE_SEQ_LINE( 15, 0, 0, 1, 16, 6, 0x8A67)
+static const DrawTileSeqStruct _station_display_datas_21[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_22[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_23[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_24[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_25[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_26[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_27[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_28[] = {
+ { 3, 3, 0, 10, 10, 60, 0x8A5B },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_29[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_30[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_31[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_32[] = {
+ { 14, 0, 0, 2, 16, 28, 0x8A5F },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_33[] = {
+ { 7, 11, 0, 3, 3, 14, 0xA63 },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_34[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_35[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_36[] = {
+ { 0, 8, 0, 14, 3, 14, 0xA66 },
TILE_SEQ_END()
};
-static const byte _station_display_datas_37[] = {
- TILE_SEQ_BEGIN(0xF8D)
+static const DrawTileSeqStruct _station_display_datas_37[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_38[] = {
- TILE_SEQ_BEGIN(0xF8D)
- TILE_SEQ_LINE( 0, 0, 0, 1, 16, 6, 0x8A67)
+static const DrawTileSeqStruct _station_display_datas_38[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_39[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA78 },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_40[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA79 },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_41[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7A },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_42[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7B },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_43[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7C },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_44[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7D },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_45[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7E },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_46[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7F },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_47[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA80 },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_48[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA81 },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_49[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA82 },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_50[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA83 },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_51[] = {
+ { 7, 7, 0, 2, 2, 70, 0xA29 },
+ { 0, 0, 0, 1, 16, 6, 0x8A67 },
TILE_SEQ_END()
};
-static const byte _station_display_datas_52[] = {
- TILE_SEQ_BEGIN(0xA69)
+static const DrawTileSeqStruct _station_display_datas_52[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_53[] = {
- TILE_SEQ_BEGIN(0xA6A)
+static const DrawTileSeqStruct _station_display_datas_53[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_54[] = {
- TILE_SEQ_BEGIN(0x8A6B)
- TILE_SEQ_LINE( 0, 0, 0, 15, 15, 30, 0x8A6C)
+static const DrawTileSeqStruct _station_display_datas_54[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_55[] = {
+ { 15, 0, 0, 1, 16, 6, 0x8A67 },
TILE_SEQ_END()
};
-static const byte _station_display_datas_56[] = {
- TILE_SEQ_BEGIN(0xA6E)
+static const DrawTileSeqStruct _station_display_datas_56[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_57[] = {
- TILE_SEQ_BEGIN(0xA6F)
+static const DrawTileSeqStruct _station_display_datas_57[] = {
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)
+static const DrawTileSeqStruct _station_display_datas_58[] = {
+ { 0, 0, 0, 1, 16, 6, 0x8A67 },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_59[] = {
+ { 0, 0, 0, 1, 16, 6, 0x8A67 },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_60[] = {
+ { 0, 0, 0, 1, 16, 6, 0x8A67 },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_61[] = {
+ { 0, 0, 0, 1, 16, 6, 0x8A67 },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_62[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_63[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_64[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_65[] = {
+ { 14, 0, 0, 2, 16, 28, 0x8A61 },
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_66[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_67[] = {
+ { 0, 15, 0, 13, 1, 10, 0x8A98 },
+ { 13, 0, 0, 3, 16, 10, 0x8A9C },
+ { 2, 0, 0, 11, 1, 10, 0x8AA0 },
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)
+static const DrawTileSeqStruct _station_display_datas_68[] = {
+ { 15, 3, 0, 1, 13, 10, 0x8A99 },
+ { 0, 0, 0, 16, 3, 10, 0x8A9D },
+ { 0, 3, 0, 1, 11, 10, 0x8AA1 },
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)
+static const DrawTileSeqStruct _station_display_datas_69[] = {
+ { 3, 0, 0, 13, 1, 10, 0x8A9A },
+ { 0, 0, 0, 3, 16, 10, 0x8A9E },
+ { 3, 15, 0, 11, 1, 10, 0x8AA2 },
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)
+static const DrawTileSeqStruct _station_display_datas_70[] = {
+ { 0, 0, 0, 1, 13, 10, 0x8A9B },
+ { 0, 13, 0, 16, 3, 10, 0x8A9F },
+ { 15, 2, 0, 1, 11, 10, 0x8AA3 },
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)
+static const DrawTileSeqStruct _station_display_datas_71[] = {
+ { 2, 0, 0, 11, 1, 10, 0x8A88 },
+ { 13, 0, 0, 3, 16, 10, 0x8A8C },
+ { 0, 13, 0, 13, 3, 10, 0x8A90 },
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)
+static const DrawTileSeqStruct _station_display_datas_72[] = {
+ { 0, 3, 0, 1, 11, 10, 0x8A89 },
+ { 0, 0, 0, 16, 3, 10, 0x8A8D },
+ { 13, 3, 0, 3, 13, 10, 0x8A91 },
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)
+static const DrawTileSeqStruct _station_display_datas_73[] = {
+ { 3, 15, 0, 11, 1, 10, 0x8A8A },
+ { 0, 0, 0, 3, 16, 10, 0x8A8E },
+ { 3, 0, 0, 13, 3, 10, 0x8A92 },
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)
+static const DrawTileSeqStruct _station_display_datas_74[] = {
+ { 15, 2, 0, 1, 11, 10, 0x8A8B },
+ { 0, 13, 0, 16, 3, 10, 0x8A8F },
+ { 0, 0, 0, 3, 13, 10, 0x8A93 },
TILE_SEQ_END()
};
-static const byte _station_display_datas_75[] = {
- TILE_SEQ_BEGIN(0xFDD)
+static const DrawTileSeqStruct _station_display_datas_75[] = {
TILE_SEQ_END()
};
-static const byte _station_display_datas_76[] = {
- TILE_SEQ_BEGIN(0xFE4)
- TILE_SEQ_LINE( 0, 4, 0, 16, 8, 8, 0xAA7)
+static const DrawTileSeqStruct _station_display_datas_76[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_77[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_78[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_79[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_80[] = {
+ { 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)
+static const DrawTileSeqStruct _station_display_datas_81[] = {
+ { 4, 0, 0, 8, 16, 8, 0xAAC },
TILE_SEQ_END()
};
-static const byte _station_display_datas_82[] = {
- TILE_SEQ_BEGIN(0xFEC)
+static const DrawTileSeqStruct _station_display_datas_82[] = {
TILE_SEQ_END()
};
// end of runway
-const byte _station_display_datas_083[] = {
- TILE_SEQ_BEGIN(0xA59)
+const DrawTileSeqStruct _station_display_datas_083[] = {
TILE_SEQ_END()
};
// runway tiles
-const byte _station_display_datas_084[] = {
- TILE_SEQ_BEGIN(0xA56)
+const DrawTileSeqStruct _station_display_datas_084[] = {
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
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_085[] = {
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_086[] = {
+ { 14, 0, 0, 2, 16, 28, 0x8A61 },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_087[] = {
+ { 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
+const DrawTileSeqStruct _station_display_datas_088[] = {
+ { 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
+const DrawTileSeqStruct _station_display_datas_089[] = {
+ { 0, 0, 0, 16, 1, 6, 0x8A68 }, // fences
TILE_SEQ_END()
};
// turning radar with concrete underground fences on south -- needs 12 tiles
+// concrete underground
//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
+const DrawTileSeqStruct _station_display_datas_090[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA78 }, // turning radar
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_091[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA79 },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_092[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7A },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_093[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7B },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_094[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7C },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_095[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7D },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_096[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7E },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_097[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7F },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_098[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA80 },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_099[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA81 },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_0100[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA82 },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_0101[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA83 },
+ { 15, 0, 0, 1, 16, 6, 0x8A67 },
TILE_SEQ_END()
};
//END
// turning radar with concrete underground fences on north -- needs 12 tiles
+// concrete underground
//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)
+const DrawTileSeqStruct _station_display_datas_0102[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA78 }, // turning radar
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_0103[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA79 },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_0104[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7A },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_0105[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7B },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_0106[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7C },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_0107[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7D },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_0108[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7E },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_0109[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA7F },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_0110[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA80 },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_0111[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA81 },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_0112[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA82 },
+ { 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)
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_0113[] = {
+ { 7, 7, 0, 2, 2, 8, 0xA83 },
+ { 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,
+// concrete underground
+const DrawTileSeqStruct _station_display_datas_0114[] = {
+ { 10, 6, 0, 0, 0, 0, SPR_OPENTTD_BASE + 31 }, // helipad
+ { 15, 0, 0, 1, 16, 6, 0x8A67 }, // fences bottom
+ TILE_SEQ_END()
+};
+
+static const DrawTileSprites _station_display_datas[] = {
+ { 0x3F4, _station_display_datas_0 },
+ { 0x3F3, _station_display_datas_1 },
+ { 0x3F4, _station_display_datas_2 },
+ { 0x3F3, _station_display_datas_3 },
+ { 0x3F4, _station_display_datas_4 },
+ { 0x3F3, _station_display_datas_5 },
+ { 0x3F4, _station_display_datas_6 },
+ { 0x3F3, _station_display_datas_7 },
+ { 0xA4A, _station_display_datas_8 },
+ { 0xA4A, _station_display_datas_9 },
+ { 0xA4A, _station_display_datas_10 },
+ { 0xA4B, _station_display_datas_11 },
+ { 0xA4C, _station_display_datas_12 },
+ { 0xA4D, _station_display_datas_13 },
+ { 0xA4E, _station_display_datas_14 },
+ { 0xA4F, _station_display_datas_15 },
+ { 0xAF0, _station_display_datas_16 },
+ { 0xAF1, _station_display_datas_17 },
+ { 0xAF2, _station_display_datas_18 },
+ { 0xAF3, _station_display_datas_19 },
+ { 0xAF4, _station_display_datas_20 },
+ { 0xA53, _station_display_datas_21 },
+ { 0xA55, _station_display_datas_22 },
+ { 0xA56, _station_display_datas_23 },
+ { 0xA57, _station_display_datas_24 },
+ { 0xA58, _station_display_datas_25 },
+ { 0xA59, _station_display_datas_26 },
+ { 0xA4A, _station_display_datas_27 },
+ { 0xF8D, _station_display_datas_28 },
+ { 0xA4A, _station_display_datas_29 },
+ { 0xA4A, _station_display_datas_30 },
+ { 0xA4A, _station_display_datas_31 },
+ { 0xA4A, _station_display_datas_32 },
+ { 0xA4B, _station_display_datas_33 },
+ { 0xA4B, _station_display_datas_34 },
+ { 0xA4A, _station_display_datas_35 },
+ { 0xA4A, _station_display_datas_36 },
+ { 0xF8D, _station_display_datas_37 },
+ { 0xF8D, _station_display_datas_38 },
+ { 0xF8D, _station_display_datas_39 },
+ { 0xF8D, _station_display_datas_40 },
+ { 0xF8D, _station_display_datas_41 },
+ { 0xF8D, _station_display_datas_42 },
+ { 0xF8D, _station_display_datas_43 },
+ { 0xF8D, _station_display_datas_44 },
+ { 0xF8D, _station_display_datas_45 },
+ { 0xF8D, _station_display_datas_46 },
+ { 0xF8D, _station_display_datas_47 },
+ { 0xF8D, _station_display_datas_48 },
+ { 0xF8D, _station_display_datas_49 },
+ { 0xF8D, _station_display_datas_50 },
+ { 0xF8D, _station_display_datas_51 },
+ { 0xA69, _station_display_datas_52 },
+ { 0xA6A, _station_display_datas_53 },
+ { 0xA6B, _station_display_datas_54 },
+ { 0xA6D, _station_display_datas_55 },
+ { 0xA6E, _station_display_datas_56 },
+ { 0xA6F, _station_display_datas_57 },
+ { 0xA70, _station_display_datas_58 },
+ { 0xA70, _station_display_datas_59 },
+ { 0xA70, _station_display_datas_60 },
+ { 0xA70, _station_display_datas_61 },
+ { 0xA71, _station_display_datas_62 },
+ { 0xA72, _station_display_datas_63 },
+ { 0xA73, _station_display_datas_64 },
+ { 0xA4A, _station_display_datas_65 },
+ { 0xF8D, _station_display_datas_66 },
+ { 0x8A94, _station_display_datas_67 },
+ { 0x8A95, _station_display_datas_68 },
+ { 0x8A96, _station_display_datas_69 },
+ { 0x8A97, _station_display_datas_70 },
+ { 0x8A84, _station_display_datas_71 },
+ { 0x8A85, _station_display_datas_72 },
+ { 0x8A86, _station_display_datas_73 },
+ { 0x8A87, _station_display_datas_74 },
+ { 0xFDD, _station_display_datas_75 },
+ { 0xFE4, _station_display_datas_76 },
+ { 0xFE5, _station_display_datas_77 },
+ { 0xFE3, _station_display_datas_78 },
+ { 0xFE2, _station_display_datas_79 },
+ { 0xFDD, _station_display_datas_80 },
+ { 0xFDD, _station_display_datas_81 },
+ { 0xFEC, _station_display_datas_82 },
+ { 0xA59, _station_display_datas_083 },
+ { 0xA56, _station_display_datas_084 },
+ { 0xA4A, _station_display_datas_085 },
+ { 0xA4A, _station_display_datas_086 },
+ { 0xA4A, _station_display_datas_087 },
+ { 0xA59, _station_display_datas_088 },
+ { 0xA56, _station_display_datas_089 },
+ { 0xA4A, _station_display_datas_090 },
+ { 0xA4A, _station_display_datas_091 },
+ { 0xA4A, _station_display_datas_092 },
+ { 0xA4A, _station_display_datas_093 },
+ { 0xA4A, _station_display_datas_094 },
+ { 0xA4A, _station_display_datas_095 },
+ { 0xA4A, _station_display_datas_096 },
+ { 0xA4A, _station_display_datas_097 },
+ { 0xA4A, _station_display_datas_098 },
+ { 0xA4A, _station_display_datas_099 },
+ { 0xA4A, _station_display_datas_0100 },
+ { 0xA4A, _station_display_datas_0101 },
+ { 0xA4A, _station_display_datas_0102 },
+ { 0xA4A, _station_display_datas_0103 },
+ { 0xA4A, _station_display_datas_0104 },
+ { 0xA4A, _station_display_datas_0105 },
+ { 0xA4A, _station_display_datas_0106 },
+ { 0xA4A, _station_display_datas_0107 },
+ { 0xA4A, _station_display_datas_0108 },
+ { 0xA4A, _station_display_datas_0109 },
+ { 0xA4A, _station_display_datas_0110 },
+ { 0xA4A, _station_display_datas_0111 },
+ { 0xA4A, _station_display_datas_0112 },
+ { 0xA4A, _station_display_datas_0113 },
+ { 0xA4A, _station_display_datas_0114 },
};
diff --git a/table/unmovable_land.h b/table/unmovable_land.h
index 5c31e53b4..7cedafbf3 100644
--- a/table/unmovable_land.h
+++ b/table/unmovable_land.h
@@ -1,141 +1,119 @@
-#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
+#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)
+
+static const DrawTileSeqStruct _unmovable_display_datas_0[] = {
TILE_SEQ_END()
};
-static const byte _unmovable_display_datas_1[] = {
- TILE_SEQ_BEGIN(0x8A2C)
+static const DrawTileSeqStruct _unmovable_display_datas_1[] = {
TILE_SEQ_END()
};
-static const byte _unmovable_display_datas_2[] = {
- TILE_SEQ_BEGIN(0x8A2D)
+static const DrawTileSeqStruct _unmovable_display_datas_2[] = {
TILE_SEQ_END()
};
-static const byte _unmovable_display_datas_3[] = {
- TILE_SEQ_BEGIN(0x8A2E)
+static const DrawTileSeqStruct _unmovable_display_datas_3[] = {
TILE_SEQ_END()
};
-static const byte _unmovable_display_datas_4[] = {
- TILE_SEQ_BEGIN(0x8A2F)
+static const DrawTileSeqStruct _unmovable_display_datas_4[] = {
TILE_SEQ_END()
};
-static const byte _unmovable_display_datas_5[] = {
- TILE_SEQ_BEGIN(0x8A30)
+static const DrawTileSeqStruct _unmovable_display_datas_5[] = {
TILE_SEQ_END()
};
-static const byte _unmovable_display_datas_6[] = {
- TILE_SEQ_BEGIN(0x8A31)
+static const DrawTileSeqStruct _unmovable_display_datas_6[] = {
TILE_SEQ_END()
};
-static const byte _unmovable_display_datas_7[] = {
- TILE_SEQ_BEGIN(0x8A32)
+static const DrawTileSeqStruct _unmovable_display_datas_7[] = {
TILE_SEQ_END()
};
-static const byte _unmovable_display_datas_8[] = {
- TILE_SEQ_BEGIN(0x8A33)
- TILE_SEQ_LINE( 0, 0, 0, 16, 16, 20, 0x8A34)
+static const DrawTileSeqStruct _unmovable_display_datas_8[] = {
+ { 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)
+static const DrawTileSeqStruct _unmovable_display_datas_9[] = {
+ { 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)
+static const DrawTileSeqStruct _unmovable_display_datas_10[] = {
+ { 0, 0, 0, 16, 16, 20, 0x8A38 },
TILE_SEQ_END()
};
-static const byte _unmovable_display_datas_11[] = {
- TILE_SEQ_BEGIN(0x8A39)
+static const DrawTileSeqStruct _unmovable_display_datas_11[] = {
TILE_SEQ_END()
};
-static const byte _unmovable_display_datas_12[] = {
- TILE_SEQ_BEGIN(0x8A3A)
- TILE_SEQ_LINE( 0, 0, 0, 16, 16, 50, 0x8A3B)
+static const DrawTileSeqStruct _unmovable_display_datas_12[] = {
+ { 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)
+static const DrawTileSeqStruct _unmovable_display_datas_13[] = {
+ { 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)
+static const DrawTileSeqStruct _unmovable_display_datas_14[] = {
+ { 0, 0, 0, 16, 16, 50, 0x8A3F },
TILE_SEQ_END()
};
-static const byte _unmovable_display_datas_15[] = {
- TILE_SEQ_BEGIN(0x8A40)
+static const DrawTileSeqStruct _unmovable_display_datas_15[] = {
TILE_SEQ_END()
};
-static const byte _unmovable_display_datas_16[] = {
- TILE_SEQ_BEGIN(0x8A41)
- TILE_SEQ_LINE( 0, 0, 0, 16, 16, 60, 0x8A42)
+static const DrawTileSeqStruct _unmovable_display_datas_16[] = {
+ { 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)
+static const DrawTileSeqStruct _unmovable_display_datas_17[] = {
+ { 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)
+static const DrawTileSeqStruct _unmovable_display_datas_18[] = {
+ { 0, 0, 0, 16, 16, 60, 0x8A46 },
TILE_SEQ_END()
};
-static const byte _unmovable_display_datas_19[] = {
- TILE_SEQ_BEGIN(0x8A47)
+static const DrawTileSeqStruct _unmovable_display_datas_19[] = {
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,
+static const DrawTileSprites _unmovable_display_datas[] = {
+ { 0x8A2B, _unmovable_display_datas_0 },
+ { 0x8A2C, _unmovable_display_datas_1 },
+ { 0x8A2D, _unmovable_display_datas_2 },
+ { 0x8A2E, _unmovable_display_datas_3 },
+ { 0x8A2F, _unmovable_display_datas_4 },
+ { 0x8A30, _unmovable_display_datas_5 },
+ { 0x8A31, _unmovable_display_datas_6 },
+ { 0x8A32, _unmovable_display_datas_7 },
+ { 0x8A33, _unmovable_display_datas_8 },
+ { 0x8A35, _unmovable_display_datas_9 },
+ { 0x8A37, _unmovable_display_datas_10 },
+ { 0x8A39, _unmovable_display_datas_11 },
+ { 0x8A3A, _unmovable_display_datas_12 },
+ { 0x8A3C, _unmovable_display_datas_13 },
+ { 0x8A3E, _unmovable_display_datas_14 },
+ { 0x8A40, _unmovable_display_datas_15 },
+ { 0x8A41, _unmovable_display_datas_16 },
+ { 0x8A43, _unmovable_display_datas_17 },
+ { 0x8A45, _unmovable_display_datas_18 },
+ { 0x8A47, _unmovable_display_datas_19 },
};
-
diff --git a/unmovable_cmd.c b/unmovable_cmd.c
index ebcecdacf..ec40f2663 100644
--- a/unmovable_cmd.c
+++ b/unmovable_cmd.c
@@ -4,6 +4,7 @@
#include "viewport.h"
#include "player.h"
#include "gui.h"
+#include "station.h"
#include "economy.h"
#include "town.h"
@@ -17,15 +18,6 @@ typedef struct DrawTileUnmovableStruct {
byte unused;
} DrawTileUnmovableStruct;
-typedef struct DrawTileSeqStruct {
- int8 delta_x;
- int8 delta_y;
- int8 delta_z;
- byte width,height;
- byte unk;
- SpriteID image;
-} DrawTileSeqStruct;
-
#include "table/unmovable_land.h"
static void DrawTile_Unmovable(TileInfo *ti)
@@ -77,18 +69,16 @@ static void DrawTile_Unmovable(TileInfo *ti)
}
} else {
const DrawTileSeqStruct *dtss;
- const byte *t;
+ const DrawTileSprites *t;
if (ti->tileh) DrawFoundation(ti, ti->tileh);
ormod = PLAYER_SPRITE_COLOR(_map_owner[ti->tile]);
- t = _unmovable_display_datas[ti->map5 & 0x7F];
- DrawGroundSprite(*(const uint16*)t | ormod);
-
- t += sizeof(uint16);
+ t = &_unmovable_display_datas[ti->map5 & 0x7F];
+ DrawGroundSprite(t->ground_sprite | ormod);
- for(dtss = (const DrawTileSeqStruct *)t; (byte)dtss->delta_x != 0x80; dtss++) {
+ foreach_draw_tile_seq(dtss, t->seq) {
image = dtss->image;
if (_display_opt & DO_TRANS_BUILDINGS) {
image |= ormod;