diff options
Diffstat (limited to 'level.dtd')
-rw-r--r-- | level.dtd | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/level.dtd b/level.dtd new file mode 100644 index 0000000..d04db1f --- /dev/null +++ b/level.dtd @@ -0,0 +1,62 @@ +<!ELEMENT level (info, rooms, gates, textures)> + +<!ELEMENT info (name, desc, start)> +<!ELEMENT rooms (room)*> +<!ELEMENT gates (gate)*> +<!ELEMENT textures (texture)*> + +<!ELEMENT name (#PCDATA)> +<!ELEMENT desc (#PCDATA)> +<!ELEMENT start EMPTY> +<!ATTLIST start + x CDATA #REQUIRED + y CDATA #REQUIRED + z CDATA #REQUIRED +> + +<!ELEMENT room (triangle)*> +<!ATTLIST room + id ID #REQUIRED +> + +<!ELEMENT gate (triangle)*> +<!ATTLIST gate + id ID #REQUIRED + room1 IDREF #REQUIRED + room2 IDREF #REQUIRED +> + +<!ELEMENT triangle (vertex, normal?, texcoords?, vertex, normal?, texcoords?, vertex, normal?, texcoords?)> +<!ATTLIST triangle + visible (true|false) "true" + texture IDREF #IMPLIED +> + +<!ELEMENT texture EMPTY> +<!ATTLIST texture + id ID #REQUIRED + name CDATA #REQUIRED +> + +<!ELEMENT vertex EMPTY> +<!ATTLIST vertex + x CDATA #REQUIRED + y CDATA #REQUIRED + z CDATA #REQUIRED +> + +<!ELEMENT normal EMPTY> +<!ATTLIST normal + x CDATA #REQUIRED + y CDATA #REQUIRED + z CDATA #REQUIRED +> + +<!ELEMENT texcoords EMPTY> +<!ATTLIST texcoords + s CDATA #REQUIRED + t CDATA #IMPLIED + r CDATA #IMPLIED + q CDATA #IMPLIED +> + |