XML Schemas
Rather than actual schemas, here are some simple examples of how XML data should be formatted.
Images & Animations
Filename: textures.xml, Root element: <textures>
- texture alpha - whether the image contains an alpha channel
- framesize - the size of each frame in an animation
- sheetsize - the dimensions of the sheet, in frames
- animation id - the unique identifier of the animation
- animation framecount - the number of frames in the animation
- animation interval - the wait between frames, in milliseconds
- animation looptype - mapped to the LoopT enum. 0: don't repeat, 1: repeat, 2: replay backwards
Tilesets
Filename: tilesets.xml, Root element: <tilesets>
Levels
Each level is contained in its own XML file, the name of which should be level plus the id of the level (e.g. level0.xml). The root tag of a level file is <level>, which should contain attributes representing the width and height of the level, measured in subrooms. Each subroom is contained in a <subroom> tag, with attributes for the id and scrolltype of the subroom. Tile data for each subroom is stored sequentially as a string, with ints for each tile value, separated by semicolons, and each row ended with a $.