summaryrefslogtreecommitdiffstats
path: root/levels/level.dtd
diff options
context:
space:
mode:
Diffstat (limited to 'levels/level.dtd')
-rw-r--r--levels/level.dtd42
1 files changed, 42 insertions, 0 deletions
diff --git a/levels/level.dtd b/levels/level.dtd
new file mode 100644
index 0000000..29397bc
--- /dev/null
+++ b/levels/level.dtd
@@ -0,0 +1,42 @@
+<!ELEMENT level (info, triangles, textures)>
+
+<!ELEMENT info (name, desc, start)>
+<!ELEMENT triangles (triangle)*>
+<!ELEMENT textures (texture)*>
+
+<!ELEMENT name (#PCDATA)>
+<!ELEMENT desc (#PCDATA)>
+<!ELEMENT start EMPTY>
+<!ATTLIST start
+ x CDATA #REQUIRED
+ y CDATA #REQUIRED
+ z CDATA #REQUIRED
+>
+
+<!ELEMENT triangle (vertex, texcoords?, vertex, texcoords?, vertex, texcoords?)>
+<!ATTLIST triangle
+ type (wall|floor) #REQUIRED
+ 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 texcoords EMPTY>
+<!ATTLIST texcoords
+ s CDATA "0.0"
+ t CDATA "0.0"
+ r CDATA "0.0"
+ q CDATA "0.0"
+>
+