summaryrefslogtreecommitdiff
path: root/table
diff options
context:
space:
mode:
authortron <tron@openttd.org>2006-08-05 16:54:55 +0000
committertron <tron@openttd.org>2006-08-05 16:54:55 +0000
commit24ae7a2241a6fb14dd960db1096ebdd8b45b913d (patch)
tree77b3226d6dae5469e8468615703c29f7b190d304 /table
parent50616a9e13685a735013fd6f2b889e9837e522ea (diff)
downloadopenttd-24ae7a2241a6fb14dd960db1096ebdd8b45b913d.tar.xz
(svn r5771) Unify several code paths and data structures for drawing train depots and waypoints
Diffstat (limited to 'table')
-rw-r--r--table/track_land.h52
1 files changed, 19 insertions, 33 deletions
diff --git a/table/track_land.h b/table/track_land.h
index 9d96a0497..d742b0e55 100644
--- a/table/track_land.h
+++ b/table/track_land.h
@@ -1,66 +1,52 @@
/* $Id$ */
-typedef struct DrawTrackSeqStruct {
- SpriteID image;
- byte subcoord_x;
- byte subcoord_y;
- byte width;
- byte height;
-} DrawTrackSeqStruct;
+#define TILE_SEQ_LINE(img, dx, dy, sx, sy) { dx, dy, 0, sx, sy, 23, img },
+#define TILE_SEQ_END() { 0x80, 0, 0, 0, 0, 0, 0 }
-#define TILE_SEQ_BEGIN(x) { x, 0, 0, 0, 0 },
-#define TILE_SEQ_LINE(a, b, c, d, e) { a, b, c, d, e },
-#define TILE_SEQ_END() { 0, 0, 0, 0, 0 }
-static const DrawTrackSeqStruct _track_depot_layout_table_0[] = {
- TILE_SEQ_BEGIN(SPR_FLAT_GRASS_TILE)
+static const DrawTileSeqStruct _depot_gfx_NE[] = {
TILE_SEQ_LINE(SPR_RAIL_DEPOT_NE | PALETTE_MODIFIER_COLOR, 2, 13, 13, 1)
TILE_SEQ_END()
};
-static const DrawTrackSeqStruct _track_depot_layout_table_1[] = {
- TILE_SEQ_BEGIN(SPR_RAIL_TRACK_Y | PALETTE_MODIFIER_COLOR)
+static const DrawTileSeqStruct _depot_gfx_SE[] = {
TILE_SEQ_LINE(SPR_RAIL_DEPOT_SE_1 | PALETTE_MODIFIER_COLOR, 2, 2, 1, 13)
TILE_SEQ_LINE(SPR_RAIL_DEPOT_SE_2 | PALETTE_MODIFIER_COLOR, 13, 2, 1, 13)
TILE_SEQ_END()
};
-static const DrawTrackSeqStruct _track_depot_layout_table_2[] = {
- TILE_SEQ_BEGIN(SPR_RAIL_TRACK_X | PALETTE_MODIFIER_COLOR)
+static const DrawTileSeqStruct _depot_gfx_SW[] = {
TILE_SEQ_LINE(SPR_RAIL_DEPOT_SW_1 | PALETTE_MODIFIER_COLOR, 2, 2, 13, 1)
TILE_SEQ_LINE(SPR_RAIL_DEPOT_SW_2 | PALETTE_MODIFIER_COLOR, 2, 13, 13, 1)
TILE_SEQ_END()
};
-static const DrawTrackSeqStruct _track_depot_layout_table_3[] = {
- TILE_SEQ_BEGIN(SPR_FLAT_GRASS_TILE)
+static const DrawTileSeqStruct _depot_gfx_NW[] = {
TILE_SEQ_LINE(SPR_RAIL_DEPOT_NW | PALETTE_MODIFIER_COLOR, 13, 2, 1, 13)
TILE_SEQ_END()
};
-static const DrawTrackSeqStruct _track_waypoint_table_0[] = {
- TILE_SEQ_BEGIN(SPR_RAIL_TRACK_X | PALETTE_MODIFIER_COLOR)
+static const DrawTileSprites const _depot_gfx_table[] = {
+ { SPR_FLAT_GRASS_TILE, _depot_gfx_NE },
+ { SPR_RAIL_TRACK_Y, _depot_gfx_SE },
+ { SPR_RAIL_TRACK_X, _depot_gfx_SW },
+ { SPR_FLAT_GRASS_TILE, _depot_gfx_NW }
+};
+
+
+static const DrawTileSeqStruct _waypoint_gfx_X[] = {
TILE_SEQ_LINE(PALETTE_MODIFIER_COLOR | SPR_WAYPOINT_X_1, 0, 0, 16, 5)
TILE_SEQ_LINE(PALETTE_MODIFIER_COLOR | SPR_WAYPOINT_X_2, 0, 11, 16, 5)
TILE_SEQ_END()
};
-static const DrawTrackSeqStruct _track_waypoint_table_1[] = {
- TILE_SEQ_BEGIN(SPR_RAIL_TRACK_Y | PALETTE_MODIFIER_COLOR)
+static const DrawTileSeqStruct _waypoint_gfx_Y[] = {
TILE_SEQ_LINE(PALETTE_MODIFIER_COLOR | SPR_WAYPOINT_Y_1, 0, 0, 5, 16)
TILE_SEQ_LINE(PALETTE_MODIFIER_COLOR | SPR_WAYPOINT_Y_2, 11, 0, 5, 16)
TILE_SEQ_END()
};
-
-static const DrawTrackSeqStruct* const _track_depot_layout_table[] = {
- _track_depot_layout_table_0,
- _track_depot_layout_table_1,
- _track_depot_layout_table_2,
- _track_depot_layout_table_3,
-};
-
-static const DrawTrackSeqStruct* const _track_waypoint_layout_table[] = {
- _track_waypoint_table_0,
- _track_waypoint_table_1,
+static const DrawTileSprites const _waypoint_gfx_table[] = {
+ { SPR_RAIL_TRACK_X, _waypoint_gfx_X },
+ { SPR_RAIL_TRACK_Y, _waypoint_gfx_Y }
};