summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/util/levcomp.ypp
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-06-24 20:35:56 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2007-06-24 20:35:56 +0000
commit1128baf19429a0a6495149d24439496e1060b47d (patch)
tree39d9f6be39d241a214c9796a788191ab91fec3d1 /crawl-ref/source/util/levcomp.ypp
parent55eb5d1c4170ecb7c8db22ee9b980ebf53aa2453 (diff)
downloadcrawl-ref-1128baf19429a0a6495149d24439496e1060b47d.tar.gz
crawl-ref-1128baf19429a0a6495149d24439496e1060b47d.zip
Allow multiple MAP sections per map (maps can be conditionalised with Lua).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1643 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/util/levcomp.ypp')
-rw-r--r--crawl-ref/source/util/levcomp.ypp12
1 files changed, 10 insertions, 2 deletions
diff --git a/crawl-ref/source/util/levcomp.ypp b/crawl-ref/source/util/levcomp.ypp
index daffae671c..fb82c36e00 100644
--- a/crawl-ref/source/util/levcomp.ypp
+++ b/crawl-ref/source/util/levcomp.ypp
@@ -101,7 +101,7 @@ defdepth : DEFAULT_DEPTH STRING
}
;
-level : name metalines map_def metalines
+level : name map_specs
{
lc_map.set_file(lc_desfile);
std::string err = lc_map.validate();
@@ -114,6 +114,14 @@ level : name metalines map_def metalines
}
;
+map_specs : /* nothing */
+ | map_specs map_spec { }
+ ;
+
+map_spec : metalines { }
+ | map_def { }
+ ;
+
name : NAME STRING
{
lc_map.init();
@@ -137,7 +145,7 @@ name : NAME STRING
;
metalines : /* no metadata */
- | metaline metalines
+ | metalines metaline
;
metaline : place