Add RNC to RNG conversion script that uses trang. Fixes #245.

Also fix the material.rnc.

This was SVN commit r16734.
This commit is contained in:
leper 2015-06-07 23:52:52 +00:00
parent a18fbd12ec
commit 7cac7cd65e
13 changed files with 1190 additions and 1204 deletions

View File

@ -1,78 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<element name="Textures" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<zeroOrMore>
<element name="File">
<interleave>
<optional>
<attribute name="pattern"/>
</optional>
<optional>
<attribute name="format">
<choice>
<value>dxt1</value>
<value>dxt3</value>
<value>dxt5</value>
<value>rgba</value>
<value>alpha</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="mipmap">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="normal">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="alpha">
<choice>
<value>none</value>
<value>player</value>
<value>transparency</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="filter">
<choice>
<value>box</value>
<value>triangle</value>
<value>kaiser</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="kaiserwidth">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="kaiseralpha">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="kaiserstretch">
<data type="float"/>
</attribute>
</optional>
</interleave>
</element>
</zeroOrMore>
</element>
<?xml version="1.0" encoding="UTF-8"?>
<element name="Textures" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<zeroOrMore>
<element name="File">
<interleave>
<optional>
<attribute name="pattern"/>
</optional>
<optional>
<attribute name="format">
<choice>
<value>dxt1</value>
<value>dxt3</value>
<value>dxt5</value>
<value>rgba</value>
<value>alpha</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="mipmap">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="normal">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="alpha">
<choice>
<value>none</value>
<value>player</value>
<value>transparency</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="filter">
<choice>
<value>box</value>
<value>triangle</value>
<value>kaiser</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="kaiserwidth">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="kaiseralpha">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="kaiserstretch">
<data type="float"/>
</attribute>
</optional>
</interleave>
</element>
</zeroOrMore>
</element>

View File

@ -1,135 +1,135 @@
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<define name="flag">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<a:documentation/>
<!-- Types # -->
<a:documentation/>
<choice>
<value>0</value>
<value>1</value>
</choice>
</define>
<start>
<ref name="SoundGroup"/>
</start>
<define name="SoundGroup">
<element name="SoundGroup">
<interleave>
<optional>
<element name="Gain">
<data type="float"/>
</element>
</optional>
<optional>
<element name="Looping">
<ref name="flag"/>
</element>
</optional>
<optional>
<element name="Omnipresent">
<ref name="flag"/>
</element>
</optional>
<optional>
<element name="HeardBy">
<value>owner</value>
</element>
</optional>
<optional>
<element name="Distanceless">
<ref name="flag"/>
</element>
</optional>
<optional>
<element name="Pitch">
<data type="float"/>
</element>
</optional>
<optional>
<element name="Priority">
<data type="float"/>
</element>
</optional>
<optional>
<element name="RandOrder">
<ref name="flag"/>
</element>
</optional>
<optional>
<element name="RandGain">
<ref name="flag"/>
</element>
</optional>
<optional>
<element name="GainUpper">
<data type="float"/>
</element>
</optional>
<optional>
<element name="GainLower">
<data type="float"/>
</element>
</optional>
<optional>
<element name="RandPitch">
<ref name="flag"/>
</element>
</optional>
<optional>
<element name="PitchUpper">
<data type="float"/>
</element>
</optional>
<optional>
<element name="PitchLower">
<data type="float"/>
</element>
</optional>
<optional>
<element name="ConeGain">
<data type="float"/>
</element>
</optional>
<optional>
<element name="ConeInner">
<data type="float"/>
</element>
</optional>
<optional>
<element name="ConeOuter">
<data type="float"/>
</element>
</optional>
<optional>
<element name="Replacement">
<text/>
</element>
</optional>
<optional>
<element name="Threshold">
<data type="float"/>
</element>
</optional>
<optional>
<element name="Decay">
<data type="float"/>
</element>
</optional>
<oneOrMore>
<element name="Sound">
<text/>
</element>
</oneOrMore>
<element name="Path">
<text/>
</element>
</interleave>
</element>
</define>
</grammar>
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<define name="flag">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<a:documentation/>
<!-- Types # -->
<a:documentation/>
<choice>
<value>0</value>
<value>1</value>
</choice>
</define>
<start>
<ref name="SoundGroup"/>
</start>
<define name="SoundGroup">
<element name="SoundGroup">
<interleave>
<optional>
<element name="Gain">
<data type="float"/>
</element>
</optional>
<optional>
<element name="Looping">
<ref name="flag"/>
</element>
</optional>
<optional>
<element name="Omnipresent">
<ref name="flag"/>
</element>
</optional>
<optional>
<element name="HeardBy">
<value>owner</value>
</element>
</optional>
<optional>
<element name="Distanceless">
<ref name="flag"/>
</element>
</optional>
<optional>
<element name="Pitch">
<data type="float"/>
</element>
</optional>
<optional>
<element name="Priority">
<data type="float"/>
</element>
</optional>
<optional>
<element name="RandOrder">
<ref name="flag"/>
</element>
</optional>
<optional>
<element name="RandGain">
<ref name="flag"/>
</element>
</optional>
<optional>
<element name="GainUpper">
<data type="float"/>
</element>
</optional>
<optional>
<element name="GainLower">
<data type="float"/>
</element>
</optional>
<optional>
<element name="RandPitch">
<ref name="flag"/>
</element>
</optional>
<optional>
<element name="PitchUpper">
<data type="float"/>
</element>
</optional>
<optional>
<element name="PitchLower">
<data type="float"/>
</element>
</optional>
<optional>
<element name="ConeGain">
<data type="float"/>
</element>
</optional>
<optional>
<element name="ConeInner">
<data type="float"/>
</element>
</optional>
<optional>
<element name="ConeOuter">
<data type="float"/>
</element>
</optional>
<optional>
<element name="Replacement">
<text/>
</element>
</optional>
<optional>
<element name="Threshold">
<data type="float"/>
</element>
</optional>
<optional>
<element name="Decay">
<data type="float"/>
</element>
</optional>
<oneOrMore>
<element name="Sound">
<text/>
</element>
</oneOrMore>
<element name="Path">
<text/>
</element>
</interleave>
</element>
</define>
</grammar>

