diff options
author | Pete Hurst <pete@streamuniverse.tv> | 2013-05-24 00:19:30 +0100 |
---|---|---|
committer | Pete Hurst <pete@streamuniverse.tv> | 2013-05-25 17:05:48 +0100 |
commit | 8f2e336bb97bcaf7a0193c443bb682424dc52b7e (patch) | |
tree | 0367ec5a5d7ecf353212e951622526694cf9ef82 /crawl-ref/source/view.cc | |
parent | 60f276de766666d1f2852beb8c5f3a2159ce8750 (diff) | |
download | crawl-ref-8f2e336bb97bcaf7a0193c443bb682424dc52b7e.tar.gz crawl-ref-8f2e336bb97bcaf7a0193c443bb682424dc52b7e.zip |
Implement cloud alpha overlay tiles layer
This works very well for the most part with
two small problems:
- Webtiles will not support this yet (in probability,
this will stop any clouds showing in webtiles)
- Floor items interact strangely and will draw over
the top of clouds instead of behind them
Diffstat (limited to 'crawl-ref/source/view.cc')
-rw-r--r-- | crawl-ref/source/view.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc index 179fed7772..3034c10d11 100644 --- a/crawl-ref/source/view.cc +++ b/crawl-ref/source/view.cc @@ -859,6 +859,7 @@ static int player_view_update_at(const coord_def &gc) else env.tile_bk_fg(gc) = env.tile_fg(ep); env.tile_bk_bg(gc) = env.tile_bg(ep); + env.tile_bk_cloud(gc) = env.tile_cloud(ep); #endif return ret; @@ -901,7 +902,7 @@ static void _draw_outside_los(screen_cell_t *cell, const coord_def &gc) cell->colour = g.col; #ifdef USE_TILE - tileidx_out_of_los(&cell->tile.fg, &cell->tile.bg, gc); + tileidx_out_of_los(&cell->tile.fg, &cell->tile.bg, &cell->tile.cloud, gc); #endif } @@ -927,6 +928,7 @@ static void _draw_player(screen_cell_t *cell, #ifdef USE_TILE cell->tile.fg = env.tile_fg(ep) = tileidx_player(); cell->tile.bg = env.tile_bg(ep); + cell->tile.cloud = env.tile_cloud(ep); if (anim_updates) tile_apply_animations(cell->tile.bg, &env.tile_flv(gc)); #else @@ -945,6 +947,7 @@ static void _draw_los(screen_cell_t *cell, #ifdef USE_TILE cell->tile.fg = env.tile_fg(ep); cell->tile.bg = env.tile_bg(ep); + cell->tile.cloud = env.tile_cloud(ep); if (anim_updates) tile_apply_animations(cell->tile.bg, &env.tile_flv(gc)); #else |