Changeset - r384:75b26a2a614a
[Not reviewed]
master
0 5 0
darkvater - 20 years ago 2004-11-14 01:25:05
darkvater@openttd.org
(svn r576) -newgrf: Cleanup horrible table/(station|unmovable)_land.h DrawTileSeqStruct hacks needed for custom station supports (pasky)
5 files changed with 529 insertions and 651 deletions:
0 comments (0 inline, 0 general)
station.h
Show inline comments
 
@@ -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 */
station_cmd.c
Show inline comments
 
@@ -1717,22 +1717,13 @@ static int32 RemoveDock(Station *st, uin
 
#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 *t
 
	if (ti->tileh != 0 && (ti->map5 < 0x4C || ti->map5 > 0x51))
 
		DrawFoundation(ti, ti->tileh);
 

	
 
	t = _station_display_datas[ti->map5];
 

	
 
	image = *(const uint32*)t;
 
	t += sizeof(uint32);
 
	t = &_station_display_datas[ti->map5];
 

	
 
	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++) {
 
	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) {
 
			image =	dtss->image + base_img;
 
			if (_display_opt & DO_TRANS_BUILDINGS) {
 
				if (image&0x8000) image |= image_or_modificator;
 
			} else {
 
				image = (image & 0x3FFF) | 0x03224000;
 
			}
 

	
 
			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 
 
{
 
	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];
 

	
 
	img = *(const uint32*)t;
 
	t += sizeof(uint32);
 
	t = &_station_display_datas[image];
 

	
 
	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);
 
	}
table/station_land.h
Show inline comments
 
#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 DrawTileSeqStruct _station_display_datas_63[] = {
 
	{ 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_64[] = {
 
	{ 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_65[] = {
 
	{ 14,  0,  0,  2, 16, 28, 0x8A61 },
 
	{ 0,  0,  0,  2, 16, 28, 0xA62 },
 
	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_66[] = {
 
	{ 0,  0,  0, 16, 16, 60, 0x8A49 },
 
	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)
 
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
 
// 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 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,
 
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 },
 
};
table/unmovable_land.h
Show inline comments
 
#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 },
 
};
 

	
unmovable_cmd.c
Show inline comments
 
@@ -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 
 
		}
 
	} 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 = &_unmovable_display_datas[ti->map5 & 0x7F];
 
		DrawGroundSprite(t->ground_sprite | ormod);
 

	
 
		t += sizeof(uint16);
 

	
 
		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;
0 comments (0 inline, 0 general)