View File

@ -1,183 +1,183 @@
<?xml version="1.0" encoding="UTF-8"?>
<element name="actor" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<attribute name="version">
<data type="positiveInteger"/>
</attribute>
<interleave>
<zeroOrMore>
<element name="group">
<zeroOrMore>
<element name="variant">
<interleave>
<optional>
<attribute name="name"/>
</optional>
<optional>
<attribute name="frequency">
<data type="nonNegativeInteger"/>
</attribute>
</optional>
<optional>
<element name="mesh">
<text/>
</element>
</optional>
<optional>
<element name="textures">
<zeroOrMore>
<element name="texture">
<interleave>
<optional>
<attribute name="file"/>
</optional>
<attribute name="name"/>
</interleave>
</element>
</zeroOrMore>
</element>
</optional>
<optional>
<element name="decal">
<interleave>
<attribute name="width">
<data type="float"/>
</attribute>
<!-- X -->
<attribute name="depth">
<data type="float"/>
</attribute>
<!-- Z -->
<attribute name="angle">
<data type="float"/>
</attribute>
<attribute name="offsetx">
<data type="float"/>
</attribute>
<attribute name="offsetz">
<data type="float"/>
</attribute>
</interleave>
</element>
</optional>
<optional>
<element name="particles">
<attribute name="file"/>
</element>
</optional>
<optional>
<element name="color">
<list>
<group>
<data type="nonNegativeInteger"/>
<!-- R -->
<data type="nonNegativeInteger"/>
<!-- G -->
<data type="nonNegativeInteger"/>
</group>
<!-- B -->
</list>
</element>
</optional>
<optional>
<element name="animations">
<zeroOrMore>
<element name="animation">
<interleave>
<attribute name="name"/>
<optional>
<attribute name="file"/>
</optional>
<attribute name="speed">
<data type="nonNegativeInteger"/>
</attribute>
<optional>
<attribute name="event">
<data type="decimal">
<param name="minInclusive">0</param>
<param name="maxInclusive">1</param>
</data>
</attribute>
</optional>
<optional>
<attribute name="load">
<data type="decimal">
<param name="minInclusive">0</param>
<param name="maxInclusive">1</param>
</data>
</attribute>
</optional>
<optional>
<attribute name="sound">
<data type="decimal">
<param name="minInclusive">0</param>
<param name="maxInclusive">1</param>
</data>
</attribute>
</optional>
</interleave>
</element>
</zeroOrMore>
</element>
</optional>
<optional>
<element name="props">
<zeroOrMore>
<element name="prop">
<interleave>
<optional>
<attribute name="actor"/>
</optional>
<attribute name="attachpoint"/>
<optional>
<attribute name="minheight">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="maxheight">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="selectable">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
</interleave>
</element>
</zeroOrMore>
</element>
</optional>
</interleave>
</element>
</zeroOrMore>
</element>
</zeroOrMore>
<optional>
<element name="castshadow">
<!-- flag; true if present -->
<empty/>
</element>
</optional>
<optional>
<element name="float">
<!-- flag; true if present -->
<empty/>
</element>
</optional>
<optional>
<element name="material">
<text/>
</element>
</optional>
</interleave>
</element>
<?xml version="1.0" encoding="UTF-8"?>
<element name="actor" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<attribute name="version">
<data type="positiveInteger"/>
</attribute>
<interleave>
<zeroOrMore>
<element name="group">
<zeroOrMore>
<element name="variant">
<interleave>
<optional>
<attribute name="name"/>
</optional>
<optional>
<attribute name="frequency">
<data type="nonNegativeInteger"/>
</attribute>
</optional>
<optional>
<element name="mesh">
<text/>
</element>
</optional>
<optional>
<element name="textures">
<zeroOrMore>
<element name="texture">
<interleave>
<optional>
<attribute name="file"/>
</optional>
<attribute name="name"/>
</interleave>
</element>
</zeroOrMore>
</element>
</optional>
<optional>
<element name="decal">
<interleave>
<attribute name="width">
<data type="float"/>
</attribute>
<!-- X -->
<attribute name="depth">
<data type="float"/>
</attribute>
<!-- Z -->
<attribute name="angle">
<data type="float"/>
</attribute>
<attribute name="offsetx">
<data type="float"/>
</attribute>
<attribute name="offsetz">
<data type="float"/>
</attribute>
</interleave>
</element>
</optional>
<optional>
<element name="particles">
<attribute name="file"/>
</element>
</optional>
<optional>
<element name="color">
<list>
<group>
<data type="nonNegativeInteger"/>
<!-- R -->
<data type="nonNegativeInteger"/>
<!-- G -->
<data type="nonNegativeInteger"/>
</group>
<!-- B -->
</list>
</element>
</optional>
<optional>
<element name="animations">
<zeroOrMore>
<element name="animation">
<interleave>
<attribute name="name"/>
<optional>
<attribute name="file"/>
</optional>
<attribute name="speed">
<data type="nonNegativeInteger"/>
</attribute>
<optional>
<attribute name="event">
<data type="decimal">
<param name="minInclusive">0</param>
<param name="maxInclusive">1</param>
</data>
</attribute>
</optional>
<optional>
<attribute name="load">
<data type="decimal">
<param name="minInclusive">0</param>
<param name="maxInclusive">1</param>
</data>
</attribute>
</optional>
<optional>
<attribute name="sound">
<data type="decimal">
<param name="minInclusive">0</param>
<param name="maxInclusive">1</param>
</data>
</attribute>
</optional>
</interleave>
</element>
</zeroOrMore>
</element>
</optional>
<optional>
<element name="props">
<zeroOrMore>
<element name="prop">
<interleave>
<optional>
<attribute name="actor"/>
</optional>
<attribute name="attachpoint"/>
<optional>
<attribute name="minheight">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="maxheight">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="selectable">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
</interleave>
</element>
</zeroOrMore>
</element>
</optional>
</interleave>
</element>
</zeroOrMore>
</element>
</zeroOrMore>
<optional>
<element name="castshadow">
<!-- flag; true if present -->
<empty/>
</element>
</optional>
<optional>
<element name="float">
<!-- flag; true if present -->
<empty/>
</element>
</optional>
<optional>
<element name="material">
<text/>
</element>
</optional>
</interleave>
</element>

