Add an SDF picker for selecting a stuff done flag and optionally giving it a name.

In effect, this is a combination of two of the previous pickers:
the location picker, and the editable string picker.

This required quite a significant rework of how the tilemap places its children.

Currently it's only used in special node editing.
I plan to add its use in many other places too though.
This commit is contained in:
2025-03-02 00:38:58 -05:00
committed by Celtic Minstrel
parent 413b274b61
commit 3d48cb14e7
27 changed files with 504 additions and 62 deletions

View File

@@ -307,6 +307,7 @@
<xs:element name="button" type="button"/>
<xs:element name="led" type="led"/>
<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"/>

View File

@@ -314,6 +314,7 @@ attribute specifies which sound it applies to.
* `<event>` - (max unbounded) Gives a name to a major event flag. These names are shown (and editable) when showing the Pick Event dialog in various places. The required `id` attribute specifies which event.
* `<item-class>` - (max unbounded) Gives a name to an item special class. These names are shown (and editable) when showing the Pick Item Class dialog in various places. The required `id` attribute specifies which class.
* `<item-typeflag>` - (max unbounded) Gives a name to an item type flag. These names are shown (and editable) when showing the Pick Item Type Flag dialog in the item editor. The required `id` attribute specifies which flag.
* `<sdf>` - (max unbounded) Gives a name to a Stuff Done Flag. These names are shown (and editable) when showing the Pick Stuff Done Flag dialog in the item editor. The required `row` and `col` attributes specify which flag.
Terrain Types
-------------

View File

@@ -391,6 +391,28 @@
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="sdf" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="row" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:maxExclusive value="350"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="row" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:maxExclusive value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="scenario">