1<!-- 2 3This is an XML document type definition (DTD) for the Marathon MML document 4format. Written by Loren Petrich, updated by Christian Bauer. 5 6--> 7 8<!--==== Entities ====--> 9 10<!ENTITY % index_attr "index CDATA #REQUIRED"> 11 12<!--==== The root element "mnarathon" ====--> 13 14<!ELEMENT marathon 15 ( stringset | 16 interface | 17 motion_sensor | 18 overhead_map | 19 infravision | 20 player_name | 21 dynamic_limits | 22 weapons | 23 items | 24 liquids | 25 platforms | 26 control_panels | 27 opengl | 28 cheats 29 )+ 30> 31 32<!--==== Other elements ====--> 33 34<!ELEMENT stringset (string)*> 35<!ATTLIST stringset %index_attr;> 36 37<!ELEMENT string (#PCDATA)> 38<!ATTLIST string %index_attr;> 39 40<!ELEMENT interface (rect|color|font|weapon)+> 41 42<!ELEMENT rect EMPTY> 43<!ATTLIST rect 44 %index_attr; 45 top CDATA #REQUIRED 46 left CDATA #REQUIRED 47 bottom CDATA #REQUIRED 48 right CDATA #REQUIRED 49> 50 51<!ELEMENT color EMPTY> 52<!ATTLIST color 53 %index_attr; 54 red CDATA #REQUIRED 55 green CDATA #REQUIRED 56 blue CDATA #REQUIRED 57> 58 59<!ELEMENT font EMPTY> 60<!ATTLIST font 61 %index_attr; 62 name CDATA #IMPLIED 63 size CDATA #IMPLIED 64 style CDATA #IMPLIED 65 file CDATA #IMPLIED 66> 67 68<!ELEMENT weapon (ammo)*> 69<!ATTLIST weapon 70 %index_attr; 71 shape CDATA #IMPLIED 72 start_y CDATA #IMPLIED 73 end_y CDATA #IMPLIED 74 start_x CDATA #IMPLIED 75 end_x CDATA #IMPLIED 76 top CDATA #IMPLIED 77 left CDATA #IMPLIED 78 multiple CDATA #IMPLIED 79> 80 81<!ELEMENT ammo EMPTY> 82<!ATTLIST ammo 83 %index_attr; 84 type CDATA #IMPLIED 85 left CDATA #IMPLIED 86 top CDATA #IMPLIED 87 across CDATA #IMPLIED 88 down CDATA #IMPLIED 89 delta_x CDATA #IMPLIED 90 delta_y CDATA #IMPLIED 91 bullet_shape CDATA #IMPLIED 92 empty_shape CDATA #IMPLIED 93 right_to_left CDATA #IMPLIED 94> 95 96<!ELEMENT motion_sensor (ms_assign)+> 97 98<!ELEMENT ms_assign EMPTY> 99<!ATTLIST ms_assign 100 monster CDATA #REQUIRED 101 type CDATA #REQUIRED 102> 103 104<!-- FIXME: "items" already used in "marathon" 105<!ELEMENT overhead_map (assign_live|assign_dead|aliens|items|projectiles|paths|line|color|font)*> 106--> 107<!ELEMENT overhead_map (assign_live|assign_dead|aliens|projectiles|paths|line|color|font)*> 108<!ATTLIST overhead_map 109 mode CDATA #IMPLIED 110 title_offset CDATA #IMPLIED 111> 112 113<!ELEMENT assign_live EMPTY> 114<!ATTLIST assign_live 115 monster CDATA #REQUIRED 116 type CDATA #REQUIRED 117> 118 119<!ELEMENT assign_dead EMPTY> 120<!ATTLIST assign_dead 121 coll CDATA #REQUIRED 122 type CDATA #REQUIRED 123> 124 125<!ELEMENT aliens EMPTY> 126<!ATTLIST aliens 127 on CDATA #REQUIRED 128> 129 130<!-- FIXME: "items" already used in "marathon" 131<!ELEMENT items EMPTY> 132<!ATTLIST items 133 on CDATA #REQUIRED 134> 135--> 136 137<!ELEMENT projectiles EMPTY> 138<!ATTLIST projectiles 139 on CDATA #REQUIRED 140> 141 142<!ELEMENT paths EMPTY> 143<!ATTLIST paths 144 on CDATA #REQUIRED 145> 146 147<!ELEMENT line EMPTY> 148<!ATTLIST line 149 type CDATA #REQUIRED 150 scale CDATA #REQUIRED 151 width CDATA #REQUIRED 152> 153 154<!ELEMENT infravision (iv_assign|color)+> 155 156<!ELEMENT iv_assign EMPTY> 157<!ATTLIST iv_assign 158 coll CDATA #REQUIRED 159 color CDATA #REQUIRED 160> 161 162<!ELEMENT player_name (#PCDATA)> 163 164<!-- FIXME: "paths" and "projectiles" already used in "overhead_map" 165<!ELEMENT dynamic_limits (objects|monsters|paths|projectiles|effects|rendered|local_collision|global_collision)+> 166--> 167<!ELEMENT dynamic_limits (objects|monsters|effects|rendered|local_collision|global_collision)+> 168 169<!ELEMENT objects EMPTY> 170<!ATTLIST objects 171 value CDATA #REQUIRED 172> 173 174<!ELEMENT monsters EMPTY> 175<!ATTLIST monsters 176 value CDATA #REQUIRED 177> 178 179<!-- FIXME: "paths" and "projectiles" already used in overhead_map 180<!ELEMENT paths EMPTY> 181<!ATTLIST paths 182 value CDATA #REQUIRED 183> 184 185<!ELEMENT projectiles EMPTY> 186<!ATTLIST projectiles 187 value CDATA #REQUIRED 188> 189--> 190 191<!ELEMENT effects EMPTY> 192<!ATTLIST effects 193 value CDATA #REQUIRED 194> 195 196<!ELEMENT rendered EMPTY> 197<!ATTLIST rendered 198 value CDATA #REQUIRED 199> 200 201<!ELEMENT local_collision EMPTY> 202<!ATTLIST local_collision 203 value CDATA #REQUIRED 204> 205 206<!ELEMENT global_collision EMPTY> 207<!ATTLIST global_collision 208 value CDATA #REQUIRED 209> 210 211<!ELEMENT weapons (shell_casings|order)+> 212 213<!ELEMENT shell_casings EMPTY> 214<!ATTLIST shell_casings 215 %index_attr; 216 coll CDATA #IMPLIED 217 seq CDATA #IMPLIED 218 x0 CDATA #IMPLIED 219 y0 CDATA #IMPLIED 220 vx0 CDATA #IMPLIED 221 vy0 CDATA #IMPLIED 222 dvx CDATA #IMPLIED 223 dvy CDATA #IMPLIED 224> 225 226<!ELEMENT order EMPTY> 227<!ATTLIST order 228 %index_attr; 229 weapon CDATA #REQUIRED 230> 231 232<!ELEMENT items (item)+> 233 234<!ELEMENT item (shape?)> 235<!ATTLIST item 236 %index_attr; 237 singular CDATA #IMPLIED 238 plural CDATA #IMPLIED 239 maximum CDATA #IMPLIED 240 invalid CDATA #IMPLIED 241 type CDATA #IMPLIED 242> 243 244<!ELEMENT shape EMPTY> 245<!ATTLIST shape 246 coll CDATA #IMPLIED 247 clut CDATA #IMPLIED 248 seq CDATA #IMPLIED 249 frame CDATA #IMPLIED 250> 251 252<!ELEMENT liquids (liquid)+> 253 254<!ELEMENT liquid (sound|effect|damage)*> 255<!ATTLIST liquid 256 %index_attr; 257 coll CDATA #IMPLIED 258 frame CDATA #IMPLIED 259 transfer CDATA #IMPLIED 260 damage_freq CDATA #IMPLIED 261 submerged CDATA #IMPLIED 262> 263 264<!ELEMENT sound EMPTY> 265<!ATTLIST sound 266 type CDATA #REQUIRED 267 which CDATA #REQUIRED 268> 269 270<!ELEMENT effect EMPTY> 271<!ATTLIST effect 272 type CDATA #REQUIRED 273 which CDATA #REQUIRED 274> 275 276<!ELEMENT damage EMPTY> 277<!ATTLIST damage 278 type CDATA #IMPLIED 279 flags CDATA #IMPLIED 280 base CDATA #IMPLIED 281 random CDATA #IMPLIED 282 scale CDATA #IMPLIED 283> 284 285<!ELEMENT platforms (platform)+> 286 287<!ELEMENT platform (damage?)> 288<!ATTLIST platform 289 %index_attr; 290 start_extend CDATA #IMPLIED 291 start_contract CDATA #IMPLIED 292 stop_extend CDATA #IMPLIED 293 stop_contract CDATA #IMPLIED 294 obstructed CDATA #IMPLIED 295 uncontrollable CDATA #IMPLIED 296 moving CDATA #IMPLIED 297 item CDATA #IMPLIED 298> 299 300<!ELEMENT control_panels (panel)+> 301 302<!ELEMENT panel (sound?)> 303<!ATTLIST panel 304 %index_attr; 305 type CDATA #IMPLIED 306 coll CDATA #IMPLIED 307 active_frame CDATA #IMPLIED 308 inactive_frame CDATA #IMPLIED 309 pitch CDATA #IMPLIED 310 item CDATA #IMPLIED 311> 312 313<!ELEMENT opengl (texture|txtr_clear|model|model_clear|fog)+> 314 315<!ELEMENT texture EMPTY> 316<!ATTLIST texture 317 coll CDATA #REQUIRED 318 clut CDATA #IMPLIED 319 bitmap CDATA #REQUIRED 320 opac_type CDATA #IMPLIED 321 opac_scale CDATA #IMPLIED 322 opac_shift CDATA #IMPLIED 323 void_visible CDATA #IMPLIED 324 normal_image CDATA #IMPLIED 325 normal_mask CDATA #IMPLIED 326 glow_image CDATA #IMPLIED 327 glow_mask CDATA #IMPLIED 328 normal_blend CDATA #IMPLIED 329 glow_blend CDATA #IMPLIED 330 image_scale CDATA #IMPLIED 331 x_offset CDATA #IMPLIED 332 y_offset CDATA #IMPLIED 333> 334 335<!ELEMENT txtr_clear EMPTY> 336<!ATTLIST txtr_clear 337 coll CDATA #IMPLIED 338> 339 340<!ELEMENT model (skin)> 341<!ATTLIST model 342 coll CDATA #REQUIRED 343 seq CDATA #REQUIRED 344 scale CDATA #IMPLIED 345 x_rot CDATA #IMPLIED 346 y_rot CDATA #IMPLIED 347 z_rot CDATA #IMPLIED 348 x_shift CDATA #IMPLIED 349 y_shift CDATA #IMPLIED 350 z_shift CDATA #IMPLIED 351 side CDATA #IMPLIED 352 norm_type CDATA #IMPLIED 353 norm_split CDATA #IMPLIED 354 light_type CDATA #IMPLIED 355 depth_type CDATA #IMPLIED 356 file CDATA #IMPLIED 357 type CDATA #IMPLIED 358> 359 360<!ELEMENT skin EMPTY> 361<!ATTLIST skin 362 clut CDATA #IMPLIED 363 opac_type CDATA #IMPLIED 364 opac_scale CDATA #IMPLIED 365 opac_shift CDATA #IMPLIED 366 normal_image CDATA #IMPLIED 367 normal_mask CDATA #IMPLIED 368 glow_image CDATA #IMPLIED 369 glow_mask CDATA #IMPLIED 370 normal_blend CDATA #IMPLIED 371 glow_blend CDATA #IMPLIED 372> 373 374<!ELEMENT model_clear EMPTY> 375<!ATTLIST model_clear 376 coll CDATA #IMPLIED 377> 378 379<!ELEMENT fog (color)> 380<!ATTLIST fog 381 on CDATA #IMPLIED 382 depth CDATA #IMPLIED 383 type CDATA #IMPLIED 384> 385 386<!ELEMENT cheats EMPTY> 387<!ATTLIST cheats 388 on CDATA #IMPLIED 389 max_keymod CDATA #IMPLIED 390> 391