View File

@ -31,7 +31,7 @@ element material {
}* &
element renderquery {
attribute name { text }
}*
}* &
element required_texture {
attribute name { text }
}*

View File

@ -1,95 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<element name="material" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<interleave>
<zeroOrMore>
<element name="alternative">
<interleave>
<attribute name="material"/>
<optional>
<attribute name="quality">
<data type="decimal">
<param name="minInclusive">0</param>
</data>
</attribute>
</optional>
<optional>
<attribute name="if"/>
</optional>
</interleave>
</element>
</zeroOrMore>
<optional>
<element name="alpha_blending">
<!-- flag; true if present -->
<empty/>
</element>
</optional>
<element name="shader">
<attribute name="effect"/>
</element>
<zeroOrMore>
<element name="define">
<attribute name="name"/>
<attribute name="value"/>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="conditional_define">
<attribute name="name"/>
<attribute name="value"/>
<attribute name="type"/>
<choice>
<attribute name="conf"/>
<group>
<optional>
<attribute name="min">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="max">
<data type="float"/>
</attribute>
</optional>
</group>
</choice>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="uniform">
<attribute name="name"/>
<attribute name="value">
<list>
<!-- X Y Z W -->
<data type="float"/>
<optional>
<data type="float"/>
</optional>
<optional>
<data type="float"/>
</optional>
<optional>
<data type="float"/>
</optional>
</list>
</attribute>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="renderquery">
<attribute name="name"/>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="required_texture">
<attribute name="name"/>
</element>
</zeroOrMore>
</interleave>
</element>
<?xml version="1.0" encoding="UTF-8"?>
<element name="material" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<interleave>
<zeroOrMore>
<element name="alternative">
<interleave>
<attribute name="material"/>
<optional>
<attribute name="quality">
<data type="decimal">
<param name="minInclusive">0</param>
</data>
</attribute>
</optional>
<optional>
<attribute name="if"/>
</optional>
</interleave>
</element>
</zeroOrMore>
<optional>
<element name="alpha_blending">
<!-- flag; true if present -->
<empty/>
</element>
</optional>
<element name="shader">
<attribute name="effect"/>
</element>
<zeroOrMore>
<element name="define">
<attribute name="name"/>
<attribute name="value"/>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="uniform">
<attribute name="name"/>
<attribute name="value">
<list>
<!-- X Y Z W -->
<data type="float"/>
<optional>
<data type="float"/>
</optional>
<optional>
<data type="float"/>
</optional>
<optional>
<data type="float"/>
</optional>
</list>
</attribute>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="renderquery">
<attribute name="name"/>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="required_texture">
<attribute name="name"/>
</element>
</zeroOrMore>
</interleave>
</element>

