home *** CD-ROM | disk | FTP | other *** search
/ 1,001 Nights of Doom / 1001NightsOfDoom1995wickedSensations.iso / newstuff / udspec01.zip / UDSPECS.TXT
Text File  |  1995-01-08  |  6KB  |  132 lines

  1. Unofficial Descent Specs v0.1 by Matt Ayres
  2.  
  3. Ok, well, just for those who want to know early, here are a FEW, very rough
  4. specs for Descent.  Do what you like with them.  If you add to them, or have 
  5. anything to add to them, please email me your findings.  There's probably
  6. some wrong information here too.  You might possibly be laughing at it too.
  7. Well that's why I'm distributing it, I WANT feedback (mainly specs tho!)
  8. I'm sure Parallax will probably distribute their specs sometime soon, but
  9. oh well...  I have a feeling they're not going to release they editor (and
  10. I can understand why), so I definately plan on writing a complete editor.
  11. I've already started a working viewer.  Mainly we're all awaiting the release
  12. of the registered version (and hopefully official specs).  Much thanks to: 
  13. Greg Lewis (gregl@umich.com) and Mike Leach.
  14.  
  15.    -Matt Ayres
  16.     ayres@cdrom.com
  17.  
  18.  
  19. =============================================================================
  20.  Descent uses has a set of vertices, each vertex has a X, Y, and Z value,
  21.  supposedly a long int.  People are arguing that it's only a short int.  I
  22.  thought so at first too, but I found only long ints work if you try to plot
  23.  the level (however, you must divide by 1024 to have reasonable values).
  24.  
  25.  Descent is broken up into cubes (not always perfect cubes of course).  Cubes
  26.  (referenced as sectors also) have 6 sides (referenced as panels also), and 
  27.  8 vertices.  Each sector points to 8 vertices from the table of vertices.
  28.  It then has 28 bytes of information for each of its panels.  Not every side
  29.  of a sector has to have a panel (side) defined for it.
  30.  
  31. file: DESCENT.HOG
  32.  
  33. 12DCF9: level01.sdl
  34. 12DCED: ints, long ints, info here?
  35. 12DD13: E2 03 00 00, long int, number of vertices in level01 (994)
  36. 12DD1B: beginning of vertices, 994*3 long ints, (X, Y, Z cords)
  37. 130BB3: beginning of sectors (cubes)
  38.  
  39. 130BB0: 00 5A 00 FF FF FF FF FF FF FF FF 01 00 C8 00 00 00
  40.                  ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^ ^^^^^
  41.                  begin first sector        ?     ?   1st vertex
  42.  
  43. 130BC1: 01 00 02 00 03 00 04 00 05 00 06 00 07 00
  44.         ^^^^^ ^^^^^ ^^^^^ ^^^^^ ^^^^^ ^^^^^ ^^^^^
  45.         2nd   3rd   4th   5th   6th   7th   8th
  46.  
  47. 130BD1: 00 FF 00 00 3F 40 FF FF FF FF FF 01 00 00 00 00 00
  48.         ^^^^^ ^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^ ^^^
  49.         EOV     ?     ?   unknown           beginning of info for 1st panel
  50.         
  51. EOV = End of vertices, every sectors set of vertices end with 00 FF
  52.  
  53. notes: beginning of each sector tends to begin with FF FF FF FF FF FF FF FF
  54.        or xx xx FF FF xx xx FF FF or similiar.  before the panel information
  55.        there always seems to be 5 or 6 FF's in a row.  each panel is 28
  56.        bytes, and there is currently no known way to determine how many
  57.        panels each sector has.  blank panels are clear and you can move
  58.        through them.  sectors have from 1 to 6 panels (?)
  59.  
  60. panel structure:
  61.  
  62. each panel consists of 28 bytes, the first 4 determine it's color and
  63. texture.  the other 24 are broken into 4 blocks of 6 bytes.  each block
  64. of 6 bytes seems to effect a different corner (vertex) of the panel.
  65. modifying the first panel of the first sector (wall to the left of you
  66. when you begin level01), the 1st block of 6 bytes changes the top-right of
  67. that panel.  the 2nd block modifies the bottom-right, and so on, clockwise.
  68.  
  69. offset   effect               color/texture notes:
  70. -------------------             the color and textures entries seem
  71. 00       color (int)            confusing.  If you pick a combination
  72. 01       ^^                     that doesn't work, Descent either aborts,
  73. 02       texture (int)          or draws a red X on pure blue.
  74. 03       ^^                     
  75. -------------------
  76. 04       weird!
  77. 05       n?                   known colors:
  78. 06       n?                     00 grey, 01 dark grey
  79. 07       weird!                 0A red, 0B blue
  80. 08       weird!
  81. 09       light                light notes:
  82. -------------------             light comes from the vertices of the 
  83. 10       n?                     panel.  the 4 light sources (offsets 9, 15,
  84. 11       weird!                 21, and 27) go clock-wise around the panel
  85. 12       n?                     possibly an integer?
  86. 13       weird!   
  87. 14       n?                   weird notes:
  88. 15       light                  changing the values at these offsets does
  89. -------------------             strange things.  it looks like it controls
  90. 16       n?                     how the texture is pasted to that panel,
  91. 17       weird!                 based on the panels around it... ??
  92. 18       n?                     they look like they might be integers too.
  93. 19       weird!
  94. 20       n?                   n? (nothing) notes:
  95. 21       light                  changing these seems to do nothing, quite
  96. -------------------             possibly settings and attributes that have
  97. 22       n?                     no apparent effect, yet...  they might
  98. 23       weird!                 also sometimes be the lesser significant
  99. 24       n?                     byte of an integer, and changing it just
  100. 25       weird!                 doesn't do enough to be noticable... ??
  101. 26       n?                     
  102. 27       light
  103. -------------------
  104.  
  105.  
  106. file: DESCENT.PIG
  107.  
  108. long int: num of entries in graphics directory
  109. long int: num of sounds in sound directory
  110.  
  111. graphics dir (17 bytes per entry)
  112.   8 bytes: name
  113.   1 byte: ??
  114.   1 byte: x size?
  115.   1 byte: y size?
  116.   2 bytes: ??
  117.   long int: offset of graphic
  118.             (from end of directory info?)
  119.  
  120. sound dir (20 bytes per entry)
  121.   8 bytes: name
  122.   8 bytes: ??
  123.   long int: offset of sound
  124.             (from end of directory info?)
  125.  
  126. graphics (referenced from graphics dir)
  127. sounds (referenced from sounds dir)
  128.  
  129. format of graphics and sounds are unknown and unexplored...?
  130.  
  131.  
  132.