summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/view.cc
diff options
context:
space:
mode:
authorPete Hurst <pete@streamuniverse.tv>2013-05-24 00:19:30 +0100
committerPete Hurst <pete@streamuniverse.tv>2013-05-25 17:05:48 +0100
commit8f2e336bb97bcaf7a0193c443bb682424dc52b7e (patch)
tree0367ec5a5d7ecf353212e951622526694cf9ef82 /crawl-ref/source/view.cc
parent60f276de766666d1f2852beb8c5f3a2159ce8750 (diff)
downloadcrawl-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.cc5
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