View File

@ -1,106 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
<element name="particles" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<interleave>
<optional>
<element name="texture">
<text/>
</element>
</optional>
<optional>
<element name="blend">
<attribute name="mode">
<choice>
<value>add</value>
<value>subtract</value>
<value>over</value>
<value>multiply</value>
</choice>
</attribute>
</element>
</optional>
<optional>
<element name="start_full">
<!-- flag; true if present -->
<empty/>
</element>
</optional>
<optional>
<element name="use_relative_velocity">
<!-- flag; true if present -->
<empty/>
</element>
</optional>
<zeroOrMore>
<element name="constant">
<interleave>
<attribute name="name"/>
<attribute name="value">
<data type="float"/>
</attribute>
</interleave>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="uniform">
<interleave>
<attribute name="name"/>
<attribute name="min">
<data type="float"/>
</attribute>
<attribute name="max">
<data type="float"/>
</attribute>
</interleave>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="copy">
<interleave>
<attribute name="name"/>
<attribute name="from"/>
</interleave>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="expr">
<interleave>
<attribute name="name"/>
<attribute name="from"/>
<attribute name="mul">
<data type="float"/>
</attribute>
<attribute name="max">
<data type="float"/>
</attribute>
</interleave>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="force">
<interleave>
<optional>
<attribute name="x">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="y">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="z">
<data type="float"/>
</attribute>
</optional>
</interleave>
</element>
</zeroOrMore>
</interleave>
</element>
<?xml version="1.0" encoding="UTF-8"?>
<element name="particles" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<interleave>
<optional>
<element name="texture">
<text/>
</element>
</optional>
<optional>
<element name="blend">
<attribute name="mode">
<choice>
<value>add</value>
<value>subtract</value>
<value>over</value>
<value>multiply</value>
</choice>
</attribute>
</element>
</optional>
<optional>
<element name="start_full">
<!-- flag; true if present -->
<empty/>
</element>
</optional>
<optional>
<element name="use_relative_velocity">
<!-- flag; true if present -->
<empty/>
</element>
</optional>
<zeroOrMore>
<element name="constant">
<interleave>
<attribute name="name"/>
<attribute name="value">
<data type="float"/>
</attribute>
</interleave>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="uniform">
<interleave>
<attribute name="name"/>
<attribute name="min">
<data type="float"/>
</attribute>
<attribute name="max">
<data type="float"/>
</attribute>
</interleave>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="copy">
<interleave>
<attribute name="name"/>
<attribute name="from"/>
</interleave>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="expr">
<interleave>
<attribute name="name"/>
<attribute name="from"/>
<attribute name="mul">
<data type="float"/>
</attribute>
<attribute name="max">
<data type="float"/>
</attribute>
</interleave>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="force">
<interleave>
<optional>
<attribute name="x">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="y">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="z">
<data type="float"/>
</attribute>
</optional>
</interleave>
</element>
</zeroOrMore>
</interleave>
</element>

View File

@ -1,52 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
<element name="Terrains" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<element name="Terrain">
<interleave>
<attribute name="groups"/>
<optional>
<!-- comma-separated list of groups -->
<attribute name="mmap">
<list>
<group>
<data type="integer">
<param name="minInclusive">0</param>
<param name="maxInclusive">255</param>
</data>
<!-- R -->
<data type="integer">
<param name="minInclusive">0</param>
<param name="maxInclusive">255</param>
</data>
<!-- G -->
<data type="integer">
<param name="minInclusive">0</param>
<param name="maxInclusive">255</param>
</data>
</group>
<!-- B -->
</list>
</attribute>
</optional>
<optional>
<attribute name="angle">
<data type="float"/>
</attribute>
</optional>
<optional>
<!-- degrees -->
<attribute name="size">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="movementclass"/>
</optional>
</interleave>
</element>
</element>
<?xml version="1.0" encoding="UTF-8"?>
<element name="Terrains" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<element name="Terrain">
<interleave>
<attribute name="groups"/>
<optional>
<!-- comma-separated list of groups -->
<attribute name="mmap">
<list>
<group>
<data type="integer">
<param name="minInclusive">0</param>
<param name="maxInclusive">255</param>
</data>
<!-- R -->
<data type="integer">
<param name="minInclusive">0</param>
<param name="maxInclusive">255</param>
</data>
<!-- G -->
<data type="integer">
<param name="minInclusive">0</param>
<param name="maxInclusive">255</param>
</data>
</group>
<!-- B -->
</list>
</attribute>
</optional>
<optional>
<attribute name="angle">
<data type="float"/>
</attribute>
</optional>
<optional>
<!-- degrees -->
<attribute name="size">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="movementclass"/>
</optional>
</interleave>
</element>
</element>

View File

