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
c76e5ee69b
Schema: Just allow any key in [language]
2018-10-23 22:38:17 -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
3211014428
Fix [effect][set_specials] not correctly allowing special ability tags
2018-10-23 22:37:43 -04:00
Celtic Minstrel
da7fcaa5e1
Schema: Definition of [modify_ai] tag
...
Also reorder some things in [aspect] for better matching
2018-10-23 22:37:42 -04:00
Celtic Minstrel
644ff73c92
Schema: Add feature to [switch] to allow a [case] to match the absence of the key
...
Use this to support the default [goal] name
2018-10-23 22:37:38 -04:00
Celtic Minstrel
6d4b789e5b
Schema: Use the new globbing feature to improve [aspect] definition
...
Also fix [engine] switch
2018-10-23 22:37:37 -04:00
Celtic Minstrel
c2716728e5
A few more missing pieces to the AI schema
2018-10-23 22:37:36 -04:00
Celtic Minstrel
ff66583c0d
Schema: Fix definition of [effect] tags for removing/modifying attacks
2018-10-23 22:37:35 -04:00
Celtic Minstrel
faa8decdc8
WIP Schema for the AI WML
...
Pretty much all working, except for the [aspect] tag
Also, [modify_ai] is not yet specified (needs new schema features)
2018-10-23 22:37:33 -04:00
Celtic Minstrel
efa30b3840
Schema: Accept [elseif] in [if] and change [switch][default] to [else]
2018-10-23 22:37:32 -04:00
Celtic Minstrel
6e2ed5f53f
Fix matching of list types with limits
2018-10-23 22:37:30 -04:00
Celtic Minstrel
65ef12466d
Use a few more conditional tag elements
2018-10-23 22:37:29 -04:00
Celtic Minstrel
ed7c3dbfbc
Missed a couple weapon special definitions
2018-10-23 22:37:28 -04:00
Celtic Minstrel
bebab878e3
Support multiple super tags and even conditional super tags
...
Use this to conditionally import [unit] keys in [side] based on no_leader
2018-10-23 22:37:28 -04:00
Celtic Minstrel
fb30b594b6
Support [switch] and [if] in [tag]
...
Use this new feature to validate [effect] tags
2018-10-23 22:37:24 -04:00
Celtic Minstrel
9ab1777851
Enable nesting of [type] tags
...
Minor cleanup of GUI2 type definitions
Disallow stuff like border=top,all
2018-10-23 22:37:18 -04:00
Celtic Minstrel
34604fdff6
Get game config and schema to use some common types
...
This also fixes an invalid type issue in the GUI2 schema,
and allows types to be a direct alias for other types.
2018-10-23 22:36:47 -04:00
Celtic Minstrel
3365aef28a
Move GUI2 schema into the schema directory
2018-10-23 22:36:46 -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