From 4fe67e14cab6affd2a69a864dda356440d50e0ca Mon Sep 17 00:00:00 2001 From: Enne Walker Date: Sat, 28 Nov 2009 18:06:49 -0500 Subject: Subvaults. Vaults can now include other vaults as a part of their definition. These subvaults are currently included by tag only and replace glyphs in their parent vault. See documentation for more details. Vault:8 has been modified to use subvaults. --- crawl-ref/source/util/levcomp.lpp | 1 + crawl-ref/source/util/levcomp.ypp | 19 ++++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'crawl-ref/source/util') diff --git a/crawl-ref/source/util/levcomp.lpp b/crawl-ref/source/util/levcomp.lpp index dc2ea7ca6f..151ef1418e 100644 --- a/crawl-ref/source/util/levcomp.lpp +++ b/crawl-ref/source/util/levcomp.lpp @@ -261,6 +261,7 @@ KITEM: { CBEGIN(ARGUMENT); return KITEM; } KMONS: { CBEGIN(ARGUMENT); return KMONS; } KMASK: { CBEGIN(ARGUMENT); return KMASK; } KPROP: { CBEGIN(ARGUMENT); return KPROP; } +SUBVAULT: { CBEGIN(ARGUMENT); return SUBVAULT; } , return COMMA; diff --git a/crawl-ref/source/util/levcomp.ypp b/crawl-ref/source/util/levcomp.ypp index 500006b2fd..f13f102da0 100644 --- a/crawl-ref/source/util/levcomp.ypp +++ b/crawl-ref/source/util/levcomp.ypp @@ -54,7 +54,7 @@ level_range set_range(const char *s, int start, int end) %token DEFAULT_DEPTH SHUFFLE SUBST TAGS KFEAT KITEM KMONS KMASK KPROP %token NAME DEPTH ORIENT PLACE CHANCE WEIGHT MONS ITEM MARKER COLOUR %token PRELUDE MAIN VALIDATE VETO NSUBST WELCOME LFLAGS BFLAGS -%token LFLOORCOL LROCKCOL LFLOORTILE LROCKTILE FTILE RTILE +%token LFLOORCOL LROCKCOL LFLOORTILE LROCKTILE FTILE RTILE SUBVAULT %token COMMA COLON PERC INTEGER CHARACTER @@ -175,6 +175,7 @@ metaline : place | kmons | kmask | kprop + | subvault | main_lua | prelude_lua | validate_lua @@ -605,4 +606,20 @@ map_line : MAP_LINE } ; +subvault : SUBVAULT subvault_specifiers + ; + +subvault_specifiers: subvault_specifier + | subvault_specifiers COMMA subvault_specifier + ; + +subvault_specifier : STRING + { + lc_map.main.add( + yylineno, + make_stringf("subvault(\"%s\")", + quote_lua_string($1).c_str())); + } + ; + %% -- cgit v1.2.3-54-g00ecf