@ -1,75 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<element name="terrain" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<interleave>
<element name="textures">
<zeroOrMore>
<element name="texture">
<interleave>
<attribute name="name"/>
<attribute name="file"/>
</interleave>
</element>
</zeroOrMore>
</element>
<optional>
<element name="material">
<text/>
</element>
</optional>
<optional>
<element name="alphamap">
<text/>
</element>
</optional>
<zeroOrMore>
<element name="props">
<interleave>
<optional>
<attribute name="groups"/>
</optional>
<optional>
<!-- comma-separated list of groups -->
<attribute name="mmap">
<list>
<group>
<data type="integer">
<param name="minInclusive">0</param>
</data>
<!-- R -->
<data type="integer">
<param name="minInclusive">0</param>
</data>
<!-- G -->
<data type="integer">
<param name="minInclusive">0</param>
</data>
</group>
<!-- B -->
</list>
</attribute>
</optional>
<optional>
<attribute name="angle">
<data type="float"/>
</attribute>
</optional>
<optional>
<!-- degrees -->
<attribute name="size">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="movementclass"/>
</optional>
</interleave>
</element>
</zeroOrMore>
</interleave>
</element>
<?xml version="1.0" encoding="UTF-8"?>
<element name="terrain" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<interleave>
<element name="textures">
<zeroOrMore>
<element name="texture">
<interleave>
<attribute name="name"/>
<attribute name="file"/>
</interleave>
</element>
</zeroOrMore>
</element>
<optional>
<element name="material">
<text/>
</element>
</optional>
<optional>
<element name="alphamap">
<text/>
</element>
</optional>
<zeroOrMore>
<element name="props">
<interleave>
<optional>
<attribute name="groups"/>
</optional>
<optional>
<!-- comma-separated list of groups -->
<attribute name="mmap">
<list>
<group>
<data type="integer">
<param name="minInclusive">0</param>
</data>
<!-- R -->
<data type="integer">
<param name="minInclusive">0</param>
</data>
<!-- G -->
<data type="integer">
<param name="minInclusive">0</param>
</data>
</group>
<!-- B -->
</list>
</attribute>
</optional>
<optional>
<attribute name="angle">
<data type="float"/>
</attribute>
</optional>
<optional>
<!-- degrees -->
<attribute name="size">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="movementclass"/>
</optional>
</interleave>
</element>
</zeroOrMore>
</interleave>
</element>

View File

@ -1,78 +1,78 @@
<?xml version="1.0" encoding="UTF-8"?>
<element name="Textures" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<zeroOrMore>
<element name="File">
<interleave>
<optional>
<attribute name="pattern"/>
</optional>
<optional>
<attribute name="format">
<choice>
<value>dxt1</value>
<value>dxt3</value>
<value>dxt5</value>
<value>rgba</value>
<value>alpha</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="mipmap">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="normal">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="alpha">
<choice>
<value>none</value>
<value>player</value>
<value>transparency</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="filter">
<choice>
<value>box</value>
<value>triangle</value>
<value>kaiser</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="kaiserwidth">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="kaiseralpha">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="kaiserstretch">
<data type="float"/>
</attribute>
</optional>
</interleave>
</element>
</zeroOrMore>
</element>
<?xml version="1.0" encoding="UTF-8"?>
<element name="Textures" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<zeroOrMore>
<element name="File">
<interleave>
<optional>
<attribute name="pattern"/>
</optional>
<optional>
<attribute name="format">
<choice>
<value>dxt1</value>
<value>dxt3</value>
<value>dxt5</value>
<value>rgba</value>
<value>alpha</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="mipmap">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="normal">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="alpha">
<choice>
<value>none</value>
<value>player</value>
<value>transparency</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="filter">
<choice>
<value>box</value>
<value>triangle</value>
<value>kaiser</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="kaiserwidth">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="kaiseralpha">
<data type="float"/>
</attribute>
</optional>
<optional>
<attribute name="kaiserstretch">
<data type="float"/>
</attribute>
</optional>
</interleave>
</element>
</zeroOrMore>
</element>

View File

