mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-21 13:53:49 -07:00
git subrepo clone https://github.com/HarbourMasters/ZAPDTR.git
subrepo: subdir: "ZAPDTR" merged: "a53a53ea4" upstream: origin: "https://github.com/HarbourMasters/ZAPDTR.git" branch: "master" commit: "a53a53ea4" git-subrepo: version: "0.4.1" origin: "???" commit: "???"
This commit is contained in:
parent
f52a2a6406
commit
5dda5762ba
217 changed files with 47152 additions and 0 deletions
55
ZAPDTR/docs/zapd_xml_spec.md
Normal file
55
ZAPDTR/docs/zapd_xml_spec.md
Normal file
|
@ -0,0 +1,55 @@
|
|||
# ZAPD XML specification
|
||||
|
||||
ZAPD XMLs use a restrictive subset of the XML standard: any ZAPD XML must be a valid XML (All elements starting with `<tag>` ending appropriately with `</tag>`, single "empty-element" tags with `/` at the end, etc.).
|
||||
|
||||
Reminder that in
|
||||
|
||||
```xml
|
||||
<a>
|
||||
<b1>
|
||||
<c/>
|
||||
</b1>
|
||||
<b2>
|
||||
<d/>
|
||||
</b2>
|
||||
<e/>
|
||||
</a>
|
||||
```
|
||||
|
||||
`<b1>`, `<b2>`, `<e/>` are *children* of `<a>`, but `<c/>` is not. `<c/>` is a *descendent* of `<a>` and a child of `<b>`.
|
||||
|
||||
- Every XML's outermost element start/end tag is a single `<Root>`.
|
||||
- The children of a `<Root>` must be `<File>`s.
|
||||
- A `<File>` has *resources* as children. A resource is almost always single empty-element tag, and has one of the types
|
||||
- `<Texture>`
|
||||
- `<Background>`
|
||||
- `<Blob>`
|
||||
- `<DList>`
|
||||
- `<TextureAnimation>`
|
||||
- `<Scene>`
|
||||
- `<Room>`
|
||||
- `<AltHeader>`
|
||||
- `<Animation>`
|
||||
- `<PlayerAnimation>`
|
||||
- `<CurveAnimation>`
|
||||
- `<LegacyAnimation>`
|
||||
- `<Skeleton>`
|
||||
- `<LimbTable>`
|
||||
- `<Limb>`
|
||||
- `<Symbol>`
|
||||
- `<Collision>`
|
||||
- `<Scalar>`
|
||||
- `<Vector>`
|
||||
- `<Vtx>`
|
||||
- `<Mtx>`
|
||||
- `<Cutscene>`
|
||||
- `<Array>`
|
||||
- `<Path>`
|
||||
- `<PlayerAnimationData>`
|
||||
|
||||
- A `<File>` cannot descend from a `<File>`.
|
||||
- All resources must be children of a `<File>`.
|
||||
- `<Array>` is the only paired resource tag enclosing an element; the element must be a single resource tag, one of
|
||||
- `<Scalar>`
|
||||
- `<Vector>`
|
||||
- `<Vtx>`
|
Loading…
Add table
Add a link
Reference in a new issue