1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 04:24:43 +00:00
oot/tools/ZAPD/docs/zapd_xml_spec.md
louist103 750c0cab35
Update ZAPD (#1001)
* remove fake match

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "3e9ed72e2"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "3e9ed72e2"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* new extraction script and a hack to make clear tag work

* fix clear tag again

* remove static from clear tag DLists

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "e7a8a48cf"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "e7a8a48cf"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "e243634e5"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "e243634e5"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* git subrepo pull --force tools/ZAPD

subrepo:
  subdir:   "tools/ZAPD"
  merged:   "d0cd6b397"
upstream:
  origin:   "https://github.com/zeldaret/ZAPD.git"
  branch:   "master"
  commit:   "d0cd6b397"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo.git"
  commit:   "2f68596"

* Update ovl_En_Clear_Tag.xml
2021-10-17 13:32:09 +02:00

1.4 KiB

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

<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>