@ -1,297 +1,297 @@
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<ref name="Scenario"/>
</start>
<define name="color_rgb">
<a:documentation/>
<!-- Defines # -->
<a:documentation/>
<attribute name="r">
<data type="decimal">
<param name="minInclusive">0</param>
<param name="maxInclusive">1</param>
</data>
</attribute>
<attribute name="g">
<data type="decimal">
<param name="minInclusive">0</param>
<param name="maxInclusive">1</param>
</data>
</attribute>
<attribute name="b">
<data type="decimal">
<param name="minInclusive">0</param>
<param name="maxInclusive">1</param>
</data>
</attribute>
</define>
<define name="suncolor_rgb">
<!-- RGB can be > 1 due to overbrightness -->
<attribute name="r">
<data type="decimal">
<param name="minInclusive">0</param>
</data>
</attribute>
<attribute name="g">
<data type="decimal">
<param name="minInclusive">0</param>
</data>
</attribute>
<attribute name="b">
<data type="decimal">
<param name="minInclusive">0</param>
</data>
</attribute>
</define>
<define name="pos_xyz">
<attribute name="x">
<data type="float"/>
</attribute>
<attribute name="y">
<data type="float"/>
</attribute>
<attribute name="z">
<data type="float"/>
</attribute>
</define>
<define name="pos_xz">
<attribute name="x">
<data type="decimal"/>
</attribute>
<attribute name="z">
<data type="decimal"/>
</attribute>
</define>
<define name="angle">
<attribute name="angle">
<data type="float"/>
</attribute>
</define>
<!-- TODO: bounds are not documented for many of these -->
<define name="Scenario">
<a:documentation/>
<!-- Scenario # -->
<a:documentation/>
<element name="Scenario">
<interleave>
<attribute name="version">
<data type="positiveInteger"/>
</attribute>
<element name="Environment">
<interleave>
<optional>
<element name="LightingModel">
<text/>
</element>
</optional>
<!-- Deprecated -->
<element name="SkySet">
<text/>
</element>
<element name="SunColor">
<ref name="suncolor_rgb"/>
</element>
<element name="SunElevation">
<ref name="angle"/>
</element>
<element name="SunRotation">
<ref name="angle"/>
</element>
<element name="TerrainAmbientColor">
<ref name="color_rgb"/>
</element>
<element name="UnitsAmbientColor">
<ref name="color_rgb"/>
</element>
<optional>
<element name="Fog">
<interleave>
<element name="FogFactor">
<data type="decimal">
<param name="minInclusive">0</param>
</data>
<!-- TODO: what is the max? -->
</element>
<element name="FogThickness">
<data type="decimal">
<param name="minInclusive">0</param>
</data>
<!-- TODO: what is the max? -->
</element>
<element name="FogColor">
<ref name="color_rgb"/>
</element>
</interleave>
</element>
</optional>
<element name="Water">
<element name="WaterBody">
<interleave>
<element name="Type">
<text/>
</element>
<!-- Not implemented -->
<element name="Color">
<ref name="color_rgb"/>
</element>
<element name="Height">
<data type="decimal"/>
</element>
<optional>
<element name="Shininess">
<data type="decimal"/>
</element>
</optional>
<!-- Deprecated -->
<element name="Waviness">
<data type="decimal"/>
</element>
<element name="Murkiness">
<data type="decimal"/>
</element>
<element name="Tint">
<ref name="color_rgb"/>
</element>
<element name="ReflectionTint">
<ref name="color_rgb"/>
</element>
<element name="ReflectionTintStrength">
<data type="decimal"/>
</element>
</interleave>
</element>
</element>
<optional>
<element name="Postproc">
<element name="Brightness">
<data type="decimal"/>
</element>
<element name="Contrast">
<data type="decimal"/>
</element>
<element name="Saturation">
<data type="decimal"/>
</element>
<element name="Bloom">
<data type="decimal"/>
</element>
<element name="PostEffect">
<text/>
</element>
</element>
</optional>
</interleave>
</element>
<optional>
<element name="Terrain">
<optional>
<attribute name="patches">
<data type="positiveInteger"/>
</attribute>
</optional>
<optional>
<attribute name="texture"/>
</optional>
<optional>
<attribute name="priority">
<data type="nonNegativeInteger"/>
</attribute>
</optional>
<optional>
<attribute name="height">
<data type="positiveInteger"/>
</attribute>
</optional>
</element>
</optional>
<optional>
<element name="Script">
<text/>
</element>
</optional>
<element name="Camera">
<!-- Camera can have weird float values -->
<element name="Position">
<ref name="pos_xyz"/>
</element>
<element name="Rotation">
<ref name="angle"/>
</element>
<element name="Declination">
<ref name="angle"/>
</element>
</element>
<element name="ScriptSettings">
<text/>
</element>
<optional>
<element name="Entities">
<zeroOrMore>
<element name="Entity">
<interleave>
<attribute name="uid">
<data type="positiveInteger"/>
</attribute>
<element name="Template">
<text/>
</element>
<optional>
<element name="Player">
<data type="nonNegativeInteger"/>
</element>
</optional>
<element name="Position">
<ref name="pos_xz"/>
</element>
<element name="Orientation">
<attribute name="y">
<data type="decimal"/>
</attribute>
</element>
<optional>
<element name="Obstruction">
<attribute name="group">
<data type="positiveInteger"/>
</attribute>
<optional>
<attribute name="group2">
<data type="positiveInteger"/>
</attribute>
</optional>
</element>
</optional>
<optional>
<element name="Actor">
<attribute name="seed">
<data type="integer"/>
</attribute>
</element>
</optional>
</interleave>
</element>
</zeroOrMore>
</element>
</optional>
<optional>
<element name="Paths">
<!-- Unused -->
<empty/>
</element>
</optional>
<optional>
<element name="Triggers">
<!-- Unused -->
<empty/>
</element>
</optional>
</interleave>
</element>
</define>
</grammar>
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<ref name="Scenario"/>
</start>
<define name="color_rgb">
<a:documentation/>
<!-- Defines # -->
<a:documentation/>
<attribute name="r">
<data type="decimal">
<param name="minInclusive">0</param>
<param name="maxInclusive">1</param>
</data>
</attribute>
<attribute name="g">
<data type="decimal">
<param name="minInclusive">0</param>
<param name="maxInclusive">1</param>
</data>
</attribute>
<attribute name="b">
<data type="decimal">
<param name="minInclusive">0</param>
<param name="maxInclusive">1</param>
</data>
</attribute>
</define>
<define name="suncolor_rgb">
<!-- RGB can be > 1 due to overbrightness -->
<attribute name="r">
<data type="decimal">
<param name="minInclusive">0</param>
</data>
</attribute>
<attribute name="g">
<data type="decimal">
<param name="minInclusive">0</param>
</data>
</attribute>
<attribute name="b">
<data type="decimal">
<param name="minInclusive">0</param>
</data>
</attribute>
</define>
<define name="pos_xyz">
<attribute name="x">
<data type="float"/>
</attribute>
<attribute name="y">
<data type="float"/>
</attribute>
<attribute name="z">
<data type="float"/>
</attribute>
</define>
<define name="pos_xz">
<attribute name="x">
<data type="decimal"/>
</attribute>
<attribute name="z">
<data type="decimal"/>
</attribute>
</define>
<define name="angle">
<attribute name="angle">
<data type="float"/>
</attribute>
</define>
<!-- TODO: bounds are not documented for many of these -->
<define name="Scenario">
<a:documentation/>
<!-- Scenario # -->
<a:documentation/>
<element name="Scenario">
<interleave>
<attribute name="version">
<data type="positiveInteger"/>
</attribute>
<element name="Environment">
<interleave>
<optional>
<element name="LightingModel">
<text/>
</element>
</optional>
<!-- Deprecated -->
<element name="SkySet">
<text/>
</element>
<element name="SunColor">
<ref name="suncolor_rgb"/>
</element>
<element name="SunElevation">
<ref name="angle"/>
</element>
<element name="SunRotation">
<ref name="angle"/>
</element>
<element name="TerrainAmbientColor">
<ref name="color_rgb"/>
</element>
<element name="UnitsAmbientColor">
<ref name="color_rgb"/>
</element>
<optional>
<element name="Fog">
<interleave>
<element name="FogFactor">
<data type="decimal">
<param name="minInclusive">0</param>
</data>
<!-- TODO: what is the max? -->
</element>
<element name="FogThickness">
<data type="decimal">
<param name="minInclusive">0</param>
</data>
<!-- TODO: what is the max? -->
</element>
<element name="FogColor">
<ref name="color_rgb"/>
</element>
</interleave>
</element>
</optional>
<element name="Water">
<element name="WaterBody">
<interleave>
<element name="Type">
<text/>
</element>
<!-- Not implemented -->
<element name="Color">
<ref name="color_rgb"/>
</element>
<element name="Height">
<data type="decimal"/>
</element>
<optional>
<element name="Shininess">
<data type="decimal"/>
</element>
</optional>
<!-- Deprecated -->
<element name="Waviness">
<data type="decimal"/>
</element>
<element name="Murkiness">
<data type="decimal"/>
</element>
<element name="Tint">
<ref name="color_rgb"/>
</element>
<element name="ReflectionTint">
<ref name="color_rgb"/>
</element>
<element name="ReflectionTintStrength">
<data type="decimal"/>
</element>
</interleave>
</element>
</element>
<optional>
<element name="Postproc">
<element name="Brightness">
<data type="decimal"/>
</element>
<element name="Contrast">
<data type="decimal"/>
</element>
<element name="Saturation">
<data type="decimal"/>
</element>
<element name="Bloom">
<data type="decimal"/>
</element>
<element name="PostEffect">
<text/>
</element>
</element>
</optional>
</interleave>
</element>
<optional>
<element name="Terrain">
<optional>
<attribute name="patches">
<data type="positiveInteger"/>
</attribute>
</optional>
<optional>
<attribute name="texture"/>
</optional>
<optional>
<attribute name="priority">
<data type="nonNegativeInteger"/>
</attribute>
</optional>
<optional>
<attribute name="height">
<data type="positiveInteger"/>
</attribute>
</optional>
</element>
</optional>
<optional>
<element name="Script">
<text/>
</element>
</optional>
<element name="Camera">
<!-- Camera can have weird float values -->
<element name="Position">
<ref name="pos_xyz"/>
</element>
<element name="Rotation">
<ref name="angle"/>
</element>
<element name="Declination">
<ref name="angle"/>
</element>
</element>
<element name="ScriptSettings">
<text/>
</element>
<optional>
<element name="Entities">
<zeroOrMore>
<element name="Entity">
<interleave>
<attribute name="uid">
<data type="positiveInteger"/>
</attribute>
<element name="Template">
<text/>
</element>
<optional>
<element name="Player">
<data type="nonNegativeInteger"/>
</element>
</optional>
<element name="Position">
<ref name="pos_xz"/>
</element>
<element name="Orientation">
<attribute name="y">
<data type="decimal"/>
</attribute>
</element>
<optional>
<element name="Obstruction">
<attribute name="group">
<data type="positiveInteger"/>
</attribute>
<optional>
<attribute name="group2">
<data type="positiveInteger"/>
</attribute>
</optional>
</element>
</optional>
<optional>
<element name="Actor">
<attribute name="seed">
<data type="integer"/>
</attribute>
</element>
</optional>
</interleave>
</element>
</zeroOrMore>
</element>
</optional>
<optional>
<element name="Paths">
<!-- Unused -->
<empty/>
</element>
</optional>
<optional>
<element name="Triggers">
<!-- Unused -->
<empty/>
</element>
</optional>
</interleave>
</element>
</define>
</grammar>

