The text in the various help dialogs that was previously baked into an image is now drawn as text, meaning that it benefits from text unblurring when scaling is active. This entails some small changes to layout, since it's a different font. Dialog engine changes: * A new picture type allowing to draw the inventory button icons directly into a dialog. * A new widget type that simply draws a line between two points.
427 lines
14 KiB
XML
427 lines
14 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
<xs:include schemaLocation="common.xsd"/>
|
|
<xs:simpleType name="picttype">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="blank"/>
|
|
<xs:enumeration value="ter"/>
|
|
<xs:enumeration value="teranim"/>
|
|
<xs:enumeration value="monst"/>
|
|
<xs:enumeration value="dlog"/>
|
|
<xs:enumeration value="talk"/>
|
|
<xs:enumeration value="scen"/>
|
|
<xs:enumeration value="item"/>
|
|
<xs:enumeration value="pc"/>
|
|
<xs:enumeration value="field"/>
|
|
<xs:enumeration value="boom"/>
|
|
<xs:enumeration value="missile"/>
|
|
<xs:enumeration value="full"/>
|
|
<xs:enumeration value="map"/>
|
|
<xs:enumeration value="status"/>
|
|
<xs:enumeration value="btn"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="btntype">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="small"/>
|
|
<xs:enumeration value="regular"/>
|
|
<xs:enumeration value="large"/>
|
|
<xs:enumeration value="help"/>
|
|
<xs:enumeration value="left"/>
|
|
<xs:enumeration value="right"/>
|
|
<xs:enumeration value="up"/>
|
|
<xs:enumeration value="down"/>
|
|
<xs:enumeration value="tiny"/>
|
|
<xs:enumeration value="done"/>
|
|
<xs:enumeration value="tall"/>
|
|
<xs:enumeration value="trait"/>
|
|
<xs:enumeration value="push"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="key">
|
|
<xs:union>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="(ctrl +|alt +|shift +)*(\d|[a-z`=;',./-]|\[|\]|\\|left|right|up|down|esc|enter|return|tab|help|space)|none"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:union>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="mod">
|
|
<xs:list>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="ctrl"/>
|
|
<xs:enumeration value="shift"/>
|
|
<xs:enumeration value="alt"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:list>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="scrollStyle">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="white"/>
|
|
<xs:enumeration value="led"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="labelPos">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="left"/>
|
|
<xs:enumeration value="right"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="frameStyle">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="solid"/>
|
|
<xs:enumeration value="inset"/>
|
|
<xs:enumeration value="outset"/>
|
|
<xs:enumeration value="double"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="relAnchor">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="next"/>
|
|
<xs:enumeration value="prev"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="relPosition">
|
|
<xs:list>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="abs"/>
|
|
<xs:enumeration value="pos"/>
|
|
<xs:enumeration value="neg"/>
|
|
<xs:enumeration value="pos-in"/>
|
|
<xs:enumeration value="neg-in"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:list>
|
|
</xs:simpleType>
|
|
<xs:attributeGroup name="rect-size">
|
|
<xs:attribute name="top" use="required" type="xs:integer"/>
|
|
<xs:attribute name="left" use="required" type="xs:integer"/>
|
|
<xs:attribute name="width" type="xs:integer"/>
|
|
<xs:attribute name="height" type="xs:integer"/>
|
|
</xs:attributeGroup>
|
|
<xs:attributeGroup name="frame">
|
|
<xs:attribute name="framed" default="false" type="bool"/>
|
|
<xs:attribute name="outline" default="inset" type="frameStyle"/>
|
|
</xs:attributeGroup>
|
|
<xs:attributeGroup name="position">
|
|
<xs:attribute name="anchor" type="xs:token"/>
|
|
<xs:attribute name="rel-anchor" type="relAnchor"/>
|
|
<xs:attribute name="relative" default="abs" type="relPosition"/>
|
|
</xs:attributeGroup>
|
|
<xs:attribute name="def-key" type="key"/>
|
|
<xs:attributeGroup name="font">
|
|
<xs:attribute name="font" default="bold">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="dungeon"/>
|
|
<xs:enumeration value="plain"/>
|
|
<xs:enumeration value="bold"/>
|
|
<xs:enumeration value="maidenword"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="size" default="small">
|
|
<xs:simpleType>
|
|
<xs:union>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="small"/>
|
|
<xs:enumeration value="large"/>
|
|
<xs:enumeration value="title"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:integer"/>
|
|
</xs:simpleType>
|
|
</xs:union>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="color"/>
|
|
<xs:attribute name="colour"/>
|
|
</xs:attributeGroup>
|
|
<xs:complexType name="field">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attribute name="type" default="text">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="int"/>
|
|
<xs:enumeration value="uint"/>
|
|
<xs:enumeration value="real"/>
|
|
<xs:enumeration value="text"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="tab-order" type="xs:integer"/>
|
|
<xs:attribute name="max-chars" type="xs:integer"/>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType mixed="true" name="message">
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="br">
|
|
<xs:complexType/>
|
|
</xs:element>
|
|
<xs:element name="key">
|
|
<xs:complexType>
|
|
<xs:attribute name='ref' type='xs:token'/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attributeGroup ref="frame"/>
|
|
<xs:attributeGroup ref="font"/>
|
|
<xs:attribute name="underline" type="bool"/>
|
|
<xs:attribute name="align">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="left"/>
|
|
<xs:enumeration value="right"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute ref="def-key"/>
|
|
<xs:attribute name="fromlist" default="none" type="xs:string"/>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="pict">
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attribute name="type" use="required" type="picttype"/>
|
|
<xs:attribute name="custom" default="false" type="bool"/>
|
|
<xs:attribute name="scaled" default="false" type="bool"/>
|
|
<xs:attribute name="framed" default="true" type="bool"/>
|
|
<xs:attribute name="filled" default="true" type="bool"/>
|
|
<xs:attribute name="outline" default="inset" type="frameStyle"/>
|
|
<xs:attribute name="size">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="small"/>
|
|
<xs:enumeration value="wide"/>
|
|
<xs:enumeration value="tall"/>
|
|
<xs:enumeration value="large"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute ref="def-key"/>
|
|
<xs:attribute name="num" type="xs:integer"/>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
<xs:attribute name="color"/>
|
|
<xs:attribute name="colour"/>
|
|
</xs:complexType>
|
|
<xs:complexType mixed="true" name="button">
|
|
<xs:sequence>
|
|
<xs:element name="key" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType/>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="name" use="required" type="xs:token"/>
|
|
<xs:attribute name="type" use="required" type="btntype"/>
|
|
<xs:attribute name="text-size" type="xs:integer"/>
|
|
<xs:attribute name="wrap" default="false" type="bool"/>
|
|
<xs:attribute ref="def-key"/>
|
|
<xs:attribute name="fromlist" default="none" type="xs:string"/>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="led">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute name="name" use="required" type="xs:token"/>
|
|
<xs:attribute name="state" default="off">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="red"/>
|
|
<xs:enumeration value="green"/>
|
|
<xs:enumeration value="off"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
<xs:attributeGroup ref="font"/>
|
|
<xs:attribute name="label-pos" default="right" type="labelPos"/>
|
|
<xs:attribute name="wrap" default="false" type="bool"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="line">
|
|
<xs:attribute name="slope">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="positive"/>
|
|
<xs:enumeration value="negative"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attribute name="size">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:integer">
|
|
<xs:minInclusive value='2'/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="color"/>
|
|
<xs:attribute name="colour"/>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="slider">
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attribute name="max" type="xs:integer" use="required"/>
|
|
<xs:attribute name="initial" type="xs:integer" default="0"/>
|
|
<xs:attribute name="page-size" type="xs:integer" default="10"/>
|
|
<xs:attribute name="vertical" type="bool" default="true"/>
|
|
<xs:attribute name="link" type="xs:token"/>
|
|
<xs:attribute name="style" type="scrollStyle" default="led"/>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="ledGroup">
|
|
<xs:sequence>
|
|
<xs:element maxOccurs="unbounded" name="led" type="led"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attributeGroup ref="frame"/>
|
|
<xs:attribute name="fromlist" default="none" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="stack">
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="field" type="field"/>
|
|
<xs:element name="text" type="message"/>
|
|
<xs:element name="pict" type="pict"/>
|
|
<xs:element name="button" type="button"/>
|
|
<xs:element name="led" type="led"/>
|
|
<xs:element name="line" type="line"/>
|
|
<xs:element name="group" type="ledGroup"/>
|
|
<xs:element name="slider" type="slider"/>
|
|
<xs:element name="page">
|
|
<xs:complexType>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="field" type="field"/>
|
|
<xs:element name="text" type="message"/>
|
|
<xs:element name="pict" type="pict"/>
|
|
<xs:element name="button" type="button"/>
|
|
<xs:element name="led" type="led"/>
|
|
<xs:element name="group" type="ledGroup"/>
|
|
<xs:element name="slider" type="slider"/>
|
|
</xs:choice>
|
|
<xs:attribute name="span" type="xs:integer"/>
|
|
<xs:attribute name="default" type="bool"/>
|
|
<xs:attribute name="template" type="xs:token"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attributeGroup ref="frame"/>
|
|
<xs:attribute name="pages" type="xs:integer"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="tilemap">
|
|
<xs:choice minOccurs="1" maxOccurs="unbounded">
|
|
<xs:element name="field" type="field"/>
|
|
<xs:element name="text" type="message"/>
|
|
<xs:element name="pict" type="pict"/>
|
|
<xs:element name="button" type="button"/>
|
|
<xs:element name="led" type="led"/>
|
|
<xs:element name="line" type="line"/>
|
|
<xs:element name="group" type="ledGroup"/>
|
|
<xs:element name="mapgroup" type="ledGroup"/>
|
|
<xs:element name="slider" type="slider"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attributeGroup ref="frame"/>
|
|
<xs:attribute name="rows" use="required" type="xs:integer"/>
|
|
<xs:attribute name="cols" use="required" type="xs:integer"/>
|
|
<xs:attribute name="cellspacing" type="xs:integer"/>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="scrollPane">
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="field" type="field"/>
|
|
<xs:element name="text" type="message"/>
|
|
<xs:element name="pict" type="pict"/>
|
|
<xs:element name="button" type="button"/>
|
|
<xs:element name="led" type="led"/>
|
|
<xs:element name="line" type="line"/>
|
|
<xs:element name="group" type="ledGroup"/>
|
|
<xs:element name="slider" type="slider"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attributeGroup ref="frame"/>
|
|
<xs:attribute name="style" type="scrollStyle" default="led"/>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
</xs:complexType>
|
|
<xs:element name="dialog">
|
|
<xs:complexType>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="field" type="field"/>
|
|
<xs:element name="text" type="message"/>
|
|
<xs:element name="pict" type="pict"/>
|
|
<xs:element name="button" type="button"/>
|
|
<xs:element name="led" type="led"/>
|
|
<xs:element name="line" type="line"/>
|
|
<xs:element name="group" type="ledGroup"/>
|
|
<xs:element name="slider" type="slider"/>
|
|
<xs:element name="stack" type="stack">
|
|
<xs:unique name="pageName">
|
|
<xs:selector xpath="page"/>
|
|
<xs:field xpath="@template"/>
|
|
</xs:unique>
|
|
<xs:unique name="onlyOneDefault">
|
|
<xs:selector xpath="page"/>
|
|
<xs:field xpath="@default"/>
|
|
</xs:unique>
|
|
</xs:element>
|
|
<xs:element name="tilemap" type="tilemap"/>
|
|
<xs:element name="pane" type="scrollPane"/>
|
|
</xs:choice>
|
|
<xs:attribute name="skin" default="dark">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="light"/>
|
|
<xs:enumeration value="dark"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="debug" default="false" type="bool"/>
|
|
<xs:attribute name="fore" default="black"/>
|
|
<xs:attribute name="defbtn" type="xs:token"/>
|
|
</xs:complexType>
|
|
<xs:unique name="FieldTabOrder">
|
|
<xs:selector xpath="*" />
|
|
<xs:field xpath="@tab-order" />
|
|
</xs:unique>
|
|
<xs:unique name='uniqueID'>
|
|
<xs:selector xpath='*'/>
|
|
<xs:field xpath='@name'/>
|
|
</xs:unique>
|
|
<xs:keyref name="defaultButton" refer="uniqueID">
|
|
<xs:selector xpath="."/>
|
|
<xs:field xpath="@defbtn"/>
|
|
</xs:keyref>
|
|
<xs:keyref name="sliderLink" refer="uniqueID">
|
|
<xs:selector xpath="slider"/>
|
|
<xs:field xpath="@link"/>
|
|
</xs:keyref>
|
|
<xs:keyref name="anchorLink" refer="uniqueID">
|
|
<xs:selector xpath="."/>
|
|
<xs:field xpath="@anchor"/>
|
|
</xs:keyref>
|
|
<xs:keyref name="keyRef" refer="uniqueID">
|
|
<xs:selector xpath="key"/>
|
|
<xs:field xpath="@ref"/>
|
|
</xs:keyref>
|
|
</xs:element>
|
|
</xs:schema>
|