summaryrefslogtreecommitdiffstats
path: root/levels
diff options
context:
space:
mode:
Diffstat (limited to 'levels')
-rw-r--r--levels/level.dtd13
-rw-r--r--levels/level.lvlbin825 -> 0 bytes
-rw-r--r--levels/level.xml392
3 files changed, 403 insertions, 2 deletions
diff --git a/levels/level.dtd b/levels/level.dtd
index 6b757f9..8ef0604 100644
--- a/levels/level.dtd
+++ b/levels/level.dtd
@@ -1,7 +1,8 @@
-<!ELEMENT level (info, rooms, textures)>
+<!ELEMENT level (info, rooms, gates, textures)>
<!ELEMENT info (name, desc, start)>
<!ELEMENT rooms (room)*>
+<!ELEMENT gates (gate)*>
<!ELEMENT textures (texture)*>
<!ELEMENT name (#PCDATA)>
@@ -14,10 +15,18 @@
>
<!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
- type (wall|floor) #IMPLIED
visible (true|false) "true"
texture IDREF #IMPLIED
>
diff --git a/levels/level.lvl b/levels/level.lvl
deleted file mode 100644
index b6c00da..0000000
--- a/levels/level.lvl
+++ /dev/null
Binary files differ
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>