View File

@ -1,81 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<element name="Pathfinder" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<interleave>
<element name="MaxSameTurnMoves">
<data type="nonNegativeInteger"/>
</element>
<element name="PassabilityClasses">
<oneOrMore>
<element>
<anyName/>
<interleave>
<optional>
<element name="MinWaterDepth">
<data type="decimal"/>
</element>
</optional>
<optional>
<!-- TODO: fixed type -->
<element name="MaxWaterDepth">
<data type="decimal"/>
</element>
</optional>
<optional>
<element name="MaxTerrainSlope">
<data type="decimal"/>
</element>
</optional>
<optional>
<element name="MinShoreDistance">
<data type="decimal"/>
</element>
</optional>
<optional>
<element name="MaxShoreDistance">
<data type="decimal"/>
</element>
</optional>
</interleave>
</element>
</oneOrMore>
</element>
<element name="MovementClasses">
<oneOrMore>
<element>
<anyName/>
<interleave>
<attribute name="Speed">
<data type="decimal"/>
</attribute>
<attribute name="Cost">
<data type="decimal"/>
</attribute>
<optional>
<element name="UnitClasses">
<zeroOrMore>
<element>
<anyName/>
<interleave>
<attribute name="Speed">
<data type="decimal"/>
</attribute>
<attribute name="Cost">
<data type="decimal"/>
</attribute>
</interleave>
</element>
</zeroOrMore>
</element>
</optional>
</interleave>
</element>
</oneOrMore>
</element>
</interleave>
</element>
<?xml version="1.0" encoding="UTF-8"?>
<element name="Pathfinder" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<interleave>
<element name="MaxSameTurnMoves">
<data type="nonNegativeInteger"/>
</element>
<element name="PassabilityClasses">
<oneOrMore>
<element>
<anyName/>
<interleave>
<optional>
<element name="MinWaterDepth">
<data type="decimal"/>
</element>
</optional>
<optional>
<!-- TODO: fixed type -->
<element name="MaxWaterDepth">
<data type="decimal"/>
</element>
</optional>
<optional>
<element name="MaxTerrainSlope">
<data type="decimal"/>
</element>
</optional>
<optional>
<element name="MinShoreDistance">
<data type="decimal"/>
</element>
</optional>
<optional>
<element name="MaxShoreDistance">
<data type="decimal"/>
</element>
</optional>
</interleave>
</element>
</oneOrMore>
</element>
<element name="MovementClasses">
<oneOrMore>
<element>
<anyName/>
<interleave>
<attribute name="Speed">
<data type="decimal"/>
</attribute>
<attribute name="Cost">
<data type="decimal"/>
</attribute>
<optional>
<element name="UnitClasses">
<zeroOrMore>
<element>
<anyName/>
<interleave>
<attribute name="Speed">
<data type="decimal"/>
</attribute>
<attribute name="Cost">
<data type="decimal"/>
</attribute>
</interleave>
</element>
</zeroOrMore>
</element>
</optional>
</interleave>
</element>
</oneOrMore>
</element>
</interleave>
</element>

