summaryrefslogtreecommitdiffstats
path: root/levels/level.dtd
blob: 8ef06046ddbe989b25bbf365365f63456a640344 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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
>