diff options
Diffstat (limited to 'crawl-ref/source/losparam.cc')
-rw-r--r-- | crawl-ref/source/losparam.cc | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/crawl-ref/source/losparam.cc b/crawl-ref/source/losparam.cc index 85e0954499..cd746d0b58 100644 --- a/crawl-ref/source/losparam.cc +++ b/crawl-ref/source/losparam.cc @@ -50,23 +50,40 @@ opacity_type los_param_permissive::opacity(const coord_def& p) const } -/* los_param_base */ +/* los_param_nocloud */ -los_param_base::los_param_base(const coord_def& c) +los_param_nocloud::los_param_nocloud(const coord_def& c) : los_param_trans(c) { } -dungeon_feature_type los_param_base::feature(const coord_def& p) const +dungeon_feature_type los_param_nocloud::feature(const coord_def& p) const { return env.grid(trans(p)); } -unsigned los_param_base::appearance(const coord_def& p) const +unsigned los_param_nocloud::appearance(const coord_def& p) const { return grid_appearance(trans(p)); } +opacity_type los_param_nocloud::opacity(const coord_def& p) const +{ + dungeon_feature_type f = feature(p); + if (grid_is_opaque(f)) + return OPC_OPAQUE; + else + return OPC_CLEAR; +} + + +/* los_param_base */ + +los_param_base::los_param_base(const coord_def& c) + : los_param_nocloud(c) +{ +} + unsigned short los_param_base::cloud_idx(const coord_def& p) const { return env.cgrid(trans(p)); |