Open Source Tomb Raider Engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TR5-Format.html 133KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
  2. <!-- ================================================================================ -->
  3. <!-- This HTML file was created by AbiWord. -->
  4. <!-- AbiWord is a free, Open Source word processor. -->
  5. <!-- You may obtain more information about AbiWord at www.abisource.com -->
  6. <!-- ================================================================================ -->
  7. <html>
  8. <head>
  9. <meta http-equiv="content-type" content="text/html; charset=UTF-8" >
  10. <title>/home/mongoose/download/TR5format.html</title>
  11. <style type="text/css">
  12. body
  13. {
  14. font-family: "Times New Roman";
  15. margin-top: 0pt;
  16. font-variant: normal;
  17. margin-left: 0pt;
  18. text-indent: 0in;
  19. widows: 2;
  20. font-style: normal;
  21. font-weight: normal;
  22. text-decoration: none;
  23. color: 000000;
  24. text-align: left;
  25. margin-bottom: 0pt;
  26. margin-right: 0pt;
  27. font-size: 12pt;
  28. font-stretch: normal;
  29. background-color: #ffffff;
  30. }
  31. @media print
  32. {
  33. body
  34. {
  35. padding-top: 1in; padding-bottom: 1in;
  36. padding-left: 1in; padding-right: 1in;
  37. }
  38. }
  39. .Default
  40. {
  41. color: #000000;
  42. font-family: "MS Sans Serif";
  43. font-size: 10pt;
  44. }
  45. </style>
  46. </head>
  47. <body><div>
  48. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'Times New Roman'; font-size: 16.000000pt">TR5 file format</span></p>
  49. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  50. </p>
  51. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 14.000000pt">Note:</span></p>
  52. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; items in </span><span style="text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">blue</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> are described in the TRosettaStone document.</span></p>
  53. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; items in </span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">red</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> are unique/different and are described, if known,</span></p>
  54. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 14.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in this document. </span></p>
  55. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  56. </p>
  57. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">Disclaimer:&nbsp; This document is at a very early stage and all attempts to verify this information have been made.</span></p>
  58. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HOWEVER, I do not guarantee any of the information to be correct. If you find something wrong, or better, if you find something new, please share it.&nbsp;</span></p>
  59. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  60. </p>
  61. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; This document describes a possible file format. It does not contain any algorithims. It does not contain any computer program&nbsp; source code. As such this document and it's contents cannot be copyrighted and cannot be considered a copyright infringement. HOWEVER, I am not a lawyer.</span></p>
  62. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  63. </p>
  64. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thanks,</span></p>
  65. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Roy</span></p>
  66. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  67. </p>
  68. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  69. </p>
  70. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  71. </p>
  72. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">Note: Structures are NOT C++ structures.</span></p>
  73. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Terminology for consistency with TRosettaStone document:&nbsp;</span></p>
  74. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> bit8 char</span></p>
  75. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> bitu8 unsigned char</span></p>
  76. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> bit16 short int</span></p>
  77. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> bitu16 unsigned short int</span></p>
  78. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> bit32 long</span></p>
  79. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> bitu32 unsigned long</span></p>
  80. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p>
  81. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">*********************************************************************</span></p>
  82. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32 Version</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // version "TR4",0 (4 bytes)</span></p>
  83. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu16 NumRoomTextiles</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // number of room texture tiles (2 bytes)</span></p>
  84. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu16 NumObjectTextiles</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // number of object texture tiles (2 bytes)</span></p>
  85. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu16 NumBumpMapTextiles</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // number of bump map texture tiles (2 bytes)</span></p>
  86. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32 Textile32UncompressedSize</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // 32 bit textures uncompressed size</span></p>
  87. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32 Textile32CompressedSize</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // 32 bit textures compressed size </span></p>
  88. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu8</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">&nbsp;</span><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> Textile32[Textile32CompressedSize]</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // data bytes for the 32 bit textures (ZLIB compressed data)</span></p>
  89. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32 Textile16UncompressedSize</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // 16 bit textures uncompressed size </span></p>
  90. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32 Textile16CompressedSize</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // 16 bit textures compressed size </span></p>
  91. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu8 Textile16[Textile16CompressedSize]</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // data bytes for the 16 bit textures (ZLIB compressed data)</span></p>
  92. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32 Textile32MiscUncompressedSize</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // 32 bit misc. (lettering, sky, etc) textures uncompressed size</span></p>
  93. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32 Textile32MiscCompressedSize</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // 32 bit misc.textures compressed size </span></p>
  94. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu8 Textile32Misc[Textile32MiscCompressedSize]</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // data bytes for the 32 bit misc textures (ZLIB compressed data)</span></p>
  95. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">32*bit8 Seperator</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // 32 bytes of 0x00 (Late Note: Michiel has discovered the first 4 bytes here are 2 bitu16 flags</span></p>
  96. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">for Lara type and weather, msg posted on the 'F*cking Pop Ups'&nbsp; board somewhere )</span></p>
  97. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32 LevelDataSize1</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // size of level data (count after LevelDataSize2 bitu32)</span></p>
  98. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32 LevelDataSize2</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; //&nbsp; repeat of above</span></p>
  99. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32 Seperator</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // 4 bytes of 0x00</span></p>
  100. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32 NumRooms</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // number of rooms (maximum 255 rooms (0-254)) (4 bytes)</span></p>
  101. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 room</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> Rooms[NumRooms]; // the actual room data </span></p>
  102. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumFloorData; // number of floor data bitu16's to follow (4 bytes) </span></p>
  103. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu16</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> FloorData[NumFloorData]; // floor data (NumFloorData * 2 bytes) </span></p>
  104. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  105. </p>
  106. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumMeshData; // number of bitu16's of mesh data to follow (=Meshes[]) (4 bytes) </span></p>
  107. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">struct { </span></p>
  108. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr2_vertex</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> Centre; // relative coordinates of mesh centre (6 bytes) </span></p>
  109. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu8</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> Unknown1[4]; // unknown (4 bytes) </span></p>
  110. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bit16</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumVertices; // number of vertices to follow (2 bytes) </span></p>
  111. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr2_vertex</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> Vertices[NumVertices]; // list of vertices (NumVertices * 6 bytes) </span></p>
  112. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bit16</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumNormals; // number of normals to follow (2 bytes) </span></p>
  113. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr2_vertex</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> Normals[NumNormals]; // list of normals (NumNormals * 6 bytes) (becomes Lights if NumNormals &lt; 0; 2 bytes) </span></p>
  114. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bit16</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumTexturedRectangles; // number of textured rectangles to follow (2 bytes) </span></p>
  115. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5_face4</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">TexturedRectangles[NumTexturedRectangles]; // list of textured rectangles (NumTexturedRectangles * 12 bytes) </span></p>
  116. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bit16</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumTexturedTriangles; // number of textured triangles to follow (2 bytes) </span></p>
  117. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5_face3</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">TexturedTriangles[NumTexturedTriangles]; // list of textured triangles (NumTexturedTriangles * 10 bytes) </span></p>
  118. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">} Meshes[NumMeshPointers]; // note that NumMeshPointers comes </span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">AFTER</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> Meshes[] </span></p>
  119. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  120. </p>
  121. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  122. </p>
  123. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumMeshPointers; // number of mesh pointers to follow (4 bytes) </span></p>
  124. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> MeshPointers[NumMeshPointers]; // mesh pointer list (NumMeshPointers * 4 bytes) </span></p>
  125. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumAnimations; // number of animations to follow (4 bytes) </span></p>
  126. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5_animation</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">Animations[NumAnimations]; // animation list (NumAnimations * 40 bytes) </span></p>
  127. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumStateChanges; // number of state changes to follow (4 bytes) </span></p>
  128. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr2_state_change</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> StateChanges[NumStateChanges]; // state-change list (NumStructures * 6 bytes) </span></p>
  129. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumAnimDispatches; // number of animation dispatches to follow (4 bytes) </span></p>
  130. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr2_anim_dispatch</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> AnimDispatches[NumAnimDispatches]; // animation-dispatch list list (NumAnimDispatches * 8 bytes) </span></p>
  131. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumAnimCommands; // number of animation commands to follow (4 bytes) </span></p>
  132. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr2_anim_command</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> AnimCommands[NumAnimCommands]; // animation-command list (NumAnimCommands * 2 bytes) </span></p>
  133. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumMeshTrees; // number of MeshTrees to follow (4 bytes) </span></p>
  134. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr2_meshtree</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> MeshTrees[NumMeshTrees]; // MeshTree list (NumMeshTrees * 4 bytes) </span></p>
  135. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumFrames; // number of words of frame data to follow (4 bytes) </span></p>
  136. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu16</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> Frames[NumFrames]; // frame data (NumFrames * 2 bytes) </span></p>
  137. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumMoveables; // number of moveables to follow (4 bytes) </span></p>
  138. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5_moveable</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">Moveables[NumMoveables]; // moveable list (NumMoveables * 20 bytes) </span></p>
  139. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumStaticMeshes; // number of StaticMesh data records to follow (4 bytes) </span></p>
  140. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr2_staticmesh</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> StaticMeshes[NumStaticMeshes]; // StaticMesh data (NumStaticMesh * 32 bytes) </span></p>
  141. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">4*bitu8</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">&nbsp; </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">SPR; // "SPR" (4 bytes)</span></p>
  142. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumSpriteTextures; // number of sprite textures to follow (4 bytes) </span></p>
  143. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr2_sprite_texture</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> SpriteTextures[NumSpriteTextures]; // sprite texture list (NumSpriteTextures * 16 bytes) </span></p>
  144. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumSpriteSequences; // number of sprite sequences records to follow (4 bytes) </span></p>
  145. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr2_sprite_sequence</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> SpriteSequences[NumSpriteSequences]; // sprite sequence data (NumSpriteSequences * 8 bytes) </span></p>
  146. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumCameras; // number of camera data records to follow (4 bytes) </span></p>
  147. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr2_camera</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> Cameras[NumCameras]; // camera data (NumCameras * 16 bytes) </span></p>
  148. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">NumFlyByCameras; // number of fly by camera data records to follow (4 bytes)</span></p>
  149. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 fly by camera </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">FlyByCameras[NumFlyByCameras];// fly by camera data (NumFlyByCameras * 40 bytes)</span></p>
  150. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumSoundSources; // number of sound source data records to follow (4 bytes) </span></p>
  151. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5_sound_source</span><span style="text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">SoundSources[NumSoundSources]; // sound source data (NumSoundSources * 16 bytes) </span></p>
  152. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumBoxes; // number of box data records to follow (4 bytes) </span></p>
  153. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr2_box</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> Boxes[NumBoxes]; // box data (NumBoxes * 8 bytes) </span></p>
  154. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumOverlaps; // number of overlap records to follow (4 bytes) </span></p>
  155. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu16</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> Overlaps[NumOverlaps]; // overlap data (NumOverlaps * 2 bytes) </span></p>
  156. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">10*bit16</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> Zones[NumBoxes]; // zone data (NumBoxes * 20 bytes) </span></p>
  157. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumAnimatedTextures; // number of animated texture records to follow (4 bytes) </span></p>
  158. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu16</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> AnimatedTextures[NumAnimatedTextures]; // animated texture data (NumAnimatedTextures * 2 bytes) </span></p>
  159. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">5*bitu8</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">TEX; "TEX" (5 bytes)</span></p>
  160. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumObjectTextures; // number of object textures to follow (4 bytes)&nbsp; </span></p>
  161. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5_object_texture</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">ObjectTextures[NumObjectTextures]; // object texture list (NumObjectTextures * 40 bytes) </span></p>
  162. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumItems; // number of items to follow (4 bytes) </span></p>
  163. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr2_item</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> Items[NumItems]; // item list (NumItems * 24 bytes) </span></p>
  164. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumCinematicFrames; // number of cinematic frame records to follow (4 bytes) </span></p>
  165. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5_cinematic_frame</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">CinematicFrames[NumCinematicFrames]; // (NumCinematicFrames * 24 bytes) </span></p>
  166. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu16</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumDemoData; // number of demo data records to follow (2 bytes) </span></p>
  167. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu8</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> DemoData[NumDemoData]; // demo data (NumDemoData bytes) </span></p>
  168. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bit16</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> SoundMap[450]; // sound map (900 bytes) </span></p>
  169. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumSoundDetails; // number of sound-detail records to follow (4 bytes) </span></p>
  170. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr2_sample_info</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> SoundDetails[NumSoundDetails]; // sound-detail list (NumSoundDetails * 8 bytes) </span></p>
  171. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> NumSampleIndices; // number of sample indices to follow (4 bytes) </span></p>
  172. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#0000ff; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> SampleIndices[NumSampleIndices]; // sample indices (NumSampleIndices * 4 bytes) </span></p>
  173. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  174. </p>
  175. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">//////////////////////////////////////////////////////</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">TR5 ROOMS</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">///////////////////////////////////////////////////////////////////////////////////////////</span></p>
  176. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  177. </p>
  178. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">In TR5 the room format was drastically changed. The room itself is made up of 'sections'. These sections</span></p>
  179. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">encompass a 3 block by 3 block grid (actually 3069 pixels by 3069 pixels ). I will refer to these sections as </span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">layers</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">.</span></p>
  180. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">Some 'rooms' do not actually contain visible mesh data. I will refer to these rooms as </span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">null rooms</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">.&nbsp;</span><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span></p>
  181. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  182. </p>
  183. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  184. </p>
  185. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 room</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> structure [ FIRST NUMBER IS OFFSET IN BYTES FROM START OF ROOM STRUCTURE]</span></p>
  186. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">{</span></p>
  187. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">0&nbsp;&nbsp;&nbsp; bitu32 XELA; // "XELA" (4 bytes)</span></p>
  188. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">4&nbsp;&nbsp;&nbsp; bitu32 RoomDataSize; // size of the following data ( use this vice 'walking thru' to get next room) (4 bytes)</span></p>
  189. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">8&nbsp;&nbsp;&nbsp; bitu32 Seperator; // 0xCDCDCDCD (4 bytes)</span></p>
  190. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">12&nbsp; bitu32 EndSDOffset; // usually this number +&nbsp; 216 will give you the offset from the start of the room data to the end</span></p>
  191. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; of the Sector Data. HOWEVER have seen where this bitu32 is equal to -1 so it is better</span></p>
  192. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to use the following bitu32 and + 216 + ((NumXSectors * NumZSectors)*8) if you need</span></p>
  193. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to obtain this information. (4 bytes)</span></p>
  194. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">16&nbsp;&nbsp; bitu32 StartSDOffset; // this number + 216 will give you the offset from the start of the room to the start of the&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sector data. (4 bytes)</span></p>
  195. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">20</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">&nbsp;&nbsp; </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu32 Seperator; // will either be 0x00000000 or 0xCDCDCDCD (4 bytes)</span></p>
  196. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">24&nbsp;&nbsp; bitu32 EndPortalOffset; // this number + 216 will give you the offset from the start of the room to the end of the&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; portal data. (4 bytes)</span></p>
  197. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">28&nbsp;&nbsp; bit32 x; // X position of room ( world coordinates) (4 bytes)</span></p>
  198. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">32&nbsp;&nbsp; bit32 Seperator; // 0x00000000 (4 bytes)</span></p>
  199. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">36&nbsp;&nbsp; bit32 z; // Z position of room (world coordinates) (4 bytes)</span></p>
  200. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">40&nbsp;&nbsp; bit32 yBottom; // lowest point in room (4 bytes)</span></p>
  201. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">44&nbsp;&nbsp; bit32 yTop; // highest point in room (4 bytes)</span></p>
  202. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">48&nbsp;&nbsp; bitu16 NumZSectors; // sector table width (2 bytes)</span></p>
  203. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">50&nbsp;&nbsp; bitu16 NumXSectors; // sector table height (2 bytes)</span></p>
  204. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">52&nbsp;&nbsp; bitu32 RoomColor; // ARGB format (blue is least significant byte) (4 bytes)</span></p>
  205. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">56&nbsp;&nbsp; bitu16 NumRoomLights; // number of lights in this room (2 bytes)</span></p>
  206. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">58&nbsp;&nbsp; bitu16 NumRoomStaticMeshes; // number of static meshes in this room (2 bytes)</span></p>
  207. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">60&nbsp;&nbsp; bitu16 </span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">UnknownR1</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // usually 0x0001 however high byte is sometimes non zero (2 bytes)</span></p>
  208. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">62&nbsp;&nbsp; bitu16 </span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">UnknownR2</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // usually 0x0000 however low byte is sometimes non zero (2 bytes)</span></p>
  209. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">64&nbsp;&nbsp; bitu32 Filler; // always 0x00007FFF (4 bytes)</span></p>
  210. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">68&nbsp;&nbsp; bitu32 Filler2; // always 0x00007FFF (4 bytes)</span></p>
  211. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">72&nbsp;&nbsp; bitu32 Seperator; // 0xCDCDCDCD (4 bytes)</span></p>
  212. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">76&nbsp;&nbsp; bitu32 Seperator; // 0xCDCDCDCD (4 bytes)</span></p>
  213. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">80&nbsp;&nbsp; 6*bitu8 Seperator; // 6 bytes 0xFF </span></p>
  214. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">86&nbsp;&nbsp;</span><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> bitu16 RoomFlag</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // 0x01 = water, 0x20 = wind, others unknown (2 bytes)</span></p>
  215. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">88&nbsp; bitu16 </span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">UnknownR5</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // unknown (2 bytes)</span></p>
  216. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">90&nbsp; 10*bitu8 Seperator; // 10 bytes 0x00</span></p>
  217. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">100 bitu32 Seperator; // 0xCDCDCDCD (4 bytes)</span></p>
  218. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">104 bitu32 </span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">UnknownR6</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // unknown (4 bytes)</span></p>
  219. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">108&nbsp; float RoomX; // X position of room in world coordinates * If&nbsp; null room then this data will be 0xCDCDCDCD (4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bytes)</span></p>
  220. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">112&nbsp; bitu32 Seperator; // 0x00000000 or 0xCDCDCDCD if null room. (4 bytes)</span></p>
  221. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">116&nbsp; float RoomZ; // Z position of room in world coordinates * If null room then will be bitu32 0xCDCDCDCD (4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bytes)</span></p>
  222. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">120&nbsp; bitu32 Seperator; // 0xCDCDCDCD (4 bytes)</span></p>
  223. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">124&nbsp; bitu32 Seperator; // 0xCDCDCDCD (4 bytes)</span></p>
  224. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">128&nbsp; bitu32 Seperator; // 0xCDCDCDCD (4 bytes)</span></p>
  225. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">132&nbsp; bitu32 Seperator; // 0xCDCDCDCD (4 bytes)</span></p>
  226. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">136&nbsp; bitu32 Seperator; // 0x00000000 unless null room then 0xCDCDCDCD (4 bytes)</span></p>
  227. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">140&nbsp; bitu32 Seperator; // 0xCDCDCDCD (4 bytes)</span></p>
  228. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">144&nbsp; bitu32 NumRoomTriangles; // total number of triangles this room (4 bytes)</span></p>
  229. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">148&nbsp; bitu32 NumRoomRectangles; // total number of rectangles this room (4 bytes)</span></p>
  230. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">152&nbsp; bitu32 Seperator; // 0x00000000 (4 bytes) </span></p>
  231. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">156&nbsp; bitu32 LightSize; //&nbsp; size of light data (number of lights * 88) (4 bytes)</span></p>
  232. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">160&nbsp; bitu32 NumRoomLights; // total number of lights this room (4 bytes)</span></p>
  233. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">164&nbsp; bitu32 </span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">UnknownR7</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // unknown, usually equals 0, 1, 2, or 3 (4 bytes)</span></p>
  234. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">168&nbsp; bit32 UnknownR8; // usually equals room yTop. Sometimes a few blocks off. If null room then 0xCDCDCDCD</span></p>
  235. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">172&nbsp; bit32 lyBottom; // equals room yBottom. If null room then 0xCDCDCDCD (4 bytes)</span></p>
  236. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">176&nbsp; bitu32 NumLayers; // number of layers (pieces) this room (4 bytes)</span></p>
  237. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">180&nbsp; bitu32 LayerOffset; // this number + 216 will give you an offset from the start of the room data to the start of the&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; layer data (4 bytes)</span></p>
  238. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">184&nbsp; bitu32 VerticesOffset; // this number + 216 will give you an offset from the start of the room data to the start of the</span></p>
  239. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; verex data (4 bytes)</span></p>
  240. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">188&nbsp; bitu32 PolyOffset; // this number + 216 will give you an offset from the start of the room data to the start of the&nbsp;</span></p>
  241. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rectangle/triangle data (4 bytes)</span></p>
  242. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">192&nbsp; bitu32 PolyOffset2; // same as above ? (4 bytes)</span></p>
  243. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">196&nbsp; bitu32 VerticesSize; // size of vertices data block (4 bytes)</span></p>
  244. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">200&nbsp; bitu32 Seperator; // 0xCDCDCDCD (4 bytes)</span></p>
  245. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">204&nbsp; bitu32 Seperator; // 0xCDCDCDCD (4 bytes)</span></p>
  246. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">208&nbsp; bitu32 Seperator; // 0xCDCDCDCD (4 bytes)</span></p>
  247. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">212&nbsp; bitu32 Seperator; // 0xCDCDCDCD (4 bytes)</span></p>
  248. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">216&nbsp; </span><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 lights[LightSize]</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // data for the lights (88 bytes * NumRoomLights) </span></p>
  249. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">tr2 SectorData[(NumXSectors * NumZSectors) * 8]; // normal sector data structure</span></p>
  250. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu16 NumDoors; // number of portals (2 bytes)</span></p>
  251. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">tr2 room door[NumDoors]; // normal portal structure (32 bytes * NumDoors)</span></p>
  252. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu16 Seperator; // 0xCDCD (2 bytes)</span></p>
  253. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">tr2 room static mesh[NumStaticMeshes]; // normal room static mesh structure (20 bytes * NumRoomStaticMeshes)</span></p>
  254. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 room layer[NumLayers]</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // data for the room layers (pieces) (56 bytes * NumLayers)</span></p>
  255. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 room polygons[NumRoomRectangles + NumRoomTriangles]</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // data for the room polys (face4 and face3).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Structured as</span></p>
  256. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; first layers rectangles then triangles, followed by the next layers rectangles and triangles,</span></p>
  257. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; etc., until all layers are done. (12 bytes each rectangle. 10 bytes each triangle)</span></p>
  258. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 room vertices[VerticesSize]</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // data for the room vertices. Structured as vertices for the first layer, then</span></p>
  259. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vertices for the second layer, etc., until all layers are done. (28 bytes each</span></p>
  260. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vertex.</span></p>
  261. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  262. </p>
  263. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">}</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 room</span></p>
  264. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  265. </p>
  266. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 room layer</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> structure (56 bytes)</span></p>
  267. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">{</span></p>
  268. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">0&nbsp;&nbsp; bitu32 NumLayerVertices; // number of vertices in this layer (4 bytes)</span></p>
  269. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">4&nbsp;&nbsp; bitu16 </span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">UnknownL1</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // unknown (2 bytes)</span></p>
  270. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">6&nbsp;&nbsp; bitu16 NumLayerRectangles; // number of rectangles in this layer (2 bytes)</span></p>
  271. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">8&nbsp;&nbsp; bitu16 NumLayerTriangles; // number of triangles in this layer (2 bytes)</span></p>
  272. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">10 bitu16 UnknownL2; // appears to be the number of 2 sided textures in this layer, however is sometimes 1 off (2 bytes)</span></p>
  273. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">12 bitu16 Filler; // always 0 (2 bytes)</span></p>
  274. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">14 bitu16 Filler2; // always 0 (2 bytes)</span></p>
  275. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  276. </p>
  277. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">///////&nbsp; The following 6 floats (4 bytes each) define the bounding box for the layer //////////</span></p>
  278. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">16 float LayerBoundingBoxX1; </span></p>
  279. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">20 float LayerBoundingBoxY1;</span></p>
  280. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">24 float LayerBoundingBoxZ1;</span></p>
  281. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">28 float LayerBoundingBoxX2;</span></p>
  282. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">32 float LayerBoundingBoxY2;</span></p>
  283. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">36 float LayerBoundingBoxZ2;</span></p>
  284. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  285. </p>
  286. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">40 bitu32 Filler3; // always 0 (4 bytes)</span></p>
  287. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">44 bitu32 </span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">UnknownL6</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // unknown (4 bytes)</span></p>
  288. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">48 bitu32 </span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">UnknownL7</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // unknown (4 bytes)</span></p>
  289. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">52 bitu32 </span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">UnknownL8</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // unknown. Always the same throughout the level. (4 bytes)</span></p>
  290. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">}</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 room layer</span></p>
  291. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  292. </p>
  293. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 face4</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> structure (12 bytes)</span></p>
  294. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">{</span></p>
  295. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu16 Vertices[4]; // the values are the indices into the appropriate layer vertice list. (2 bytes each)</span></p>
  296. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu16 Texture; // the texture number for this face. Needs to be masked with 0xFFF as the high 4 bits are flags.(2 bytes)</span></p>
  297. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu16 </span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">UnknownF4</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // unknown (2 bytes)</span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span></p>
  298. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">}</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 room rectangle</span></p>
  299. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  300. </p>
  301. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 face3 </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">structure (10 bytes)</span></p>
  302. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">{</span></p>
  303. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu16 Vertices[3]; // the values are the indices into the appropriate layer vertice list (2 bytes each)</span></p>
  304. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu16 Texture; // the texture number for this face. Needs to be masked with 0xFFF as the high 4 bits are flags (2 bytes)</span></p>
  305. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bitu16 </span><span style="text-decoration: underline; text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">UnknownF3</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // unknown (2 bytes)</span></p>
  306. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">}</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 room triangle</span></p>
  307. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  308. </p>
  309. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 vertex</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> structure (28 bytes)</span></p>
  310. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">{</span></p>
  311. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float x; // x of vertex (4 bytes)</span></p>
  312. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float y; // y of vertex (4 bytes)</span></p>
  313. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float z; // z of vertex (4 bytes)</span></p>
  314. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float nx; // x of vertex normal (4 bytes)</span></p>
  315. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float ny; // y of vertex normal (4 bytes)</span></p>
  316. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float nz; // z of vertex normal (4 bytes)</span></p>
  317. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu32 vColor; // vertex color ARGB format (4 bytes)</span></p>
  318. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">}</span><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 vertex</span></p>
  319. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  320. </p>
  321. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  322. </p>
  323. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 light </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">structure (88 bytes)</span></p>
  324. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">{</span></p>
  325. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  326. </p>
  327. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">// The following is preliminary info. Appears to be correct, however I'm having strange findings</span></p>
  328. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">// on some early testing. Proceed at your own risk on this one.</span></p>
  329. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  330. </p>
  331. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">// The first three floats specify the position of the light in world coordinates</span></p>
  332. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">// The sun type light should not use these but seems to have a large x value (9 million, give or take)</span></p>
  333. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">// a zero y value, and a small z value (4 - 20) in the original TR5 levels</span></p>
  334. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  335. </p>
  336. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float x; // x position of light (4 bytes)</span></p>
  337. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float y; // y position of light (4 bytes)</span></p>
  338. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float z; // z position of light (4 bytes)</span></p>
  339. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  340. </p>
  341. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">// The next three specify the color of the light</span></p>
  342. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  343. </p>
  344. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float Red; // color of red spectrum (4 bytes)</span></p>
  345. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float Green; // color of green spectrum (4 bytes)</span></p>
  346. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float Blue; // color of blue spectrum (4 bytes)</span></p>
  347. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  348. </p>
  349. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">// Another 'filler'</span></p>
  350. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  351. </p>
  352. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu32 Seperator; // not used 0xCDCDCDCD (4 bytes)</span></p>
  353. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  354. </p>
  355. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">// At this point the following info diverges dependant on which type of light being used:</span></p>
  356. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">// 0 = sun,&nbsp; 1 = light,&nbsp; 2 = spot,&nbsp; 3 = shadow</span></p>
  357. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  358. </p>
  359. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">//&nbsp;&nbsp; The sun type doesn't use the next two.</span></p>
  360. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">//&nbsp;&nbsp; For the spot type these are the hotspot and falloff angle cosines</span></p>
  361. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">//&nbsp;&nbsp; For the light and shadow types these are the TR units for the hotspot/falloff (1024=1sector)</span></p>
  362. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  363. </p>
  364. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float Input; // cosine of the IN value for light / size of IN value (4 bytes)</span></p>
  365. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float Output; // cosine of the OUT value for light / size of OUT value (4 bytes)</span></p>
  366. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  367. </p>
  368. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">//&nbsp; The next two are only used by the spot type light</span></p>
  369. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  370. </p>
  371. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float RadInput; // (IN radians) * 2 (4 bytes)</span></p>
  372. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float RadOutput; // (OUT radians) * 2 (4 bytes)</span></p>
  373. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  374. </p>
  375. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">//&nbsp; The next is also only used by the spot type light</span></p>
  376. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  377. </p>
  378. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float Range; // Range of light (4 bytes)</span></p>
  379. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  380. </p>
  381. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">// The final 3 floats are used only by the 'sun' and 'spot' type lights.</span></p>
  382. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">// They describe the directional vector of the light.</span></p>
  383. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">// This can be obtained by :</span></p>
  384. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">//&nbsp;&nbsp; if both x and y LightDirectionVectorX = cosX * sinY </span></p>
  385. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">//&nbsp;&nbsp;&nbsp;&nbsp; LightDirectionVectorY = sinX</span></p>
  386. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">//&nbsp;&nbsp;&nbsp;&nbsp; LightDirectionVectorZ = cosX * cosY</span></p>
  387. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">//</span></p>
  388. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  389. </p>
  390. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float DirectionVectorX; // light direction (4 bytes)</span></p>
  391. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float DirectionVectorY; // light direction (4 bytes)</span></p>
  392. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">float DirectionVectorZ; // light direction (4 bytes)</span></p>
  393. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  394. </p>
  395. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">//&nbsp; The next six values repeat some of the previous information in long data types vice floats</span></p>
  396. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  397. </p>
  398. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bit32 x; // x position of light (4 bytes)</span></p>
  399. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bit32 y; // y position of light (4 bytes)</span></p>
  400. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bit32 z; // z position of light (4 bytes)</span></p>
  401. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  402. </p>
  403. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">//&nbsp; 16384 = 1.0 for the rotations ( 1/16384 )</span></p>
  404. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  405. </p>
  406. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bit32 DirectionVectorX;&nbsp; // light direction (4 bytes)</span></p>
  407. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bit32 DirectionVectorY; // light direction (4 bytes)</span></p>
  408. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bit32 DirectionVectorZ; // light direction (4 bytes)</span></p>
  409. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  410. </p>
  411. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">//&nbsp; The next char specifies the type of light as specified above</span></p>
  412. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  413. </p>
  414. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu8 LightType; // type of light. (1 byte)</span></p>
  415. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  416. </p>
  417. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">//&nbsp; Another filler</span></p>
  418. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  419. </p>
  420. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">3*bitu8 Seperator; // 0xCDCDCD (3 bytes)</span></p>
  421. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">}</span><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 light</span></p>
  422. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  423. </p>
  424. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5_object_texture</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">structure (40 bytes)</span></p>
  425. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">{</span></p>
  426. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu16 Attribute; //0, 1, or 2 (2 means 2 sided) (2 bytes)</span></p>
  427. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu32 Tile; // need to mask with 0xFF as other bits are flags. ie bit15 seems to indicate triangle (4 bytes)</span></p>
  428. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 object texture vert</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">; // Vertices[4] (16 bytes)</span></p>
  429. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu32 UV1; // unknown how used (4 bytes)</span></p>
  430. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu32 UV2; // unknown how used (4 bytes)</span></p>
  431. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu32 Xsize; // unknown how used, x size (4 bytes)</span></p>
  432. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu32 Ysize; // unknown how used, y size (4 bytes)</span></p>
  433. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu16 Seperator; // always 0x0000 (2 bytes)</span></p>
  434. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">}</span><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5_object_texture</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span></p>
  435. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  436. </p>
  437. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 object texture vert</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> structure (4 bytes)</span></p>
  438. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">{</span></p>
  439. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu8 Xcoordinate; // 0 if Xpixel is the low value, 255 if Xpixel is the high value in the object texture (1 byte)</span></p>
  440. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu8 Xpixel; // (1 byte)</span></p>
  441. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu8 Ycoordinate; // 0 if Ypixel is the low value, 255 if Ypixel is the high value in the object texture (1 byte)</span></p>
  442. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu8 Ypixel; // (1 byte)</span></p>
  443. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">}</span><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 object texture vert</span></p>
  444. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  445. </p>
  446. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  447. </p>
  448. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 fly by camera</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> structure (40 bytes)</span></p>
  449. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">{</span></p>
  450. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">bit32 CameraX; // x position of camera in world coordinates (4 bytes)</span></p>
  451. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bit32 CameraY; // y position of camera in world coordinates (4 bytes)</span></p>
  452. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bit32 CameraZ; // z&nbsp; position of camera in world coordinates (4 bytes)</span></p>
  453. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  454. </p>
  455. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bit32 TargetX; // x position of aiming point in world coordinates (4 bytes)</span></p>
  456. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bit32 TargetY; // y position of aiming point in world coordinates (4 bytes)</span></p>
  457. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bit32 TargetZ; // z&nbsp; position of aiming point in world coordinates (4 bytes)</span></p>
  458. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  459. </p>
  460. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bit8&nbsp; Sequence; // sequence # of camera (1 byte)</span></p>
  461. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bit8&nbsp; CameraNumber; // camera # (1 byte)</span></p>
  462. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  463. </p>
  464. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu16 FOV; // fov of camera ( .0054945 for each degree ) (2 bytes)</span></p>
  465. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu16 Roll; // roll of camera ( .0054945 for each degree ) (2 bytes)</span></p>
  466. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  467. </p>
  468. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu16 Timer; // timer number (2 bytes)</span></p>
  469. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu16 Speed; // ( .000015259 each ) (2 bytes)</span></p>
  470. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu16 Flags; // ( see your handy TRLE manual for the specs ) (2 bytes)</span></p>
  471. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bitu32 Room; // room number (4 bytes)</span></p>
  472. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">}</span><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 fly by camera</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span></p>
  473. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  474. </p>
  475. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  476. </p>
  477. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 moveable</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> structure ( 20 bytes ) ( same as old structure but has bitu16 filler at the end )</span></p>
  478. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">{</span></p>
  479. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu32 ObjectId; // object identifier ( matched in Items[] )</span></p>
  480. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu16 NumMeshes; // number of meshes in this object&nbsp;</span></p>
  481. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu16 StartingMesh; // starting mesh ( offset into MeshPointers[] )&nbsp;</span></p>
  482. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu32 MeshTree; // offset into MeshTree[] )</span></p>
  483. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu32 FrameOffset; // byte offset into Frames[] ( divide by 2 for Frames[i] )</span></p>
  484. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu16 Animation; // offset into Animations[]</span></p>
  485. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu16 Filler; // always equal to 65519 ( 0xFFEF )</span></p>
  486. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">}</span><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 moveable</span></p>
  487. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  488. </p>
  489. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 animation</span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> structure ( 40 bytes ) ( same as old structure but has 8 bytes before FrameStart )</span></p>
  490. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">{</span></p>
  491. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu32&nbsp; FrameOffset; // byte offset into Frames[] ( divide by 2 for Frames[i] )</span></p>
  492. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu8&nbsp;&nbsp;&nbsp; FrameRate; // Engine ticks per frame</span></p>
  493. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu8&nbsp;&nbsp;&nbsp; FrameSize; // number of bit16's in Frames[] used by this animation</span></p>
  494. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu16&nbsp; StateId; //&nbsp;</span></p>
  495. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bit16&nbsp;&nbsp;&nbsp; Unknown;</span></p>
  496. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bit16&nbsp;&nbsp;&nbsp; Speed; // Evengi Popov found this but I never seen what he said it was for</span></p>
  497. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu16&nbsp; AccelLo; // same as above</span></p>
  498. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bit16&nbsp;&nbsp;&nbsp; AccelHi; // same as above</span></p>
  499. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu8&nbsp;&nbsp;&nbsp; AUnknown[8]; // Unknown</span></p>
  500. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu16&nbsp; FrameStart; // first frame in this animation</span></p>
  501. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu16&nbsp; FrameEnd; // last frame in this animation ( numframes = ( End - Start) + 1 )</span></p>
  502. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu16&nbsp; NextAnimation;</span></p>
  503. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu16&nbsp; NextFrame;</span></p>
  504. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu16&nbsp; NumStateChanges;</span></p>
  505. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu16&nbsp; StateChangeOffset; // offset into StateChanges[]</span></p>
  506. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu16&nbsp; NumAnimCommands; // how many of them to use</span></p>
  507. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;&nbsp;&nbsp; bitu16&nbsp; AnimCommand; // offset into AnimCommand[]</span></p>
  508. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">}</span><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5 animation</span></p>
  509. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  510. </p>
  511. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  512. </p>
  513. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  514. </p>
  515. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-position: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">/////////////////////////// The following structures have changed from the TR3 version //////////////////////</span></p>
  516. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  517. </p>
  518. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><span style="text-decoration: underline; text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">tr5_cinematic_frame</span><span style="text-position: ; color:#ff0000; font-family: 'MS Sans Serif'; font-size: 10.000000pt"> </span><span style="text-position: ; color:#000000; font-family: 'MS Sans Serif'; font-size: 10.000000pt">now 24 bytes vice 16 bytes. Unknown how format was changed.</span></p>
  519. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  520. </p>
  521. <p class="Default" style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  522. </p>
  523. <p style="text-align: left; margin-bottom: 0.0000in; margin-top: 0.0000in; margin-right: 0.0000in"><br>
  524. </p>
  525. </div>
  526. </body>
  527. </html>