summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/util
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/util')
-rw-r--r--crawl-ref/source/util/levcomp.lpp1
-rw-r--r--crawl-ref/source/util/levcomp.ypp20
2 files changed, 20 insertions, 1 deletions
diff --git a/crawl-ref/source/util/levcomp.lpp b/crawl-ref/source/util/levcomp.lpp
index 151ef1418e..0de769b58a 100644
--- a/crawl-ref/source/util/levcomp.lpp
+++ b/crawl-ref/source/util/levcomp.lpp
@@ -251,6 +251,7 @@ LFLOORTILE: { CBEGIN(ARGUMENT); return LFLOORTILE; }
LROCKTILE: { CBEGIN(ARGUMENT); return LROCKTILE; }
FTILE: { CBEGIN(ITEM_LIST); return FTILE; }
RTILE: { CBEGIN(ITEM_LIST); return RTILE; }
+TILE: { CBEGIN(ITEM_LIST); return TILE; }
MONS: { CBEGIN(MNAME); return MONS; }
ITEM: { CBEGIN(ITEM_LIST); return ITEM; }
MARKER: { CBEGIN(ARGUMENT); return MARKER; }
diff --git a/crawl-ref/source/util/levcomp.ypp b/crawl-ref/source/util/levcomp.ypp
index f13f102da0..2a5bf231df 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 <i> DEFAULT_DEPTH SHUFFLE SUBST TAGS KFEAT KITEM KMONS KMASK KPROP
%token <i> NAME DEPTH ORIENT PLACE CHANCE WEIGHT MONS ITEM MARKER COLOUR
%token <i> PRELUDE MAIN VALIDATE VETO NSUBST WELCOME LFLAGS BFLAGS
-%token <i> LFLOORCOL LROCKCOL LFLOORTILE LROCKTILE FTILE RTILE SUBVAULT
+%token <i> LFLOORCOL LROCKCOL LFLOORTILE LROCKTILE FTILE RTILE TILE SUBVAULT
%token <i> COMMA COLON PERC INTEGER CHARACTER
@@ -166,6 +166,7 @@ metaline : place
| lrocktile
| ftile
| rtile
+ | tile
| shuffle
| tags
| lflags
@@ -437,6 +438,23 @@ rtile_specifier : ITEM_INFO
}
;
+tile : TILE tile_specifiers
+ ;
+
+tile_specifiers : tile_specifier
+ | tile_specifiers COMMA tile_specifier
+ ;
+
+tile_specifier : ITEM_INFO
+ {
+ lc_map.main.add(
+ yylineno,
+ make_stringf("tile(\"%s\")",
+ quote_lua_string($1).c_str()));
+ }
+ ;
+
+
colour_specifiers : colour_specifier { }
| colour_specifiers COMMA colour_specifier { }
;