View File

@ -1,23 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<element name="TerritoryManager" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<interleave>
<element name="ImpassableCost">
<data type="integer">
<param name="minInclusive">0</param>
<param name="maxInclusive">255</param>
</data>
</element>
<element name="BorderThickness">
<data type="decimal"/>
</element>
<element name="BorderSeparation">
<data type="decimal"/>
</element>
</interleave>
</element>
<?xml version="1.0" encoding="UTF-8"?>
<element name="TerritoryManager" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<a:documentation/>
<!--
NOTE: To modify this Relax NG grammar, edit the Relax NG Compact (.rnc) file
and use a converter tool like trang to generate the Relax NG XML (.rng) file
-->
<a:documentation/>
<interleave>
<element name="ImpassableCost">
<data type="integer">
<param name="minInclusive">0</param>
<param name="maxInclusive">255</param>
</data>
</element>
<element name="BorderThickness">
<data type="decimal"/>
</element>
<element name="BorderSeparation">
<data type="decimal"/>
</element>
</interleave>
</element>

View File

@ -0,0 +1,8 @@
#!/bin/bash
VFSROOT=${1:-"../../../binaries/data/mods"}
for schema in $(find "$VFSROOT" -name '*.rnc')
do
trang "$schema" "${schema/.rnc/.rng}"
done