summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dungeon.cc
diff options
context:
space:
mode:
authorDarshan Shaligram <dshaligram@users.sourceforge.net>2009-12-28 18:56:12 +0530
committerDarshan Shaligram <dshaligram@users.sourceforge.net>2009-12-28 18:58:40 +0530
commitadcc6b42f200b5a4c7f75d5826884494684a587b (patch)
treea87e2989e483753613455b4c8d61391a4fd2a76d /crawl-ref/source/dungeon.cc
parent4bd11a2119ce0fd7f137233e16cd7f745c13a2dd (diff)
downloadcrawl-ref-adcc6b42f200b5a4c7f75d5826884494684a587b.tar.gz
crawl-ref-adcc6b42f200b5a4c7f75d5826884494684a587b.zip
Postprocess shoals levels to fix heightmap for vaults on the level so that the tide interacts reasonably with vaults.
Diffstat (limited to 'crawl-ref/source/dungeon.cc')
-rw-r--r--crawl-ref/source/dungeon.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc
index 89e643a68b..48268f2067 100644
--- a/crawl-ref/source/dungeon.cc
+++ b/crawl-ref/source/dungeon.cc
@@ -233,6 +233,8 @@ typedef std::list<coord_def> coord_list;
static void _dgn_set_floor_colours();
static bool _fixup_interlevel_connectivity();
+void dgn_postprocess_level();
+
//////////////////////////////////////////////////////////////////////////
// Static data
@@ -374,6 +376,8 @@ bool builder(int level_number, int level_type)
vault_names.push_back(you.level_type_name);
}
+ dgn_postprocess_level();
+
dgn_Layout_Type.clear();
Level_Unique_Maps.clear();
Level_Unique_Tags.clear();
@@ -398,6 +402,13 @@ bool builder(int level_number, int level_type)
return (false);
}
+// Should be called after a level is constructed to perform any final
+// fixups.
+void dgn_postprocess_level()
+{
+ shoals_postprocess_level();
+}
+
void level_welcome_messages()
{
for (int i = 0, size = Level_Vaults.size(); i < size; ++i)
@@ -4132,6 +4143,7 @@ bool dgn_place_map(const map_def *mdef, bool clobber, bool make_no_exits,
}
setup_environment_effects();
+ dgn_postprocess_level();
}
return (did_map);