11 Commits

Author SHA1 Message Date
Celtic Minstrel
a71ce59a4e Schema: Accept x,y=recall,recall in [unstore_unit] 2018-10-23 22:39:56 -04:00
Celtic Minstrel
cfe4d120ee Schema: Some missing [unit] keys and promote some [multiplayer] keys to [scenario] 2018-10-23 22:39:45 -04:00
Celtic Minstrel
902a104268 Schema: Fix several more cases of keys failing to accept variable substitutions 2018-10-23 22:39:37 -04:00
Celtic Minstrel
e01567c434 Schema: Promote [object]duration= key to non-ActionWML objects
It's used by the object auto-expiry mechanism, so it's meaningful
even outside of ActionWML.
2018-10-23 22:39:36 -04:00
Celtic Minstrel
12e78df9f4 Schema: Support for turns=unlimited 2018-10-23 22:39:33 -04:00
Celtic Minstrel
a1ecf1a559 First batch of schema fixes
- Allow for variable substitution in filter tags (mostly)
- Fix real not matching numbers like .5
- Support x,y=recall,recall

After this commit, there are no schema errors in the tutorial.
2018-10-23 22:38:20 -04:00
Celtic Minstrel
24608d0632 Schema ActionWML: Small bugfixes and add undocumented stuff from perusing source code 2018-10-23 22:38:16 -04:00
Celtic Minstrel
1e33a66661 Schema: Pango formatting keys for [message] 2018-10-23 22:37:46 -04:00
Celtic Minstrel
20a81c06a6 Schema: Definition of [micro_ai] tag, including all known MicroAIs 2018-10-23 22:37:45 -04:00
Celtic Minstrel
7ab5fabbf2 Schema: Add all known ActionWML and ConditionalWML tags (based on wiki)
This also finishes up the StoryWML definition, adds validation for
map and shroud data, and a few other small schema fixes
2018-10-23 22:37:44 -04:00
Celtic Minstrel
3a65a14bcb Implement validation of the core game config WML
Currently this is disabled by default
Use --validate command-line argument to enable

The following new features were added in the schema format:
* Union, intersection, and list types
* Keys can specify a union of known types on-the-fly
* Key and tag names can include wildcards (* and ?, glob-style)
* Tags support any_key=yes, which means unrecognized subtags will be ignored
* Tags and keys support deprecated=yes (unimplemented)
* Specify max=infinite instead of max=-1
2018-10-23 22:36:40 -04:00