summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Vollmert <rvollmert@gmx.net>2009-11-11 00:19:28 +0100
committerRobert Vollmert <rvollmert@gmx.net>2009-11-11 00:19:28 +0100
commit8b4ccf7e8ec97cdf20005099d7b5cbf6ce32daf9 (patch)
tree0b51d862dd942c0701deb693ad2fe033b500b346
parentf7a0f944d182bc478a4a65687f098714ade102de (diff)
downloadcrawl-ref-8b4ccf7e8ec97cdf20005099d7b5cbf6ce32daf9.tar.gz
crawl-ref-8b4ccf7e8ec97cdf20005099d7b5cbf6ce32daf9.zip
Use grid_appearance instead of env.grid for LOS calculation.
Previously, undetected secret doors in clear rock walls were blocking LOS. Now they don't but do once you detect them...
-rw-r--r--crawl-ref/source/losparam.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/crawl-ref/source/losparam.cc b/crawl-ref/source/losparam.cc
index 77fd88943a..ff53d43543 100644
--- a/crawl-ref/source/losparam.cc
+++ b/crawl-ref/source/losparam.cc
@@ -15,7 +15,9 @@
opacity_type opacity_default::operator()(const coord_def& p) const
{
- dungeon_feature_type f = env.grid(p);
+ // Secret doors in translucent walls shouldn't block LOS,
+ // hence grid_appearance.
+ dungeon_feature_type f = grid_appearance(p);
if (feat_is_opaque(f))
return OPC_OPAQUE;
else if (is_opaque_cloud(env.cgrid(p)))