diff options
author | tron <tron@openttd.org> | 2006-08-05 16:54:55 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2006-08-05 16:54:55 +0000 |
commit | 635bfcd1c832568c660c461d17553048e2e77515 (patch) | |
tree | 77b3226d6dae5469e8468615703c29f7b190d304 /table | |
parent | 2a776775e58823372fdfc7fe3d346dfab12aa4f1 (diff) | |
download | openttd-635bfcd1c832568c660c461d17553048e2e77515.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.h | 52 |
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 } }; |