diff options
Diffstat (limited to 'levels')
-rw-r--r-- | levels/level.dtd | 61 | ||||
-rw-r--r-- | levels/level.xml | 392 |
2 files changed, 453 insertions, 0 deletions
diff --git a/levels/level.dtd b/levels/level.dtd new file mode 100644 index 0000000..8ef0604 --- /dev/null +++ b/levels/level.dtd @@ -0,0 +1,61 @@ +<!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 + 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 +> + diff --git a/levels/level.xml b/levels/level.xml new file mode 100644 index 0000000..0cbc92f --- /dev/null +++ b/levels/level.xml @@ -0,0 +1,392 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE level PUBLIC "-//libzoom//DTD level 0.1//EN" "level.dtd"> +<level> + <info> + <name>Test Level</name> + <desc>Just a simple test level.</desc> + <start x="0.0" y="0.0" z="0.0"/> + </info> + <rooms> + <room id="r0"> + <triangle texture="t0"> + <vertex x="-2.0" y="-2.0" z="-6.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="2.0" y="-2.0" z="-6.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="-6.0"/> + <texcoords s="1.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="-2.0" y="-2.0" z="-6.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="-6.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="-2.0" y="2.0" z="-6.0"/> + <texcoords s="0.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="-2.0" y="-2.0" z="2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="-2.0" y="2.0" z="2.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="2.0" y="2.0" z="2.0"/> + <texcoords s="0.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="-2.0" y="-2.0" z="2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="2.0" y="-2.0" z="2.0"/> + <texcoords s="0.0" t="1.0"/> + </triangle> + <triangle texture="t1"> + <vertex x="-2.0" y="2.0" z="-6.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="-6.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="2.0" y="2.0" z="-2.0"/> + <texcoords s="1.0" t="0.0"/> + </triangle> + <triangle texture="t1"> + <vertex x="-2.0" y="2.0" z="-6.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="-2.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="-2.0" y="2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + </triangle> + <triangle texture="t1"> + <vertex x="-2.0" y="2.0" z="-2.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="2.0" y="2.0" z="2.0"/> + <texcoords s="1.0" t="0.0"/> + </triangle> + <triangle texture="t1"> + <vertex x="-2.0" y="2.0" z="-2.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="2.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="-2.0" y="2.0" z="2.0"/> + <texcoords s="1.0" t="1.0"/> + </triangle> + <triangle texture="t2"> + <vertex x="-2.0" y="-2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="2.0" y="-2.0" z="-2.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="2.0" y="-2.0" z="-6.0"/> + <texcoords s="1.0" t="1.0"/> + </triangle> + <triangle texture="t2"> + <vertex x="-2.0" y="-2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="2.0" y="-2.0" z="-6.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="-2.0" y="-2.0" z="-6.0"/> + <texcoords s="1.0" t="0.0"/> + </triangle> + <triangle texture="t2"> + <vertex x="-2.0" y="-2.0" z="2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="2.0" y="-2.0" z="2.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="2.0" y="-2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + </triangle> + <triangle texture="t2"> + <vertex x="-2.0" y="-2.0" z="2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="2.0" y="-2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="-2.0" y="-2.0" z="-2.0"/> + <texcoords s="1.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="-2.0" y="-2.0" z="-6.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="-2.0" y="2.0" z="-6.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="-2.0" y="2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="-2.0" y="-2.0" z="-6.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="-2.0" y="2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="-2.0" y="-2.0" z="-2.0"/> + <texcoords s="0.0" t="1.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="-2.0" y="-2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="-2.0" y="2.0" z="-2.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="-2.0" y="2.0" z="2.0"/> + <texcoords s="0.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="-2.0" y="-2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="-2.0" y="2.0" z="2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="-2.0" y="-2.0" z="2.0"/> + <texcoords s="0.0" t="1.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="2.0" y="-2.0" z="2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="2.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="2.0" y="2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="2.0" y="-2.0" z="2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="2.0" y="-2.0" z="-2.0"/> + <texcoords s="0.0" t="1.0"/> + </triangle> + <triangle texture="t2"> + <vertex x="2.0" y="-2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="6.0" y="-2.0" z="-2.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="6.0" y="-2.0" z="-6.0"/> + <texcoords s="1.0" t="1.0"/> + </triangle> + <triangle texture="t2"> + <vertex x="2.0" y="-2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="6.0" y="-2.0" z="-6.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="2.0" y="-2.0" z="-6.0"/> + <texcoords s="1.0" t="0.0"/> + </triangle> + <triangle texture="t2"> + <vertex x="2.0" y="-2.0" z="-6.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="6.0" y="-2.0" z="-6.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="6.0" y="-2.0" z="-10.0"/> + <texcoords s="1.0" t="1.0"/> + </triangle> + <triangle texture="t2"> + <vertex x="2.0" y="-2.0" z="-6.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="6.0" y="-2.0" z="-10.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="2.0" y="-2.0" z="-10.0"/> + <texcoords s="1.0" t="0.0"/> + </triangle> + <triangle texture="t1"> + <vertex x="2.0" y="2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="-6.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="6.0" y="2.0" z="-6.0"/> + <texcoords s="0.0" t="0.0"/> + </triangle> + <triangle texture="t1"> + <vertex x="2.0" y="2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="6.0" y="2.0" z="-6.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="6.0" y="2.0" z="-2.0"/> + <texcoords s="1.0" t="0.0"/> + </triangle> + <triangle texture="t1"> + <vertex x="2.0" y="2.0" z="-6.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="-10.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="6.0" y="2.0" z="-10.0"/> + <texcoords s="0.0" t="0.0"/> + </triangle> + <triangle texture="t1"> + <vertex x="2.0" y="2.0" z="-6.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="6.0" y="2.0" z="-10.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="6.0" y="2.0" z="-6.0"/> + <texcoords s="1.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="2.0" y="-2.0" z="-10.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="6.0" y="-2.0" z="-10.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="6.0" y="2.0" z="-10.0"/> + <texcoords s="1.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="2.0" y="-2.0" z="-10.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="6.0" y="2.0" z="-10.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="2.0" y="2.0" z="-10.0"/> + <texcoords s="0.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="2.0" y="-2.0" z="-10.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="-10.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="2.0" y="2.0" z="-6.0"/> + <texcoords s="0.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="2.0" y="-2.0" z="-10.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="-6.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="2.0" y="-2.0" z="-6.0"/> + <texcoords s="0.0" t="1.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="6.0" y="-2.0" z="-6.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="6.0" y="2.0" z="-6.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="6.0" y="2.0" z="-10.0"/> + <texcoords s="0.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="6.0" y="-2.0" z="-6.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="6.0" y="2.0" z="-10.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="6.0" y="-2.0" z="-10.0"/> + <texcoords s="0.0" t="1.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="6.0" y="-2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="6.0" y="2.0" z="-2.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="6.0" y="2.0" z="-6.0"/> + <texcoords s="0.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="6.0" y="-2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="6.0" y="2.0" z="-6.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="6.0" y="-2.0" z="-6.0"/> + <texcoords s="0.0" t="1.0"/> + </triangle> + </room> + <room id="r1"> + <triangle texture="t2"> + <vertex x="-2.0" y="-2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="-2.0" y="-2.0" z="2.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="2.0" y="-2.0" z="2.0"/> + <texcoords s="1.0" t="1.0"/> + </triangle> + <triangle texture="t2"> + <vertex x="-2.0" y="-2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="2.0" y="-2.0" z="2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="2.0" y="-2.0" z="-2.0"/> + <texcoords s="1.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="-2.0" y="2.0" z="2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="-2.0" y="-2.0" z="2.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="-2.0" y="-2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="-2.0" y="2.0" z="2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="-2.0" y="-2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="-2.0" y="2.0" z="-2.0"/> + <texcoords s="1.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="-2.0" y="2.0" z="2.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="2.0" y="2.0" z="2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="2.0" y="-2.0" z="2.0"/> + <texcoords s="0.0" t="1.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="-2.0" y="2.0" z="2.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="2.0" y="-2.0" z="2.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="-2.0" y="-2.0" z="2.0"/> + <texcoords s="1.0" t="1.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="2.0" y="-2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="-2.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="-2.0" y="2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="2.0" y="-2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="-2.0" y="2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="-2.0" y="-2.0" z="-2.0"/> + <texcoords s="0.0" t="1.0"/> + </triangle> + <triangle texture="t1"> + <vertex x="-2.0" y="2.0" z="2.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="-2.0" y="2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="-2.0"/> + <texcoords s="0.0" t="1.0"/> + </triangle> + <triangle texture="t1"> + <vertex x="-2.0" y="2.0" z="2.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="2.0" y="2.0" z="-2.0"/> + <texcoords s="0.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="2.0"/> + <texcoords s="0.0" t="0.0"/> + </triangle> + </room> + </rooms> + <gates> + <gate room1="r0" room2="r1"> + <triangle texture="t0"> + <vertex x="2.0" y="-2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="2.0" y="2.0" z="-2.0"/> + <texcoords s="1.0" t="0.0"/> + <vertex x="6.0" y="2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + </triangle> + <triangle texture="t0"> + <vertex x="2.0" y="-2.0" z="-2.0"/> + <texcoords s="1.0" t="1.0"/> + <vertex x="6.0" y="2.0" z="-2.0"/> + <texcoords s="0.0" t="0.0"/> + <vertex x="6.0" y="-2.0" z="-2.0"/> + <texcoords s="0.0" t="1.0"/> + </triangle> + </gate> + </gates> + <textures> + <texture id="t0" name="green.png"/> + <texture id="t1" name="metallic2.png"/> + <texture id="t2" name="light.png"/> + </textures> +</level> |