summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/terrain.cc
diff options
context:
space:
mode:
authorRobert Vollmert <rvollmert@gmx.net>2009-11-08 14:23:03 +0100
committerRobert Vollmert <rvollmert@gmx.net>2009-11-08 14:46:22 +0100
commit28f6c800df6bc63658b9c79e803bf81ac282aa1d (patch)
treedf593b87768f0324939f89ed6f4d7aea8c950de4 /crawl-ref/source/terrain.cc
parenta4eda3c37bb9ec6d9b847e827390a66062229b99 (diff)
downloadcrawl-ref-28f6c800df6bc63658b9c79e803bf81ac282aa1d.tar.gz
crawl-ref-28f6c800df6bc63658b9c79e803bf81ac282aa1d.zip
Split map knowledge and FPROPs.
map_cell no longer has the field "properties", which has been replaced by the unsigned long array env.pgrid. env.map has been renamed to env.map_knowledge. It should really be moved into player.
Diffstat (limited to 'crawl-ref/source/terrain.cc')
-rw-r--r--crawl-ref/source/terrain.cc19
1 files changed, 10 insertions, 9 deletions
diff --git a/crawl-ref/source/terrain.cc b/crawl-ref/source/terrain.cc
index a094d03537..1d4fe0b75b 100644
--- a/crawl-ref/source/terrain.cc
+++ b/crawl-ref/source/terrain.cc
@@ -15,7 +15,8 @@
#include "cloud.h"
#include "dgnevent.h"
#include "directn.h"
-#include "envmap.h"
+#include "map_knowledge.h"
+#include "fprop.h"
#include "godabil.h"
#include "itemprop.h"
#include "items.h"
@@ -663,7 +664,7 @@ static void _dgn_check_terrain_blood(const coord_def &pos,
dungeon_feature_type old_feat,
dungeon_feature_type new_feat)
{
- if (!testbits(env.map(pos).property, FPROP_BLOODY))
+ if (!testbits(env.pgrid(pos), FPROP_BLOODY))
return;
if (new_feat == DNGN_UNSEEN)
@@ -671,7 +672,7 @@ static void _dgn_check_terrain_blood(const coord_def &pos,
// Caller has already changed the grid, and old_feat is actually
// the new feat.
if (old_feat != DNGN_FLOOR && !feat_is_solid(old_feat))
- env.map(pos).property &= ~(FPROP_BLOODY);
+ env.pgrid(pos) &= ~(FPROP_BLOODY);
}
else
{
@@ -679,7 +680,7 @@ static void _dgn_check_terrain_blood(const coord_def &pos,
|| feat_is_water(new_feat) || feat_destroys_items(new_feat)
|| is_critical_feature(new_feat))
{
- env.map(pos).property &= ~(FPROP_BLOODY);
+ env.pgrid(pos) &= ~(FPROP_BLOODY);
}
}
}
@@ -850,8 +851,8 @@ bool swap_features(const coord_def &pos1, const coord_def &pos2,
const unsigned short col1 = env.grid_colours(pos1);
const unsigned short col2 = env.grid_colours(pos2);
- const unsigned long prop1 = env.map(pos1).property;
- const unsigned long prop2 = env.map(pos2).property;
+ const unsigned long prop1 = env.pgrid(pos1);
+ const unsigned long prop2 = env.pgrid(pos2);
trap_def* trap1 = find_trap(pos1);
trap_def* trap2 = find_trap(pos2);
@@ -894,13 +895,13 @@ bool swap_features(const coord_def &pos1, const coord_def &pos2,
env.markers.move(pos1, temp);
dungeon_events.move_listeners(pos1, temp);
grd(pos1) = DNGN_UNSEEN;
- env.map(pos1).property = 0;
+ env.pgrid(pos1) = 0;
(void) move_notable_thing(pos2, pos1);
env.markers.move(pos2, pos1);
dungeon_events.move_listeners(pos2, pos1);
- env.map(pos1).property = prop2;
- env.map(pos2).property = prop1;
+ env.pgrid(pos1) = prop2;
+ env.pgrid(pos2) = prop1;
(void) move_notable_thing(temp, pos2);
env.markers.move(temp, pos2);