summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/test
diff options
context:
space:
mode:
authorJude Brown <bookofjude@users.sourceforge.net>2009-10-24 20:21:15 +1000
committerDarshan Shaligram <dshaligram@users.sourceforge.net>2009-10-24 16:01:45 +0530
commitec8080afa4057a3e58be2b6d9f059a0e12d92eaa (patch)
treeb15700f98cf999e013c180727e58c0dd83309001 /crawl-ref/source/test
parent2ba16f4a387e8470b0b60ec546987a86fb21d0ab (diff)
downloadcrawl-ref-ec8080afa4057a3e58be2b6d9f059a0e12d92eaa.tar.gz
crawl-ref-ec8080afa4057a3e58be2b6d9f059a0e12d92eaa.zip
Wrapper for find_map_by_name (dgn.map_by_name). Test set for generation of specific vaults multiple times, in order to test SUBSTs, SHUFFLEs, etc, quickly and easily.
Signed-off-by: Darshan Shaligram <dshaligram@users.sourceforge.net>
Diffstat (limited to 'crawl-ref/source/test')
-rw-r--r--crawl-ref/source/test/vault_generation.lua50
1 files changed, 50 insertions, 0 deletions
diff --git a/crawl-ref/source/test/vault_generation.lua b/crawl-ref/source/test/vault_generation.lua
new file mode 100644
index 0000000000..1ded8fea35
--- /dev/null
+++ b/crawl-ref/source/test/vault_generation.lua
@@ -0,0 +1,50 @@
+-- Check specific map generation, useful for testing portal vault
+-- generation (SUBSTs, NSBUSTs, SHUFFLEs, etc).
+
+-- Name of the map!
+local map_to_test = ""
+-- Which des file is the map in?
+local des_file = ""
+-- Change to true if the des file isn't specificed in dat/clua/loadmaps.lua
+local need_to_load_des = false
+-- How many times should we generate?
+local checks = 10
+-- Output to this file, will append iteration to the end, ie,
+-- output_to.map.1, output_to.map.2, etc.
+local output_to = ""
+-- Should we run these tests?
+local run_test = false
+
+local function generate_map()
+ if map_to_test == "" or
+ (des_file == "" and need_to_load_des) or
+ output_to == "" then
+ assert(false, "Need a map, a des file (if not already loaded), and an output.")
+ end
+
+ if need_to_load_des then
+ dgn.load_des_file(des_file)
+ end
+
+ local map = dgn.map_by_name(map_to_test)
+
+ if not map then
+ assert(false, "Couldn't find the map named " .. map_to_test)
+ end
+
+ for iter_i = 1, checks do
+ debug.flush_map_memory()
+ crawl.mesclr()
+ dgn.reset_level()
+ dgn.tags(map, "no_rotate no_vmirror no_hmirror no_pool_fixup")
+ dgn.place_map(map, true, true)
+ crawl.mpr("Placed " .. map_to_test .. ":" .. iter_i .. ", dumping to " .. output_to .. "." .. iter_i)
+ debug.dump_map(map_to_test .. "." .. iter_i)
+ end
+end
+
+if run_test then
+ generate_map()
+else
+ crawl.mpr("Not running vault generation test.")
+end