SHARE
TWEET

Halo Tag File Definitions

liquidspark Aug 27th, 2018 (edited) 1,719 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. extracthalotagdefs and its resulting file are by sparky (e-mail:galaxyverge+halo@pm.me discord:sparky#0343 chat:https://discord.gg/mcEzrrv)
  2. tetelestai
  3. tag definitions parsed from guerilla.exe
  4. modify output to suit your source code syntax needs by modifying extracthalotagdefs
  5. all credit to Jesus Christ for anything that pleases His Majesty, King of Glory
  6. note that these definitions do not fully equate to stored file data...
  7. respect me and what I freely did for you by leaving this printf statement intact
  8.  
  9. Tag Definition Offset: 0x5d8710
  10. Extension: model
  11. Unknown: 9
  12. Class: mode
  13. No superclass
  14. Version: 4
  15. Dialog Data Offset: 0x494cd0
  16. Definition Block:
  17. {
  18.     Name: model
  19.     Count: 1
  20.     Size: 232
  21.     Chunks Offset: 0x5d85d0
  22.     Dialog Data 2 Offset: 0x494bc0
  23. }
  24.     long_flags           flags*
  25.     {
  26.         blend shared normals
  27.         parts have local nodes
  28.         ignore skinning
  29.     }
  30.     long_integer         node list checksum*
  31.     real                 super-high detail cutoff:pixels
  32.     real                 high detail cutoff:pixels
  33.     real                 medium detail cutoff:pixels
  34.     real                 low detail cutoff:pixels
  35.     real                 super-low cutoff:pixels
  36.     short_integer        super-high detail node count*:nodes
  37.     short_integer        high detail node count*:nodes
  38.     short_integer        medium detail node count*:nodes
  39.     short_integer        low detail node count*:nodes
  40.     short_integer        super-low detail node count*:nodes
  41.     pad[2]
  42.     pad[8]
  43.     real                 base map u-scale*#0 defaults to 1
  44.     real                 base map v-scale*#0 defaults to 1
  45.     pad[116]
  46.     block                markers*
  47.     {
  48.         Name: model_markers_block
  49.         Max Chunks: 256
  50.         Chunk Size: 64
  51.         Max Chunks x Chunk Size: 16384
  52.         Chunk Definition Offset: 0x5d8548
  53.         {
  54.             string               name^*
  55.             short_integer        magic identifier*
  56.             pad[2]
  57.             pad[16]
  58.             block                instances*
  59.             {
  60.                 Name: model_marker_instance_block
  61.                 Max Chunks: 32
  62.                 Chunk Size: 32
  63.                 Max Chunks x Chunk Size: 1024
  64.                 Chunk Definition Offset: 0x5d84c8
  65.                 {
  66.                     char_integer         region index*
  67.                     char_integer         permutation index*
  68.                     char_integer         node index*
  69.                     pad[1]
  70.                     real_point_3d        translation*
  71.                     real_quaternion      rotation*
  72.                 }
  73.             }
  74.         }
  75.     }
  76.     block                nodes*
  77.     {
  78.         Name: model_node_block
  79.         Max Chunks: 64
  80.         Chunk Size: 156
  81.         Max Chunks x Chunk Size: 9984
  82.         Chunk Definition Offset: 0x5d8170
  83.         {
  84.             string               name^*
  85.             short_block_index    next sibling node index*
  86.             {
  87.                 Block Name: model_node_block
  88.             }
  89.             short_block_index    first child node index*
  90.             {
  91.                 Block Name: model_node_block
  92.             }
  93.             short_block_index    parent node index*
  94.             {
  95.                 Block Name: model_node_block
  96.             }
  97.             pad[2]
  98.             real_point_3d        default translation*
  99.             real_quaternion      default rotation*
  100.             real                 node distance from parent*
  101.             pad[32]
  102.             pad[52]
  103.         }
  104.     }
  105.     block                regions*
  106.     {
  107.         Name: model_region_block
  108.         Max Chunks: 32
  109.         Chunk Size: 76
  110.         Max Chunks x Chunk Size: 2432
  111.         Chunk Definition Offset: 0x5d8410
  112.         {
  113.             string               name^*
  114.             pad[32]
  115.             block                permutations*
  116.             {
  117.                 Name: model_region_permutation_block
  118.                 Max Chunks: 32
  119.                 Chunk Size: 88
  120.                 Max Chunks x Chunk Size: 2816
  121.                 Chunk Definition Offset: 0x5d82b0
  122.                 {
  123.                     string               name^*
  124.                     long_flags           flags*
  125.                     {
  126.                         cannot be chosen randomly
  127.                     }
  128.                     pad[28]
  129.                     short_block_index    super low*
  130.                     {
  131.                         Block Name: model_geometry_block
  132.                     }
  133.                     short_block_index    low*
  134.                     {
  135.                         Block Name: model_geometry_block
  136.                     }
  137.                     short_block_index    medium*
  138.                     {
  139.                         Block Name: model_geometry_block
  140.                     }
  141.                     short_block_index    high*
  142.                     {
  143.                         Block Name: model_geometry_block
  144.                     }
  145.                     short_block_index    super high*
  146.                     {
  147.                         Block Name: model_geometry_block
  148.                     }
  149.                     pad[2]
  150.                     block                markers*
  151.                     {
  152.                         Name: model_region_permutation_marker_block
  153.                         Max Chunks: 64
  154.                         Chunk Size: 80
  155.                         Max Chunks x Chunk Size: 5120
  156.                         Chunk Definition Offset: 0x5d8220
  157.                         {
  158.                             string               name^*
  159.                             short_block_index    node index*
  160.                             {
  161.                                 Block Name: model_node_block
  162.                             }
  163.                             pad[2]
  164.                             real_quaternion      rotation*
  165.                             real_point_3d        translation*
  166.                             pad[16]
  167.                         }
  168.                     }
  169.                 }
  170.             }
  171.         }
  172.     }
  173.     block                geometries*
  174.     {
  175.         Name: model_geometry_block
  176.         Max Chunks: 256
  177.         Chunk Size: 48
  178.         Max Chunks x Chunk Size: 12288
  179.         Chunk Definition Offset: 0x5d80b8
  180.         {
  181.             long_flags           flags*
  182.             {
  183.             }
  184.             pad[32]
  185.             block                parts*
  186.             {
  187.                 Name: model_geometry_part_block
  188.                 Max Chunks: 32
  189.                 Chunk Size: 104
  190.                 Max Chunks x Chunk Size: 3328
  191.                 Chunk Definition Offset: 0x5d7eb0
  192.                 {
  193.                     long_flags           flags*
  194.                     {
  195.                         stripped (INTERNAL)
  196.                         ZONER: _model_part_local_nodes
  197.                     }
  198.                     short_block_index    shader index*
  199.                     {
  200.                         Block Name: model_shader_reference_block
  201.                     }
  202.                     char_integer         prev filthy part index
  203.                     char_integer         next filthy part index
  204.                     short_integer        centroid primary node*
  205.                     short_integer        centroid secondary node*
  206.                     real_fraction        centroid primary weight*
  207.                     real_fraction        centroid secondary weight*
  208.                     real_point_3d        centroid*
  209.                     block                uncompressed vertices*
  210.                     {
  211.                         Name: model_vertex_uncompressed_block
  212.                         Max Chunks: 65535
  213.                         Chunk Size: 68
  214.                         Max Chunks x Chunk Size: 4456380
  215.                         Chunk Definition Offset: 0x5d7c90
  216.                         {
  217.                             real_point_3d        position*
  218.                             real_vector_3d       normal*
  219.                             real_vector_3d       binormal*
  220.                             real_vector_3d       tangent*
  221.                             real_point_2d        texture coords*
  222.                             short_integer        node0 index*
  223.                             short_integer        node1 index*
  224.                             real                 node0 weight*
  225.                             real                 node1 weight*
  226.                         }
  227.                     }
  228.                     block                compressed vertices*
  229.                     {
  230.                         Name: model_vertex_compressed_block
  231.                         Max Chunks: 65535
  232.                         Chunk Size: 32
  233.                         Max Chunks x Chunk Size: 2097120
  234.                         Chunk Definition Offset: 0x5d7d38
  235.                         {
  236.                             real_point_3d        position*
  237.                             long_integer         normal[11.11.10-bit]*
  238.                             long_integer         binormal[11.11.10-bit]*
  239.                             long_integer         tangent[11.11.10-bit]*
  240.                             short_integer        texture coordinate u[16-bit]*
  241.                             short_integer        texture coordinate v[16-bit]*
  242.                             char_integer         node0 index(x3)*
  243.                             char_integer         node1 index(x3)*
  244.                             short_integer        node0 weight[16-bit]*
  245.                         }
  246.                     }
  247.                     block                triangles*
  248.                     {
  249.                         Name: model_triangle_block
  250.                         Max Chunks: 65535
  251.                         Chunk Size: 6
  252.                         Max Chunks x Chunk Size: 393210
  253.                         Chunk Definition Offset: 0x5d7ddc
  254.                         {
  255.                             short_integer        vertex0 index*
  256.                             short_integer        vertex1 index*
  257.                             short_integer        vertex2 index*
  258.                         }
  259.                     }
  260.                     pad[20]
  261.                     pad[16]
  262.                 }
  263.             }
  264.         }
  265.     }
  266.     block                shaders*
  267.     {
  268.         Name: model_shader_reference_block
  269.         Max Chunks: 32
  270.         Chunk Size: 32
  271.         Max Chunks x Chunk Size: 1024
  272.         Chunk Definition Offset: 0x5d7e48
  273.         {
  274.             tag reference        shader^
  275.             {
  276.                 Supported tag class category: shdr
  277.             }
  278.             short_integer        permutation
  279.             pad[2]
  280.             pad[12]
  281.         }
  282.     }
  283. POORLY-DETERMINED MIN FILESIZE OF mode (including 64-byte header): 296
  284. POORLY-DETERMINED MAX FILESIZE OF mode (including 64-byte header): 7001661
  285.  
  286. Tag Definition Offset: 0x5d88b0
  287. Extension: gbxmodel
  288. Unknown: 9
  289. Class: mod2
  290. No superclass
  291. Version: 5
  292. Dialog Data Offset: 0x494cd0
  293. Definition Block:
  294. {
  295.     Name: gbxmodel
  296.     Count: 1
  297.     Size: 232
  298.     Chunks Offset: 0x5d8770
  299.     Dialog Data 2 Offset: 0x494bc0
  300. }
  301.     long_flags           flags*
  302.     {
  303.         blend shared normals
  304.         parts have local nodes
  305.         ignore skinning
  306.     }
  307.     long_integer         node list checksum*
  308.     real                 super-high detail cutoff:pixels
  309.     real                 high detail cutoff:pixels
  310.     real                 medium detail cutoff:pixels
  311.     real                 low detail cutoff:pixels
  312.     real                 super-low cutoff:pixels
  313.     short_integer        super-high detail node count*:nodes
  314.     short_integer        high detail node count*:nodes
  315.     short_integer        medium detail node count*:nodes
  316.     short_integer        low detail node count*:nodes
  317.     short_integer        super-low detail node count*:nodes
  318.     pad[2]
  319.     pad[8]
  320.     real                 base map u-scale*#0 defaults to 1
  321.     real                 base map v-scale*#0 defaults to 1
  322.     pad[116]
  323.     block                markers*
  324.     {
  325.         Name: model_markers_block
  326.         Max Chunks: 256
  327.         Chunk Size: 64
  328.         Max Chunks x Chunk Size: 16384
  329.         Chunk Definition Offset: 0x5d8548
  330.         {
  331.             string               name^*
  332.             short_integer        magic identifier*
  333.             pad[2]
  334.             pad[16]
  335.             block                instances*
  336.             {
  337.                 Name: model_marker_instance_block
  338.                 Max Chunks: 32
  339.                 Chunk Size: 32
  340.                 Max Chunks x Chunk Size: 1024
  341.                 Chunk Definition Offset: 0x5d84c8
  342.                 {
  343.                     char_integer         region index*
  344.                     char_integer         permutation index*
  345.                     char_integer         node index*
  346.                     pad[1]
  347.                     real_point_3d        translation*
  348.                     real_quaternion      rotation*
  349.                 }
  350.             }
  351.         }
  352.     }
  353.     block                nodes*
  354.     {
  355.         Name: model_node_block
  356.         Max Chunks: 64
  357.         Chunk Size: 156
  358.         Max Chunks x Chunk Size: 9984
  359.         Chunk Definition Offset: 0x5d8170
  360.         {
  361.             string               name^*
  362.             short_block_index    next sibling node index*
  363.             {
  364.                 Block Name: model_node_block
  365.             }
  366.             short_block_index    first child node index*
  367.             {
  368.                 Block Name: model_node_block
  369.             }
  370.             short_block_index    parent node index*
  371.             {
  372.                 Block Name: model_node_block
  373.             }
  374.             pad[2]
  375.             real_point_3d        default translation*
  376.             real_quaternion      default rotation*
  377.             real                 node distance from parent*
  378.             pad[32]
  379.             pad[52]
  380.         }
  381.     }
  382.     block                regions*
  383.     {
  384.         Name: gbxmodel_region_block
  385.         Max Chunks: 32
  386.         Chunk Size: 76
  387.         Max Chunks x Chunk Size: 2432
  388.         Chunk Definition Offset: 0x5d846c
  389.         {
  390.             string               name^*
  391.             pad[32]
  392.             block                permutations*
  393.             {
  394.                 Name: gbxmodel_region_permutation_block
  395.                 Max Chunks: 32
  396.                 Chunk Size: 88
  397.                 Max Chunks x Chunk Size: 2816
  398.                 Chunk Definition Offset: 0x5d8360
  399.                 {
  400.                     string               name^*
  401.                     long_flags           flags*
  402.                     {
  403.                         cannot be chosen randomly
  404.                     }
  405.                     pad[28]
  406.                     short_block_index    super low*
  407.                     {
  408.                         Block Name: gbxmodel_geometry_block
  409.                     }
  410.                     short_block_index    low*
  411.                     {
  412.                         Block Name: gbxmodel_geometry_block
  413.                     }
  414.                     short_block_index    medium*
  415.                     {
  416.                         Block Name: gbxmodel_geometry_block
  417.                     }
  418.                     short_block_index    high*
  419.                     {
  420.                         Block Name: gbxmodel_geometry_block
  421.                     }
  422.                     short_block_index    super high*
  423.                     {
  424.                         Block Name: gbxmodel_geometry_block
  425.                     }
  426.                     pad[2]
  427.                     block                markers*
  428.                     {
  429.                         Name: model_region_permutation_marker_block
  430.                         Max Chunks: 64
  431.                         Chunk Size: 80
  432.                         Max Chunks x Chunk Size: 5120
  433.                         Chunk Definition Offset: 0x5d8220
  434.                         {
  435.                             string               name^*
  436.                             short_block_index    node index*
  437.                             {
  438.                                 Block Name: model_node_block
  439.                             }
  440.                             pad[2]
  441.                             real_quaternion      rotation*
  442.                             real_point_3d        translation*
  443.                             pad[16]
  444.                         }
  445.                     }
  446.                 }
  447.             }
  448.         }
  449.     }
  450.     block                geometries*
  451.     {
  452.         Name: gbxmodel_geometry_block
  453.         Max Chunks: 256
  454.         Chunk Size: 48
  455.         Max Chunks x Chunk Size: 12288
  456.         Chunk Definition Offset: 0x5d8114
  457.         {
  458.             long_flags           flags*
  459.             {
  460.             }
  461.             pad[32]
  462.             block                parts*
  463.             {
  464.                 Name: gbxmodel_geometry_part_block
  465.                 Max Chunks: 32
  466.                 Chunk Size: 132
  467.                 Max Chunks x Chunk Size: 4224
  468.                 Chunk Definition Offset: 0x5d7f90
  469.                 {
  470.                     long_flags           flags*
  471.                     {
  472.                         stripped (INTERNAL)
  473.                         ZONER: _model_part_local_nodes
  474.                     }
  475.                     short_block_index    shader index*
  476.                     {
  477.                         Block Name: model_shader_reference_block
  478.                     }
  479.                     char_integer         prev filthy part index
  480.                     char_integer         next filthy part index
  481.                     short_integer        centroid primary node*
  482.                     short_integer        centroid secondary node*
  483.                     real_fraction        centroid primary weight*
  484.                     real_fraction        centroid secondary weight*
  485.                     real_point_3d        centroid*
  486.                     block                uncompressed vertices*
  487.                     {
  488.                         Name: model_vertex_uncompressed_block
  489.                         Max Chunks: 65535
  490.                         Chunk Size: 68
  491.                         Max Chunks x Chunk Size: 4456380
  492.                         Chunk Definition Offset: 0x5d7c90
  493.                         {
  494.                             real_point_3d        position*
  495.                             real_vector_3d       normal*
  496.                             real_vector_3d       binormal*
  497.                             real_vector_3d       tangent*
  498.                             real_point_2d        texture coords*
  499.                             short_integer        node0 index*
  500.                             short_integer        node1 index*
  501.                             real                 node0 weight*
  502.                             real                 node1 weight*
  503.                         }
  504.                     }
  505.                     block                compressed vertices*
  506.                     {
  507.                         Name: model_vertex_compressed_block
  508.                         Max Chunks: 65535
  509.                         Chunk Size: 32
  510.                         Max Chunks x Chunk Size: 2097120
  511.                         Chunk Definition Offset: 0x5d7d38
  512.                         {
  513.                             real_point_3d        position*
  514.                             long_integer         normal[11.11.10-bit]*
  515.                             long_integer         binormal[11.11.10-bit]*
  516.                             long_integer         tangent[11.11.10-bit]*
  517.                             short_integer        texture coordinate u[16-bit]*
  518.                             short_integer        texture coordinate v[16-bit]*
  519.                             char_integer         node0 index(x3)*
  520.                             char_integer         node1 index(x3)*
  521.                             short_integer        node0 weight[16-bit]*
  522.                         }
  523.                     }
  524.                     block                triangles*
  525.                     {
  526.                         Name: model_triangle_block
  527.                         Max Chunks: 65535
  528.                         Chunk Size: 6
  529.                         Max Chunks x Chunk Size: 393210
  530.                         Chunk Definition Offset: 0x5d7ddc
  531.                         {
  532.                             short_integer        vertex0 index*
  533.                             short_integer        vertex1 index*
  534.                             short_integer        vertex2 index*
  535.                         }
  536.                     }
  537.                     pad[20]
  538.                     pad[16]
  539.                     pad[1]
  540.                     pad[1]
  541.                     pad[1]
  542.                     pad[1]
  543.                     pad[24]
  544.                 }
  545.             }
  546.         }
  547.     }
  548.     block                shaders*
  549.     {
  550.         Name: model_shader_reference_block
  551.         Max Chunks: 32
  552.         Chunk Size: 32
  553.         Max Chunks x Chunk Size: 1024
  554.         Chunk Definition Offset: 0x5d7e48
  555.         {
  556.             tag reference        shader^
  557.             {
  558.                 Supported tag class category: shdr
  559.             }
  560.             short_integer        permutation
  561.             pad[2]
  562.             pad[12]
  563.         }
  564.     }
  565. POORLY-DETERMINED MIN FILESIZE OF mod2 (including 64-byte header): 296
  566. POORLY-DETERMINED MAX FILESIZE OF mod2 (including 64-byte header): 7002557
  567.  
  568. Tag Definition Offset: 0x5d7728
  569. Extension: model_animations
  570. Unknown: 9
  571. Class: antr
  572. No superclass
  573. Version: 4
  574. Definition Block:
  575. {
  576.     Name: model_animations
  577.     Count: 1
  578.     Size: 128
  579.     Chunks Offset: 0x5d7650
  580.     Dialog Data 1 Offset: 0x494460
  581. }
  582.     block                OBJECTS
  583.     {
  584.         Name: animation_graph_object_overlay
  585.         Max Chunks: 4
  586.         Chunk Size: 20
  587.         Max Chunks x Chunk Size: 80
  588.         Chunk Definition Offset: 0x5d6e38
  589.         {
  590.             short_block_index    animation
  591.             {
  592.                 Block Name: animation_block
  593.             }
  594.             enum                 function
  595.             {
  596.                 A out
  597.                 B out
  598.                 C out
  599.                 D out
  600.             }
  601.             enum                 function controls
  602.             {
  603.                 frame
  604.                 scale
  605.             }
  606.             pad[2]
  607.             pad[12]
  608.         }
  609.     }
  610.     block                UNITS
  611.     {
  612.         Name: animation_graph_unit_seat_block
  613.         Max Chunks: 32
  614.         Chunk Size: 100
  615.         Max Chunks x Chunk Size: 3200
  616.         Chunk Definition Offset: 0x5d7168
  617.         {
  618.             string               label^
  619.             explanation          looking screen bounds
  620.             {
  621.                 Dialog Data Offset: 0x494b11
  622.                 {
  623.  
  624.                 }
  625.             }
  626.             angle                right yaw per frame
  627.             angle                left yaw per frame
  628.             short_integer        right frame count
  629.             short_integer        left frame count
  630.             angle                down pitch per frame
  631.             angle                up pitch per frame
  632.             short_integer        down pitch frame count
  633.             short_integer        up pitch frame count
  634.             pad[8]
  635.             block                animations
  636.             {
  637.                 Name: unit_seat_animation_block
  638.                 Max Chunks: 30
  639.                 Chunk Size: 2
  640.                 Max Chunks x Chunk Size: 60
  641.                 Chunk Definition Offset: 0x5d7120
  642.                 {
  643.                     short_block_index    animation
  644.                     {
  645.                         Block Name: animation_block
  646.                     }
  647.                 }
  648.             }
  649.             block                ik points
  650.             {
  651.                 Name: animation_graph_unit_seat_ik_point
  652.                 Max Chunks: 4
  653.                 Chunk Size: 64
  654.                 Max Chunks x Chunk Size: 256
  655.                 Chunk Definition Offset: 0x5d6eac
  656.                 {
  657.                     string               marker#the marker name on the object being attached
  658.                     string               attach to marker#the marker name object (weapon, vehicle, etc.) the above marker is being attached to
  659.                 }
  660.             }
  661.             block                weapons
  662.             {
  663.                 Name: animation_graph_weapon_block
  664.                 Max Chunks: 16
  665.                 Chunk Size: 188
  666.                 Max Chunks x Chunk Size: 3008
  667.                 Chunk Definition Offset: 0x5d7028
  668.                 {
  669.                     string               name^
  670.                     string               grip marker#the marker name on the weapon to which the hand is attached (leave blank to use origin)
  671.                     string               hand marker#the marker name on the unit to which the weapon is attached
  672.                     explanation          aiming screen bounds
  673.                     {
  674.                         Dialog Data Offset: 0x494b11
  675.                         {
  676.  
  677.                         }
  678.                     }
  679.                     angle                right yaw per frame
  680.                     angle                left yaw per frame
  681.                     short_integer        right frame count
  682.                     short_integer        left frame count
  683.                     angle                down pitch per frame
  684.                     angle                up pitch per frame
  685.                     short_integer        down pitch frame count
  686.                     short_integer        up pitch frame count
  687.                     pad[32]
  688.                     block                animations
  689.                     {
  690.                         Name: weapon_class_animation_block
  691.                         Max Chunks: 55
  692.                         Chunk Size: 2
  693.                         Max Chunks x Chunk Size: 110
  694.                         Chunk Definition Offset: 0x5d6f9c
  695.                         {
  696.                             short_block_index    animation
  697.                             {
  698.                                 Block Name: animation_block
  699.                             }
  700.                         }
  701.                     }
  702.                     block                ik points
  703.                     {
  704.                         Name: animation_graph_unit_seat_ik_point
  705.                         Max Chunks: 4
  706.                         Chunk Size: 64
  707.                         Max Chunks x Chunk Size: 256
  708.                         Chunk Definition Offset: 0x5d6eac
  709.                         {
  710.                             string               marker#the marker name on the object being attached
  711.                             string               attach to marker#the marker name object (weapon, vehicle, etc.) the above marker is being attached to
  712.                         }
  713.                     }
  714.                     block                weapon types
  715.                     {
  716.                         Name: animation_graph_weapon_type_block
  717.                         Max Chunks: 16
  718.                         Chunk Size: 60
  719.                         Max Chunks x Chunk Size: 960
  720.                         Chunk Definition Offset: 0x5d6f40
  721.                         {
  722.                             string               label^
  723.                             pad[16]
  724.                             block                animations
  725.                             {
  726.                                 Name: weapon_type_animation_block
  727.                                 Max Chunks: 10
  728.                                 Chunk Size: 2
  729.                                 Max Chunks x Chunk Size: 20
  730.                                 Chunk Definition Offset: 0x5d6efc
  731.                                 {
  732.                                     short_block_index    animation
  733.                                     {
  734.                                         Block Name: animation_block
  735.                                     }
  736.                                 }
  737.                             }
  738.                         }
  739.                     }
  740.                 }
  741.             }
  742.         }
  743.     }
  744.     block                WEAPONS
  745.     {
  746.         Name: animation_graph_weapon_animations_block
  747.         Max Chunks: 1
  748.         Chunk Size: 28
  749.         Max Chunks x Chunk Size: 28
  750.         Chunk Definition Offset: 0x5d728c
  751.         {
  752.             pad[16]
  753.             block                animations
  754.             {
  755.                 Name: weapon_animation_block
  756.                 Max Chunks: 11
  757.                 Chunk Size: 2
  758.                 Max Chunks x Chunk Size: 22
  759.                 Chunk Definition Offset: 0x5d7248
  760.                 {
  761.                     short_block_index    animation
  762.                     {
  763.                         Block Name: animation_block
  764.                     }
  765.                 }
  766.             }
  767.         }
  768.     }
  769.     block                VEHICLES
  770.     {
  771.         Name: animation_graph_vehicle_animations_block
  772.         Max Chunks: 1
  773.         Chunk Size: 116
  774.         Max Chunks x Chunk Size: 116
  775.         Chunk Definition Offset: 0x5d7428
  776.         {
  777.             explanation          steering screen
  778.             {
  779.                 Dialog Data Offset: 0x494b11
  780.                 {
  781.  
  782.                 }
  783.             }
  784.             angle                right yaw per frame
  785.             angle                left yaw per frame
  786.             short_integer        right frame count
  787.             short_integer        left frame count
  788.             angle                down pitch per frame
  789.             angle                up pitch per frame
  790.             short_integer        down pitch frame count
  791.             short_integer        up pitch frame count
  792.             pad[68]
  793.             block                animations
  794.             {
  795.                 Name: vehicle_animation_block
  796.                 Max Chunks: 8
  797.                 Chunk Size: 2
  798.                 Max Chunks x Chunk Size: 16
  799.                 Chunk Definition Offset: 0x5d73e4
  800.                 {
  801.                     short_block_index    animation
  802.                     {
  803.                         Block Name: animation_block
  804.                     }
  805.                 }
  806.             }
  807.             block                suspension animations
  808.             {
  809.                 Name: suspension_animation_block
  810.                 Max Chunks: 8
  811.                 Chunk Size: 20
  812.                 Max Chunks x Chunk Size: 160
  813.                 Chunk Definition Offset: 0x5d7370
  814.                 {
  815.                     short_integer        mass point index
  816.                     short_block_index    animation^
  817.                     {
  818.                         Block Name: animation_block
  819.                     }
  820.                     real                 full extension ground_depth
  821.                     real                 full compression ground_depth
  822.                     pad[8]
  823.                 }
  824.             }
  825.         }
  826.     }
  827.     block                DEVICES
  828.     {
  829.         Name: device_animations
  830.         Max Chunks: 1
  831.         Chunk Size: 96
  832.         Max Chunks x Chunk Size: 96
  833.         Chunk Definition Offset: 0x5d7534
  834.         {
  835.             pad[84]
  836.             block                animations
  837.             {
  838.                 Name: device_animation_block
  839.                 Max Chunks: 2
  840.                 Chunk Size: 2
  841.                 Max Chunks x Chunk Size: 4
  842.                 Chunk Definition Offset: 0x5d74f0
  843.                 {
  844.                     short_block_index    animation
  845.                     {
  846.                         Block Name: animation_block
  847.                     }
  848.                 }
  849.             }
  850.         }
  851.     }
  852.     block                UNIT DAMAGE
  853.     {
  854.         Name: unit_damage_animations
  855.         Max Chunks: 176
  856.         Chunk Size: 2
  857.         Max Chunks x Chunk Size: 352
  858.         Chunk Definition Offset: 0x5d6fe0
  859.         {
  860.             short_block_index    animation^
  861.             {
  862.                 Block Name: animation_block
  863.             }
  864.         }
  865.     }
  866.     block                FIRST PERSON WEAPONS
  867.     {
  868.         Name: animation_graph_first_person_weapon_animations_block
  869.         Max Chunks: 1
  870.         Chunk Size: 28
  871.         Max Chunks x Chunk Size: 28
  872.         Chunk Definition Offset: 0x5d7320
  873.         {
  874.             pad[16]
  875.             block                animations
  876.             {
  877.                 Name: first_person_weapon_block
  878.                 Max Chunks: 28
  879.                 Chunk Size: 2
  880.                 Max Chunks x Chunk Size: 56
  881.                 Chunk Definition Offset: 0x5d72dc
  882.                 {
  883.                     short_block_index    animation
  884.                     {
  885.                         Block Name: animation_block
  886.                     }
  887.                 }
  888.             }
  889.         }
  890.     }
  891.     block                sound references
  892.     {
  893.         Name: animation_graph_sound_reference_block
  894.         Max Chunks: 257
  895.         Chunk Size: 20
  896.         Max Chunks x Chunk Size: 5140
  897.         Chunk Definition Offset: 0x5d6b8c
  898.         {
  899.             tag reference        sound^
  900.             {
  901.                 Supported tag class category: snd!
  902.             }
  903.             pad[4]
  904.         }
  905.     }
  906.     real                 limp body node radius#0 uses 0.04 default
  907.     word_flags           flags
  908.     {
  909.         compress all animations
  910.         force idle compression
  911.     }
  912.     pad[2]
  913.     block                nodes*
  914.     {
  915.         Name: animation_graph_node_block
  916.         Max Chunks: 64
  917.         Chunk Size: 64
  918.         Max Chunks x Chunk Size: 4096
  919.         Chunk Definition Offset: 0x5d7598
  920.         {
  921.             string               name^
  922.             short_block_index    next sibling node index*
  923.             {
  924.                 Block Name: animation_graph_node_block
  925.             }
  926.             short_block_index    first child node index*
  927.             {
  928.                 Block Name: animation_graph_node_block
  929.             }
  930.             short_block_index    parent node index*
  931.             {
  932.                 Block Name: animation_graph_node_block
  933.             }
  934.             pad[2]
  935.             long_flags           Node joint flags
  936.             {
  937.                 ball-socket
  938.                 hinge
  939.                 no movement
  940.             }
  941.             real_vector_3d       base vector*
  942.             real                 vector range*
  943.             pad[4]
  944.         }
  945.     }
  946.     block                animations*
  947.     {
  948.         Name: animation_block
  949.         Max Chunks: 256
  950.         Chunk Size: 180
  951.         Max Chunks x Chunk Size: 46080
  952.         Chunk Definition Offset: 0x5d6c28
  953.         {
  954.             string               name*^
  955.             enum                 type*
  956.             {
  957.                 base
  958.                 overlay
  959.                 replacement
  960.             }
  961.             short_integer        frame count*
  962.             short_integer        frame size*
  963.             enum                 frame info type*
  964.             {
  965.                 none
  966.                 dx,dy
  967.                 dx,dy,dyaw
  968.                 dx,dy,dz,dyaw
  969.             }
  970.             long_integer         node list checksum*
  971.             short_integer        node count*
  972.             short_integer        loop frame index
  973.             real_fraction        weight
  974.             short_integer        key frame index
  975.             short_integer        second key frame index
  976.             short_block_index    next animation*
  977.             {
  978.                 Block Name: animation_block
  979.             }
  980.             word_flags           flags*
  981.             {
  982.                 compressed data
  983.                 world relative
  984.                 25Hz (PAL)
  985.             }
  986.             short_block_index    sound
  987.             {
  988.                 Block Name: animation_graph_sound_reference_block
  989.             }
  990.             short_integer        sound frame index
  991.             char_integer         left foot frame index
  992.             char_integer         right foot frame index
  993.             pad[2]
  994.             pad[4]
  995.             data                 frame info*
  996.             {
  997.                 Definition Name: frame_info_data_definition
  998.                 Max Bytes: 32768
  999.                 Extra Data Offset: 0x94190
  1000.             }
  1001.             array_start          "node trans. flag data*" repeated 2 time(s):
  1002.                 long_integer        
  1003.             array_end            
  1004.             pad[8]
  1005.             array_start          "node rotation flag data*" repeated 2 time(s):
  1006.                 long_integer        
  1007.             array_end            
  1008.             pad[8]
  1009.             array_start          "node scale flag data*" repeated 2 time(s):
  1010.                 long_integer        
  1011.             array_end            
  1012.             pad[4]
  1013.             long_integer         offset to compressed data:bytes*
  1014.             data                 default data*
  1015.             {
  1016.                 Definition Name: animation_default_data_definition
  1017.                 Max Bytes: 16384
  1018.                 Extra Data Offset: 0x94360
  1019.             }
  1020.             data                 frame data*
  1021.             {
  1022.                 Definition Name: animation_frame_data_definition
  1023.                 Max Bytes: 1048576
  1024.                 Extra Data Offset: 0x94200
  1025.             }
  1026.         }
  1027.     }
  1028. POORLY-DETERMINED MIN FILESIZE OF antr (including 64-byte header): 192
  1029. POORLY-DETERMINED MAX FILESIZE OF antr (including 64-byte header): 1162319
  1030.  
  1031. Tag Definition Offset: 0x5d69c8
  1032. Extension: bitmap
  1033. Unknown: 8
  1034. Class: bitm
  1035. No superclass
  1036. Version: 7
  1037. Dialog Data Offset: 0x493770
  1038. Definition Block:
  1039. {
  1040.     Name: bitmap
  1041.     Count: 1
  1042.     Size: 108
  1043.     Chunks Offset: 0x5d6818
  1044. }
  1045.     custom
  1046.     {
  1047.         Field Class: bshw
  1048.     }
  1049.     explanation          type
  1050.     {
  1051.         Dialog Data Offset: 0x4da1d0
  1052.         {
  1053. Type controls bitmap 'geometry'. All dimensions must be a power of two except for SPRITES and INTERFACE BITMAPS:
  1054.  
  1055. * 2D TEXTURES: Ordinary, 2D textures will be generated.
  1056. * 3D TEXTURES: Volume textures will be generated from each sequence of 2D texture 'slices'.
  1057. * CUBE MAPS: Cube maps will be generated from each consecutive set of six 2D textures in each sequence, all faces of a cube map must be square and the same size.
  1058. * SPRITES: Sprite texture pages will be generated.
  1059. * INTERFACE BITMAPS: Similar to 2D TEXTURES, but without mipmaps and without the power of two restriction.
  1060.         }
  1061.     }
  1062.     enum                 type
  1063.     {
  1064.         2D textures
  1065.         3D textures
  1066.         cube maps
  1067.         sprites
  1068.         interface bitmaps
  1069.     }
  1070.     explanation          format
  1071.     {
  1072.         Dialog Data Offset: 0x4d9c80
  1073.         {
  1074. Format controls how pixels will be stored internally:
  1075.  
  1076. * COMPRESSED WITH COLOR-KEY TRANSPARENCY: DXT1 compression, uses 4 bits per pixel. 4x4 blocks of pixels are reduced to 2 colors and interpolated, alpha channel uses color-key transparency instead of alpha from the plate (all zero-alpha pixels also have zero-color).
  1077. * COMPRESSED WITH EXPLICIT ALPHA: DXT2/3 compression, uses 8 bits per pixel. Same as DXT1 without the color key transparency, alpha channel uses alpha from plate quantized down to 4 bits per pixel.
  1078. * COMPRESSED WITH INTERPOLATED ALPHA: DXT4/5 compression, uses 8 bits per pixel. Same as DXT2/3, except alpha is smoother. Better for smooth alpha gradients, worse for noisy alpha.
  1079. * 16-BIT COLOR: Uses 16 bits per pixel. Depending on the alpha channel, bitmaps are quantized to either r5g6b5 (no alpha), a1r5g5b5 (1-bit alpha), or a4r4g4b4 (>1-bit alpha).
  1080. * 32-BIT COLOR: Uses 32 bits per pixel. Very high quality, can have alpha at no added cost. This format takes up the most memory, however. Bitmap formats are x8r8g8b8 and a8r8g8b.
  1081. * MONOCHROME: Uses either 8 or 16 bits per pixel. Bitmap formats are a8 (alpha), y8 (intensity), ay8 (combined alpha-intensity) and a8y8 (separate alpha-intensity).
  1082.  
  1083. Note: Height maps (a.k.a. bump maps) should use 32-bit color; this is internally converted to a palettized format which takes less memory.
  1084.         }
  1085.     }
  1086.     enum                 format
  1087.     {
  1088.         compressed with color-key transparency
  1089.         compressed with explicit alpha
  1090.         compressed with interpolated alpha
  1091.         16-bit color
  1092.         32-bit color
  1093.         monochrome
  1094.     }
  1095.     explanation          usage
  1096.     {
  1097.         Dialog Data Offset: 0x4d99e0
  1098.         {
  1099. Usage controls how mipmaps are generated:
  1100.  
  1101. * ALPHA BLEND: Pixels with zero alpha are ignored in mipmaps, to prevent bleeding the transparent color.
  1102. * DEFAULT: Downsampling works normally, as in Photoshop.
  1103. * HEIGHT MAP: The bitmap (normally grayscale) is a height map which gets converted to a bump map. Uses <bump height> below. Alpha is passed through unmodified.
  1104. * DETAIL MAP: Mipmap color fades to gray, controlled by <detail fade factor> below. Alpha fades to white.
  1105. * LIGHT MAP: Generates no mipmaps. Do not use!
  1106. * VECTOR MAP: Used mostly for special effects; pixels are treated as XYZ vectors and normalized after downsampling. Alpha is passed through unmodified.
  1107.         }
  1108.     }
  1109.     enum                 usage
  1110.     {
  1111.         alpha-blend
  1112.         default
  1113.         height map
  1114.         detail map
  1115.         light map
  1116.         vector map
  1117.     }
  1118.     word_flags           flags
  1119.     {
  1120.         enable diffusion dithering
  1121.         disable height map compression
  1122.         uniform sprite sequences
  1123.         filthy sprite bug fix
  1124.     }
  1125.     explanation          post-processing
  1126.     {
  1127.         Dialog Data Offset: 0x4d9994
  1128.         {
  1129. These properties control how mipmaps are post-processed.
  1130.         }
  1131.     }
  1132.     real_fraction        detail fade factor:[0,1]#0 means fade to gray by last mipmap, 1 means fade to gray by first mipmap
  1133.     real_fraction        sharpen amount:[0,1]#sharpens mipmap after downsampling
  1134.     real_fraction        bump height:repeats#the apparent height of the bump map above the triangle it is textured onto, in texture repeats (i.e., 1.0 would be as high as the texture is wide)
  1135.     explanation          sprite processing
  1136.     {
  1137.         Dialog Data Offset: 0x4d9778
  1138.         {
  1139. When creating a sprite group, specify the number and size of textures that the group is allowed to occupy. During importing, you'll receive feedback about how well the alloted space was used.
  1140.         }
  1141.     }
  1142.     enum                 sprite budget size
  1143.     {
  1144.         32x32
  1145.         64x64
  1146.         128x128
  1147.         256x256
  1148.         512x512
  1149.     }
  1150.     short_integer        sprite budget count
  1151.     explanation          color plate
  1152.     {
  1153.         Dialog Data Offset: 0x4d970c
  1154.         {
  1155. The original TIFF file used to import the bitmap group.
  1156.         }
  1157.     }
  1158.     short_integer        color plate width*:pixels
  1159.     short_integer        color plate height*:pixels
  1160.     data                 compressed color plate data*
  1161.     {
  1162.         Definition Name: color_plate_data
  1163.         Interface Flags: 1
  1164.         Max Bytes: 16777216
  1165.     }
  1166.     explanation          processed pixel data
  1167.     {
  1168.         Dialog Data Offset: 0x4d966c
  1169.         {
  1170. Pixel data after being processed by the tool.
  1171.         }
  1172.     }
  1173.     data                 processed pixel data*
  1174.     {
  1175.         Definition Name: bitmap_pixel_data
  1176.         Max Bytes: 16777216
  1177.     }
  1178.     explanation          miscellaneous
  1179.     {
  1180.         Dialog Data Offset: 0x494b11
  1181.         {
  1182.  
  1183.         }
  1184.     }
  1185.     real                 blur filter size:[0,10] pixels#blurs the bitmap before generating mipmaps
  1186.     real                 alpha bias:[-1,1]#affects alpha mipmap generation
  1187.     short_integer        mipmap count:levels#0 defaults to all levels
  1188.     explanation          ...more sprite processing
  1189.     {
  1190.         Dialog Data Offset: 0x4d9544
  1191.         {
  1192. Sprite usage controls the background color of sprite plates.
  1193.         }
  1194.     }
  1195.     enum                 sprite usage
  1196.     {
  1197.         blend/add/subtract/max
  1198.         multiply/min
  1199.         double multiply
  1200.     }
  1201.     short_integer        sprite spacing*
  1202.     pad[2]
  1203.     block                sequences*
  1204.     {
  1205.         Name: bitmap_group_sequence_block
  1206.         Max Chunks: 256
  1207.         Chunk Size: 64
  1208.         Max Chunks x Chunk Size: 16384
  1209.         Chunk Definition Offset: 0x5d66c8
  1210.         {
  1211.             string               name^
  1212.             short_integer        first bitmap index*
  1213.             short_integer        bitmap count*
  1214.             pad[16]
  1215.             block                sprites*
  1216.             {
  1217.                 Name: bitmap_group_sprite_block
  1218.                 Max Chunks: 64
  1219.                 Chunk Size: 32
  1220.                 Max Chunks x Chunk Size: 2048
  1221.                 Chunk Definition Offset: 0x5d6630
  1222.                 {
  1223.                     short_integer        bitmap index*
  1224.                     pad[2]
  1225.                     pad[4]
  1226.                     real                 left*
  1227.                     real                 right*
  1228.                     real                 top*
  1229.                     real                 bottom*
  1230.                     real_point_2d        registration point*
  1231.                 }
  1232.             }
  1233.         }
  1234.     }
  1235.     block                bitmaps*
  1236.     {
  1237.         Name: bitmap_data_block
  1238.         Max Chunks: 2048
  1239.         Chunk Size: 48
  1240.         Max Chunks x Chunk Size: 98304
  1241.         Chunk Definition Offset: 0x5d6540
  1242.         {
  1243.             tag                  signature*
  1244.             short_integer        width*:pixels
  1245.             short_integer        height*:pixels
  1246.             short_integer        depth*:pixels#depth is 1 for 2D textures and cube maps
  1247.             enum                 type*#determines bitmap 'geometry'
  1248.             {
  1249.                 2D texture
  1250.                 3D texture
  1251.                 cube map
  1252.                 white
  1253.             }
  1254.             enum                 format*#determines how pixels are represented internally
  1255.             {
  1256.                 a8
  1257.                 y8
  1258.                 ay8
  1259.                 a8y8
  1260.                 unused1
  1261.                 unused2
  1262.                 r5g6b5
  1263.                 unused3
  1264.                 a1r5g5b5
  1265.                 a4r4g4b4
  1266.                 x8r8g8b8
  1267.                 a8r8g8b8
  1268.                 unused4
  1269.                 unused5
  1270.                 dxt1
  1271.                 dxt3
  1272.                 dxt5
  1273.                 p8-bump
  1274.             }
  1275.             word_flags           flags*
  1276.             {
  1277.                 power of two dimensions
  1278.                 compressed
  1279.                 palettized
  1280.                 swizzled
  1281.                 linear
  1282.                 v16u16
  1283.             }
  1284.             point_2d             registration point*
  1285.             short_integer        mipmap count*
  1286.             pad[2]
  1287.             long_integer         pixels offset*
  1288.             pad[4]
  1289.             pad[4]
  1290.             pad[4]
  1291.             pad[8]
  1292.         }
  1293.     }
  1294. POORLY-DETERMINED MIN FILESIZE OF bitm (including 64-byte header): 172
  1295. POORLY-DETERMINED MAX FILESIZE OF bitm (including 64-byte header): 33671340
  1296.  
  1297. Tag Definition Offset: 0x5d6430
  1298. Extension: color_table
  1299. Unknown: 0
  1300. Class: colo
  1301. No superclass
  1302. Version: 1
  1303. Definition Block:
  1304. {
  1305.     Name: color_table
  1306.     Count: 1
  1307.     Size: 12
  1308.     Chunks Offset: 0x5d63ec
  1309. }
  1310.     block                colors
  1311.     {
  1312.         Name: color_block
  1313.         Max Chunks: 512
  1314.         Chunk Size: 48
  1315.         Max Chunks x Chunk Size: 24576
  1316.         Chunk Definition Offset: 0x5d6390
  1317.         {
  1318.             string               name^
  1319.             real_argb_color      color
  1320.         }
  1321.     }
  1322. POORLY-DETERMINED MIN FILESIZE OF colo (including 64-byte header): 76
  1323. POORLY-DETERMINED MAX FILESIZE OF colo (including 64-byte header): 24652
  1324.  
  1325. Tag Definition Offset: 0x5d6228
  1326. Extension: string_list
  1327. Unknown: 0
  1328. Class: str#
  1329. No superclass
  1330. Version: 1
  1331. Definition Block:
  1332. {
  1333.     Name: string_list
  1334.     Count: 1
  1335.     Size: 12
  1336.     Chunks Offset: 0x5d61e0
  1337. }
  1338.     block                string references
  1339.     {
  1340.         Name: string reference
  1341.         Max Chunks: 800
  1342.         Chunk Size: 20
  1343.         Max Chunks x Chunk Size: 16000
  1344.         Chunk Definition Offset: 0x5d619c
  1345.         {
  1346.             data                 string
  1347.             {
  1348.                 Definition Name: string data
  1349.                 Interface Flags: 2
  1350.                 Max Bytes: 4096
  1351.             }
  1352.         }
  1353.     }
  1354. POORLY-DETERMINED MIN FILESIZE OF str# (including 64-byte header): 76
  1355. POORLY-DETERMINED MAX FILESIZE OF str# (including 64-byte header): 20172
  1356.  
  1357. Tag Definition Offset: 0x5d6330
  1358. Extension: unicode_string_list
  1359. Unknown: 0
  1360. Class: ustr
  1361. No superclass
  1362. Version: 1
  1363. Definition Block:
  1364. {
  1365.     Name: unicode_string_list
  1366.     Count: 1
  1367.     Size: 12
  1368.     Chunks Offset: 0x5d62e8
  1369. }
  1370.     block                string references
  1371.     {
  1372.         Name: string reference
  1373.         Max Chunks: 800
  1374.         Chunk Size: 20
  1375.         Max Chunks x Chunk Size: 16000
  1376.         Chunk Definition Offset: 0x5d62a4
  1377.         {
  1378.             data                 string
  1379.             {
  1380.                 Definition Name: string data
  1381.                 Max Bytes: 32768
  1382.             }
  1383.         }
  1384.     }
  1385. POORLY-DETERMINED MIN FILESIZE OF ustr (including 64-byte header): 76
  1386. POORLY-DETERMINED MAX FILESIZE OF ustr (including 64-byte header): 48844
  1387.  
  1388. Tag Definition Offset: 0x5d6120
  1389. Extension: font
  1390. Unknown: 0
  1391. Class: font
  1392. No superclass
  1393. Version: 1
  1394. Definition Block:
  1395. {
  1396.     Name: font
  1397.     Count: 1
  1398.     Size: 156
  1399.     Chunks Offset: 0x5d6048
  1400.     Dialog Data 1 Offset: 0x493240
  1401.     Dialog Data 2 Offset: 0x493220
  1402. }
  1403.     long_integer         flags
  1404.     short_integer        ascending height
  1405.     short_integer        decending height
  1406.     short_integer        leading height
  1407.     short_integer        leadin width
  1408.     pad[36]
  1409.     block                character tables
  1410.     {
  1411.         Name: font_character_tables
  1412.         Max Chunks: 256
  1413.         Chunk Size: 12
  1414.         Max Chunks x Chunk Size: 3072
  1415.         Chunk Definition Offset: 0x5d6004
  1416.         {
  1417.             block                character table
  1418.             {
  1419.                 Name: font_character_table
  1420.                 Max Chunks: 256
  1421.                 Chunk Size: 2
  1422.                 Max Chunks x Chunk Size: 512
  1423.                 Chunk Definition Offset: 0x5d5fc0
  1424.                 {
  1425.                     short_block_index    character index
  1426.                     {
  1427.                         Block Name: character
  1428.                     }
  1429.                 }
  1430.             }
  1431.         }
  1432.     }
  1433.     tag reference        bold
  1434.     {
  1435.         Supported tag class category: font
  1436.     }
  1437.     tag reference        italic
  1438.     {
  1439.         Supported tag class category: font
  1440.     }
  1441.     tag reference        condense
  1442.     {
  1443.         Supported tag class category: font
  1444.     }
  1445.     tag reference        underline
  1446.     {
  1447.         Supported tag class category: font
  1448.     }
  1449.     block                characters
  1450.     {
  1451.         Name: character
  1452.         Max Chunks: 32000
  1453.         Chunk Size: 20
  1454.         Max Chunks x Chunk Size: 640000
  1455.         Chunk Definition Offset: 0x5d5f00
  1456.         {
  1457.             short_integer        character*
  1458.             short_integer        character width
  1459.             short_integer        bitmap width*
  1460.             short_integer        bitmap height*
  1461.             short_integer        bitmap origin x
  1462.             short_integer        bitmap origin y
  1463.             short_integer        hardware character index*
  1464.             pad[2]
  1465.             long_integer         pixels offset*
  1466.         }
  1467.     }
  1468.     data                 pixels
  1469.     {
  1470.         Definition Name: pixels
  1471.         Max Bytes: 8388608
  1472.     }
  1473. POORLY-DETERMINED MIN FILESIZE OF font (including 64-byte header): 220
  1474. POORLY-DETERMINED MAX FILESIZE OF font (including 64-byte header): 9033432
  1475.  
  1476. Tag Definition Offset: 0x5d5ea0
  1477. Extension: unit
  1478. Unknown: 8
  1479. Class: unit
  1480. Superclass: obje
  1481. Version: 2
  1482. Definition Block:
  1483. {
  1484.     Name: unit
  1485.     Count: 1
  1486.     Size: 372
  1487.     Chunks Offset: 0x5d5bc8
  1488.     Dialog Data 1 Offset: 0x493180
  1489. }
  1490.     explanation          $$$ UNIT $$$
  1491.     {
  1492.         Dialog Data Offset: 0x494b11
  1493.         {
  1494.  
  1495.         }
  1496.     }
  1497.     long_flags           flags
  1498.     {
  1499.         circular aiming
  1500.         destroyed after dying
  1501.         half-speed interpolation
  1502.         fires from camera
  1503.         entrance inside bounding sphere
  1504.         unused
  1505.         causes passenger dialogue
  1506.         resists pings
  1507.         melee attack is fatal
  1508.         don't reface during pings
  1509.         has no aiming
  1510.         simple creature
  1511.         impact melee attaches to unit
  1512.         impact melee dies on shields
  1513.         cannot open doors automatically
  1514.         melee attackers cannot attach
  1515.         not instantly killed by melee
  1516.         shield sapping
  1517.         runs around flaming
  1518.         inconsequential
  1519.         special cinematic unit
  1520.         ignored by autoaiming
  1521.         shields fry infection forms
  1522.         integrated light cntrls weapon
  1523.         integrated light lasts forever
  1524.     }
  1525.     enum                 default team
  1526.     {
  1527.         none
  1528.         player
  1529.         human
  1530.         covenant
  1531.         flood
  1532.         sentinel
  1533.         unused (6)
  1534.         unused (7)
  1535.         unused (8)
  1536.         unused (9)
  1537.     }
  1538.     enum                 constant sound volume
  1539.     {
  1540.         silent
  1541.         medium
  1542.         loud
  1543.         shout
  1544.         quiet
  1545.     }
  1546.     real                 rider damage fraction:[0,+inf]#what percent damage applied to us gets applied to our children (i.e., riders)
  1547.     tag reference        integrated light toggle
  1548.     {
  1549.         Supported tag class category: effe
  1550.     }
  1551.     enum                 A in
  1552.     {
  1553.         none
  1554.         driver seat power
  1555.         gunner seat power
  1556.         aiming change
  1557.         mouth aperture
  1558.         integrated light power
  1559.         can blink
  1560.         shield sapping
  1561.     }
  1562.     enum                 B in
  1563.     {
  1564.         none
  1565.         driver seat power
  1566.         gunner seat power
  1567.         aiming change
  1568.         mouth aperture
  1569.         integrated light power
  1570.         can blink
  1571.         shield sapping
  1572.     }
  1573.     enum                 C in
  1574.     {
  1575.         none
  1576.         driver seat power
  1577.         gunner seat power
  1578.         aiming change
  1579.         mouth aperture
  1580.         integrated light power
  1581.         can blink
  1582.         shield sapping
  1583.     }
  1584.     enum                 D in
  1585.     {
  1586.         none
  1587.         driver seat power
  1588.         gunner seat power
  1589.         aiming change
  1590.         mouth aperture
  1591.         integrated light power
  1592.         can blink
  1593.         shield sapping
  1594.     }
  1595.     angle                camera field of view:degrees
  1596.     real                 camera stiffness
  1597.     string               camera marker name
  1598.     string               camera submerged marker name
  1599.     angle                pitch auto-level
  1600.     angle_bounds         pitch range
  1601.     block                camera tracks
  1602.     {
  1603.         Name: unit_camera_track_block
  1604.         Max Chunks: 2
  1605.         Chunk Size: 28
  1606.         Max Chunks x Chunk Size: 56
  1607.         Chunk Definition Offset: 0x5d57d8
  1608.         {
  1609.             tag reference        track
  1610.             {
  1611.                 Supported tag class category: trak
  1612.             }
  1613.             pad[12]
  1614.         }
  1615.     }
  1616.     real_vector_3d       seat acceleration scale
  1617.     pad[12]
  1618.     real                 soft ping threshold:[0,1]
  1619.     real                 soft ping interrupt time:seconds
  1620.     real                 hard ping threshold:[0,1]
  1621.     real                 hard ping interrupt time:seconds
  1622.     real                 hard death threshold:[0,1]
  1623.     real                 feign death threshold:[0,1]
  1624.     real                 feign death time:seconds
  1625.     real                 distance of evade anim:world units#this must be set to tell the AI how far it should expect our evade animation to move us
  1626.     real                 distance of dive anim:world units#this must be set to tell the AI how far it should expect our dive animation to move us
  1627.     pad[4]
  1628.     real                 stunned movement threshold:[0,1]#if we take this much damage in a short space of time we will play our 'stunned movement' animations
  1629.     real                 feign death chance:[0,1]
  1630.     real                 feign repeat chance:[0,1]
  1631.     tag reference        spawned actor#actor variant which we spawn when we are destroyed or self-destruct
  1632.     {
  1633.         Supported tag class category: actv
  1634.     }
  1635.     short_integer_bounds spawned actor count#number of actors which we spawn
  1636.     real                 spawned velocity#velocity at which we throw spawned actors
  1637.     angle                aiming velocity maximum:degrees per second
  1638.     angle                aiming acceleration maximum:degrees per second squared
  1639.     real_fraction        casual aiming modifier:[0,1]
  1640.     angle                looking velocity maximum:degrees per second
  1641.     angle                looking acceleration maximum:degrees per second squared
  1642.     pad[8]
  1643.     real                 AI vehicle radius#radius around this unit that the AI tries to avoid when entering it as a vehicle (zero = use bounding sphere radius)
  1644.     real                 AI danger radius#danger radius around this unit that the AI tries to avoid
  1645.     tag reference        melee damage
  1646.     {
  1647.         Supported tag class category: jpt!
  1648.     }
  1649.     enum                 motion sensor blip size
  1650.     {
  1651.         medium
  1652.         small
  1653.         large
  1654.     }
  1655.     pad[2]
  1656.     pad[12]
  1657.     block                NEW HUD INTERFACES
  1658.     {
  1659.         Name: unit_hud_reference_block
  1660.         Max Chunks: 2
  1661.         Chunk Size: 48
  1662.         Max Chunks x Chunk Size: 96
  1663.         Chunk Definition Offset: 0x5d5780
  1664.         {
  1665.             tag reference        unit hud interface
  1666.             {
  1667.                 Supported tag class category: unhi
  1668.             }
  1669.             pad[32]
  1670.         }
  1671.     }
  1672.     block                dialogue variants
  1673.     {
  1674.         Name: dialogue_variant_block
  1675.         Max Chunks: 16
  1676.         Chunk Size: 24
  1677.         Max Chunks x Chunk Size: 384
  1678.         Chunk Definition Offset: 0x5d5a6c
  1679.         {
  1680.             short_integer        variant number#variant number to use this dialogue with (must match the suffix in the permutations on the unit's model)
  1681.             pad[2]
  1682.             pad[4]
  1683.             tag reference        dialogue
  1684.             {
  1685.                 Supported tag class category: udlg
  1686.             }
  1687.         }
  1688.     }
  1689.     real                 grenade velocity:world units per second
  1690.     enum                 grenade type
  1691.     {
  1692.         human fragmentation
  1693.         covenant plasma
  1694.     }
  1695.     short_integer        grenade count
  1696.     pad[4]
  1697.     block                powered seats
  1698.     {
  1699.         Name: powered_seat_block
  1700.         Max Chunks: 2
  1701.         Chunk Size: 68
  1702.         Max Chunks x Chunk Size: 136
  1703.         Chunk Definition Offset: 0x5d59f8
  1704.         {
  1705.             pad[4]
  1706.             real                 driver powerup time:seconds
  1707.             real                 driver powerdown time:seconds
  1708.             pad[56]
  1709.         }
  1710.     }
  1711.     block                weapons
  1712.     {
  1713.         Name: unit_weapon_block
  1714.         Max Chunks: 4
  1715.         Chunk Size: 36
  1716.         Max Chunks x Chunk Size: 144
  1717.         Chunk Definition Offset: 0x5d59a0
  1718.         {
  1719.             tag reference        weapon^
  1720.             {
  1721.                 Supported tag class category: weap
  1722.             }
  1723.             pad[20]
  1724.         }
  1725.     }
  1726.     block                seats
  1727.     {
  1728.         Name: unit_seat_block
  1729.         Max Chunks: 16
  1730.         Chunk Size: 284
  1731.         Max Chunks x Chunk Size: 4544
  1732.         Chunk Definition Offset: 0x5d5860
  1733.         {
  1734.             long_flags           flags
  1735.             {
  1736.                 invisible
  1737.                 locked
  1738.                 driver
  1739.                 gunner
  1740.                 third person camera
  1741.                 allows weapons
  1742.                 third person on enter
  1743.                 first person camera slaved to gun.
  1744.                 allow vehicle communication animations
  1745.                 not valid without driver
  1746.                 allow AI noncombatants
  1747.             }
  1748.             string               label
  1749.             string               marker name^
  1750.             pad[32]
  1751.             real_vector_3d       acceleration scale
  1752.             pad[12]
  1753.             real                 yaw rate:degrees per second
  1754.             real                 pitch rate:degrees per second
  1755.             string               camera marker name
  1756.             string               camera submerged marker name
  1757.             angle                pitch auto-level
  1758.             angle_bounds         pitch range
  1759.             block                camera tracks
  1760.             {
  1761.                 Name: unit_camera_track_block
  1762.                 Max Chunks: 2
  1763.                 Chunk Size: 28
  1764.                 Max Chunks x Chunk Size: 56
  1765.                 Chunk Definition Offset: 0x5d57d8
  1766.                 {
  1767.                     tag reference        track
  1768.                     {
  1769.                         Supported tag class category: trak
  1770.                     }
  1771.                     pad[12]
  1772.                 }
  1773.             }
  1774.             block                unit hud interface
  1775.             {
  1776.                 Name: unit_hud_reference_block
  1777.                 Max Chunks: 2
  1778.                 Chunk Size: 48
  1779.                 Max Chunks x Chunk Size: 96
  1780.                 Chunk Definition Offset: 0x5d5780
  1781.                 {
  1782.                     tag reference        unit hud interface
  1783.                     {
  1784.                         Supported tag class category: unhi
  1785.                     }
  1786.                     pad[32]
  1787.                 }
  1788.             }
  1789.             pad[4]
  1790.             short_integer        hud text message index
  1791.             pad[2]
  1792.             angle                yaw minimum
  1793.             angle                yaw maximum
  1794.             tag reference        built-in gunner
  1795.             {
  1796.                 Supported tag class category: actv
  1797.             }
  1798.             pad[20]
  1799.         }
  1800.     }
  1801. POORLY-DETERMINED MIN FILESIZE OF unit (including 64-byte header): 436
  1802. POORLY-DETERMINED MAX FILESIZE OF unit (including 64-byte header): 8498
  1803.  
  1804. Tag Definition Offset: 0x5d5718
  1805. Extension: biped
  1806. Unknown: 9
  1807. Class: bipd
  1808. Superclass: unit
  1809. Version: 3
  1810. Dialog Data Offset: 0x492d20
  1811. Definition Block:
  1812. {
  1813.     Name: biped
  1814.     Count: 1
  1815.     Size: 516
  1816.     Chunks Offset: 0x5d5440
  1817. }
  1818.     explanation          $$$ BIPED $$$
  1819.     {
  1820.         Dialog Data Offset: 0x494b11
  1821.         {
  1822.  
  1823.         }
  1824.     }
  1825.     angle                moving turning speed:degrees per second
  1826.     long_flags           flags
  1827.     {
  1828.         turns without animating
  1829.         uses player physics
  1830.         flying
  1831.         physics pill centered at origin
  1832.         spherical
  1833.         passes through other bipeds
  1834.         can climb any surface
  1835.         immune to falling damage
  1836.         rotate while airborne
  1837.         uses limp body physics
  1838.         has no dying airborne
  1839.         random speed increase
  1840.         unit uses old (NTSC) player physics
  1841.     }
  1842.     angle                stationary turning threshold
  1843.     pad[16]
  1844.     enum                 A in
  1845.     {
  1846.         none
  1847.         flying velocity
  1848.     }
  1849.     enum                 B in
  1850.     {
  1851.         none
  1852.         flying velocity
  1853.     }
  1854.     enum                 C in
  1855.     {
  1856.         none
  1857.         flying velocity
  1858.     }
  1859.     enum                 D in
  1860.     {
  1861.         none
  1862.         flying velocity
  1863.     }
  1864.     tag reference        DON'T USE
  1865.     {
  1866.         Supported tag class category: jpt!
  1867.     }
  1868.     explanation          flying
  1869.     {
  1870.         Dialog Data Offset: 0x494b11
  1871.         {
  1872.  
  1873.         }
  1874.     }
  1875.     angle                bank angle:degrees#angle at which we bank left/right when sidestepping or turning while moving forwards
  1876.     real                 bank apply time:seconds#time it takes us to apply a bank
  1877.     real                 bank decay time:seconds#time it takes us to recover from a bank
  1878.     real                 pitch ratio#amount that we pitch up/down when moving up or down
  1879.     real                 max velocity:world units per second#max velocity when not crouching
  1880.     real                 max sidestep velocity:world units per second#max sideways or up/down velocity when not crouching
  1881.     real                 acceleration:world units per second squared
  1882.     real                 deceleration:world units per second squared
  1883.     angle                angular velocity maximum:degrees per second#turn rate
  1884.     angle                angular acceleration maximum:degrees per second squared#turn acceleration rate
  1885.     real                 crouch velocity modifier:[0,1]#how much slower we fly if crouching (zero = same speed)
  1886.     pad[8]
  1887.     explanation          movement
  1888.     {
  1889.         Dialog Data Offset: 0x494b11
  1890.         {
  1891.  
  1892.         }
  1893.     }
  1894.     angle                maximum slope angle:degrees
  1895.     angle                downhill falloff angle:degrees
  1896.     angle                downhill cutoff angle:degrees
  1897.     real                 downhill velocity scale
  1898.     angle                uphill falloff angle:degrees
  1899.     angle                uphill cutoff angle:degrees
  1900.     real                 uphill velocity scale
  1901.     pad[24]
  1902.     tag reference        footsteps
  1903.     {
  1904.         Supported tag class category: foot
  1905.     }
  1906.     pad[24]
  1907.     explanation          jumping and landing
  1908.     {
  1909.         Dialog Data Offset: 0x494b11
  1910.         {
  1911.  
  1912.         }
  1913.     }
  1914.     real                 jump velocity:world units per second
  1915.     pad[28]
  1916.     real                 maximum soft landing time:seconds#the longest amount of time the biped can take to recover from a soft landing
  1917.     real                 maximum hard landing time:seconds#the longest amount of time the biped can take to recover from a hard landing
  1918.     real                 minimum soft landing velocity:world units per second#below this velocity the biped does not react when landing
  1919.     real                 minimum hard landing velocity:world units per second#below this velocity the biped will not do a soft landing when returning to the ground
  1920.     real                 maximum hard landing velocity:world units per second#the velocity corresponding to the maximum landing time
  1921.     real                 death hard landing velocity:world units per second#the maximum velocity with which a character can strike the ground and live
  1922.     pad[20]
  1923.     explanation          camera, collision, and autoaim
  1924.     {
  1925.         Dialog Data Offset: 0x494b11
  1926.         {
  1927.  
  1928.         }
  1929.     }
  1930.     real                 standing camera height:world units
  1931.     real                 crouching camera height:world units
  1932.     real                 crouch transition time:seconds
  1933.     pad[24]
  1934.     real                 standing collision height:world units
  1935.     real                 crouching collision height:world units
  1936.     real                 collision radius:world units
  1937.     pad[40]
  1938.     real                 autoaim width:world units
  1939.     pad[140]
  1940.     block                contact points#these are the points where the biped touches the ground
  1941.     {
  1942.         Name: contact_point_block
  1943.         Max Chunks: 2
  1944.         Chunk Size: 64
  1945.         Max Chunks x Chunk Size: 128
  1946.         Chunk Definition Offset: 0x5d53a0
  1947.         {
  1948.             pad[32]
  1949.             string               marker name^
  1950.         }
  1951.     }
  1952. POORLY-DETERMINED MIN FILESIZE OF bipd (including 64-byte header): 580
  1953. POORLY-DETERMINED MAX FILESIZE OF bipd (including 64-byte header): 1218
  1954.  
  1955. Tag Definition Offset: 0x5d5340
  1956. Extension: vehicle
  1957. Unknown: 9
  1958. Class: vehi
  1959. Superclass: unit
  1960. Version: 1
  1961. Definition Block:
  1962. {
  1963.     Name: vehicle
  1964.     Count: 1
  1965.     Size: 256
  1966.     Chunks Offset: 0x5d5100
  1967.     Dialog Data 1 Offset: 0x492cd0
  1968. }
  1969.     explanation          $$$ VEHICLE $$$
  1970.     {
  1971.         Dialog Data Offset: 0x494b11
  1972.         {
  1973.  
  1974.         }
  1975.     }
  1976.     long_flags           flags
  1977.     {
  1978.         speed wakes physics
  1979.         turn wakes physics
  1980.         driver power wakes physics
  1981.         gunner power wakes physics
  1982.         control opposite speed sets brake
  1983.         slide wakes physics
  1984.         kills riders at terminal velocity
  1985.         causes collision damage
  1986.         ai weapon cannot rotate
  1987.         ai does not require driver
  1988.         ai unused
  1989.         ai driver enable
  1990.         ai driver flying
  1991.         ai driver can-sidestep
  1992.         ai driver hovering
  1993.     }
  1994.     enum                 type
  1995.     {
  1996.         human tank
  1997.         human jeep
  1998.         human boat
  1999.         human plane
  2000.         alien scout
  2001.         alien fighter
  2002.         turret
  2003.     }
  2004.     pad[2]
  2005.     real                 maximum forward speed
  2006.     real                 maximum reverse speed
  2007.     real                 speed acceleration
  2008.     real                 speed deceleration
  2009.     real                 maximum left turn
  2010.     real                 maximum right turn (negative)
  2011.     real                 wheel circumference
  2012.     real                 turn rate
  2013.     real                 blur speed
  2014.     enum                 A in
  2015.     {
  2016.         none
  2017.         speed absolute
  2018.         speed forward
  2019.         speed backward
  2020.         slide absolute
  2021.         slide left
  2022.         slide right
  2023.         speed slide maximum
  2024.         turn absolute
  2025.         turn left
  2026.         turn right
  2027.         crouch
  2028.         jump
  2029.         walk
  2030.         velocity air
  2031.         velocity water
  2032.         velocity ground
  2033.         velocity forward
  2034.         velocity left
  2035.         velocity up
  2036.         left tread position
  2037.         right tread position
  2038.         left tread velocity
  2039.         right tread velocity
  2040.         front left tire position
  2041.         front right tire position
  2042.         back left tire position
  2043.         back right tire position
  2044.         front left tire velocity
  2045.         front right tire velocity
  2046.         back left tire velocity
  2047.         back right tire velocity
  2048.         wingtip contrail
  2049.         hover
  2050.         thrust
  2051.         engine hack
  2052.         wingtip contrail new
  2053.     }
  2054.     enum                 B in
  2055.     {
  2056.         none
  2057.         speed absolute
  2058.         speed forward
  2059.         speed backward
  2060.         slide absolute
  2061.         slide left
  2062.         slide right
  2063.         speed slide maximum
  2064.         turn absolute
  2065.         turn left
  2066.         turn right
  2067.         crouch
  2068.         jump
  2069.         walk
  2070.         velocity air
  2071.         velocity water
  2072.         velocity ground
  2073.         velocity forward
  2074.         velocity left
  2075.         velocity up
  2076.         left tread position
  2077.         right tread position
  2078.         left tread velocity
  2079.         right tread velocity
  2080.         front left tire position
  2081.         front right tire position
  2082.         back left tire position
  2083.         back right tire position
  2084.         front left tire velocity
  2085.         front right tire velocity
  2086.         back left tire velocity
  2087.         back right tire velocity
  2088.         wingtip contrail
  2089.         hover
  2090.         thrust
  2091.         engine hack
  2092.         wingtip contrail new
  2093.     }
  2094.     enum                 C in
  2095.     {
  2096.         none
  2097.         speed absolute
  2098.         speed forward
  2099.         speed backward
  2100.         slide absolute
  2101.         slide left
  2102.         slide right
  2103.         speed slide maximum
  2104.         turn absolute
  2105.         turn left
  2106.         turn right
  2107.         crouch
  2108.         jump
  2109.         walk
  2110.         velocity air
  2111.         velocity water
  2112.         velocity ground
  2113.         velocity forward
  2114.         velocity left
  2115.         velocity up
  2116.         left tread position
  2117.         right tread position
  2118.         left tread velocity
  2119.         right tread velocity
  2120.         front left tire position
  2121.         front right tire position
  2122.         back left tire position
  2123.         back right tire position
  2124.         front left tire velocity
  2125.         front right tire velocity
  2126.         back left tire velocity
  2127.         back right tire velocity
  2128.         wingtip contrail
  2129.         hover
  2130.         thrust
  2131.         engine hack
  2132.         wingtip contrail new
  2133.     }
  2134.     enum                 D in
  2135.     {
  2136.         none
  2137.         speed absolute
  2138.         speed forward
  2139.         speed backward
  2140.         slide absolute
  2141.         slide left
  2142.         slide right
  2143.         speed slide maximum
  2144.         turn absolute
  2145.         turn left
  2146.         turn right
  2147.         crouch
  2148.         jump
  2149.         walk
  2150.         velocity air
  2151.         velocity water
  2152.         velocity ground
  2153.         velocity forward
  2154.         velocity left
  2155.         velocity up
  2156.         left tread position
  2157.         right tread position
  2158.         left tread velocity
  2159.         right tread velocity
  2160.         front left tire position
  2161.         front right tire position
  2162.         back left tire position
  2163.         back right tire position
  2164.         front left tire velocity
  2165.         front right tire velocity
  2166.         back left tire velocity
  2167.         back right tire velocity
  2168.         wingtip contrail
  2169.         hover
  2170.         thrust
  2171.         engine hack
  2172.         wingtip contrail new
  2173.     }
  2174.     pad[12]
  2175.     real                 maximum left slide
  2176.     real                 maximum right slide
  2177.     real                 slide acceleration
  2178.     real                 slide deceleration
  2179.     real                 minimum flipping angular velocity
  2180.     real                 maximum flipping angular velocity
  2181.     pad[24]
  2182.     real                 fixed gun yaw
  2183.     real                 fixed gun pitch
  2184.     pad[24]
  2185.     real                 ai sideslip distance
  2186.     real                 ai destination radius
  2187.     real                 ai avoidance distance
  2188.     real                 ai pathfinding radius
  2189.     real                 ai charge repeat timeout
  2190.     real                 ai strafing abort range
  2191.     angle_bounds         ai oversteering bounds
  2192.     angle                ai steering maximum
  2193.     real                 ai throttle maximum
  2194.     real                 ai move-position time
  2195.     pad[4]
  2196.     tag reference        suspension sound
  2197.     {
  2198.         Supported tag class category: snd!
  2199.     }
  2200.     tag reference        crash sound
  2201.     {
  2202.         Supported tag class category: snd!
  2203.     }
  2204.     tag reference        material effects
  2205.     {
  2206.         Supported tag class category: foot
  2207.     }
  2208.     tag reference        effect
  2209.     {
  2210.         Supported tag class category: effe
  2211.     }
  2212. POORLY-DETERMINED MIN FILESIZE OF vehi (including 64-byte header): 320
  2213. POORLY-DETERMINED MAX FILESIZE OF vehi (including 64-byte header): 1340
  2214.  
  2215. Tag Definition Offset: 0x5d4f90
  2216. Extension: scenery
  2217. Unknown: 9
  2218. Class: scen
  2219. Superclass: obje
  2220. Version: 1
  2221. Definition Block:
  2222. {
  2223.     Name: scenery
  2224.     Count: 1
  2225.     Size: 128
  2226.     Chunks Offset: 0x5d4f48
  2227. }
  2228.     pad[128]
  2229. POORLY-DETERMINED MIN FILESIZE OF scen (including 64-byte header): 192
  2230. POORLY-DETERMINED MAX FILESIZE OF scen (including 64-byte header): 192
  2231.  
  2232. Tag Definition Offset: 0x5d4ee8
  2233. Extension: physics
  2234. Unknown: 9
  2235. Class: phys
  2236. No superclass
  2237. Version: 4
  2238. Dialog Data Offset: 0x4928e0
  2239. Definition Block:
  2240. {
  2241.     Name: physics
  2242.     Count: 1
  2243.     Size: 128
  2244.     Chunks Offset: 0x5d4d90
  2245. }
  2246.     real                 radius#positive uses old inferior physics, negative uses new improved physics
  2247.     real_fraction        moment scale
  2248.     real                 mass
  2249.     real_point_3d        center of mass*
  2250.     real                 density
  2251.     real                 gravity scale
  2252.     real                 ground friction
  2253.     real                 ground depth
  2254.     real_fraction        ground damp fraction
  2255.     real                 ground normal k1
  2256.     real                 ground normal k0
  2257.     pad[4]
  2258.     real                 water friction
  2259.     real                 water depth
  2260.     real                 water density
  2261.     pad[4]
  2262.     real_fraction        air friction
  2263.     pad[4]
  2264.     real                 xx moment
  2265.     real                 yy moment
  2266.     real                 zz moment
  2267.     block                inertial matrix and inverse*
  2268.     {
  2269.         Name: inertial_matrix_block
  2270.         Max Chunks: 2
  2271.         Chunk Size: 36
  2272.         Max Chunks x Chunk Size: 72
  2273.         Chunk Definition Offset: 0x5d4b38
  2274.         {
  2275.             real_vector_3d       yy+zz    -xy     -zx
  2276.             real_vector_3d        -xy    zz+xx    -yz
  2277.             real_vector_3d        -zx     -yz    xx+yy
  2278.         }
  2279.     }
  2280.     block                powered mass points
  2281.     {
  2282.         Name: powered_mass_point_block
  2283.         Max Chunks: 32
  2284.         Chunk Size: 128
  2285.         Max Chunks x Chunk Size: 4096
  2286.         Chunk Definition Offset: 0x5d4bb8
  2287.         {
  2288.             string               name^
  2289.             long_flags           flags
  2290.             {
  2291.                 ground friction
  2292.                 water friction
  2293.                 air friction
  2294.                 water lift
  2295.                 air lift
  2296.                 thrust
  2297.                 antigrav
  2298.             }
  2299.             real                 antigrav strength
  2300.             real                 antigrav offset
  2301.             real                 antigrav height
  2302.             real                 antigrav damp fraction
  2303.             real                 antigrav normal k1
  2304.             real                 antigrav normal k0
  2305.             pad[68]
  2306.         }
  2307.     }
  2308.     block                mass points
  2309.     {
  2310.         Name: mass_point_block
  2311.         Max Chunks: 32
  2312.         Chunk Size: 128
  2313.         Max Chunks x Chunk Size: 4096
  2314.         Chunk Definition Offset: 0x5d4c88
  2315.         {
  2316.             string               name^*
  2317.             short_block_index    powered mass point
  2318.             {
  2319.                 Block Name: powered_mass_point_block
  2320.             }
  2321.             short_integer        model node*
  2322.             long_flags           flags
  2323.             {
  2324.                 metallic
  2325.             }
  2326.             real                 relative mass
  2327.             real                 mass*
  2328.             real                 relative density
  2329.             real                 density*
  2330.             real_point_3d        position
  2331.             real_vector_3d       forward
  2332.             real_vector_3d       up
  2333.             enum                 friction type
  2334.             {
  2335.                 point
  2336.                 forward
  2337.                 left
  2338.                 up
  2339.             }
  2340.             pad[2]
  2341.             real                 friction parallel scale
  2342.             real                 friction perpendicular scale
  2343.             real                 radius
  2344.             pad[20]
  2345.         }
  2346.     }
  2347. POORLY-DETERMINED MIN FILESIZE OF phys (including 64-byte header): 192
  2348. POORLY-DETERMINED MAX FILESIZE OF phys (including 64-byte header): 8456
  2349.  
  2350. Tag Definition Offset: 0x5d4ad8
  2351. Extension: object
  2352. Unknown: 8
  2353. Class: obje
  2354. No superclass
  2355. Version: 1
  2356. Dialog Data Offset: 0x492300
  2357. Definition Block:
  2358. {
  2359.     Name: object
  2360.     Count: 1
  2361.     Size: 380
  2362.     Chunks Offset: 0x5d4940
  2363. }
  2364.     pad[2]
  2365.     word_flags           flags
  2366.     {
  2367.         does not cast shadow
  2368.         transparent self-occlusion
  2369.         brighter than it should be
  2370.         not a pathfinding obstacle
  2371.     }
  2372.     real                 bounding radius:world units
  2373.     real_point_3d        bounding offset
  2374.     real_point_3d        origin offset
  2375.     real                 acceleration scale:[0,+inf]#marine 1.0, grunt 1.4, elite 0.9, hunter 0.5, etc.
  2376.     pad[4]
  2377.     tag reference        model
  2378.     {
  2379.         Supported tag class category: mod2
  2380.     }
  2381.     tag reference        animation graph
  2382.     {
  2383.         Supported tag class category: antr
  2384.     }
  2385.     pad[40]
  2386.     tag reference        collision model
  2387.     {
  2388.         Supported tag class category: coll
  2389.     }
  2390.     tag reference        physics
  2391.     {
  2392.         Supported tag class category: phys
  2393.     }
  2394.     tag reference        modifier shader
  2395.     {
  2396.         Supported tag class category: shdr
  2397.     }
  2398.     tag reference        creation effect
  2399.     {
  2400.         Supported tag class category: effe
  2401.     }
  2402.     pad[84]
  2403.     real                 render bounding radius:world units#if set, this radius is used to determine if the object is visible. set it for the pelican.
  2404.     explanation          export to functions
  2405.     {
  2406.         Dialog Data Offset: 0x494b11
  2407.         {
  2408.  
  2409.         }
  2410.     }
  2411.     enum                 A in
  2412.     {
  2413.         none
  2414.         body vitality
  2415.         shield vitality
  2416.         recent body damage
  2417.         recent shield damage
  2418.         random constant
  2419.         umbrella shield vitality
  2420.         shield stun
  2421.         recent umbrella shield vitality
  2422.         umbrella shield stun
  2423.         region #00 damage
  2424.         region #01 damage
  2425.         region #02 damage
  2426.         region #03 damage
  2427.         region #04 damage
  2428.         region #05 damage
  2429.         region #06 damage
  2430.         region #07 damage
  2431.         alive
  2432.         compass
  2433.     }
  2434.     enum                 B in
  2435.     {
  2436.         none
  2437.         body vitality
  2438.         shield vitality
  2439.         recent body damage
  2440.         recent shield damage
  2441.         random constant
  2442.         umbrella shield vitality
  2443.         shield stun
  2444.         recent umbrella shield vitality
  2445.         umbrella shield stun
  2446.         region #00 damage
  2447.         region #01 damage
  2448.         region #02 damage
  2449.         region #03 damage
  2450.         region #04 damage
  2451.         region #05 damage
  2452.         region #06 damage
  2453.         region #07 damage
  2454.         alive
  2455.         compass
  2456.     }
  2457.     enum                 C in
  2458.     {
  2459.         none
  2460.         body vitality
  2461.         shield vitality
  2462.         recent body damage
  2463.         recent shield damage
  2464.         random constant
  2465.         umbrella shield vitality
  2466.         shield stun
  2467.         recent umbrella shield vitality
  2468.         umbrella shield stun
  2469.         region #00 damage
  2470.         region #01 damage
  2471.         region #02 damage
  2472.         region #03 damage
  2473.         region #04 damage
  2474.         region #05 damage
  2475.         region #06 damage
  2476.         region #07 damage
  2477.         alive
  2478.         compass
  2479.     }
  2480.     enum                 D in
  2481.     {
  2482.         none
  2483.         body vitality
  2484.         shield vitality
  2485.         recent body damage
  2486.         recent shield damage
  2487.         random constant
  2488.         umbrella shield vitality
  2489.         shield stun
  2490.         recent umbrella shield vitality
  2491.         umbrella shield stun
  2492.         region #00 damage
  2493.         region #01 damage
  2494.         region #02 damage
  2495.         region #03 damage
  2496.         region #04 damage
  2497.         region #05 damage
  2498.         region #06 damage
  2499.         region #07 damage
  2500.         alive
  2501.         compass
  2502.     }
  2503.     pad[44]
  2504.     short_integer        hud text message index
  2505.     short_integer        forced shader permuation index
  2506.     block                attachments
  2507.     {
  2508.         Name: object_attachment_block
  2509.         Max Chunks: 8
  2510.         Chunk Size: 72
  2511.         Max Chunks x Chunk Size: 576
  2512.         Chunk Definition Offset: 0x5d46a8
  2513.         {
  2514.             tag reference        type^
  2515.             {
  2516.                 Supported tag class: ligh
  2517.                 Supported tag class: mgs2
  2518.                 Supported tag class: cont
  2519.                 Supported tag class: pctl
  2520.                 Supported tag class: effe
  2521.                 Supported tag class: lsnd
  2522.             }
  2523.             string               marker
  2524.             enum                 primary scale
  2525.             {
  2526.                 none
  2527.                 A out
  2528.                 B out
  2529.                 C out
  2530.                 D out
  2531.             }
  2532.             enum                 secondary scale
  2533.             {
  2534.                 none
  2535.                 A out
  2536.                 B out
  2537.                 C out
  2538.                 D out
  2539.             }
  2540.             enum                 change color
  2541.             {
  2542.                 none
  2543.                 A
  2544.                 B
  2545.                 C
  2546.                 D
  2547.             }
  2548.             pad[2]
  2549.             pad[16]
  2550.         }
  2551.     }
  2552.     block                widgets
  2553.     {
  2554.         Name: object_widget_block
  2555.         Max Chunks: 4
  2556.         Chunk Size: 32
  2557.         Max Chunks x Chunk Size: 128
  2558.         Chunk Definition Offset: 0x5d4758
  2559.         {
  2560.             tag reference        reference^
  2561.             {
  2562.                 Supported tag class: flag
  2563.                 Supported tag class: ant!
  2564.                 Supported tag class: glw!
  2565.                 Supported tag class: mgs2
  2566.                 Supported tag class: elec
  2567.             }
  2568.             pad[16]
  2569.         }
  2570.     }
  2571.     block                functions
  2572.     {
  2573.         Name: object_function_block
  2574.         Max Chunks: 4
  2575.         Chunk Size: 360
  2576.         Max Chunks x Chunk Size: 1440
  2577.         Chunk Definition Offset: 0x5d4530
  2578.         {
  2579.             long_flags           flags
  2580.             {
  2581.                 invert#result of function is one minus actual result
  2582.                 additive
  2583.                 always active#function does not deactivate when at or below lower bound
  2584.             }
  2585.             real                 period:seconds#this is the period for the above function (lower values make the function oscillate quickly, higher values make it oscillate slowly)
  2586.             enum                 scale period by#multiply this function by the above period
  2587.             {
  2588.                 none
  2589.                 A in
  2590.                 B in
  2591.                 C in
  2592.                 D in
  2593.                 A out
  2594.                 B out
  2595.                 C out
  2596.                 D out
  2597.             }
  2598.             enum                 function
  2599.             {
  2600.                 one
  2601.                 zero
  2602.                 cosine
  2603.                 cosine (variable period)
  2604.                 diagonal wave
  2605.                 diagonal wave (variable period)
  2606.                 slide
  2607.                 slide (variable period)
  2608.                 noise
  2609.                 jitter
  2610.                 wander
  2611.                 spark
  2612.             }
  2613.             enum                 scale function by#multiply this function by the result of the above function
  2614.             {
  2615.                 none
  2616.                 A in
  2617.                 B in
  2618.                 C in
  2619.                 D in
  2620.                 A out
  2621.                 B out
  2622.                 C out
  2623.                 D out
  2624.             }
  2625.             enum                 wobble function#the curve used for the wobble
  2626.             {
  2627.                 one
  2628.                 zero
  2629.                 cosine
  2630.                 cosine (variable period)
  2631.                 diagonal wave
  2632.                 diagonal wave (variable period)
  2633.                 slide
  2634.                 slide (variable period)
  2635.                 noise
  2636.                 jitter
  2637.                 wander
  2638.                 spark
  2639.             }
  2640.             real                 wobble period:seconds#the length of time it takes for the magnitude of this function to complete a wobble
  2641.             real                 wobble magnitude:percent#the amount of random wobble in the magnitude
  2642.             real_fraction        square wave threshold#if non-zero, all values above the square wave threshold are snapped to 1.0, and all values below it are snapped to 0.0 to create a square wave.
  2643.             short_integer        step count#the number of discrete values to snap to (e.g., a step count of 5 would snap the function to 0.00,0.25,0.50,0.75 or 1.00)
  2644.             enum                 map to
  2645.             {
  2646.                 linear
  2647.                 early
  2648.                 very early
  2649.                 late
  2650.                 very late
  2651.                 cosine
  2652.             }
  2653.             short_integer        sawtooth count#the number of times this function should repeat (e.g., a sawtooth count of 5 would give the function a value of 1.0 at each of 0.25,0.50,0.75 as well as at 1.0
  2654.             enum                 add#add this function to the final result of all of the above math
  2655.             {
  2656.                 none
  2657.                 A in
  2658.                 B in
  2659.                 C in
  2660.                 D in
  2661.                 A out
  2662.                 B out
  2663.                 C out
  2664.                 D out
  2665.             }
  2666.             enum                 scale result by#multiply this function (from a weapon, vehicle, etc.) final result of all of the above math
  2667.             {
  2668.                 none
  2669.                 A in
  2670.                 B in
  2671.                 C in
  2672.                 D in
  2673.                 A out
  2674.                 B out
  2675.                 C out
  2676.                 D out
  2677.             }
  2678.             enum                 bounds mode#controls how the bounds, below, are used
  2679.             {
  2680.                 clip
  2681.                 clip and normalize
  2682.                 scale to fit
  2683.             }
  2684.             fraction_bounds      bounds
  2685.             pad[4]
  2686.             pad[2]
  2687.             short_block_index    turn off with#if the specified function is off, so is this function
  2688.             {
  2689.                 Block Name: object_function_block
  2690.             }
  2691.             real                 scale by#applied before clip, ignored if zero
  2692.             pad[252]
  2693.             pad[16]
  2694.             string               usage
  2695.         }
  2696.     }
  2697.     block                change colors
  2698.     {
  2699.         Name: object_change_colors
  2700.         Max Chunks: 4
  2701.         Chunk Size: 44
  2702.         Max Chunks x Chunk Size: 176
  2703.         Chunk Definition Offset: 0x5d4818
  2704.         {
  2705.             enum                 darken by
  2706.             {
  2707.                 none
  2708.                 A in
  2709.                 B in
  2710.                 C in
  2711.                 D in
  2712.                 A out
  2713.                 B out
  2714.                 C out
  2715.                 D out
  2716.             }
  2717.             enum                 scale by
  2718.             {
  2719.                 none
  2720.                 A in
  2721.                 B in
  2722.                 C in
  2723.                 D in
  2724.                 A out
  2725.                 B out
  2726.                 C out
  2727.                 D out
  2728.             }
  2729.             long_flags           scale flags
  2730.             {
  2731.                 blend in hsv#blends colors in hsv rather than rgb space
  2732.                 ...more colors#blends colors through more hues (goes the long way around the color wheel)
  2733.             }
  2734.             real_rgb_color       color lower bound
  2735.             real_rgb_color       color upper bound
  2736.             block                permutations
  2737.             {
  2738.                 Name: object_change_color_permutations
  2739.                 Max Chunks: 8
  2740.                 Chunk Size: 28
  2741.                 Max Chunks x Chunk Size: 224
  2742.                 Chunk Definition Offset: 0x5d47a8
  2743.                 {
  2744.                     real                 weight
  2745.                     real_rgb_color       color lower bound
  2746.                     real_rgb_color       color upper bound
  2747.                 }
  2748.             }
  2749.         }
  2750.     }
  2751.     block                predicted resources*
  2752.     {
  2753.         Name: predicted_resource_block
  2754.         Max Chunks: 1024
  2755.         Chunk Size: 8
  2756.         Max Chunks x Chunk Size: 8192
  2757.         Chunk Definition Offset: 0x605ee0
  2758.         {
  2759.             enum                 type
  2760.             {
  2761.                 bitmap
  2762.                 sound
  2763.             }
  2764.             short_integer        resource index
  2765.             long_integer         tag index
  2766.         }
  2767.     }
  2768. POORLY-DETERMINED MIN FILESIZE OF obje (including 64-byte header): 444
  2769. POORLY-DETERMINED MAX FILESIZE OF obje (including 64-byte header): 13220
  2770.  
  2771. Tag Definition Offset: 0x5d43e8
  2772. Extension: contrail
  2773. Unknown: 8
  2774. Class: cont
  2775. No superclass
  2776. Version: 3
  2777. Definition Block:
  2778. {
  2779.     Name: contrail
  2780.     Count: 1
  2781.     Size: 324
  2782.     Chunks Offset: 0x5d4160
  2783.     Dialog Data 1 Offset: 0x492160
  2784. }
  2785.     word_flags           flags
  2786.     {
  2787.         first point unfaded
  2788.         last point unfaded
  2789.         points start pinned to media
  2790.         points start pinned to ground
  2791.         points always pinned to media
  2792.         points always pinned to ground
  2793.         edge effect fades slowly
  2794.     }
  2795.     word_flags           scale flags#these flags determine which fields are scaled by the contrail density
  2796.     {
  2797.         point generation rate
  2798.         point velocity
  2799.         point velocity delta
  2800.         point velocity cone angle
  2801.         inherited velocity fraction
  2802.         sequence animation rate
  2803.         texture scale u
  2804.         texture scale v
  2805.         texture animation u
  2806.         texture animation v
  2807.     }
  2808.     explanation          point creation
  2809.     {
  2810.         Dialog Data Offset: 0x494b11
  2811.         {
  2812.  
  2813.         }
  2814.     }
  2815.     real                 point generation rate:points per second#this many points are generated per second
  2816.     real_bounds          point velocity:world units per second#velocity added to each point's initial velocity
  2817.     angle                point velocity cone angle:degrees#initial velocity is inside the cone defined by the marker's forward vector and this angle
  2818.     real_fraction        inherited velocity fraction#fraction of parent object's velocity that is inherited by contrail points.
  2819.     explanation          rendering
  2820.     {
  2821.         Dialog Data Offset: 0x494b11
  2822.         {
  2823.  
  2824.         }
  2825.     }
  2826.     enum                 render type#this specifies how the contrail is oriented in space
  2827.     {
  2828.         vertical orientation
  2829.         horizontal orientation
  2830.         media mapped
  2831.         ground mapped
  2832.         viewer facing
  2833.         double-marker linked
  2834.     }
  2835.     pad[2]
  2836.     real                 texture repeats u#texture repeats per contrail segment
  2837.     real                 texture repeats v#texture repeats across contrail width
  2838.     real                 texture animation u:repeats per second#the texture along the contrail is animated by this value
  2839.     real                 texture animation v:repeats per second#the texture across the contrail is animated by this value
  2840.     real                 animation rate:frames per second
  2841.     tag reference        bitmap
  2842.     {
  2843.         Supported tag class category: bitm
  2844.     }
  2845.     short_integer        first sequence index
  2846.     short_integer        sequence count
  2847.     pad[64]
  2848.     pad[40]
  2849.     word_flags           shader flags
  2850.     {
  2851.         sort bias
  2852.         nonlinear tint
  2853.         don't overdraw fp weapon
  2854.     }
  2855.     enum                 framebuffer blend function
  2856.     {
  2857.         alpha blend
  2858.         multiply
  2859.         double multiply
  2860.         add
  2861.         subtract
  2862.         component min
  2863.         component max
  2864.         alpha-multiply add
  2865.     }
  2866.     enum                 framebuffer fade mode
  2867.     {
  2868.         none
  2869.         fade when perpendicular
  2870.         fade when parallel
  2871.     }
  2872.     word_flags           map flags
  2873.     {
  2874.         unfiltered
  2875.     }
  2876.     pad[28]
  2877.     explanation          Secondary Map
  2878.     {
  2879.         Dialog Data Offset: 0x4cc2b4
  2880.         {
  2881. Optional multitextured second map
  2882.         }
  2883.     }
  2884.     tag reference        bitmap
  2885.     {
  2886.         Supported tag class category: bitm
  2887.     }
  2888.     enum                 anchor
  2889.     {
  2890.         with primary
  2891.         with screen space
  2892.         zsprite
  2893.     }
  2894.     word_flags           flags
  2895.     {
  2896.         unfiltered
  2897.     }
  2898.     enum                 u-animation source
  2899.     {
  2900.         none
  2901.         A out
  2902.         B out
  2903.         C out
  2904.         D out
  2905.     }
  2906.     enum                 u-animation function
  2907.     {
  2908.         one
  2909.         zero
  2910.         cosine
  2911.         cosine (variable period)
  2912.         diagonal wave
  2913.         diagonal wave (variable period)
  2914.         slide
  2915.         slide (variable period)
  2916.         noise
  2917.         jitter
  2918.         wander
  2919.         spark
  2920.     }
  2921.     real                 u-animation period:seconds#0 defaults to 1
  2922.     real                 u-animation phase
  2923.     real                 u-animation scale:repeats#0 defaults to 1
  2924.     enum                 v-animation source
  2925.     {
  2926.         none
  2927.         A out
  2928.         B out
  2929.         C out
  2930.         D out
  2931.     }
  2932.     enum                 v-animation function
  2933.     {
  2934.         one
  2935.         zero
  2936.         cosine
  2937.         cosine (variable period)
  2938.         diagonal wave
  2939.         diagonal wave (variable period)
  2940.         slide
  2941.         slide (variable period)
  2942.         noise
  2943.         jitter
  2944.         wander
  2945.         spark
  2946.     }
  2947.     real                 v-animation period:seconds#0 defaults to 1
  2948.     real                 v-animation phase
  2949.     real                 v-animation scale:repeats#0 defaults to 1
  2950.     enum                 rotation-animation source
  2951.     {
  2952.         none
  2953.         A out
  2954.         B out
  2955.         C out
  2956.         D out
  2957.     }
  2958.     enum                 rotation-animation function
  2959.     {
  2960.         one
  2961.         zero
  2962.         cosine
  2963.         cosine (variable period)
  2964.         diagonal wave
  2965.         diagonal wave (variable period)
  2966.         slide
  2967.         slide (variable period)
  2968.         noise
  2969.         jitter
  2970.         wander
  2971.         spark
  2972.     }
  2973.     real                 rotation-animation period:seconds#0 defaults to 1
  2974.     real                 rotation-animation phase
  2975.     real                 rotation-animation scale:degrees#0 defaults to 360
  2976.     real_point_2d        rotation-animation center
  2977.     pad[4]
  2978.     real                 zsprite radius scale
  2979.     pad[20]
  2980.     block                point states
  2981.     {
  2982.         Name: contrail_point_states_block
  2983.         Max Chunks: 16
  2984.         Chunk Size: 104
  2985.         Max Chunks x Chunk Size: 1664
  2986.         Chunk Definition Offset: 0x5d4038
  2987.         {
  2988.             explanation          state timing
  2989.             {
  2990.                 Dialog Data Offset: 0x494b11
  2991.                 {
  2992.  
  2993.                 }
  2994.             }
  2995.             real_bounds          duration:seconds:seconds#the time a point spends in this state
  2996.             real_bounds          transition duration:seconds#the time a point takes to transition to the next state
  2997.             explanation          point variables
  2998.             {
  2999.                 Dialog Data Offset: 0x494b11
  3000.                 {
  3001.  
  3002.                 }
  3003.             }
  3004.             tag reference        physics
  3005.             {
  3006.                 Supported tag class category: pphy
  3007.             }
  3008.             pad[32]
  3009.             real                 width:world units#contrail width at this point
  3010.             real_argb_color      color lower bound#contrail color at this point
  3011.             real_argb_color      color upper bound#contrail color at this point
  3012.             long_flags           scale flags#these flags determine which fields are scaled by the contrail density
  3013.             {
  3014.                 duration
  3015.                 duration delta
  3016.                 transition duration
  3017.                 transition duration delta
  3018.                 width
  3019.                 color
  3020.             }
  3021.         }
  3022.     }
  3023. POORLY-DETERMINED MIN FILESIZE OF cont (including 64-byte header): 388
  3024. POORLY-DETERMINED MAX FILESIZE OF cont (including 64-byte header): 2817
  3025.  
  3026. Tag Definition Offset: 0x5d3f98
  3027. Extension: weapon
  3028. Unknown: 9
  3029. Class: weap
  3030. Superclass: item
  3031. Version: 2
  3032. Definition Block:
  3033. {
  3034.     Name: weapon
  3035.     Count: 1
  3036.     Size: 512
  3037.     Chunks Offset: 0x5d3ba0
  3038.     Dialog Data 1 Offset: 0x491e00
  3039. }
  3040.     explanation          $$$ WEAPON $$$
  3041.     {
  3042.         Dialog Data Offset: 0x4d46f0
  3043.         {
  3044. All weapons should have 'primary trigger' and 'secondary trigger' markers as appropriate.
  3045. Blurred permutations are called '$primary-blur' and '$secondary-blur'.
  3046.         }
  3047.     }
  3048.     long_flags           flags
  3049.     {
  3050.         vertical heat display
  3051.         mutually exclusive triggers
  3052.         attacks automatically on bump
  3053.         must be readied
  3054.         doesn't count toward maximum
  3055.         aim assists only when zoomed
  3056.         prevents grenade throwing
  3057.         must be picked up
  3058.         holds triggers when dropped
  3059.         prevents melee attack
  3060.         detonates when dropped
  3061.         cannot fire at maximum age
  3062.         secondary trigger overrides grenades
  3063.         (OBSOLETE)does not depower active camo in multilplayer
  3064.         enables integrated night vision
  3065.         AIs use weapon melee damage
  3066.     }
  3067.     string               label#the string used to match this weapon to an animation mode in the unit carrying it
  3068.     enum                 secondary trigger mode
  3069.     {
  3070.         normal
  3071.         slaved to primary
  3072.         inhibits primary
  3073.         loads alterate ammunition
  3074.         loads multiple primary ammunition
  3075.     }
  3076.     short_integer        maximum alternate shots loaded#if the second trigger loads alternate ammunition, this is the maximum number of shots that can be loaded at a time
  3077.     explanation          export to functions
  3078.     {
  3079.         Dialog Data Offset: 0x494b11
  3080.         {
  3081.  
  3082.         }
  3083.     }
  3084.     enum                 A in
  3085.     {
  3086.         none
  3087.         heat
  3088.         primary ammunition
  3089.         secondary ammunition
  3090.         primary rate of fire
  3091.         secondary rate of fire
  3092.         ready
  3093.         primary ejection port
  3094.         secondary ejection port
  3095.         overheated
  3096.         primary charged
  3097.         secondary charged
  3098.         illumination
  3099.         age
  3100.         integrated light
  3101.         primary firing
  3102.         secondary firing
  3103.         primary firing on
  3104.         secondary firing on
  3105.     }
  3106.     enum                 B in
  3107.     {
  3108.         none
  3109.         heat
  3110.         primary ammunition
  3111.         secondary ammunition
  3112.         primary rate of fire
  3113.         secondary rate of fire
  3114.         ready
  3115.         primary ejection port
  3116.         secondary ejection port
  3117.         overheated
  3118.         primary charged
  3119.         secondary charged
  3120.         illumination
  3121.         age
  3122.         integrated light
  3123.         primary firing
  3124.         secondary firing
  3125.         primary firing on
  3126.         secondary firing on
  3127.     }
  3128.     enum                 C in
  3129.     {
  3130.         none
  3131.         heat
  3132.         primary ammunition
  3133.         secondary ammunition
  3134.         primary rate of fire
  3135.         secondary rate of fire
  3136.         ready
  3137.         primary ejection port
  3138.         secondary ejection port
  3139.         overheated
  3140.         primary charged
  3141.         secondary charged
  3142.         illumination
  3143.         age
  3144.         integrated light
  3145.         primary firing
  3146.         secondary firing
  3147.         primary firing on
  3148.         secondary firing on
  3149.     }
  3150.     enum                 D in
  3151.     {
  3152.         none
  3153.         heat
  3154.         primary ammunition
  3155.         secondary ammunition
  3156.         primary rate of fire
  3157.         secondary rate of fire
  3158.         ready
  3159.         primary ejection port
  3160.         secondary ejection port
  3161.         overheated
  3162.         primary charged
  3163.         secondary charged
  3164.         illumination
  3165.         age
  3166.         integrated light
  3167.         primary firing
  3168.         secondary firing
  3169.         primary firing on
  3170.         secondary firing on
  3171.     }
  3172.     real                 ready time:seconds
  3173.     tag reference        ready effect
  3174.     {
  3175.         Supported tag class: snd!
  3176.         Supported tag class: effe
  3177.     }
  3178.     explanation          heat
  3179.     {
  3180.         Dialog Data Offset: 0x494b11
  3181.         {
  3182.  
  3183.         }
  3184.     }
  3185.     real_fraction        heat recovery threshold:[0,1]#the heat value a weapon must return to before leaving the overheated state, once it has become overheated in the first place
  3186.     real_fraction        overheated threshold:[0,1]#the heat value over which a weapon first becomes overheated (should be greater than the heat recovery threshold)
  3187.     real_fraction        heat detonation threshold:[0,1]#the heat value above which the weapon has a chance of exploding each time it is fired
  3188.     real_fraction        heat detonation fraction:[0,1]#the percent chance (between 0.0 and 1.0) the weapon will explode when fired over the heat detonation threshold
  3189.     real_fraction        heat loss per second:[0,1]#the amount of heat lost each second when the weapon is not being fired
  3190.     real_fraction        heat illumination:[0,1]#the amount of illumination given off when the weapon is overheated
  3191.     pad[16]
  3192.     tag reference        overheated
  3193.     {
  3194.         Supported tag class: snd!
  3195.         Supported tag class: effe
  3196.     }
  3197.     tag reference        detonation
  3198.     {
  3199.         Supported tag class: snd!
  3200.         Supported tag class: effe
  3201.     }
  3202.     tag reference        player melee damage
  3203.     {
  3204.         Supported tag class category: jpt!
  3205.     }
  3206.     tag reference        player melee response
  3207.     {
  3208.         Supported tag class category: jpt!
  3209.     }
  3210.     pad[8]
  3211.     explanation          actor firing parameters
  3212.     {
  3213.         Dialog Data Offset: 0x4d4200
  3214.         {
  3215. an optional actor variant that specifies the burst geometry and firing patterns to be used with this weapon
  3216.         }
  3217.     }
  3218.     tag reference        actor firing parameters
  3219.     {
  3220.         Supported tag class category: actv
  3221.     }
  3222.     explanation          reticle
  3223.     {
  3224.         Dialog Data Offset: 0x494b11
  3225.         {
  3226.  
  3227.         }
  3228.     }
  3229.     real                 near reticle range:world units#the range at which the closer of the two static target reticles will be drawn
  3230.     real                 far reticle range:world units#the range at which the farther of the two static target reticles will be drawn
  3231.     real                 intersection reticle range#the maximum range at which the dynamic target reticle will be drawn
  3232.     pad[2]
  3233.     explanation          zoom
  3234.     {
  3235.         Dialog Data Offset: 0x494b11
  3236.         {
  3237.  
  3238.         }
  3239.     }
  3240.     short_integer        magnification levels#the number of magnification levels this weapon allows
  3241.     real_bounds          magnification range
  3242.     explanation          aim assist
  3243.     {
  3244.         Dialog Data Offset: 0x494b11
  3245.         {
  3246.  
  3247.         }
  3248.     }
  3249.     angle                autoaim angle:degrees#the maximum angle that autoaim works at full strength
  3250.     real                 autoaim range:world units#the maximum distance that autoaim works at full strength
  3251.     angle                magnetism angle:degrees#the maximum angle that magnetism works at full strength
  3252.     real                 magnetism range:world units#the maximum distance that magnetism works at full strength
  3253.     angle                deviation angle:degrees#the maximum angle that a projectile is allowed to deviate from the gun barrel
  3254.     pad[4]
  3255.     explanation          movement
  3256.     {
  3257.         Dialog Data Offset: 0x494b11
  3258.         {
  3259.  
  3260.         }
  3261.     }
  3262.     enum                 movement penalized
  3263.     {
  3264.         always
  3265.         when zoomed
  3266.         when zoomed or reloading
  3267.     }
  3268.     pad[2]
  3269.     real_fraction        forward movement penalty#percent slowdown to forward movement for units carrying this weapon
  3270.     real_fraction        sideways movement penalty#percent slowdown to sideways and backward movement for units carrying this weapon
  3271.     pad[4]
  3272.     explanation          AI targeting parameters
  3273.     {
  3274.         Dialog Data Offset: 0x494b11
  3275.         {
  3276.  
  3277.         }
  3278.     }
  3279.     real                 minimum target range#minimum range that actors using this weapon will try and target stuff at
  3280.     real                 looking time modifier#how much faster actors look around idly using this weapon (zero is unchanged)
  3281.     pad[4]
  3282.     explanation          miscellaneous
  3283.     {
  3284.         Dialog Data Offset: 0x494b11
  3285.         {
  3286.  
  3287.         }
  3288.     }
  3289.     real                 light power-on time:seconds
  3290.     real                 light power-off time:seconds
  3291.     tag reference        light power-on effect
  3292.     {
  3293.         Supported tag class: snd!
  3294.         Supported tag class: effe
  3295.     }
  3296.     tag reference        light power-off effect
  3297.     {
  3298.         Supported tag class: snd!
  3299.         Supported tag class: effe
  3300.     }
  3301.     real                 age heat recovery penalty#how much the weapon's heat recovery is penalized as it ages
  3302.     real                 age rate of fire penalty#how much the weapon's rate of fire is penalized as it ages
  3303.     real_fraction        age misfire start:[0,1]#the age threshold when the weapon begins to misfire
  3304.     real_fraction        age misfire chance:[0,1]#at age 1.0, the misfire chance per shot
  3305.     pad[12]
  3306.     explanation          interface
  3307.     {
  3308.         Dialog Data Offset: 0x494b11
  3309.         {
  3310.  
  3311.         }
  3312.     }
  3313.     tag reference        first person model
  3314.     {
  3315.         Supported tag class category: mod2
  3316.     }
  3317.     tag reference        first person animations
  3318.     {
  3319.         Supported tag class category: antr
  3320.     }
  3321.     pad[4]
  3322.     tag reference        hud interface
  3323.     {
  3324.         Supported tag class category: wphi
  3325.     }
  3326.     tag reference        pickup sound
  3327.     {
  3328.         Supported tag class category: snd!
  3329.     }
  3330.     tag reference        zoom-in sound
  3331.     {
  3332.         Supported tag class category: snd!
  3333.     }
  3334.     tag reference        zoom-out sound
  3335.     {
  3336.         Supported tag class category: snd!
  3337.     }
  3338.     pad[12]
  3339.     real                 active camo ding#how much to decrease active camo when a round is fired
  3340.     real                 active camo regrowth rate#how fast to increase active camo (per tick) when a round is fired
  3341.     pad[12]
  3342.     pad[2]
  3343.     explanation          more miscellaneous
  3344.     {
  3345.         Dialog Data Offset: 0x494b11
  3346.         {
  3347.  
  3348.         }
  3349.     }
  3350.     enum                 weapon type
  3351.     {
  3352.         undefined
  3353.         shotgun
  3354.         needler
  3355.         plasma pistol
  3356.         plasma rifle
  3357.     }
  3358.     block                predicted resources
  3359.     {
  3360.         Name: predicted_resource_block
  3361.         Max Chunks: 1024
  3362.         Chunk Size: 8
  3363.         Max Chunks x Chunk Size: 8192
  3364.         Chunk Definition Offset: 0x605ee0
  3365.         {
  3366.             enum                 type
  3367.             {
  3368.                 bitmap
  3369.                 sound
  3370.             }
  3371.             short_integer        resource index
  3372.             long_integer         tag index
  3373.         }
  3374.     }
  3375.     block                magazines
  3376.     {
  3377.         Name: magazines
  3378.         Max Chunks: 2
  3379.         Chunk Size: 112
  3380.         Max Chunks x Chunk Size: 224
  3381.         Chunk Definition Offset: 0x5d3610
  3382.         {
  3383.             long_flags           flags
  3384.             {
  3385.                 wastes rounds when reloaded
  3386.                 every round must be chambered
  3387.             }
  3388.             short_integer        rounds recharged:per second
  3389.             short_integer        rounds total initial
  3390.             short_integer        rounds total maximum
  3391.             short_integer        rounds loaded maximum
  3392.             pad[8]
  3393.             real                 reload time:seconds#the length of time it takes to load a single magazine into the weapon
  3394.             short_integer        rounds reloaded
  3395.             pad[2]
  3396.             real                 chamber time:seconds#the length of time it takes to chamber the next round
  3397.             pad[8]
  3398.             pad[16]
  3399.             tag reference        reloading effect
  3400.             {
  3401.                 Supported tag class: snd!
  3402.                 Supported tag class: effe
  3403.             }
  3404.             tag reference        chambering effect
  3405.             {
  3406.                 Supported tag class: snd!
  3407.                 Supported tag class: effe
  3408.             }
  3409.             pad[12]
  3410.             block                magazines
  3411.             {
  3412.                 Name: magazine_objects
  3413.                 Max Chunks: 2   [fixed from 8]
  3414.                 Chunk Size: 28
  3415.                 Max Chunks x Chunk Size: 56 [fixed from 224]
  3416.                 Chunk Definition Offset: 0x5d35a0
  3417.                 {
  3418.                     short_integer        rounds
  3419.                     pad[10]
  3420.                     tag reference        equipment
  3421.                     {
  3422.                         Supported tag class category: eqip
  3423.                     }
  3424.                 }
  3425.             }
  3426.         }
  3427.     }
  3428.     block                triggers
  3429.     {
  3430.         Name: triggers
  3431.         Max Chunks: 2
  3432.         Chunk Size: 276
  3433.         Max Chunks x Chunk Size: 552
  3434.         Chunk Definition Offset: 0x5d3818
  3435.         {
  3436.             long_flags           flags
  3437.             {
  3438.                 tracks fired projectile#poo poo ca ca pee pee
  3439.                 random firing effects#rather than being chosen sequentially, firing effects are picked randomly
  3440.                 can fire with partial ammo#allows a weapon to be fired as long as there is a non-zero amount of ammunition loaded
  3441.                 does not repeat automatically#once fired, this trigger must be released and pressed to fire again
  3442.                 locks in on/off state#once depressed, this trigger must be released and pressed again to turn it off (and likewise to turn it back on)
  3443.                 projectiles use weapon origin#instead of coming out of the magic first person camera origin, the projectiles for this weapon actually come out of the gun
  3444.                 sticks when dropped#if this trigger is pressed when its owner drops the weapon (for whatever reason) this trigger stays down
  3445.                 ejects during chamber#this trigger's ejection port is started during the key frame of its chamber animation
  3446.                 discharging spews
  3447.                 analog rate of fire
  3448.                 use error when unzoomed
  3449.                 projectile vector cannot be adjusted#projectiles fired by this weapon cannot have their direction adjusted by the AI to hit the target
  3450.                 projectiles have identical error
  3451.                 projectile is client-side only
  3452.             }
  3453.             explanation          firing
  3454.             {
  3455.                 Dialog Data Offset: 0x494b11
  3456.                 {
  3457.  
  3458.                 }
  3459.             }
  3460.             real_bounds          rounds per second#the number of firing effects created per second
  3461.             real                 acceleration time:seconds#the continuous firing time it takes for the weapon to achieve its final rounds per second
  3462.             real                 deceleration time:seconds#the continuous idle time it takes for the weapon to return from its final rounds per second to its initial
  3463.             real_fraction        blurred rate of fire#a percentage between 0 and 1 which controls how soon in its firing animation the weapon blurs
  3464.             pad[8]
  3465.             short_block_index    magazine#the magazine from which this trigger draws its ammunition
  3466.             {
  3467.                 Block Name: magazines
  3468.             }
  3469.             short_integer        rounds per shot#the number of rounds expended to create a single firing effect
  3470.             short_integer        minimum rounds loaded#the minimum number of rounds necessary to fire the weapon
  3471.             short_integer        rounds between tracers#the number of non-tracer rounds fired between tracers
  3472.             pad[6]
  3473.             enum                 firing noise#how loud this weapon appears to the AI
  3474.             {
  3475.                 silent
  3476.                 medium
  3477.                 loud
  3478.                 shout
  3479.                 quiet
  3480.             }
  3481.             explanation          error
  3482.             {
  3483.                 Dialog Data Offset: 0x494b11
  3484.                 {
  3485.  
  3486.                 }
  3487.             }
  3488.             real_bounds          error#the accuracy (between 0.0 and 1.0) of the weapon during firing
  3489.             real                 acceleration time:seconds#the continuous firing time it takes for the weapon to achieve its final error
  3490.             real                 deceleration time:seconds#the continuous idle time it takes for the weapon to return to its initial error
  3491.             pad[8]
  3492.             explanation          charging
  3493.             {
  3494.                 Dialog Data Offset: 0x494b11
  3495.                 {
  3496.  
  3497.                 }
  3498.             }
  3499.             real                 charging time:seconds#the amount of time it takes for this trigger to become fully charged
  3500.             real                 charged time:seconds#the amount of time this trigger can be charged before becoming overcharged
  3501.             enum                 overcharged action
  3502.             {
  3503.                 none
  3504.                 explode
  3505.                 discharge
  3506.             }
  3507.             pad[2]
  3508.             real                 charged illumination:[0,1]#the amount of illumination given off when the weapon is fully charged
  3509.             real                 spew time:seconds#length of time the weapon will spew (fire continuously) while discharging
  3510.             tag reference        charging effect#the charging effect is created once when the trigger begins to charge
  3511.             {
  3512.                 Supported tag class: snd!
  3513.                 Supported tag class: effe
  3514.             }
  3515.             explanation          projectile
  3516.             {
  3517.                 Dialog Data Offset: 0x494b11
  3518.                 {
  3519.  
  3520.                 }
  3521.             }
  3522.             enum                 distribution function
  3523.             {
  3524.                 point
  3525.                 horizontal fan
  3526.             }
  3527.             short_integer        projectiles per shot
  3528.             real                 distribution angle:degrees
  3529.             pad[4]
  3530.             angle                minimum error:degrees
  3531.             angle_bounds         error angle:degrees
  3532.             real_point_3d        first person offset:world units#+x is forward, +z is up, +y is left
  3533.             pad[4]
  3534.             tag reference        projectile
  3535.             {
  3536.                 Supported tag class category: proj
  3537.             }
  3538.             explanation          misc
  3539.             {
  3540.                 Dialog Data Offset: 0x494b11
  3541.                 {
  3542.  
  3543.                 }
  3544.             }
  3545.             real                 ejection port recovery time#the amount of time (in seconds) it takes for the ejection port to transition from 1.0 (open) to 0.0 (closed) after a shot has been fired
  3546.             real                 illumination recovery time#the amount of time (in seconds) it takes the illumination function to transition from 1.0 (bright) to 0.0 (dark) after a shot has been fired
  3547.             pad[12]
  3548.             real_fraction        heat generated per round:[0,1]#the amount of heat generated each time the trigger is fired
  3549.             real_fraction        age generated per round:[0,1]#the amount the weapon ages each time the trigger is fired
  3550.             pad[4]
  3551.             real                 overload time:seconds#the next trigger fires this often while holding down this trigger
  3552.             pad[8]
  3553.             pad[32]
  3554.             pad[24]
  3555.             block                firing effects#firing effects determine what happens when this trigger is fired
  3556.             {
  3557.                 Name: trigger_firing_effect_block
  3558.                 Max Chunks: 8
  3559.                 Chunk Size: 132
  3560.                 Max Chunks x Chunk Size: 1056
  3561.                 Chunk Definition Offset: 0x5d3708
  3562.                 {
  3563.                     short_integer        shot count lower bound#the minimum number of times this firing effect will be used, once it has been chosen
  3564.                     short_integer        shot count upper bound#the maximum number of times this firing effect will be used, once it has been chosen
  3565.                     pad[32]
  3566.                     tag reference        firing effect^#this effect is used when the weapon is loaded and fired normally
  3567.                     {
  3568.                         Supported tag class: snd!
  3569.                         Supported tag class: effe
  3570.                     }
  3571.                     tag reference        misfire effect#this effect is used when the weapon is loaded but fired while overheated
  3572.                     {
  3573.                         Supported tag class: snd!
  3574.                         Supported tag class: effe
  3575.                     }
  3576.                     tag reference        empty effect#this effect is used when the weapon is not loaded
  3577.                     {
  3578.                         Supported tag class: snd!
  3579.                         Supported tag class: effe
  3580.                     }
  3581.                     tag reference        firing damage#this effect is used when the weapon is loaded and fired normally
  3582.                     {
  3583.                         Supported tag class category: jpt!
  3584.                     }
  3585.                     tag reference        misfire damage#this effect is used when the weapon is loaded but fired while overheated
  3586.                     {
  3587.                         Supported tag class category: jpt!
  3588.                     }
  3589.                     tag reference        empty damage#this effect is used when the weapon is not loaded
  3590.                     {
  3591.                         Supported tag class category: jpt!
  3592.                     }
  3593.                 }
  3594.             }
  3595.         }
  3596.     }
  3597. POORLY-DETERMINED MIN FILESIZE OF weap (including 64-byte header): 576
  3598. POORLY-DETERMINED MAX FILESIZE OF weap (including 64-byte header): 17199
  3599.  
  3600. Tag Definition Offset: 0x5c8280
  3601. Extension: light
  3602. Unknown: 8
  3603. Class: ligh
  3604. No superclass
  3605. Version: 3
  3606. Definition Block:
  3607. {
  3608.     Name: light
  3609.     Count: 1
  3610.     Size: 352
  3611.     Chunks Offset: 0x5c8050
  3612.     Dialog Data 1 Offset: 0x48d400
  3613. }
  3614.     long_flags           flags
  3615.     {
  3616.         dynamic#dynamically illuminate interiors
  3617.         no specular#for dynamic lights, cast only diffuse light.
  3618.         don't light own object#for dynamic lights, don't light the object that the light is attached to.
  3619.         supersize in first person#for dynamic lights, light every environment surface if this light is on the gun of the current window.
  3620.         first person flashlight
  3621.         don't fade active camouflage
  3622.     }
  3623.     explanation          SHAPE
  3624.     {
  3625.         Dialog Data Offset: 0x4bd718
  3626.         {
  3627. the size and shape of the light
  3628.         }
  3629.     }
  3630.     real                 radius#the radius where illumination is zero. (lens flare only if this is 0)
  3631.     real_bounds          radius modifer#how the radius changes with external scale
  3632.     angle                falloff angle#the angle at which the light begins to fade.
  3633.     angle                cutoff angle#the angle at which the illumination is zero.
  3634.     real                 lens flare only radius
  3635.     pad[24]
  3636.     explanation          COLOR
  3637.     {
  3638.         Dialog Data Offset: 0x494b11
  3639.         {
  3640.  
  3641.         }
  3642.     }
  3643.     long_flags           interpolation flags
  3644.     {
  3645.         blend in hsv#blends colors in hsv rather than rgb space
  3646.         ...more colors#blends colors through more hues (goes the long way around the color wheel)
  3647.     }
  3648.     real_argb_color      color lower bound
  3649.     real_argb_color      color upper bound
  3650.     pad[12]
  3651.     explanation          GEL
  3652.     {
  3653.         Dialog Data Offset: 0x4bd584
  3654.         {
  3655. the gel map tints the light per-pixel of cube map
  3656.         }
  3657.     }
  3658.     tag reference        primary cube map#used for diffuse and specular light
  3659.     {
  3660.         Supported tag class category: bitm
  3661.     }
  3662.     pad[2]
  3663.     enum                 texture animation function#a function to control texture animation
  3664.     {
  3665.         one
  3666.         zero
  3667.         cosine
  3668.         cosine (variable period)
  3669.         diagonal wave
  3670.         diagonal wave (variable period)
  3671.         slide
  3672.         slide (variable period)
  3673.         noise
  3674.         jitter
  3675.         wander
  3676.         spark
  3677.     }
  3678.     real                 texture animation period:seconds#time between repeats
  3679.     tag reference        secondary cube map#used for specular light
  3680.     {
  3681.         Supported tag class category: bitm
  3682.     }
  3683.     pad[2]
  3684.     enum                 yaw function#a function to control rotation of the gel in yaw
  3685.     {
  3686.         one
  3687.         zero
  3688.         cosine
  3689.         cosine (variable period)
  3690.         diagonal wave
  3691.         diagonal wave (variable period)
  3692.         slide
  3693.         slide (variable period)
  3694.         noise
  3695.         jitter
  3696.         wander
  3697.         spark
  3698.     }
  3699.     real                 yaw period:seconds#time between repeats
  3700.     pad[2]
  3701.     enum                 roll function#a function to control rotation of the gel in roll
  3702.     {
  3703.         one
  3704.         zero
  3705.         cosine
  3706.         cosine (variable period)
  3707.         diagonal wave
  3708.         diagonal wave (variable period)
  3709.         slide
  3710.         slide (variable period)
  3711.         noise
  3712.         jitter
  3713.         wander
  3714.         spark
  3715.     }
  3716.     real                 roll period:seconds#time between repeats
  3717.     pad[2]
  3718.     enum                 pitch function#a function to control rotation of the gel in pitch
  3719.     {
  3720.         one
  3721.         zero
  3722.         cosine
  3723.         cosine (variable period)
  3724.         diagonal wave
  3725.         diagonal wave (variable period)
  3726.         slide
  3727.         slide (variable period)
  3728.         noise
  3729.         jitter
  3730.         wander
  3731.         spark
  3732.     }
  3733.     real                 pitch period:seconds#time between repeats
  3734.     pad[8]
  3735.     explanation          LENS FLARE
  3736.     {
  3737.         Dialog Data Offset: 0x4bd31c
  3738.         {
  3739. optional lens flare associated with this light
  3740.         }
  3741.     }
  3742.     tag reference        lens flare
  3743.     {
  3744.         Supported tag class category: lens
  3745.     }
  3746.     pad[24]
  3747.     explanation          RADIOSITY
  3748.     {
  3749.         Dialog Data Offset: 0x4bd2c0
  3750.         {
  3751. how the light affects the lightmaps (ignored for dynamic lights)
  3752.         }
  3753.     }
  3754.     real                 intensity
  3755.     real_rgb_color       color
  3756.     pad[16]
  3757.     explanation          EFFECT PARAMETERS
  3758.     {
  3759.         Dialog Data Offset: 0x4bd260
  3760.         {
  3761. if the light is created by an effect, it will animate itself as follows
  3762.         }
  3763.     }
  3764.     real                 duration:seconds#the light will last this long when created by an effect
  3765.     pad[2]
  3766.     enum                 falloff function#the scale of the light will diminish over time according to this function
  3767.     {
  3768.         linear
  3769.         early
  3770.         very early
  3771.         late
  3772.         very late
  3773.         cosine
  3774.     }
  3775.     pad[8]
  3776.     pad[92]
  3777. POORLY-DETERMINED MIN FILESIZE OF ligh (including 64-byte header): 416
  3778. POORLY-DETERMINED MAX FILESIZE OF ligh (including 64-byte header): 1181
  3779.  
  3780. Tag Definition Offset: 0x5d3518
  3781. Extension: effect
  3782. Unknown: 9
  3783. Class: effe
  3784. No superclass
  3785. Version: 4
  3786. Dialog Data Offset: 0x491bb0
  3787. Definition Block:
  3788. {
  3789.     Name: effect
  3790.     Count: 1
  3791.     Size: 64
  3792.     Chunks Offset: 0x5d3498
  3793. }
  3794.     long_flags           flags
  3795.     {
  3796.         deleted when attachment deactivates
  3797.         required for gameplay (cannot optimize out)
  3798.     }
  3799.     short_block_index    loop start event
  3800.     {
  3801.         Block Name: effect_event_block
  3802.     }
  3803.     short_block_index    loop stop event
  3804.     {
  3805.         Block Name: effect_event_block
  3806.     }
  3807.     pad[32]
  3808.     block                locations
  3809.     {
  3810.         Name: effect_locations_block
  3811.         Max Chunks: 32
  3812.         Chunk Size: 32
  3813.         Max Chunks x Chunk Size: 1024
  3814.         Chunk Definition Offset: 0x5d3080
  3815.         {
  3816.             string               marker name^
  3817.         }
  3818.     }
  3819.     block                events
  3820.     {
  3821.         Name: effect_event_block
  3822.         Max Chunks: 32
  3823.         Chunk Size: 68
  3824.         Max Chunks x Chunk Size: 2176
  3825.         Chunk Definition Offset: 0x5d33f8
  3826.         {
  3827.             pad[4]
  3828.             real_fraction        skip fraction#chance that this event will be skipped entirely
  3829.             real_bounds          delay bounds:seconds#delay before this event takes place
  3830.             real_bounds          duration bounds:seconds#duration of this event
  3831.             pad[20]
  3832.             block                parts
  3833.             {
  3834.                 Name: effect_part_block
  3835.                 Max Chunks: 32
  3836.                 Chunk Size: 104
  3837.                 Max Chunks x Chunk Size: 3328
  3838.                 Chunk Definition Offset: 0x5d3308
  3839.                 {
  3840.                     enum                 create in
  3841.                     {
  3842.                         any environment
  3843.                         air only
  3844.                         water only
  3845.                         space only
  3846.                     }
  3847.                     enum                 create in
  3848.                     {
  3849.                         either mode
  3850.                         violent mode only
  3851.                         nonviolent mode only
  3852.                     }
  3853.                     short_block_index    location
  3854.                     {
  3855.                         Block Name: effect_locations_block
  3856.                     }
  3857.                     word_flags           flags
  3858.                     {
  3859.                         face down regardless of location (decals)
  3860.                     }
  3861.                     pad[16]
  3862.                     tag reference        type^
  3863.                     {
  3864.                         Supported tag class: jpt!
  3865.                         Supported tag class: obje
  3866.                         Supported tag class: pctl
  3867.                         Supported tag class: snd!
  3868.                         Supported tag class: deca
  3869.                         Supported tag class: ligh
  3870.                     }
  3871.                     pad[24]
  3872.                     real_bounds          velocity bounds:world units per second#initial velocity along the location's forward
  3873.                     angle                velocity cone angle:degrees#initial velocity will be inside the cone defined by this angle.
  3874.                     angle_bounds         angular velocity bounds:degrees per second
  3875.                     real_bounds          radius modifier bounds
  3876.                     pad[4]
  3877.                     explanation          SCALE MODIFIERS
  3878.                     {
  3879.                         Dialog Data Offset: 0x494b11
  3880.                         {
  3881.  
  3882.                         }
  3883.                     }
  3884.                     long_flags           A scales values:
  3885.                     {
  3886.                         velocity
  3887.                         velocity delta
  3888.                         velocity cone angle
  3889.                         angular velocity
  3890.                         angular velocity delta
  3891.                         type-specific scale
  3892.                     }
  3893.                     long_flags           B scales values:
  3894.                     {
  3895.                         velocity
  3896.                         velocity delta
  3897.                         velocity cone angle
  3898.                         angular velocity
  3899.                         angular velocity delta
  3900.                         type-specific scale
  3901.                     }
  3902.                 }
  3903.             }
  3904.             block                particles
  3905.             {
  3906.                 Name: effect_particles_block
  3907.                 Max Chunks: 32
  3908.                 Chunk Size: 232
  3909.                 Max Chunks x Chunk Size: 7424
  3910.                 Chunk Definition Offset: 0x5d3148
  3911.                 {
  3912.                     enum                 create in
  3913.                     {
  3914.                         any environment
  3915.                         air only
  3916.                         water only
  3917.                         space only
  3918.                     }
  3919.                     enum                 create in
  3920.                     {
  3921.                         either mode
  3922.                         violent mode only
  3923.                         nonviolent mode only
  3924.                     }
  3925.                     enum                 create
  3926.                     {
  3927.                         independent of camera mode
  3928.                         only in first person
  3929.                         only in third person
  3930.                         in first person if possible
  3931.                     }
  3932.                     pad[2]
  3933.                     short_block_index    location
  3934.                     {
  3935.                         Block Name: effect_locations_block
  3936.                     }
  3937.                     pad[2]
  3938.                     real_euler_angles_2d relative direction#particle initial velocity direction relative to the location's forward
  3939.                     real_vector_3d       relative offset#particle initial position offset relative to the locatin's forward
  3940.                     pad[12]
  3941.                     pad[40]
  3942.                     tag reference        particle type^
  3943.                     {
  3944.                         Supported tag class category: part
  3945.                     }
  3946.                     long_flags           flags
  3947.                     {
  3948.                         stay attached to marker
  3949.                         random initial angle
  3950.                         tint from object color
  3951.                         interpolate tint as HSV
  3952.                         ... across the long hue path
  3953.                     }
  3954.                     enum                 distribution function#describes how the part creations are distributed over the event duration
  3955.                     {
  3956.                         start
  3957.                         end
  3958.                         constant
  3959.                         buildup
  3960.                         falloff
  3961.                         buildup and falloff
  3962.                     }
  3963.                     pad[2]
  3964.                     short_integer_bounds count#number of particles created
  3965.                     real_bounds          distribution radius:world units#initial distance from the location's origin
  3966.                     pad[12]
  3967.                     real_bounds          velocity:world units per second#initial velocity along the specified direction
  3968.                     angle                velocity cone angle:degrees#particle initial velocities will be inside the cone defined by this angle and the specified direction
  3969.                     angle_bounds         angular velocity:degrees per second
  3970.                     pad[8]
  3971.                     real_bounds          radius:world units#particle radius
  3972.                     pad[8]
  3973.                     real_argb_color      tint lower bound
  3974.                     real_argb_color      tint upper bound
  3975.                     pad[16]
  3976.                     explanation          SCALE MODIFIERS
  3977.                     {
  3978.                         Dialog Data Offset: 0x494b11
  3979.                         {
  3980.  
  3981.                         }
  3982.                     }
  3983.                     long_flags           A scales values:
  3984.                     {
  3985.                         velocity
  3986.                         velocity delta
  3987.                         velocity cone angle
  3988.                         angular velocity
  3989.                         angular velocity delta
  3990.                         count
  3991.                         count delta
  3992.                         distribution radius
  3993.                         distribution radius delta
  3994.                         particle radius
  3995.                         particle radius delta
  3996.                         tint
  3997.                     }
  3998.                     long_flags           B scales values:
  3999.                     {
  4000.                         velocity
  4001.                         velocity delta
  4002.                         velocity cone angle
  4003.                         angular velocity
  4004.                         angular velocity delta
  4005.                         count
  4006.                         count delta
  4007.                         distribution radius
  4008.                         distribution radius delta
  4009.                         particle radius
  4010.                         particle radius delta
  4011.                         tint
  4012.                     }
  4013.                 }
  4014.             }
  4015.         }
  4016.     }
  4017. POORLY-DETERMINED MIN FILESIZE OF effe (including 64-byte header): 128
  4018. POORLY-DETERMINED MAX FILESIZE OF effe (including 64-byte header): 14590
  4019.  
  4020. Tag Definition Offset: 0x5d2fa8
  4021. Extension: particle
  4022. Unknown: 8
  4023. Class: part
  4024. No superclass
  4025. Version: 2
  4026. Dialog Data Offset: 0x491770
  4027. Definition Block:
  4028. {
  4029.     Name: particle
  4030.     Count: 1
  4031.     Size: 356
  4032.     Chunks Offset: 0x5d2cd8
  4033. }
  4034.     long_flags           flags
  4035.     {
  4036.         can animate backwards
  4037.         animation stops at rest
  4038.         animation starts on random frame
  4039.         animate once per frame
  4040.         dies at rest
  4041.         dies on contact with structure
  4042.         tint from diffuse texture
  4043.         dies on contact with water
  4044.         dies on contact with air
  4045.         self-illuminated#don't cast world-lights onto this particle
  4046.         random horizontal mirroring
  4047.         random vertical mirroring
  4048.     }
  4049.     tag reference        bitmap
  4050.     {
  4051.         Supported tag class category: bitm
  4052.     }
  4053.     tag reference        physics
  4054.     {
  4055.         Supported tag class category: pphy
  4056.     }
  4057.     tag reference        marty traded his kids for this
  4058.     {
  4059.         Supported tag class category: foot
  4060.     }
  4061.     pad[4]
  4062.     real_bounds          lifespan:seconds
  4063.     real                 fade in time
  4064.     real                 fade out time
  4065.     tag reference        collision effect
  4066.     {
  4067.         Supported tag class: snd!
  4068.         Supported tag class: effe
  4069.     }
  4070.     tag reference        death effect
  4071.     {
  4072.         Supported tag class: snd!
  4073.         Supported tag class: effe
  4074.     }
  4075.     real                 minimum size:pixels#in the distance, don't get any smaller than this size on the screen
  4076.     pad[8]
  4077.     real_bounds          radius animation#when created, the radius is multiplied by the first number. at the end of the lifetime, the radius is multiplied by the second number.
  4078.     pad[4]
  4079.     real_bounds          animation rate:frames per second#rate at which the particle animates
  4080.     real                 contact deterioration#the decrease in the frame rate caused by a collision
  4081.     real                 fade start size:pixels#begin fading the particle out when it's smaller than this size on the screen
  4082.     real                 fade end size:pixels#kill the particle when it's smaller than this size on the screen
  4083.     pad[4]
  4084.     short_integer        first sequence index#the index of the first sequence in the bitmap group used by this particle
  4085.     short_integer        initial sequence count
  4086.     short_integer        looping sequence count
  4087.     short_integer        final sequence count
  4088.     pad[12]
  4089.     enum                 orientation
  4090.     {
  4091.         screen facing
  4092.         parallel to direction
  4093.         perpendicular to direction
  4094.     }
  4095.     pad[2]
  4096.     pad[40]
  4097.     word_flags           shader flags
  4098.     {
  4099.         sort bias
  4100.         nonlinear tint
  4101.         don't overdraw fp weapon
  4102.     }
  4103.     enum                 framebuffer blend function
  4104.     {
  4105.         alpha blend
  4106.         multiply
  4107.         double multiply
  4108.         add
  4109.         subtract
  4110.         component min
  4111.         component max
  4112.         alpha-multiply add
  4113.     }
  4114.     enum                 framebuffer fade mode
  4115.     {
  4116.         none
  4117.         fade when perpendicular
  4118.         fade when parallel
  4119.     }
  4120.     word_flags           map flags
  4121.     {
  4122.         unfiltered
  4123.     }
  4124.     pad[28]
  4125.     explanation          Secondary Map
  4126.     {
  4127.         Dialog Data Offset: 0x4cc2b4
  4128.         {
  4129. Optional multitextured second map
  4130.         }
  4131.     }
  4132.     tag reference        bitmap
  4133.     {
  4134.         Supported tag class category: bitm
  4135.     }
  4136.     enum                 anchor
  4137.     {
  4138.         with primary
  4139.         with screen space
  4140.         zsprite
  4141.     }
  4142.     word_flags           flags
  4143.     {
  4144.         unfiltered
  4145.     }
  4146.     enum                 u-animation source
  4147.     {
  4148.         none
  4149.         A out
  4150.         B out
  4151.         C out
  4152.         D out
  4153.     }
  4154.     enum                 u-animation function
  4155.     {
  4156.         one
  4157.         zero
  4158.         cosine
  4159.         cosine (variable period)
  4160.         diagonal wave
  4161.         diagonal wave (variable period)
  4162.         slide
  4163.         slide (variable period)
  4164.         noise
  4165.         jitter
  4166.         wander
  4167.         spark
  4168.     }
  4169.     real                 u-animation period:seconds#0 defaults to 1
  4170.     real                 u-animation phase
  4171.     real                 u-animation scale:repeats#0 defaults to 1
  4172.     enum                 v-animation source
  4173.     {
  4174.         none
  4175.         A out
  4176.         B out
  4177.         C out
  4178.         D out
  4179.     }
  4180.     enum                 v-animation function
  4181.     {
  4182.         one
  4183.         zero
  4184.         cosine
  4185.         cosine (variable period)
  4186.         diagonal wave
  4187.         diagonal wave (variable period)
  4188.         slide
  4189.         slide (variable period)
  4190.         noise
  4191.         jitter
  4192.         wander
  4193.         spark
  4194.     }
  4195.     real                 v-animation period:seconds#0 defaults to 1
  4196.     real                 v-animation phase
  4197.     real                 v-animation scale:repeats#0 defaults to 1
  4198.     enum                 rotation-animation source
  4199.     {
  4200.         none
  4201.         A out
  4202.         B out
  4203.         C out
  4204.         D out
  4205.     }
  4206.     enum                 rotation-animation function
  4207.     {
  4208.         one
  4209.         zero
  4210.         cosine
  4211.         cosine (variable period)
  4212.         diagonal wave
  4213.         diagonal wave (variable period)
  4214.         slide
  4215.         slide (variable period)
  4216.         noise
  4217.         jitter
  4218.         wander
  4219.         spark
  4220.     }
  4221.     real                 rotation-animation period:seconds#0 defaults to 1
  4222.     real                 rotation-animation phase
  4223.     real                 rotation-animation scale:degrees#0 defaults to 360
  4224.     real_point_2d        rotation-animation center
  4225.     pad[4]
  4226.     real                 zsprite radius scale
  4227.     pad[20]
  4228. POORLY-DETERMINED MIN FILESIZE OF part (including 64-byte header): 420
  4229. POORLY-DETERMINED MAX FILESIZE OF part (including 64-byte header): 1950
  4230.  
  4231. Tag Definition Offset: 0x5d2c28
  4232. Extension: globals
  4233. Unknown: 0
  4234. Class: matg
  4235. No superclass
  4236. Version: 3
  4237. Dialog Data Offset: 0x4915e0
  4238. Definition Block:
  4239. {
  4240.     Name: globals
  4241.     Count: 1
  4242.     Size: 428
  4243.     Chunks Offset: 0x5d2b30
  4244. }
  4245.     pad[248]
  4246.     block                sounds
  4247.     {
  4248.         Name: sound_block
  4249.         Max Chunks: 2
  4250.         Chunk Size: 16
  4251.         Max Chunks x Chunk Size: 32
  4252.         Chunk Definition Offset: 0x5d2ae8
  4253.         {
  4254.             tag reference        sound
  4255.             {
  4256.                 Supported tag class category: snd!
  4257.             }
  4258.         }
  4259.     }
  4260.     block                camera
  4261.     {
  4262.         Name: camera_block
  4263.         Max Chunks: 1
  4264.         Chunk Size: 16
  4265.         Max Chunks x Chunk Size: 16
  4266.         Chunk Definition Offset: 0x5d2a9c
  4267.         {
  4268.             tag reference        default unit camera track
  4269.             {
  4270.                 Supported tag class category: trak
  4271.             }
  4272.         }
  4273.     }
  4274.     block                player control
  4275.     {
  4276.         Name: player_control_block
  4277.         Max Chunks: 1
  4278.         Chunk Size: 128
  4279.         Max Chunks x Chunk Size: 128
  4280.         Chunk Definition Offset: 0x5d29b0
  4281.         {
  4282.             real_fraction        magnetism friction#how much the crosshair slows over enemies
  4283.             real_fraction        magnetism adhesion#how much the crosshair sticks to enemies
  4284.             real_fraction        inconsequential target scale#scales magnetism level for inconsequential targets like infection forms
  4285.             pad[52]
  4286.             real                 look acceleration time:seconds#time for a pegged look to reach maximum effect
  4287.             real                 look acceleration scale#maximum effect of a pegged look (scales last value in the look function below)
  4288.             real_fraction        look peg threshold [0,1]#magnitude of yaw for pegged acceleration to kick in
  4289.             real                 look default pitch rate:degrees
  4290.             real                 look default yaw rate:degrees
  4291.             real                 look autolevelling scale#1 is fast, 0 is none, >1 will probably be really fast
  4292.             pad[20]
  4293.             short_integer        minimum weapon swap ticks#amount of time player needs to hold down ACTION to pick up a new weapon
  4294.             short_integer        minimum autolevelling ticks#amount of time player needs to move and not look up or down for autolevelling to kick in
  4295.             angle                minimum angle for vehicle flipping#0 means the vehicle's up vector is along the ground, 90 means the up vector is pointing straight up:degrees
  4296.             block                look function
  4297.             {
  4298.                 Name: look_function_block
  4299.                 Max Chunks: 16
  4300.                 Chunk Size: 4
  4301.                 Max Chunks x Chunk Size: 64
  4302.                 Chunk Definition Offset: 0x5d2968
  4303.                 {
  4304.                     real                 scale
  4305.                 }
  4306.             }
  4307.         }
  4308.     }
  4309.     block                difficulty
  4310.     {
  4311.         Name: difficulty_block
  4312.         Max Chunks: 1
  4313.         Chunk Size: 644
  4314.         Max Chunks x Chunk Size: 644
  4315.         Chunk Definition Offset: 0x5d23a8
  4316.         {
  4317.             explanation          health
  4318.             {
  4319.                 Dialog Data Offset: 0x4d17ac
  4320.                 {
  4321. scale values for enemy health and damage settings
  4322.                 }
  4323.             }
  4324.             real                 easy enemy damage#enemy damage multiplier on easy difficulty
  4325.             real                 normal enemy damage#enemy damage multiplier on normal difficulty
  4326.             real                 hard enemy damage#enemy damage multiplier on hard difficulty
  4327.             real                 imposs. enemy damage#enemy damage multiplier on impossible difficulty
  4328.             real                 easy enemy vitality#enemy maximum body vitality scale on easy difficulty
  4329.             real                 normal enemy vitality#enemy maximum body vitality scale on normal difficulty
  4330.             real                 hard enemy vitality#enemy maximum body vitality scale on hard difficulty
  4331.             real                 imposs. enemy vitality#enemy maximum body vitality scale on impossible difficulty
  4332.             real                 easy enemy shield#enemy maximum shield vitality scale on easy difficulty
  4333.             real                 normal enemy shield#enemy maximum shield vitality scale on normal difficulty
  4334.             real                 hard enemy shield#enemy maximum shield vitality scale on hard difficulty
  4335.             real                 imposs. enemy shield#enemy maximum shield vitality scale on impossible difficulty
  4336.             real                 easy enemy recharge#enemy shield recharge scale on easy difficulty
  4337.             real                 normal enemy recharge#enemy shield recharge scale on normal difficulty
  4338.             real                 hard enemy recharge#enemy shield recharge scale on hard difficulty
  4339.             real                 imposs. enemy recharge#enemy shield recharge scale on impossible difficulty
  4340.             real                 easy friend damage#friend damage multiplier on easy difficulty
  4341.             real                 normal friend damage#friend damage multiplier on normal difficulty
  4342.             real                 hard friend damage#friend damage multiplier on hard difficulty
  4343.             real                 imposs. friend damage#friend damage multiplier on impossible difficulty
  4344.             real                 easy friend vitality#friend maximum body vitality scale on easy difficulty
  4345.             real                 normal friend vitality#friend maximum body vitality scale on normal difficulty
  4346.             real                 hard friend vitality#friend maximum body vitality scale on hard difficulty
  4347.             real                 imposs. friend vitality#friend maximum body vitality scale on impossible difficulty
  4348.             real                 easy friend shield#friend maximum shield vitality scale on easy difficulty
  4349.             real                 normal friend shield#friend maximum shield vitality scale on normal difficulty
  4350.             real                 hard friend shield#friend maximum shield vitality scale on hard difficulty
  4351.             real                 imposs. friend shield#friend maximum shield vitality scale on impossible difficulty
  4352.             real                 easy friend recharge#friend shield recharge scale on easy difficulty
  4353.             real                 normal friend recharge#friend shield recharge scale on normal difficulty
  4354.             real                 hard friend recharge#friend shield recharge scale on hard difficulty
  4355.             real                 imposs. friend recharge#friend shield recharge scale on impossible difficulty
  4356.             real                 easy infection forms#toughness of infection forms (may be negative) on easy difficulty
  4357.             real                 normal infection forms#toughness of infection forms (may be negative) on normal difficulty
  4358.             real                 hard infection forms#toughness of infection forms (may be negative) on hard difficulty
  4359.             real                 imposs. infection forms#toughness of infection forms (may be negative) on impossible difficulty
  4360.             pad[16]
  4361.             explanation          ranged fire
  4362.             {
  4363.                 Dialog Data Offset: 0x4d0c5c
  4364.                 {
  4365. difficulty-affecting values for enemy ranged combat settings
  4366.                 }
  4367.             }
  4368.             real                 easy rate of fire#enemy rate of fire scale on easy difficulty
  4369.             real                 normal rate of fire#enemy rate of fire scale on normal difficulty
  4370.             real                 hard rate of fire#enemy rate of fire scale on hard difficulty
  4371.             real                 imposs. rate of fire#enemy rate of fire scale on impossible difficulty
  4372.             real                 easy projectile error#enemy projectile error scale, as a fraction of their base firing error. on easy difficulty
  4373.             real                 normal projectile error#enemy projectile error scale, as a fraction of their base firing error. on normal difficulty
  4374.             real                 hard projectile error#enemy projectile error scale, as a fraction of their base firing error. on hard difficulty
  4375.             real                 imposs. projectile error#enemy projectile error scale, as a fraction of their base firing error. on impossible difficulty
  4376.             real                 easy burst error#enemy burst error scale; reduces intra-burst shot distance. on easy difficulty
  4377.             real                 normal burst error#enemy burst error scale; reduces intra-burst shot distance. on normal difficulty
  4378.             real                 hard burst error#enemy burst error scale; reduces intra-burst shot distance. on hard difficulty
  4379.             real                 imposs. burst error#enemy burst error scale; reduces intra-burst shot distance. on impossible difficulty
  4380.             real                 easy new target delay#enemy new-target delay scale factor. on easy difficulty
  4381.             real                 normal new target delay#enemy new-target delay scale factor. on normal difficulty
  4382.             real                 hard new target delay#enemy new-target delay scale factor. on hard difficulty
  4383.             real                 imposs. new target delay#enemy new-target delay scale factor. on impossible difficulty
  4384.             real                 easy burst separation#delay time between bursts scale factor for enemies. on easy difficulty
  4385.             real                 normal burst separation#delay time between bursts scale factor for enemies. on normal difficulty
  4386.             real                 hard burst separation#delay time between bursts scale factor for enemies. on hard difficulty
  4387.             real                 imposs. burst separation#delay time between bursts scale factor for enemies. on impossible difficulty
  4388.             real                 easy target tracking#additional target tracking fraction for enemies. on easy difficulty
  4389.             real                 normal target tracking#additional target tracking fraction for enemies. on normal difficulty
  4390.             real                 hard target tracking#additional target tracking fraction for enemies. on hard difficulty
  4391.             real                 imposs. target tracking#additional target tracking fraction for enemies. on impossible difficulty
  4392.             real                 easy target leading#additional target leading fraction for enemies. on easy difficulty
  4393.             real                 normal target leading#additional target leading fraction for enemies. on normal difficulty
  4394.             real                 hard target leading#additional target leading fraction for enemies. on hard difficulty
  4395.             real                 imposs. target leading#additional target leading fraction for enemies. on impossible difficulty
  4396.             real                 easy overcharge chance#overcharge chance scale factor for enemies. on easy difficulty
  4397.             real                 normal overcharge chance#overcharge chance scale factor for enemies. on normal difficulty
  4398.             real                 hard overcharge chance#overcharge chance scale factor for enemies. on hard difficulty
  4399.             real                 imposs. overcharge chance#overcharge chance scale factor for enemies. on impossible difficulty
  4400.             real                 easy special fire delay#delay between special-fire shots (overcharge, banshee bombs) scale factor for enemies. on easy difficulty
  4401.             real                 normal special fire delay#delay between special-fire shots (overcharge, banshee bombs) scale factor for enemies. on normal difficulty
  4402.             real                 hard special fire delay#delay between special-fire shots (overcharge, banshee bombs) scale factor for enemies. on hard difficulty
  4403.             real                 imposs. special fire delay#delay between special-fire shots (overcharge, banshee bombs) scale factor for enemies. on impossible difficulty
  4404.             real                 easy guidance vs player#guidance velocity scale factor for all projectiles targeted on a player. on easy difficulty
  4405.             real                 normal guidance vs player#guidance velocity scale factor for all projectiles targeted on a player. on normal difficulty
  4406.             real                 hard guidance vs player#guidance velocity scale factor for all projectiles targeted on a player. on hard difficulty
  4407.             real                 imposs. guidance vs player#guidance velocity scale factor for all projectiles targeted on a player. on impossible difficulty
  4408.             real                 easy melee delay base#delay period added to all melee attacks, even when berserk. on easy difficulty
  4409.             real                 normal melee delay base#delay period added to all melee attacks, even when berserk. on normal difficulty
  4410.             real                 hard melee delay base#delay period added to all melee attacks, even when berserk. on hard difficulty
  4411.             real                 imposs. melee delay base#delay period added to all melee attacks, even when berserk. on impossible difficulty
  4412.             real                 easy melee delay scale#multiplier for all existing non-berserk melee delay times. on easy difficulty
  4413.             real                 normal melee delay scale#multiplier for all existing non-berserk melee delay times. on normal difficulty
  4414.             real                 hard melee delay scale#multiplier for all existing non-berserk melee delay times. on hard difficulty
  4415.             real                 imposs. melee delay scale#multiplier for all existing non-berserk melee delay times. on impossible difficulty
  4416.             pad[16]
  4417.             explanation          grenades
  4418.             {
  4419.                 Dialog Data Offset: 0x4cf8e0
  4420.                 {
  4421. difficulty-affecting values for enemy grenade behavior
  4422.                 }
  4423.             }
  4424.             real                 easy grenade chance scale#scale factor affecting the desicions to throw a grenade. on easy difficulty
  4425.             real                 normal grenade chance scale#scale factor affecting the desicions to throw a grenade. on normal difficulty
  4426.             real                 hard grenade chance scale#scale factor affecting the desicions to throw a grenade. on hard difficulty
  4427.             real                 imposs. grenade chance scale#scale factor affecting the desicions to throw a grenade. on impossible difficulty
  4428.             real                 easy grenade timer scale#scale factor affecting the delay period between grenades thrown from the same encounter (lower is more often). on easy difficulty
  4429.             real                 normal grenade timer scale#scale factor affecting the delay period between grenades thrown from the same encounter (lower is more often). on normal difficulty
  4430.             real                 hard grenade timer scale#scale factor affecting the delay period between grenades thrown from the same encounter (lower is more often). on hard difficulty
  4431.             real                 imposs. grenade timer scale#scale factor affecting the delay period between grenades thrown from the same encounter (lower is more often). on impossible difficulty
  4432.             pad[16]
  4433.             pad[16]
  4434.             pad[16]
  4435.             explanation          placement
  4436.             {
  4437.                 Dialog Data Offset: 0x4cf46c
  4438.                 {
  4439. difficulty-affecting values for enemy placement
  4440.                 }
  4441.             }
  4442.             real                 easy major upgrade (normal)#fraction of actors upgraded to their major variant. on easy difficulty
  4443.             real                 normal major upgrade (normal)#fraction of actors upgraded to their major variant. on normal difficulty
  4444.             real                 hard major upgrade (normal)#fraction of actors upgraded to their major variant. on hard difficulty
  4445.             real                 imposs. major upgrade (normal)#fraction of actors upgraded to their major variant. on impossible difficulty
  4446.             real                 easy major upgrade (few)#fraction of actors upgraded to their major variant when mix = normal. on easy difficulty
  4447.             real                 normal major upgrade (few)#fraction of actors upgraded to their major variant when mix = normal. on normal difficulty
  4448.             real                 hard major upgrade (few)#fraction of actors upgraded to their major variant when mix = normal. on hard difficulty
  4449.             real                 imposs. major upgrade (few)#fraction of actors upgraded to their major variant when mix = normal. on impossible difficulty
  4450.             real                 easy major upgrade (many)#fraction of actors upgraded to their major variant when mix = many. on easy difficulty
  4451.             real                 normal major upgrade (many)#fraction of actors upgraded to their major variant when mix = many. on normal difficulty
  4452.             real                 hard major upgrade (many)#fraction of actors upgraded to their major variant when mix = many. on hard difficulty
  4453.             real                 imposs. major upgrade (many)#fraction of actors upgraded to their major variant when mix = many. on impossible difficulty
  4454.             pad[16]
  4455.             pad[16]
  4456.             pad[16]
  4457.             pad[16]
  4458.             pad[84]
  4459.         }
  4460.     }
  4461.     block                grenades
  4462.     {
  4463.         Name: grenades_block
  4464.         Max Chunks: 2
  4465.         Chunk Size: 68
  4466.         Max Chunks x Chunk Size: 136
  4467.         Chunk Definition Offset: 0x5d2328
  4468.         {
  4469.             short_integer        maximum count
  4470.             short_integer        mp spawn default
  4471.             tag reference        throwing effect
  4472.             {
  4473.                 Supported tag class category: effe
  4474.             }
  4475.             tag reference        hud interface
  4476.             {
  4477.                 Supported tag class category: grhi
  4478.             }
  4479.             tag reference        equipment
  4480.             {
  4481.                 Supported tag class category: eqip
  4482.             }
  4483.             tag reference        projectile
  4484.             {
  4485.                 Supported tag class category: proj
  4486.             }
  4487.         }
  4488.     }
  4489.     block                rasterizer data
  4490.     {
  4491.         Name: rasterizer_data_block
  4492.         Max Chunks: 1
  4493.         Chunk Size: 428
  4494.         Max Chunks x Chunk Size: 428
  4495.         Chunk Definition Offset: 0x5d1fd0
  4496.         {
  4497.             explanation          function textures
  4498.             {
  4499.                 Dialog Data Offset: 0x4d1d30
  4500.                 {
  4501. Used internally by the rasterizer. (Do not change unless you know what you're doing!)
  4502.                 }
  4503.             }
  4504.             tag reference        distance attenuation
  4505.             {
  4506.                 Supported tag class category: bitm
  4507.             }
  4508.             tag reference        vector normalization
  4509.             {
  4510.                 Supported tag class category: bitm
  4511.             }
  4512.             tag reference        atmospheric fog density
  4513.             {
  4514.                 Supported tag class category: bitm
  4515.             }
  4516.             tag reference        planar fog density
  4517.             {
  4518.                 Supported tag class category: bitm
  4519.             }
  4520.             tag reference        linear corner fade#used for shadows
  4521.             {
  4522.                 Supported tag class category: bitm
  4523.             }
  4524.             tag reference        active camouflage distortion
  4525.             {
  4526.                 Supported tag class category: bitm
  4527.             }
  4528.             tag reference        glow
  4529.             {
  4530.                 Supported tag class category: bitm
  4531.             }
  4532.             pad[60]
  4533.             explanation          default textures
  4534.             {
  4535.                 Dialog Data Offset: 0x4d1c10
  4536.                 {
  4537. Used internally by the rasterizer - additive, multiplicative, detail, vector. (Do not change ever, period.)
  4538.                 }
  4539.             }
  4540.             tag reference        default 2D
  4541.             {
  4542.                 Supported tag class category: bitm
  4543.             }
  4544.             tag reference        default 3D
  4545.             {
  4546.                 Supported tag class category: bitm
  4547.             }
  4548.             tag reference        default cube map
  4549.             {
  4550.                 Supported tag class category: bitm
  4551.             }
  4552.             explanation          experimental textures
  4553.             {
  4554.                 Dialog Data Offset: 0x4d1b80
  4555.                 {
  4556. Used internally by the rasterizer. (Used by Bernie's experimental shaders.)
  4557.                 }
  4558.             }
  4559.             tag reference        test 0
  4560.             {
  4561.                 Supported tag class category: bitm
  4562.             }
  4563.             tag reference        test 1
  4564.             {
  4565.                 Supported tag class category: bitm
  4566.             }
  4567.             tag reference        test 2
  4568.             {
  4569.                 Supported tag class category: bitm
  4570.             }
  4571.             tag reference        test 3
  4572.             {
  4573.                 Supported tag class category: bitm
  4574.             }
  4575.             explanation          video effect textures
  4576.             {
  4577.                 Dialog Data Offset: 0x4d1b34
  4578.                 {
  4579. Used in cinematics.
  4580.                 }
  4581.             }
  4582.             tag reference        video scanline map
  4583.             {
  4584.                 Supported tag class category: bitm
  4585.             }
  4586.             tag reference        video noise map
  4587.             {
  4588.                 Supported tag class category: bitm
  4589.             }
  4590.             pad[52]
  4591.             explanation          active camouflage
  4592.             {
  4593.                 Dialog Data Offset: 0x494b11
  4594.                 {
  4595.  
  4596.                 }
  4597.             }
  4598.             word_flags           flags
  4599.             {
  4600.                 tint edge density
  4601.             }
  4602.             pad[2]
  4603.             real                 refraction amount:pixels
  4604.             real                 distance falloff
  4605.             real_rgb_color       tint color
  4606.             real                 hyper-stealth refraction:pixels
  4607.             real                 hyper-stealth distance falloff
  4608.             real_rgb_color       hyper-stealth tint color
  4609.             explanation          PC textures
  4610.             {
  4611.                 Dialog Data Offset: 0x4d1a40
  4612.                 {
  4613. The PC can't use 3D textures, so we use this instead.
  4614.                 }
  4615.             }
  4616.             tag reference        distance attenuation 2D#the pc can't use 3d textures, so we use this instead
  4617.             {
  4618.                 Supported tag class category: bitm
  4619.             }
  4620.         }
  4621.     }
  4622.     block                interface bitmaps
  4623.     {
  4624.         Name: interface_tag_references
  4625.         Max Chunks: 1
  4626.         Chunk Size: 304
  4627.         Max Chunks x Chunk Size: 304
  4628.         Chunk Definition Offset: 0x5d2198
  4629.         {
  4630.             tag reference        font system
  4631.             {
  4632.                 Supported tag class category: font
  4633.             }
  4634.             tag reference        font terminal
  4635.             {
  4636.                 Supported tag class category: font
  4637.             }
  4638.             tag reference        screen color table
  4639.             {
  4640.                 Supported tag class category: colo
  4641.             }
  4642.             tag reference        hud color table
  4643.             {
  4644.                 Supported tag class category: colo
  4645.             }
  4646.             tag reference        editor color table
  4647.             {
  4648.                 Supported tag class category: colo
  4649.             }
  4650.             tag reference        dialog color table
  4651.             {
  4652.                 Supported tag class category: colo
  4653.             }
  4654.             tag reference        hud globals
  4655.             {
  4656.                 Supported tag class category: hudg
  4657.             }
  4658.             tag reference        motion sensor sweep bitmap
  4659.             {
  4660.                 Supported tag class category: bitm
  4661.             }
  4662.             tag reference        motion sensor sweep bitmap mask
  4663.             {
  4664.                 Supported tag class category: bitm
  4665.             }
  4666.             tag reference        multiplayer hud bitmap
  4667.             {
  4668.                 Supported tag class category: bitm
  4669.             }
  4670.             tag reference        localization
  4671.             {
  4672.                 Supported tag class category: str#
  4673.             }
  4674.             tag reference        hud digits definition
  4675.             {
  4676.                 Supported tag class category: hud#
  4677.             }
  4678.             tag reference        motion sensor blip bitmap
  4679.             {
  4680.                 Supported tag class category: bitm
  4681.             }
  4682.             tag reference        interface goo map1
  4683.             {
  4684.                 Supported tag class category: bitm
  4685.             }
  4686.             tag reference        interface goo map2
  4687.             {
  4688.                 Supported tag class category: bitm
  4689.             }
  4690.             tag reference        interface goo map3
  4691.             {
  4692.                 Supported tag class category: bitm
  4693.             }
  4694.             pad[48]
  4695.         }
  4696.     }
  4697.     block                weapon list (update _weapon_list enum in game_globals.h)
  4698.     {
  4699.         Name: cheat_weapons_block
  4700.         Max Chunks: 20
  4701.         Chunk Size: 16
  4702.         Max Chunks x Chunk Size: 320
  4703.         Chunk Definition Offset: 0x5d229c
  4704.         {
  4705.             tag reference        weapon^
  4706.             {
  4707.                 Supported tag class category: item
  4708.             }
  4709.         }
  4710.     }
  4711.     block                cheat powerups
  4712.     {
  4713.         Name: cheat_powerups_block
  4714.         Max Chunks: 20
  4715.         Chunk Size: 16
  4716.         Max Chunks x Chunk Size: 320
  4717.         Chunk Definition Offset: 0x5d22e0
  4718.         {
  4719.             tag reference        powerup^
  4720.             {
  4721.                 Supported tag class category: eqip
  4722.             }
  4723.         }
  4724.     }
  4725.     block                multiplayer information
  4726.     {
  4727.         Name: multiplayer_information_block
  4728.         Max Chunks: 1
  4729.         Chunk Size: 160
  4730.         Max Chunks x Chunk Size: 160
  4731.         Chunk Definition Offset: 0x5d1c30
  4732.         {
  4733.             tag reference        flag
  4734.             {
  4735.                 Supported tag class category: item
  4736.             }
  4737.             tag reference        unit
  4738.             {
  4739.                 Supported tag class category: unit
  4740.             }
  4741.             block                vehicles
  4742.             {
  4743.                 Name: vehicles_block
  4744.                 Max Chunks: 20
  4745.                 Chunk Size: 16
  4746.                 Max Chunks x Chunk Size: 320
  4747.                 Chunk Definition Offset: 0x5d1b8c
  4748.                 {
  4749.                     tag reference        vehicle^
  4750.                     {
  4751.                         Supported tag class category: vehi
  4752.                     }
  4753.                 }
  4754.             }
  4755.             tag reference        hill shader
  4756.             {
  4757.                 Supported tag class category: shdr
  4758.             }
  4759.             tag reference        flag shader
  4760.             {
  4761.                 Supported tag class category: shdr
  4762.             }
  4763.             tag reference        ball
  4764.             {
  4765.                 Supported tag class category: item
  4766.             }
  4767.             block                sounds
  4768.             {
  4769.                 Name: sounds_block
  4770.                 Max Chunks: 60
  4771.                 Chunk Size: 16
  4772.                 Max Chunks x Chunk Size: 960
  4773.                 Chunk Definition Offset: 0x5d1bdc
  4774.                 {
  4775.                     tag reference        sound^
  4776.                     {
  4777.                         Supported tag class category: snd!
  4778.                     }
  4779.                 }
  4780.             }
  4781.             pad[56]
  4782.         }
  4783.     }
  4784.     block                player information
  4785.     {
  4786.         Name: player_information_block
  4787.         Max Chunks: 1
  4788.         Chunk Size: 244
  4789.         Max Chunks x Chunk Size: 244
  4790.         Chunk Definition Offset: 0x5d1cc8
  4791.         {
  4792.             tag reference        unit
  4793.             {
  4794.                 Supported tag class category: unit
  4795.             }
  4796.             pad[28]
  4797.             real                 walking speed:world units per second
  4798.             real                 "double speed" multiplier:[1.0,+inf]
  4799.             real                 run forward:world units per second
  4800.             real                 run backward:world units per second
  4801.             real                 run sideways:world units per second
  4802.             real                 run acceleration:world units per second squared
  4803.             real                 sneak forward:world units per second
  4804.             real                 sneak backward:world units per second
  4805.             real                 sneak sideways:world units per second
  4806.             real                 sneak acceleration:world units per second squared
  4807.             real                 airborne acceleration:world units per second squared
  4808.             real                 speed multiplier: multiplayer only
  4809.             pad[12]
  4810.             real_point_3d        grenade origin
  4811.             pad[12]
  4812.             real                 stun movement penalty:[0,1]#1.0 prevents moving while stunned
  4813.             real                 stun turning penalty:[0,1]#1.0 prevents turning while stunned
  4814.             real                 stun jumping penalty:[0,1]#1.0 prevents jumping while stunned
  4815.             real                 minimum stun time:seconds#all stunning damage will last for at least this long
  4816.             real                 maximum stun time:seconds#no stunning damage will last for longer than this
  4817.             pad[8]
  4818.             real_bounds          first person idle time:seconds
  4819.             real_fraction        first person skip fraction:[0,1]
  4820.             pad[16]
  4821.             tag reference        coop respawn effect
  4822.             {
  4823.                 Supported tag class category: effe
  4824.             }
  4825.             pad[44]
  4826.         }
  4827.     }
  4828.     block                first person interface
  4829.     {
  4830.         Name: first_person_interface_block
  4831.         Max Chunks: 1
  4832.         Chunk Size: 192
  4833.         Max Chunks x Chunk Size: 192
  4834.         Chunk Definition Offset: 0x5d1e60
  4835.         {
  4836.             tag reference        first person hands
  4837.             {
  4838.                 Supported tag class category: mod2
  4839.             }
  4840.             tag reference        base bitmap
  4841.             {
  4842.                 Supported tag class category: bitm
  4843.             }
  4844.             tag reference        shield meter
  4845.             {
  4846.                 Supported tag class category: metr
  4847.             }
  4848.             point_2d             shield meter origin
  4849.             tag reference        body meter
  4850.             {
  4851.                 Supported tag class category: metr
  4852.             }
  4853.             point_2d             body meter origin
  4854.             tag reference        night-vision OFF->ON effect
  4855.             {
  4856.                 Supported tag class category: effe
  4857.             }
  4858.             tag reference        night-vision ON->OFF effect
  4859.             {
  4860.                 Supported tag class category: effe
  4861.             }
  4862.             pad[88]
  4863.         }
  4864.     }
  4865.     block                falling damage
  4866.     {
  4867.         Name: falling_damage_block
  4868.         Max Chunks: 1
  4869.         Chunk Size: 152
  4870.         Max Chunks x Chunk Size: 152
  4871.         Chunk Definition Offset: 0x5d1f08
  4872.         {
  4873.             pad[8]
  4874.             real_bounds          harmful falling distance:world units
  4875.             tag reference        falling damage
  4876.             {
  4877.                 Supported tag class category: jpt!
  4878.             }
  4879.             pad[8]
  4880.             real                 maximum falling distance:world units
  4881.             tag reference        distance damage
  4882.             {
  4883.                 Supported tag class category: jpt!
  4884.             }
  4885.             tag reference        vehicle environemtn collision damage effect
  4886.             {
  4887.                 Supported tag class category: jpt!
  4888.             }
  4889.             tag reference        vehicle killed unit damage effect
  4890.             {
  4891.                 Supported tag class category: jpt!
  4892.             }
  4893.             tag reference        vehicle collision damage
  4894.             {
  4895.                 Supported tag class category: jpt!
  4896.             }
  4897.             tag reference        flaming death damage
  4898.             {
  4899.                 Supported tag class category: jpt!
  4900.             }
  4901.             pad[28]
  4902.         }
  4903.     }
  4904.     block                materials
  4905.     {
  4906.         Name: materials_block
  4907.         Max Chunks: 33
  4908.         Chunk Size: 884
  4909.         Max Chunks x Chunk Size: 29172
  4910.         Chunk Definition Offset: 0x5d19c0
  4911.         {
  4912.             pad[100]
  4913.             pad[48]
  4914.             explanation          vehicle terrain parameters
  4915.             {
  4916.                 Dialog Data Offset: 0x4d2670
  4917.                 {
  4918. the following fields modify the way a vehicle drives over terrain of this material type.
  4919.                 }
  4920.             }
  4921.             real                 ground friction scale#fraction of original velocity parallel to the ground after one tick
  4922.             real                 ground friction normal k1 scale#cosine of angle at which friction falls off
  4923.             real                 ground friction normal k0 scale#cosine of angle at which friction is zero
  4924.             real                 ground depth scale#depth a point mass rests in the ground
  4925.             real                 ground damp fraction scale#fraction of original velocity perpendicular to the ground after one tick
  4926.             pad[76]
  4927.             pad[480]
  4928.             explanation          breakable surface parameters
  4929.             {
  4930.                 Dialog Data Offset: 0x494b11
  4931.                 {
  4932.  
  4933.                 }
  4934.             }
  4935.             real                 maximum vitality
  4936.             pad[8]
  4937.             pad[4]
  4938.             tag reference        effect
  4939.             {
  4940.                 Supported tag class category: effe
  4941.             }
  4942.             tag reference        sound
  4943.             {
  4944.                 Supported tag class category: snd!
  4945.             }
  4946.             pad[24]
  4947.             block                particle effects
  4948.             {
  4949.                 Name: breakable_surface_particle_effect_block
  4950.                 Max Chunks: 8
  4951.                 Chunk Size: 128
  4952.                 Max Chunks x Chunk Size: 1024
  4953.                 Chunk Definition Offset: 0x5d18f8
  4954.                 {
  4955.                     tag reference        particle type^
  4956.                     {
  4957.                         Supported tag class category: part
  4958.                     }
  4959.                     long_flags           flags
  4960.                     {
  4961.                         interpolate color in hsv
  4962.                         ...more colors
  4963.                     }
  4964.                     real                 density:world units
  4965.                     real_bounds          velocity scale#scales initial velocity
  4966.                     pad[4]
  4967.                     angle_bounds         angular velocity:degrees per second
  4968.                     pad[8]
  4969.                     real_bounds          radius:world units#particle radius
  4970.                     pad[8]
  4971.                     real_argb_color      tint lower bound
  4972.                     real_argb_color      tint upper bound
  4973.                     pad[28]
  4974.                 }
  4975.             }
  4976.             pad[60]
  4977.             tag reference        melee hit sound
  4978.             {
  4979.                 Supported tag class category: snd!
  4980.             }
  4981.         }
  4982.     }
  4983.     block                playlist members
  4984.     {
  4985.         Name: playlist_autogenerate_choice_block
  4986.         Max Chunks: 20
  4987.         Chunk Size: 148
  4988.         Max Chunks x Chunk Size: 2960
  4989.         Chunk Definition Offset: 0x5d1ae8
  4990.         {
  4991.             string               map name
  4992.             string               game variant
  4993.             long_integer         minimum experience
  4994.             long_integer         maximum experience
  4995.             long_integer         minimum player count
  4996.             long_integer         maximum player count
  4997.             long_integer         rating
  4998.             pad[64]
  4999.         }
  5000.     }
  5001. POORLY-DETERMINED MIN FILESIZE OF matg (including 64-byte header): 492
  5002. POORLY-DETERMINED MAX FILESIZE OF matg (including 64-byte header): 54898
  5003.  
  5004. Tag Definition Offset: 0x5b9588
  5005. Extension: sound
  5006. Unknown: 8
  5007. Class: snd!
  5008. No superclass
  5009. Version: 4
  5010. Dialog Data Offset: 0x4382b0
  5011. Definition Block:
  5012. {
  5013.     Name: sound
  5014.     Count: 1
  5015.     Size: 164
  5016.     Chunks Offset: 0x5b93d0
  5017. }
  5018.     long_flags           flags
  5019.     {
  5020.         fit to adpcm blocksize
  5021.         split long sound into permutations
  5022.     }
  5023.     enum                 class
  5024.     {
  5025.         projectile_impact
  5026.         projectile_detonation
  5027.        
  5028.        
  5029.         weapon_fire
  5030.         weapon_ready
  5031.         weapon_reload
  5032.         weapon_empty
  5033.         weapon_charge
  5034.         weapon_overheat
  5035.         weapon_idle
  5036.        
  5037.        
  5038.         object_impacts
  5039.         particle_impacts
  5040.         slow_particle_impacts
  5041.        
  5042.        
  5043.         unit_footsteps
  5044.         unit_dialog
  5045.        
  5046.        
  5047.         vehicle_collision
  5048.         vehicle_engine
  5049.        
  5050.        
  5051.         device_door
  5052.         device_force_field
  5053.         device_machinery
  5054.         device_nature
  5055.         device_computers
  5056.        
  5057.         music
  5058.         ambient_nature
  5059.         ambient_machinery
  5060.         ambient_computers
  5061.        
  5062.        
  5063.        
  5064.         first_person_damage
  5065.        
  5066.        
  5067.        
  5068.        
  5069.         scripted_dialog_player
  5070.         scripted_effect
  5071.         scripted_dialog_other
  5072.         scripted_dialog_force_unspatialized
  5073.        
  5074.        
  5075.         game_event
  5076.     }
  5077.     enum                 sample rate*
  5078.     {
  5079.         22kHz
  5080.         44kHz
  5081.     }
  5082.     real                 minimum distance:world units#the distance below which this sound no longer gets louder
  5083.     real                 maximum distance:world units#the distance beyond which this sound is no longer audible
  5084.     real_fraction        skip fraction#fraction of requests to play this sound that will be ignored (0 means always play.)
  5085.     explanation          randomization
  5086.     {
  5087.         Dialog Data Offset: 0x4a16f8
  5088.         {
  5089. these settings control random variation of volume and pitch.
  5090.         }
  5091.     }
  5092.     real_bounds          random pitch bounds#the sound's pitch will be randomly selected and will be in this range. (1.0 is the recorded pitch.)
  5093.     angle                inner cone angle:degrees#within the cone defined by this angle and the sound's direction, the sound plays with a gain of 1.0.
  5094.     angle                outer cone angle:degrees#outside the cone defined by this angle and the sound's direction, the sound plays with a gain of OUTER CONE GAIN. (0 means the sound does not attenuate with direction.)
  5095.     real_fraction        outer cone gain#the gain to use when the sound is directed away from the listener
  5096.     real                 gain modifier
  5097.     real                 maximum bend per second
  5098.     pad[12]
  5099.     explanation          when scale is ZERO
  5100.     {
  5101.         Dialog Data Offset: 0x4a13b8
  5102.         {
  5103. as the sound's input scale changes from zero to one, these modifiers move between the two values specified here. the sound will play using the current scale modifier multiplied by the value specified above. (0 values are ignored.)
  5104.         }
  5105.     }
  5106.     real                 skip fraction modifier
  5107.     real                 gain modifier
  5108.     real                 pitch modifier
  5109.     pad[12]
  5110.     explanation          when scale is ONE
  5111.     {
  5112.         Dialog Data Offset: 0x4a13b8
  5113.         {
  5114. as the sound's input scale changes from zero to one, these modifiers move between the two values specified here. the sound will play using the current scale modifier multiplied by the value specified above. (0 values are ignored.)
  5115.         }
  5116.     }
  5117.     real                 skip fraction modifier
  5118.     real                 gain modifier
  5119.     real                 pitch modifier
  5120.     pad[12]
  5121.     explanation          import properties
  5122.     {
  5123.         Dialog Data Offset: 0x494b11
  5124.         {
  5125.  
  5126.         }
  5127.     }
  5128.     enum                 encoding*
  5129.     {
  5130.         mono
  5131.         stereo
  5132.     }
  5133.     enum                 compression*
  5134.     {
  5135.         none
  5136.         xbox adpcm
  5137.         ima adpcm
  5138.         ogg
  5139.     }
  5140.     tag reference        promotion sound
  5141.     {
  5142.         Supported tag class category: snd!
  5143.     }
  5144.     short_integer        promotion count#when there are this many instances of the sound, promote to the new sound.
  5145.     pad[2]
  5146.     pad[20]
  5147.     block                pitch ranges#pitch ranges allow multiple samples to represent the same sound at different pitches
  5148.     {
  5149.         Name: sound_pitch_range_block
  5150.         Max Chunks: 8
  5151.         Chunk Size: 72
  5152.         Max Chunks x Chunk Size: 576
  5153.         Chunk Definition Offset: 0x5b9338
  5154.         {
  5155.             string               name*#the name of the imported pitch range directory
  5156.             explanation          pitch control
  5157.             {
  5158.                 Dialog Data Offset: 0x4a19e8
  5159.                 {
  5160. these settings control what pitches this set of samples represents. if there is only one pitch range, all three values are ignored.
  5161.                 }
  5162.             }
  5163.             real                 natural pitch#the apparent pitch when these samples are played at their recorded pitch.
  5164.             real_bounds          bend bounds#the range of pitches that will be represented using this sample. this should always contain the natural pitch.
  5165.             short_integer        actual permutation count*
  5166.             pad[2]
  5167.             pad[12]
  5168.             block                permutations#permutations represent equivalent variations of this sound.
  5169.             {
  5170.                 Name: sound_permutations_block
  5171.                 Max Chunks: 256
  5172.                 Chunk Size: 124
  5173.                 Max Chunks x Chunk Size: 31744
  5174.                 Chunk Definition Offset: 0x5b9290
  5175.                 {
  5176.                     string               name*^#name of the file from which this sample was imported
  5177.                     real_fraction        skip fraction#fraction of requests to play this permutation that are ignored (a different permutation is selected.)
  5178.                     real_fraction        gain#fraction of recorded volume to play at.
  5179.                     enum                 compression*
  5180.                     {
  5181.                         none
  5182.                         xbox adpcm
  5183.                         ima adpcm
  5184.                         ogg
  5185.                     }
  5186.                     short_integer        next permutation index*
  5187.                     pad[20]
  5188.                     data                 samples#sampled sound data
  5189.                     {
  5190.                         Definition Name: sound_samples
  5191.                         Interface Flags: 1
  5192.                         Max Bytes: 4194304
  5193.                         Extra Data Offset: 0x37a60
  5194.                     }
  5195.                     data                 mouth data
  5196.                     {
  5197.                         Definition Name: sound_mouth_data
  5198.                         Max Bytes: 8192
  5199.                     }
  5200.                     data                 subtitle data
  5201.                     {
  5202.                         Definition Name: sound_subtitle_data
  5203.                         Max Bytes: 512
  5204.                         Extra Data Offset: 0x93560
  5205.                     }
  5206.                 }
  5207.             }
  5208.         }
  5209.     }
  5210. POORLY-DETERMINED MIN FILESIZE OF snd! (including 64-byte header): 228
  5211. POORLY-DETERMINED MAX FILESIZE OF snd! (including 64-byte header): 4235811
  5212.  
  5213. Tag Definition Offset: 0x5b9868
  5214. Extension: sound_looping
  5215. Unknown: 8
  5216. Class: lsnd
  5217. No superclass
  5218. Version: 3
  5219. Dialog Data Offset: 0x4386f0
  5220. Definition Block:
  5221. {
  5222.     Name: sound_looping
  5223.     Count: 1
  5224.     Size: 84
  5225.     Chunks Offset: 0x5b97a8
  5226. }
  5227.     long_flags           flags
  5228.     {
  5229.         deafening to AIs#when used as a background stereo track, causes nearby AIs to be unable to hear
  5230.         not a loop#this is a collection of permutations strung together that should play once then stop.
  5231.         stops music#all other music loops will stop when this one starts.
  5232.     }
  5233.     explanation          when scale is ZERO
  5234.     {
  5235.         Dialog Data Offset: 0x4a0b20
  5236.         {
  5237. as the sound's input scale changes from zero to one, these modifiers move between the two values specified here. the sound will play using the current scale modifier multiplied by the value specified below. (0 values are ignored.)
  5238.         }
  5239.     }
  5240.     real                 detail sound period
  5241.     pad[8]
  5242.     explanation          when scale is ONE
  5243.     {
  5244.         Dialog Data Offset: 0x4a0b20
  5245.         {
  5246. as the sound's input scale changes from zero to one, these modifiers move between the two values specified here. the sound will play using the current scale modifier multiplied by the value specified below. (0 values are ignored.)
  5247.         }
  5248.     }
  5249.     real                 detail sound period
  5250.     pad[8]
  5251.     pad[16]
  5252.     tag reference        continuous damage effect
  5253.     {
  5254.         Supported tag class category: cdmg
  5255.     }
  5256.     block                tracks#tracks play in parallel and loop continuously for the duration of the looping sound.
  5257.     {
  5258.         Name: looping_sound_track_block
  5259.         Max Chunks: 4
  5260.         Chunk Size: 160
  5261.         Max Chunks x Chunk Size: 640
  5262.         Chunk Definition Offset: 0x5b9600
  5263.         {
  5264.             long_flags           flags
  5265.             {
  5266.                 fade in at start#the loop sound should fade in while the start sound is playing.
  5267.                 fade out at stop#the loop sound should fade out while the stop sound is playing.
  5268.                 fade in alternate#when the sound changes to the alternate version,  .
  5269.             }
  5270.             real_fraction        gain
  5271.             real                 fade in duration:seconds
  5272.             real                 fade out duration:seconds
  5273.             pad[32]
  5274.             tag reference        start
  5275.             {
  5276.                 Supported tag class category: snd!
  5277.             }
  5278.             tag reference        loop^
  5279.             {
  5280.                 Supported tag class category: snd!
  5281.             }
  5282.             tag reference        end
  5283.             {
  5284.                 Supported tag class category: snd!
  5285.             }
  5286.             pad[32]
  5287.             tag reference        alternate loop
  5288.             {
  5289.                 Supported tag class category: snd!
  5290.             }
  5291.             tag reference        alternate end
  5292.             {
  5293.                 Supported tag class category: snd!
  5294.             }
  5295.             custom
  5296.             {
  5297.                 Field Class: mply
  5298.             }
  5299.         }
  5300.     }
  5301.     block                detail sounds#detail sounds play at random throughout the duration of the looping sound.
  5302.     {
  5303.         Name: looping_sound_detail_block
  5304.         Max Chunks: 32
  5305.         Chunk Size: 104
  5306.         Max Chunks x Chunk Size: 3328
  5307.         Chunk Definition Offset: 0x5b96d8
  5308.         {
  5309.             tag reference        sound^
  5310.             {
  5311.                 Supported tag class category: snd!
  5312.             }
  5313.             explanation          frequency of play
  5314.             {
  5315.                 Dialog Data Offset: 0x494b11
  5316.                 {
  5317.  
  5318.                 }
  5319.             }
  5320.             real_bounds          random period bounds:seconds#the time between successive playings of this sound will be randomly selected from this range.
  5321.             real_fraction        gain
  5322.             long_flags           flags
  5323.             {
  5324.                 don't play with alternate
  5325.                 don't play without alternate
  5326.             }
  5327.             pad[48]
  5328.             explanation          random spatialization
  5329.             {
  5330.                 Dialog Data Offset: 0x4a0ee0
  5331.                 {
  5332. if the sound specified above is not stereo it will be randomly spatialized according to the following constraints. if both lower and upper bounds are zero for any of the following fields, the sound's position will be randomly selected from all possible directions or distances.
  5333.                 }
  5334.             }
  5335.             angle_bounds         yaw bounds:degrees#the sound's position along the horizon will be randomly selected from this range.
  5336.             angle_bounds         pitch bounds:degrees#the sound's position above (positive values) or below (negative values) the horizon will be randomly selected from this range.
  5337.             real_bounds          distance bounds:world units#the sound's distance (from its spatialized looping sound or from the listener if the looping sound is stereo) will be randomly selected from this range.
  5338.         }
  5339.     }
  5340. POORLY-DETERMINED MIN FILESIZE OF lsnd (including 64-byte header): 148
  5341. POORLY-DETERMINED MAX FILESIZE OF lsnd (including 64-byte header): 5901
  5342.  
  5343. Tag Definition Offset: 0x5c64d8
  5344. Extension: item
  5345. Unknown: 9
  5346. Class: item
  5347. Superclass: obje
  5348. Version: 2
  5349. Definition Block:
  5350. {
  5351.     Name: item
  5352.     Count: 1
  5353.     Size: 396
  5354.     Chunks Offset: 0x5c63b0
  5355. }
  5356.     explanation          $$$ ITEM $$$
  5357.     {
  5358.         Dialog Data Offset: 0x494b11
  5359.         {
  5360.  
  5361.         }
  5362.     }
  5363.     long_flags           flags
  5364.     {
  5365.         always maintains z up
  5366.         destroyed by explosions
  5367.         unaffected by gravity
  5368.     }
  5369.     explanation          message-index
  5370.     {
  5371.         Dialog Data Offset: 0x4b77c0
  5372.         {
  5373. This sets which string from tags\ui\hud\hud_item_messages.unicode_string_list to display.
  5374.         }
  5375.     }
  5376.     short_integer        message index
  5377.     short_integer        sort order
  5378.     real                 scale
  5379.     short_integer        hud message value scale
  5380.     pad[2]
  5381.     pad[16]
  5382.     enum                 A in
  5383.     {
  5384.         none
  5385.     }
  5386.     enum                 B in
  5387.     {
  5388.         none
  5389.     }
  5390.     enum                 C in
  5391.     {
  5392.         none
  5393.     }
  5394.     enum                 D in
  5395.     {
  5396.         none
  5397.     }
  5398.     pad[164]
  5399.     tag reference        material effects
  5400.     {
  5401.         Supported tag class category: foot
  5402.     }
  5403.     tag reference        collision sound
  5404.     {
  5405.         Supported tag class category: snd!
  5406.     }
  5407.     pad[120]
  5408.     real_bounds          detonation delay:seconds
  5409.     tag reference        detonating effect
  5410.     {
  5411.         Supported tag class category: effe
  5412.     }
  5413.     tag reference        detonation effect
  5414.     {
  5415.         Supported tag class category: effe
  5416.     }
  5417. POORLY-DETERMINED MIN FILESIZE OF item (including 64-byte header): 460
  5418. POORLY-DETERMINED MAX FILESIZE OF item (including 64-byte header): 1480
  5419.  
  5420. Tag Definition Offset: 0x5d17d8
  5421. Extension: equipment
  5422. Unknown: 0
  5423. Class: eqip
  5424. Superclass: item
  5425. Version: 2
  5426. Definition Block:
  5427. {
  5428.     Name: equipment
  5429.     Count: 1
  5430.     Size: 168
  5431.     Chunks Offset: 0x5d1760
  5432. }
  5433.     enum                 powerup type
  5434.     {
  5435.         none
  5436.         double speed
  5437.         over shield
  5438.         active camouflage
  5439.         full-spectrum vision
  5440.         health
  5441.         grenade
  5442.     }
  5443.     enum                 grenade type
  5444.     {
  5445.         human fragmentation
  5446.         covenant plasma
  5447.     }
  5448.     real                 powerup time:seconds
  5449.     tag reference        pickup sound
  5450.     {
  5451.         Supported tag class category: snd!
  5452.     }
  5453.     pad[144]
  5454. POORLY-DETERMINED MIN FILESIZE OF eqip (including 64-byte header): 232
  5455. POORLY-DETERMINED MAX FILESIZE OF eqip (including 64-byte header): 487
  5456.  
  5457. Tag Definition Offset: 0x5d16c0
  5458. Extension: flag
  5459. Unknown: 0
  5460. Class: flag
  5461. No superclass
  5462. Version: 1
  5463. Definition Block:
  5464. {
  5465.     Name: flag
  5466.     Count: 1
  5467.     Size: 96
  5468.     Chunks Offset: 0x5d15d0
  5469. }
  5470.     long_flags           flags
  5471.     {
  5472.     }
  5473.     enum                 trailing edge shape
  5474.     {
  5475.         flat
  5476.         concave triangular
  5477.         convex triangular
  5478.         trapezoid, short top
  5479.         trapezoid, short bottom
  5480.     }
  5481.     short_integer        trailing edge shape offset:vertices#zero places the shape exactly on the trailing edge, positive numbers push it off the edge
  5482.     enum                 attached edge shape
  5483.     {
  5484.         flat
  5485.         concave triangular
  5486.     }
  5487.     pad[2]
  5488.     short_integer        width:vertices#flag size from attached to trailing edge
  5489.     short_integer        height:vertices#flag size along the direction of attachment (should be odd)
  5490.     real                 cell width:world units#width of the cell between each pair of vertices
  5491.     real                 cell height:world units#height of the cell between each pair of vertices
  5492.     tag reference        red flag shader^
  5493.     {
  5494.         Supported tag class category: shdr
  5495.     }
  5496.     tag reference        physics
  5497.     {
  5498.         Supported tag class category: pphy
  5499.     }
  5500.     real                 wind noise:world units per second^2
  5501.     pad[8]
  5502.     tag reference        blue flag shader^
  5503.     {
  5504.         Supported tag class category: shdr
  5505.     }
  5506.     block                attachment points#attachment points determine where the flag is attached
  5507.     {
  5508.         Name: flag_attachment_point_block
  5509.         Max Chunks: 5
  5510.         Chunk Size: 52
  5511.         Max Chunks x Chunk Size: 260
  5512.         Chunk Definition Offset: 0x5d1518
  5513.         {
  5514.             short_integer        height_to_next_attachment:vertices#flag vertices between this attachment point and the next
  5515.             pad[2]
  5516.             pad[16]
  5517.             string               marker name^
  5518.         }
  5519.     }
  5520. POORLY-DETERMINED MIN FILESIZE OF flag (including 64-byte header): 160
  5521. POORLY-DETERMINED MAX FILESIZE OF flag (including 64-byte header): 1185
  5522.  
  5523. Tag Definition Offset: 0x5d14b8
  5524. Extension: antenna
  5525. Unknown: 8
  5526. Class: ant!
  5527. No superclass
  5528. Version: 1
  5529. Definition Block:
  5530. {
  5531.     Name: antenna
  5532.     Count: 1
  5533.     Size: 208
  5534.     Chunks Offset: 0x5d1410
  5535.     Dialog Data 1 Offset: 0x491260
  5536. }
  5537.     string               attachment marker name#the marker name where the antenna should be attached
  5538.     tag reference        bitmaps
  5539.     {
  5540.         Supported tag class category: bitm
  5541.     }
  5542.     tag reference        physics
  5543.     {
  5544.         Supported tag class category: pphy
  5545.     }
  5546.     pad[80]
  5547.     real_fraction        spring strength coefficient#strength of the spring (larger values make the spring stronger)
  5548.     real                 falloff pixels
  5549.     real                 cutoff pixels
  5550.     pad[40]
  5551.     block                vertices
  5552.     {
  5553.         Name: antenna_vertex_block
  5554.         Max Chunks: 20
  5555.         Chunk Size: 128
  5556.         Max Chunks x Chunk Size: 2560
  5557.         Chunk Definition Offset: 0x5d1360
  5558.         {
  5559.             real_fraction        spring strength coefficient#strength of the spring (larger values make the spring stronger)
  5560.             pad[24]
  5561.             real_euler_angles_2d angles#direction toward next vertex
  5562.             real                 length:world units#distance between this vertex and the next
  5563.             short_integer        sequence index#bitmap group sequence index for this vertex's texture
  5564.             pad[2]
  5565.             real_argb_color      color#color at this vertex
  5566.             real_argb_color      LOD color#color at this vertex for the low-LOD line primitives
  5567.             pad[40]
  5568.             pad[12]
  5569.         }
  5570.     }
  5571. POORLY-DETERMINED MIN FILESIZE OF ant! (including 64-byte header): 272
  5572. POORLY-DETERMINED MAX FILESIZE OF ant! (including 64-byte header): 3342
  5573.  
  5574. Tag Definition Offset: 0x5d12f0
  5575. Extension: spheroid
  5576. Unknown: 0
  5577. Class: boom
  5578. No superclass
  5579. Version: 1
  5580. Definition Block:
  5581. {
  5582.     Name: spheroid
  5583.     Count: 1
  5584.     Size: 4
  5585.     Chunks Offset: 0x5d12a8
  5586. }
  5587.     pad[4]
  5588. POORLY-DETERMINED MIN FILESIZE OF boom (including 64-byte header): 68
  5589. POORLY-DETERMINED MAX FILESIZE OF boom (including 64-byte header): 68
  5590.  
  5591. Tag Definition Offset: 0x5d1248
  5592. Extension: weather_particle_system
  5593. Unknown: 8
  5594. Class: rain
  5595. No superclass
  5596. Version: 1
  5597. Dialog Data Offset: 0x491200
  5598. Definition Block:
  5599. {
  5600.     Name: weather_particle_system
  5601.     Count: 1
  5602.     Size: 48
  5603.     Chunks Offset: 0x5d11e8
  5604. }
  5605.     long_flags           flags
  5606.     {
  5607.     }
  5608.     pad[32]
  5609.     block                particle types
  5610.     {
  5611.         Name: weather_particle_type_block
  5612.         Max Chunks: 8
  5613.         Chunk Size: 604
  5614.         Max Chunks x Chunk Size: 4832
  5615.         Chunk Definition Offset: 0x5d0ef8
  5616.         {
  5617.             string               name^
  5618.             long_flags           flags
  5619.             {
  5620.                 interpolate colors in hsv
  5621.                 ... along long hue path
  5622.                 random rotation
  5623.             }
  5624.             real                 fade-in start distance:world units#Particles begin to fade into visibility beyond this distance
  5625.             real                 fade-in end distance:world units#Particles become fully visible beyond this distance
  5626.             real                 fade-out start distance:world units#Particles begin to fade out of visibility beyond this distance
  5627.             real                 fade-out end distance:world units#Particles become fully invisible beyond this distance
  5628.             real                 fade-in start height:world units#Particles begin to fade into visibility above this height
  5629.             real                 fade-in end height:world units#Particles become fully visible above this height
  5630.             real                 fade-out start height:world units#Particles begin to fade out of visibility above this height
  5631.             real                 fade-out end height:world units#Particles become fully invisible above this height
  5632.             pad[96]
  5633.             real_bounds          particle count:particles per cubic world unit
  5634.             tag reference        physics
  5635.             {
  5636.                 Supported tag class category: pphy
  5637.             }
  5638.             pad[16]
  5639.             real_bounds          acceleration magnitude
  5640.             real_fraction        acceleration turning rate
  5641.             real                 acceleration change rate
  5642.             pad[32]
  5643.             real_bounds          particle radius:world units
  5644.             real_bounds          animation rate:frames per second
  5645.             angle_bounds         rotation rate:degrees per second
  5646.             pad[32]
  5647.             real_argb_color      color lower bound
  5648.             real_argb_color      color upper bound
  5649.             pad[64]
  5650.             explanation          SHADER
  5651.             {
  5652.                 Dialog Data Offset: 0x494b11
  5653.                 {
  5654.  
  5655.                 }
  5656.             }
  5657.             tag reference        sprite bitmap
  5658.             {
  5659.                 Supported tag class category: bitm
  5660.             }
  5661.             enum                 render mode
  5662.             {
  5663.                 screen facing
  5664.                 parallel to direction
  5665.                 perpendicular to direction
  5666.             }
  5667.             enum                 render direction source#Render modes that depend on an direction will use this vector.
  5668.             {
  5669.                 from velocity
  5670.                 from acceleration
  5671.             }
  5672.             pad[40]
  5673.             word_flags           shader flags
  5674.             {
  5675.                 sort bias
  5676.                 nonlinear tint
  5677.                 don't overdraw fp weapon
  5678.             }
  5679.             enum                 framebuffer blend function
  5680.             {
  5681.                 alpha blend
  5682.                 multiply
  5683.                 double multiply
  5684.                 add
  5685.                 subtract
  5686.                 component min
  5687.                 component max
  5688.                 alpha-multiply add
  5689.             }
  5690.             enum                 framebuffer fade mode
  5691.             {
  5692.                 none
  5693.                 fade when perpendicular
  5694.                 fade when parallel
  5695.             }
  5696.             word_flags           map flags
  5697.             {
  5698.                 unfiltered
  5699.             }
  5700.             pad[28]
  5701.             explanation          Secondary Map
  5702.             {
  5703.                 Dialog Data Offset: 0x4cc2b4
  5704.                 {
  5705. Optional multitextured second map
  5706.                 }
  5707.             }
  5708.             tag reference        bitmap
  5709.             {
  5710.                 Supported tag class category: bitm
  5711.             }
  5712.             enum                 anchor
  5713.             {
  5714.                 with primary
  5715.                 with screen space
  5716.                 zsprite
  5717.             }
  5718.             word_flags           flags
  5719.             {
  5720.                 unfiltered
  5721.             }
  5722.             enum                 u-animation source
  5723.             {
  5724.                 none
  5725.                 A out
  5726.                 B out
  5727.                 C out
  5728.                 D out
  5729.             }
  5730.             enum                 u-animation function
  5731.             {
  5732.                 one
  5733.                 zero
  5734.                 cosine
  5735.                 cosine (variable period)
  5736.                 diagonal wave
  5737.                 diagonal wave (variable period)
  5738.                 slide
  5739.                 slide (variable period)
  5740.                 noise
  5741.                 jitter
  5742.                 wander
  5743.                 spark
  5744.             }
  5745.             real                 u-animation period:seconds#0 defaults to 1
  5746.             real                 u-animation phase
  5747.             real                 u-animation scale:repeats#0 defaults to 1
  5748.             enum                 v-animation source
  5749.             {
  5750.                 none
  5751.                 A out
  5752.                 B out
  5753.                 C out
  5754.                 D out
  5755.             }
  5756.             enum                 v-animation function
  5757.             {
  5758.                 one
  5759.                 zero
  5760.                 cosine
  5761.                 cosine (variable period)
  5762.                 diagonal wave
  5763.                 diagonal wave (variable period)
  5764.                 slide
  5765.                 slide (variable period)
  5766.                 noise
  5767.                 jitter
  5768.                 wander
  5769.                 spark
  5770.             }
  5771.             real                 v-animation period:seconds#0 defaults to 1
  5772.             real                 v-animation phase
  5773.             real                 v-animation scale:repeats#0 defaults to 1
  5774.             enum                 rotation-animation source
  5775.             {
  5776.                 none
  5777.                 A out
  5778.                 B out
  5779.                 C out
  5780.                 D out
  5781.             }
  5782.             enum                 rotation-animation function
  5783.             {
  5784.                 one
  5785.                 zero
  5786.                 cosine
  5787.                 cosine (variable period)
  5788.                 diagonal wave
  5789.                 diagonal wave (variable period)
  5790.                 slide
  5791.                 slide (variable period)
  5792.                 noise
  5793.                 jitter
  5794.                 wander
  5795.                 spark
  5796.             }
  5797.             real                 rotation-animation period:seconds#0 defaults to 1
  5798.             real                 rotation-animation phase
  5799.             real                 rotation-animation scale:degrees#0 defaults to 360
  5800.             real_point_2d        rotation-animation center
  5801.             pad[4]
  5802.             real                 zsprite radius scale
  5803.             pad[20]
  5804.         }
  5805.     }
  5806. POORLY-DETERMINED MIN FILESIZE OF rain (including 64-byte header): 112
  5807. POORLY-DETERMINED MAX FILESIZE OF rain (including 64-byte header): 5709
  5808.  
  5809. Tag Definition Offset: 0x5d0e58
  5810. Extension: glow
  5811. Unknown: 8
  5812. Class: glw!
  5813. No superclass
  5814. Version: 1
  5815. Definition Block:
  5816. {
  5817.     Name: glow
  5818.     Count: 1
  5819.     Size: 340
  5820.     Chunks Offset: 0x5d0bb8
  5821.     Dialog Data 1 Offset: 0x490fa0
  5822. }
  5823.     string               attachment marker#the marker name that the glow should be attached to
  5824.     short_integer        number of particles#the number of particles that comprise the glow system
  5825.     enum                 boundary effect#particles behavior on reaching the end of an object
  5826.     {
  5827.         bounce
  5828.         wrap
  5829.     }
  5830.     enum                 normal particle distribution#distribution of the normal particles about the object
  5831.     {
  5832.         distributed randomly
  5833.         distributed uniformly
  5834.     }
  5835.     enum                 trailing particle distribution#distribution of the trailing particles about the object
  5836.     {
  5837.         emit vertically
  5838.         emit normal (up)
  5839.         emit randomly
  5840.     }
  5841.     long_flags           glow flags
  5842.     {
  5843.         modify particle color in range
  5844.         particles move backwards
  5845.         partices move in both directions
  5846.         trailing particles fade over time
  5847.         trailing particles shrink over time
  5848.         trailing particles slow over time
  5849.     }
  5850.     pad[28]
  5851.     pad[2]
  5852.     pad[2]
  5853.     pad[4]
  5854.     enum                 attachment
  5855.     {
  5856.         NONE
  5857.         A out
  5858.         B out
  5859.         C out
  5860.         D out
  5861.     }
  5862.     pad[2]
  5863.     real                 particle rotational velocity#radians per second
  5864.     real                 particle rot vel mul low#multiplied by overall velocity; only used if controlled by attachment
  5865.     real                 particle rot vel mul high#multiplied by overall velocity; only used if controlled by attachment
  5866.     enum                 attachment
  5867.     {
  5868.         NONE
  5869.         A out
  5870.         B out
  5871.         C out
  5872.         D out
  5873.     }
  5874.     pad[2]
  5875.     real                 effect rotational velocity#in radians per second
  5876.     real                 effect rot vel mul low#multiplied by overall velocity; only used if controlled by attachment
  5877.     real                 effect rot vel mul high#multiplied by overall velocity; only used if controlled by attachment
  5878.     enum                 attachment
  5879.     {
  5880.         NONE
  5881.         A out
  5882.         B out
  5883.         C out
  5884.         D out
  5885.     }
  5886.     pad[2]
  5887.     real                 effect translational velocity#in world units per second
  5888.     real                 effect trans vel mul low#multiplied by overall velocity; only used if controlled by attachment
  5889.     real                 effect trans vel mul high#multiplied by overall velocity; only used if controlled by attachment
  5890.     enum                 attachment
  5891.     {
  5892.         NONE
  5893.         A out
  5894.         B out
  5895.         C out
  5896.         D out
  5897.     }
  5898.     pad[2]
  5899.     real                 min distance particle to object#in world units
  5900.     real                 max distance particle to object#in world units
  5901.     real                 distance to object mul low#multiplied by particle distance; only used if controlled by attachment
  5902.     real                 distance to object mul high#multiplied by particle distance; only used if controlled by attachment
  5903.     pad[8]
  5904.     enum                 attachment
  5905.     {
  5906.         NONE
  5907.         A out
  5908.         B out
  5909.         C out
  5910.         D out
  5911.     }
  5912.     pad[2]
  5913.     real_bounds          particle size bounds:world units#size of particles
  5914.     real_bounds          size attachment multiplier#multiplied by particle size; only used if controlled by attachment
  5915.     enum                 attachment
  5916.     {
  5917.         NONE
  5918.         A out
  5919.         B out
  5920.         C out
  5921.         D out
  5922.     }
  5923.     pad[2]
  5924.     real_argb_color      color_bound_0#the color of all particles will vary between color bound 0 and color bound 1
  5925.     real_argb_color      color_bound_1#the color of all particles will vary between color bound 0 and color bound 1
  5926.     real_argb_color      scale color 0#used to scale the particle color; only used if controlled by attachment
  5927.     real_argb_color      scale color 1#used to scale the particle color; only used if controlled by attachment
  5928.     real                 color rate of change#for glow effects that dynamically control particle color; sets rate of change
  5929.     real                 fading percentage of glow#percentage of the glow that is fading at any given time
  5930.     real                 particle generation freq#frequency in Hz that trailing particles are generated:Hz
  5931.     real                 lifetime of trailing particles#seconds that a trailing particle remains in existence:s
  5932.     real                 velocity of trailing particles:wu/s
  5933.     real                 trailing particle minimum t
  5934.     real                 trailing particle maximum t
  5935.     pad[52]
  5936.     tag reference        texture
  5937.     {
  5938.         Supported tag class category: bitm
  5939.     }
  5940. POORLY-DETERMINED MIN FILESIZE OF glw! (including 64-byte header): 404
  5941. POORLY-DETERMINED MAX FILESIZE OF glw! (including 64-byte header): 659
  5942.  
  5943. Tag Definition Offset: 0x5d0ad8
  5944. Extension: light_volume
  5945. Unknown: 8
  5946. Class: mgs2
  5947. No superclass
  5948. Version: 1
  5949. Definition Block:
  5950. {
  5951.     Name: light_volume
  5952.     Count: 1
  5953.     Size: 332
  5954.     Chunks Offset: 0x5d0970
  5955.     Dialog Data 1 Offset: 0x490ec0
  5956. }
  5957.     explanation          light volume
  5958.     {
  5959.         Dialog Data Offset: 0x4cd070
  5960.         {
  5961. Draws a sequence of glow bitmaps along a line. Can be used for contrail-type effects as well as volumetric lights.
  5962.         }
  5963.     }
  5964.     string               attachment marker#the marker name that the light volume should be attached to
  5965.     pad[2]
  5966.     word_flags           flags
  5967.     {
  5968.         interpolate color in hsv
  5969.         ...more colors
  5970.     }
  5971.     pad[16]
  5972.     explanation          brightness scale
  5973.     {
  5974.         Dialog Data Offset: 0x4ccfb8
  5975.         {
  5976. Fades the effect in and out with distance, viewer angle, and external source.
  5977.         }
  5978.     }
  5979.     real                 near fade distance:world units#distance at which light volume is full brightness
  5980.     real                 far fade distance:world units#distance at which light volume is zero brightness
  5981.     real_fraction        perpendicular brightness scale:[0,1]#brightness scale when viewed at a 90-degree angle
  5982.     real_fraction        parallel brightness scale:[0,1]#brightness scale when viewed directly
  5983.     enum                 brightness scale source#scales brightness based on external value
  5984.     {
  5985.         none
  5986.         A out
  5987.         B out
  5988.         C out
  5989.         D out
  5990.     }
  5991.     pad[2]
  5992.     pad[20]
  5993.     explanation          bitmaps
  5994.     {
  5995.         Dialog Data Offset: 0x4ccd80
  5996.         {
  5997. Bitmap tag used to draw the light volume, repeated <count> times. Default is 'tags\rasterizer_textures\glow'. Note that sprite plates are not valid for light volumes.
  5998.         }
  5999.     }
  6000.     tag reference        map#NOT A SPRITE PLATE
  6001.     {
  6002.         Supported tag class category: bitm
  6003.     }
  6004.     short_integer        sequence index
  6005.     short_integer        count#number of bitmaps to draw (0 causes light volume not to render)
  6006.     pad[72]
  6007.     explanation          frame animation
  6008.     {
  6009.         Dialog Data Offset: 0x4ccc38
  6010.         {
  6011. Frames are descriptions of the light volume at a particular point in time, interpolated by an external source. For example, a bolt of energy can be made to stretch out and grow thinner as it is fired from a weapon.
  6012.         }
  6013.     }
  6014.     enum                 frame animation source#interpolates between frames based on external value
  6015.     {
  6016.         none
  6017.         A out
  6018.         B out
  6019.         C out
  6020.         D out
  6021.     }
  6022.     pad[2]
  6023.     pad[36]
  6024.     pad[64]
  6025.     block                frames
  6026.     {
  6027.         Name: light_volume_frame_block
  6028.         Max Chunks: 2
  6029.         Chunk Size: 176
  6030.         Max Chunks x Chunk Size: 352
  6031.         Chunk Definition Offset: 0x5d0880
  6032.         {
  6033.             pad[16]
  6034.             real                 offset from marker:world units
  6035.             real                 offset exponent#0 defaults to 1; >1 compresses light near marker, <1 compresses light near far end
  6036.             real                 length:world units#0 causes light volume not to render
  6037.             pad[32]
  6038.             real                 radius hither:world units#radius near the marker
  6039.             real                 radius yon:world units#radius at far end of light volume
  6040.             real                 radius exponent#0 defaults to 1; >1 values are more teardrop-shaped, <1 values are more pill-shaped
  6041.             pad[32]
  6042.             real_argb_color      tint color hither#tint color near the marker (alpha is brightness)
  6043.             real_argb_color      tint color yon#tint color at far end of light volume (alpha is brightness)
  6044.             real                 tint color exponent#0 defaults to 1; affects tint color only, not brightness
  6045.             real                 brightness exponent#0 defaults to 1
  6046.             pad[32]
  6047.         }
  6048.     }
  6049.     pad[32]
  6050. POORLY-DETERMINED MIN FILESIZE OF mgs2 (including 64-byte header): 396
  6051. POORLY-DETERMINED MAX FILESIZE OF mgs2 (including 64-byte header): 1003
  6052.  
  6053. Tag Definition Offset: 0x5d0820
  6054. Extension: lightning
  6055. Unknown: 8
  6056. Class: elec
  6057. No superclass
  6058. Version: 1
  6059. Definition Block:
  6060. {
  6061.     Name: lightning
  6062.     Count: 1
  6063.     Size: 264
  6064.     Chunks Offset: 0x5d0728
  6065.     Dialog Data 1 Offset: 0x490e00
  6066. }
  6067.     explanation          lightning
  6068.     {
  6069.         Dialog Data Offset: 0x494b11
  6070.         {
  6071.  
  6072.         }
  6073.     }
  6074.     pad[2]
  6075.     short_integer        count#number of overlapping lightning effects to render; 0 defaults to 1
  6076.     pad[16]
  6077.     real                 near fade distance:world units#distance at which lightning is at full brightness
  6078.     real                 far fade distance:world units#distance at which lightning is at zero brightness
  6079.     pad[16]
  6080.     enum                 jitter scale source
  6081.     {
  6082.         none
  6083.         A out
  6084.         B out
  6085.         C out
  6086.         D out
  6087.     }
  6088.     enum                 thickness scale source
  6089.     {
  6090.         none
  6091.         A out
  6092.         B out
  6093.         C out
  6094.         D out
  6095.     }
  6096.     enum                 tint modulation source
  6097.     {
  6098.         none
  6099.         A
  6100.         B
  6101.         C
  6102.         D
  6103.     }
  6104.     enum                 brightness scale source
  6105.     {
  6106.         none
  6107.         A out
  6108.         B out
  6109.         C out
  6110.         D out
  6111.     }
  6112.     tag reference        bitmap
  6113.     {
  6114.         Supported tag class category: bitm
  6115.     }
  6116.     pad[84]
  6117.     block                markers
  6118.     {
  6119.         Name: lightning_marker_block
  6120.         Max Chunks: 16
  6121.         Chunk Size: 228
  6122.         Max Chunks x Chunk Size: 3648
  6123.         Chunk Definition Offset: 0x5d05a0
  6124.         {
  6125.             string               attachment marker
  6126.             word_flags           flags
  6127.             {
  6128.                 not connected to next marker
  6129.             }
  6130.             pad[2]
  6131.             short_integer        octaves to next marker
  6132.             pad[2]
  6133.             pad[76]
  6134.             real_vector_3d       random position bounds:world units
  6135.             real                 random jitter:world units
  6136.             real                 thickness:world units
  6137.             real_argb_color      tint#alpha is brightness
  6138.             pad[76]
  6139.         }
  6140.     }
  6141.     block                shader
  6142.     {
  6143.         Name: lightning_shader_block
  6144.         Max Chunks: 1
  6145.         Chunk Size: 180
  6146.         Max Chunks x Chunk Size: 180
  6147.         Chunk Definition Offset: 0x5d0660
  6148.         {
  6149.             pad[40]
  6150.             word_flags           shader flags
  6151.             {
  6152.                 sort bias
  6153.                 nonlinear tint
  6154.                 don't overdraw fp weapon
  6155.             }
  6156.             enum                 framebuffer blend function
  6157.             {
  6158.                 alpha blend
  6159.                 multiply
  6160.                 double multiply
  6161.                 add
  6162.                 subtract
  6163.                 component min
  6164.                 component max
  6165.                 alpha-multiply add
  6166.             }
  6167.             enum                 framebuffer fade mode
  6168.             {
  6169.                 none
  6170.                 fade when perpendicular
  6171.                 fade when parallel
  6172.             }
  6173.             word_flags           map flags
  6174.             {
  6175.                 unfiltered
  6176.             }
  6177.             pad[28]
  6178.             pad[16]
  6179.             pad[2]
  6180.             pad[2]
  6181.             pad[56]
  6182.             pad[28]
  6183.         }
  6184.     }
  6185.     pad[88]
  6186. POORLY-DETERMINED MIN FILESIZE OF elec (including 64-byte header): 328
  6187. POORLY-DETERMINED MAX FILESIZE OF elec (including 64-byte header): 4411
  6188.  
  6189. Tag Definition Offset: 0x5d0520
  6190. Extension: camera_track
  6191. Unknown: 0
  6192. Class: trak
  6193. No superclass
  6194. Version: 2
  6195. Definition Block:
  6196. {
  6197.     Name: camera_track
  6198.     Count: 1
  6199.     Size: 48
  6200.     Chunks Offset: 0x5d04c0
  6201. }
  6202.     long_flags           flags
  6203.     {
  6204.     }
  6205.     block                control points
  6206.     {
  6207.         Name: camera_track_control_point_block
  6208.         Max Chunks: 16
  6209.         Chunk Size: 60
  6210.         Max Chunks x Chunk Size: 960
  6211.         Chunk Definition Offset: 0x5d0464
  6212.         {
  6213.             real_vector_3d       position
  6214.             real_quaternion      orientation
  6215.             pad[32]
  6216.         }
  6217.     }
  6218.     pad[32]
  6219. POORLY-DETERMINED MIN FILESIZE OF trak (including 64-byte header): 112
  6220. POORLY-DETERMINED MAX FILESIZE OF trak (including 64-byte header): 1072
  6221.  
  6222. Tag Definition Offset: 0x5d03f8
  6223. Extension: particle_system
  6224. Unknown: 8
  6225. Class: pctl
  6226. No superclass
  6227. Version: 4
  6228. Definition Block:
  6229. {
  6230.     Name: particle_system
  6231.     Count: 1
  6232.     Size: 104
  6233.     Chunks Offset: 0x5d0350
  6234. }
  6235.     pad[4]
  6236.     pad[52]
  6237.     explanation          system behavior
  6238.     {
  6239.         Dialog Data Offset: 0x4cbef4
  6240.         {
  6241. These settings affect the behavior of the system's origin.
  6242.         }
  6243.     }
  6244.     tag reference        point physics
  6245.     {
  6246.         Supported tag class category: pphy
  6247.     }
  6248.     enum                 system update physics
  6249.     {
  6250.         default
  6251.         explosion
  6252.     }
  6253.     pad[2]
  6254.     long_flags           physics flags
  6255.     {
  6256.     }
  6257.     block                physics constants
  6258.     {
  6259.         Name: particle_system_physics_constants_block
  6260.         Max Chunks: 16
  6261.         Chunk Size: 4
  6262.         Max Chunks x Chunk Size: 64
  6263.         Chunk Definition Offset: 0x5cfe3c
  6264.         {
  6265.             real                 k#The meaning of this constant depends on the selected physics creation/update function.
  6266.         }
  6267.     }
  6268.     block                particle types
  6269.     {
  6270.         Name: particle_system_types_block
  6271.         Max Chunks: 4
  6272.         Chunk Size: 128
  6273.         Max Chunks x Chunk Size: 512
  6274.         Chunk Definition Offset: 0x5d0270
  6275.         {
  6276.             string               name^
  6277.             long_flags           flags
  6278.             {
  6279.                 type states loop
  6280.                 ... forward/backward
  6281.                 particle states loop
  6282.                 ... forward/backward
  6283.                 particles die in water
  6284.                 particles die in air
  6285.                 particles die on ground
  6286.                 rotational sprites animate sideways#if the complex sprite mode is rotational and this flag is set, the sideways sequence is contains an animation rather than a set of permutations.
  6287.                 disabled
  6288.                 tint by effect color
  6289.                 initial count scales with effect
  6290.                 minimum count scales with effect
  6291.                 creation rate scales with effect
  6292.                 scale scales with effect
  6293.                 animation rate scales with effect
  6294.                 rotation rate scales with effect
  6295.                 don't draw in first person
  6296.                 don't draw in third person
  6297.             }
  6298.             short_integer        initial particle count
  6299.             pad[2]
  6300.             enum                 complex sprite render modes
  6301.             {
  6302.                 simple
  6303.                 rotational
  6304.             }
  6305.             pad[2]
  6306.             real                 radius:world units
  6307.             pad[36]
  6308.             enum                 particle creation physics#This controls the initial placement of particles.
  6309.             {
  6310.                 default
  6311.                 explosion
  6312.                 jet
  6313.             }
  6314.             pad[2]
  6315.             long_flags           physics flags
  6316.             {
  6317.             }
  6318.             block                physics constants
  6319.             {
  6320.                 Name: particle_system_physics_constants_block
  6321.                 Max Chunks: 16
  6322.                 Chunk Size: 4
  6323.                 Max Chunks x Chunk Size: 64
  6324.                 Chunk Definition Offset: 0x5cfe3c
  6325.                 {
  6326.                     real                 k#The meaning of this constant depends on the selected physics creation/update function.
  6327.                 }
  6328.             }
  6329.             block                states
  6330.             {
  6331.                 Name: particle_system_type_states_block
  6332.                 Max Chunks: 8
  6333.                 Chunk Size: 192
  6334.                 Max Chunks x Chunk Size: 1536
  6335.                 Chunk Definition Offset: 0x5cfec0
  6336.                 {
  6337.                     string               name^
  6338.                     real_bounds          duration bounds:seconds#Time in this state.
  6339.                     real_bounds          transition time bounds:seconds#Time spent in transition to next state.
  6340.                     pad[4]
  6341.                     real                 scale multiplier#This value will be multiplied into the scale computed by the particles' state.
  6342.                     real                 animation_rate_multiplier#This value will be multiplied into the animation rate computed by the particles' state.
  6343.                     real                 rotation rate multiplier#This value will be multiplied into the rotation rate computed by the particles' state.
  6344.                     real_argb_color      color multiplier#This value will be multiplied into the color computed by the particles' state.
  6345.                     real                 radius multiplier#This value will be multiplied into the radius computed by the type.
  6346.                     real                 minimum particle count
  6347.                     real                 particle creation rate:particles per second
  6348.                     pad[84]
  6349.                     enum                 particle creation physics#This controls the placement of particles created during this state.
  6350.                     {
  6351.                         default
  6352.                         explosion
  6353.                         jet
  6354.                     }
  6355.                     enum                 particle update physics#This controls the motion of particles during this state.
  6356.                     {
  6357.                         default
  6358.                     }
  6359.                     block                physics constants
  6360.                     {
  6361.                         Name: particle_system_physics_constants_block
  6362.                         Max Chunks: 16
  6363.                         Chunk Size: 4
  6364.                         Max Chunks x Chunk Size: 64
  6365.                         Chunk Definition Offset: 0x5cfe3c
  6366.                         {
  6367.                             real                 k#The meaning of this constant depends on the selected physics creation/update function.
  6368.                         }
  6369.                     }
  6370.                 }
  6371.             }
  6372.             block                particle states
  6373.             {
  6374.                 Name: particle_system_type_particle_states_block
  6375.                 Max Chunks: 8
  6376.                 Chunk Size: 376
  6377.                 Max Chunks x Chunk Size: 3008
  6378.                 Chunk Definition Offset: 0x5cffb0
  6379.                 {
  6380.                     string               name^
  6381.                     real_bounds          duration bounds:seconds#Time in this state.
  6382.                     real_bounds          transition time bounds:seconds#Time spent in transition to next state.
  6383.                     tag reference        bitmaps
  6384.                     {
  6385.                         Supported tag class category: bitm
  6386.                     }
  6387.                     short_integer        sequence index
  6388.                     pad[2]
  6389.                     pad[4]
  6390.                     real_bounds          scale:world units per pixel#Apparent size of the particles.
  6391.                     real_bounds          animation rate:frames per second#Rate of sprite animation.
  6392.                     angle_bounds         rotation rate:degrees per second#Rate of texture rotation.
  6393.                     real_argb_color      color 1#Particle will have a random color in the range determined by these two colors.
  6394.                     real_argb_color      color 2#Particle will have a random color in the range determined by these two colors.
  6395.                     real                 radius multiplier#This value will be multiplied into the radius computed by the type.
  6396.                     tag reference        point physics
  6397.                     {
  6398.                         Supported tag class category: pphy
  6399.                     }
  6400.                     pad[36]
  6401.                     pad[40]
  6402.                     word_flags           shader flags
  6403.                     {
  6404.                         sort bias
  6405.                         nonlinear tint
  6406.                         don't overdraw fp weapon
  6407.                     }
  6408.                     enum                 framebuffer blend function
  6409.                     {
  6410.                         alpha blend
  6411.                         multiply
  6412.                         double multiply
  6413.                         add
  6414.                         subtract
  6415.                         component min
  6416.                         component max
  6417.                         alpha-multiply add
  6418.                     }
  6419.                     enum                 framebuffer fade mode
  6420.                     {
  6421.                         none
  6422.                         fade when perpendicular
  6423.                         fade when parallel
  6424.                     }
  6425.                     word_flags           map flags
  6426.                     {
  6427.                         unfiltered
  6428.                     }
  6429.                     pad[28]
  6430.                     explanation          Secondary Map
  6431.                     {
  6432.                         Dialog Data Offset: 0x4cc2b4
  6433.                         {
  6434. Optional multitextured second map
  6435.                         }
  6436.                     }
  6437.                     tag reference        bitmap
  6438.                     {
  6439.                         Supported tag class category: bitm
  6440.                     }
  6441.                     enum                 anchor
  6442.                     {
  6443.                         with primary
  6444.                         with screen space
  6445.                         zsprite
  6446.                     }
  6447.                     word_flags           flags
  6448.                     {
  6449.                         unfiltered
  6450.                     }
  6451.                     enum                 u-animation source
  6452.                     {
  6453.                         none
  6454.                         A out
  6455.                         B out
  6456.                         C out
  6457.                         D out
  6458.                     }
  6459.                     enum                 u-animation function
  6460.                     {
  6461.                         one
  6462.                         zero
  6463.                         cosine
  6464.                         cosine (variable period)
  6465.                         diagonal wave
  6466.                         diagonal wave (variable period)
  6467.                         slide
  6468.                         slide (variable period)
  6469.                         noise
  6470.                         jitter
  6471.                         wander
  6472.                         spark
  6473.                     }
  6474.                     real                 u-animation period:seconds#0 defaults to 1
  6475.                     real                 u-animation phase
  6476.                     real                 u-animation scale:repeats#0 defaults to 1
  6477.                     enum                 v-animation source
  6478.                     {
  6479.                         none
  6480.                         A out
  6481.                         B out
  6482.                         C out
  6483.                         D out
  6484.                     }
  6485.                     enum                 v-animation function
  6486.                     {
  6487.                         one
  6488.                         zero
  6489.                         cosine
  6490.                         cosine (variable period)
  6491.                         diagonal wave
  6492.                         diagonal wave (variable period)
  6493.                         slide
  6494.                         slide (variable period)
  6495.                         noise
  6496.                         jitter
  6497.                         wander
  6498.                         spark
  6499.                     }
  6500.                     real                 v-animation period:seconds#0 defaults to 1
  6501.                     real                 v-animation phase
  6502.                     real                 v-animation scale:repeats#0 defaults to 1
  6503.                     enum                 rotation-animation source
  6504.                     {
  6505.                         none
  6506.                         A out
  6507.                         B out
  6508.                         C out
  6509.                         D out
  6510.                     }
  6511.                     enum                 rotation-animation function
  6512.                     {
  6513.                         one
  6514.                         zero
  6515.                         cosine
  6516.                         cosine (variable period)
  6517.                         diagonal wave
  6518.                         diagonal wave (variable period)
  6519.                         slide
  6520.                         slide (variable period)
  6521.                         noise
  6522.                         jitter
  6523.                         wander
  6524.                         spark
  6525.                     }
  6526.                     real                 rotation-animation period:seconds#0 defaults to 1
  6527.                     real                 rotation-animation phase
  6528.                     real                 rotation-animation scale:degrees#0 defaults to 360
  6529.                     real_point_2d        rotation-animation center
  6530.                     pad[4]
  6531.                     real                 zsprite radius scale
  6532.                     pad[20]
  6533.                     block                physics constants
  6534.                     {
  6535.                         Name: particle_system_physics_constants_block
  6536.                         Max Chunks: 16
  6537.                         Chunk Size: 4
  6538.                         Max Chunks x Chunk Size: 64
  6539.                         Chunk Definition Offset: 0x5cfe3c
  6540.                         {
  6541.                             real                 k#The meaning of this constant depends on the selected physics creation/update function.
  6542.                         }
  6543.                     }
  6544.                 }
  6545.             }
  6546.         }
  6547.     }
  6548. POORLY-DETERMINED MIN FILESIZE OF pctl (including 64-byte header): 168
  6549. POORLY-DETERMINED MAX FILESIZE OF pctl (including 64-byte header): 6500
  6550.  
  6551. Tag Definition Offset: 0x5cfdd0
  6552. Extension: preferences_network_game
  6553. Unknown: 2
  6554. Class: ngpr
  6555. No superclass
  6556. Version: 2
  6557. Definition Block:
  6558. {
  6559.     Name: preferences_network_game
  6560.     Count: 1
  6561.     Size: 896
  6562.     Chunks Offset: 0x5cfd20
  6563. }
  6564.     string               name
  6565.     real_rgb_color       primary color
  6566.     real_rgb_color       secondary color
  6567.     tag reference        pattern
  6568.     {
  6569.         Supported tag class category: bitm
  6570.     }
  6571.     short_integer        bitmap index
  6572.     pad[2]
  6573.     tag reference        decal
  6574.     {
  6575.         Supported tag class category: bitm
  6576.     }
  6577.     short_integer        bitmap index
  6578.     pad[2]
  6579.     pad[800]
  6580. POORLY-DETERMINED MIN FILESIZE OF ngpr (including 64-byte header): 960
  6581. POORLY-DETERMINED MAX FILESIZE OF ngpr (including 64-byte header): 1470
  6582.  
  6583. Tag Definition Offset: 0x5cfcb0
  6584. Extension: projectile
  6585. Unknown: 9
  6586. Class: proj
  6587. Superclass: obje
  6588. Version: 5
  6589. Definition Block:
  6590. {
  6591.     Name: projectile
  6592.     Count: 1
  6593.     Size: 208
  6594.     Chunks Offset: 0x5cfae0
  6595.     Dialog Data 1 Offset: 0x490d00
  6596. }
  6597.     explanation          $$$ PROJECTILE $$$
  6598.     {
  6599.         Dialog Data Offset: 0x494b11
  6600.         {
  6601.  
  6602.         }
  6603.     }
  6604.     long_flags           flags
  6605.     {
  6606.         oriented along velocity
  6607.         AI must use ballistic aiming
  6608.         detonation max time if attached
  6609.         has super combining explosion
  6610.         combine initial velocity with parent velocity
  6611.         random attached detonation time
  6612.         minimum unattached detonation time
  6613.     }
  6614.     enum                 detonation timer starts
  6615.     {
  6616.         immediately
  6617.         after first bounce
  6618.         when at rest
  6619.     }
  6620.     enum                 impact noise
  6621.     {
  6622.         silent
  6623.         medium
  6624.         loud
  6625.         shout
  6626.         quiet
  6627.     }
  6628.     enum                 A in
  6629.     {
  6630.         none
  6631.         range remaining
  6632.         time remaining
  6633.         tracer
  6634.     }
  6635.     enum                 B in
  6636.     {
  6637.         none
  6638.         range remaining
  6639.         time remaining
  6640.         tracer
  6641.     }
  6642.     enum                 C in
  6643.     {
  6644.         none
  6645.         range remaining
  6646.         time remaining
  6647.         tracer
  6648.     }
  6649.     enum                 D in
  6650.     {
  6651.         none
  6652.         range remaining
  6653.         time remaining
  6654.         tracer
  6655.     }
  6656.     tag reference        super detonation
  6657.     {
  6658.         Supported tag class category: effe
  6659.     }
  6660.     real                 AI perception radius:world units
  6661.     real                 collision radius:world units
  6662.     explanation          detonation
  6663.     {
  6664.         Dialog Data Offset: 0x494b11
  6665.         {
  6666.  
  6667.         }
  6668.     }
  6669.     real                 arming time:seconds#won't detonate before this time elapses
  6670.     real                 danger radius:world units
  6671.     tag reference        effect
  6672.     {
  6673.         Supported tag class category: effe
  6674.     }
  6675.     real_bounds          timer:seconds#detonation countdown (zero is untimed)
  6676.     real                 minimum velocity:world units per second#detonates when slowed below this velocity
  6677.     real                 maximum range:world units#detonates after travelling this distance
  6678.     explanation          physics
  6679.     {
  6680.         Dialog Data Offset: 0x494b11
  6681.         {
  6682.  
  6683.         }
  6684.     }
  6685.     real                 air gravity scale#the proportion of normal gravity applied to the projectile when in air.
  6686.     real_bounds          air damage range:world units#the range over which damage is scaled when the projectile is in air.
  6687.     real                 water gravity scale#the proportion of normal gravity applied to the projectile when in water.
  6688.     real_bounds          water damage range:world units#the range over which damage is scaled when the projectile is in water.
  6689.     real                 initial velocity:world units per second#bullet's velocity when inflicting maximum damage
  6690.     real                 final velocity:world units per second#bullet's velocity when inflicting minimum damage
  6691.     angle                guided angular velocity:degrees per second
  6692.     enum                 detonation noise
  6693.     {
  6694.         silent
  6695.         medium
  6696.         loud
  6697.         shout
  6698.         quiet
  6699.     }
  6700.     pad[2]
  6701.     tag reference        detonation started
  6702.     {
  6703.         Supported tag class category: effe
  6704.     }
  6705.     tag reference        flyby sound
  6706.     {
  6707.         Supported tag class category: snd!
  6708.     }
  6709.     tag reference        attached detonation damage
  6710.     {
  6711.         Supported tag class category: jpt!
  6712.     }
  6713.     tag reference        impact damage
  6714.     {
  6715.         Supported tag class category: jpt!
  6716.     }
  6717.     pad[12]
  6718.     block                material responses
  6719.     {
  6720.         Name: projectile_material_response_block
  6721.         Max Chunks: 33
  6722.         Chunk Size: 160
  6723.         Max Chunks x Chunk Size: 5280
  6724.         Chunk Definition Offset: 0x5cf918
  6725.         {
  6726.             word_flags           flags
  6727.             {
  6728.                 cannot be overpenetrated
  6729.             }
  6730.             explanation          default result
  6731.             {
  6732.                 Dialog Data Offset: 0x4cbd80
  6733.                 {
  6734. (if the potential result, below, fails to happen)
  6735.                 }
  6736.             }
  6737.             enum                 response
  6738.             {
  6739.                 disappear
  6740.                 detonate
  6741.                 reflect
  6742.                 overpenetrate
  6743.                 attach
  6744.             }
  6745.             tag reference        effect
  6746.             {
  6747.                 Supported tag class category: effe
  6748.             }
  6749.             pad[16]
  6750.             explanation          potential result
  6751.             {
  6752.                 Dialog Data Offset: 0x494b11
  6753.                 {
  6754.  
  6755.                 }
  6756.             }
  6757.             enum                 response
  6758.             {
  6759.                 disappear
  6760.                 detonate
  6761.                 reflect
  6762.                 overpenetrate
  6763.                 attach
  6764.             }
  6765.             word_flags           flags
  6766.             {
  6767.                 only against units
  6768.             }
  6769.             real_fraction        skip fraction:[0,1]
  6770.             angle_bounds         between:degrees
  6771.             real_bounds          and:world units per second
  6772.             tag reference        effect
  6773.             {
  6774.                 Supported tag class category: effe
  6775.             }
  6776.             pad[16]
  6777.             explanation          misc
  6778.             {
  6779.                 Dialog Data Offset: 0x494b11
  6780.                 {
  6781.  
  6782.                 }
  6783.             }
  6784.             enum                 scale effects by
  6785.             {
  6786.                 damage
  6787.                 angle
  6788.             }
  6789.             pad[2]
  6790.             angle                angular noise:degrees#the angle of incidence is randomly perturbed by at most this amount to simulate irregularity.
  6791.             real                 velocity noise:world units per second#the velocity is randomly perturbed by at most this amount to simulate irregularity.
  6792.             tag reference        detonation effect
  6793.             {
  6794.                 Supported tag class category: effe
  6795.             }
  6796.             pad[24]
  6797.             explanation          penetration
  6798.             {
  6799.                 Dialog Data Offset: 0x494b11
  6800.                 {
  6801.  
  6802.                 }
  6803.             }
  6804.             real                 initial friction#the fraction of the projectile's velocity lost on penetration
  6805.             real                 maximum distance#the maximum distance the projectile can travel through on object of this material
  6806.             explanation          reflection
  6807.             {
  6808.                 Dialog Data Offset: 0x494b11
  6809.                 {
  6810.  
  6811.                 }
  6812.             }
  6813.             real                 parallel friction#the fraction of the projectile's velocity parallel to the surface lost on impact
  6814.             real                 perpendicular friction#the fraction of the projectile's velocity perpendicular to the surface lost on impact
  6815.         }
  6816.     }
  6817. POORLY-DETERMINED MIN FILESIZE OF proj (including 64-byte header): 272
  6818. POORLY-DETERMINED MAX FILESIZE OF proj (including 64-byte header): 7847
  6819.  
  6820. Tag Definition Offset: 0x5cf668
  6821. Extension: model_collision_geometry
  6822. Unknown: 9
  6823. Class: coll
  6824. No superclass
  6825. Version: 10
  6826. Dialog Data Offset: 0x490c50
  6827. Definition Block:
  6828. {
  6829.     Name: model_collision_geometry
  6830.     Count: 1
  6831.     Size: 664
  6832.     Chunks Offset: 0x5cf3d8
  6833. }
  6834.     long_flags           flags
  6835.     {
  6836.         takes shield damage for children
  6837.         takes body damage for children
  6838.         always shields friendly damage
  6839.         passes area damage to children
  6840.         parent never takes body damage for us
  6841.         only damaged by explosives
  6842.         only damaged while occupied
  6843.     }
  6844.     short_block_index    indirect damage material#the material we use when shielding child objects or getting hit by area of effect damage
  6845.     {
  6846.         Block Name: damage_materials_block
  6847.     }
  6848.     pad[2]
  6849.     explanation          body
  6850.     {
  6851.         Dialog Data Offset: 0x494b11
  6852.         {
  6853.  
  6854.         }
  6855.     }
  6856.     real                 maximum body vitality#the default initial and maximum body vitality of this object
  6857.     real                 body system shock#anything that kills us (body depleted) doing more than this amount of damage also destroys us
  6858.     pad[24]
  6859.     pad[28]
  6860.     real_fraction        friendly damage resistance:[0,1]#the fraction of damage caused by friendly units ignored by this object (zero means full damage)
  6861.     pad[8]
  6862.     pad[32]
  6863.     tag reference        localized damage effect
  6864.     {
  6865.         Supported tag class category: effe
  6866.     }
  6867.     real                 area damage effect threshold:[0,1]
  6868.     tag reference        area damage effect
  6869.     {
  6870.         Supported tag class category: effe
  6871.     }
  6872.     real                 body damaged threshold#when passing this vitality the 'body damaged' effect, below, is created
  6873.     tag reference        body damaged effect
  6874.     {
  6875.         Supported tag class category: effe
  6876.     }
  6877.     tag reference        body depleted effect
  6878.     {
  6879.         Supported tag class category: effe
  6880.     }
  6881.     real                 body destroyed threshold#when passing this vitality (usually negative) the object is deleted
  6882.     tag reference        body destroyed effect
  6883.     {
  6884.         Supported tag class category: effe
  6885.     }
  6886.     explanation          shield
  6887.     {
  6888.         Dialog Data Offset: 0x494b11
  6889.         {
  6890.  
  6891.         }
  6892.     }
  6893.     real                 maximum shield vitality#the default initial and maximum shield vitality of this object
  6894.     pad[2]
  6895.     enum                 shield material type#the material type used when projectiles impact the shield (instead of the body)
  6896.     {
  6897.         dirt
  6898.         sand
  6899.         stone
  6900.         snow
  6901.         wood
  6902.         metal (hollow)
  6903.         metal (thin)
  6904.         metal (thick)
  6905.         rubber
  6906.         glass
  6907.         force field
  6908.         grunt
  6909.         hunter armor
  6910.         hunter skin
  6911.         elite
  6912.         jackal
  6913.         jackal energy shield
  6914.         engineer skin
  6915.         engineer force field
  6916.         flood combat form
  6917.         flood carrier form
  6918.         cyborg armor
  6919.         cyborg energy shield
  6920.         human armor
  6921.         human skin
  6922.         sentinel
  6923.         monitor
  6924.         plastic
  6925.         water
  6926.         leaves
  6927.         elite energy shield
  6928.         ice
  6929.         hunter shield
  6930.     }
  6931.     pad[24]
  6932.     enum                 shield failure function#how fast the shield begins to leak
  6933.     {
  6934.         linear
  6935.         early
  6936.         very early
  6937.         late
  6938.         very late
  6939.         cosine
  6940.     }
  6941.     pad[2]
  6942.     real_fraction        shield failure threshold#when the shield begins to leak (0.5 would cause the shield to begin to fail after taking half damage)
  6943.     real_fraction        failing shield leak fraction#the maximum percent [0,1] damage a failing shield will leak to the body
  6944.     pad[16]
  6945.     real                 minimum stun damage#the minimum damage required to stun this object's shields
  6946.     real                 stun time:seconds#the length of time the shields stay stunned (do not recharge) after taking damage
  6947.     real                 recharge time:seconds#the length of time it would take for the shields to fully recharge after being completely depleted
  6948.     pad[16]
  6949.     pad[96]
  6950.     real                 shield damaged threshold
  6951.     tag reference        shield damaged effect
  6952.     {
  6953.         Supported tag class category: effe
  6954.     }
  6955.     tag reference        shield depleted effect
  6956.     {
  6957.         Supported tag class category: effe
  6958.     }
  6959.     tag reference        shield recharging effect
  6960.     {
  6961.         Supported tag class category: effe
  6962.     }
  6963.     pad[12]
  6964.     pad[112]
  6965.     block                materials*
  6966.     {
  6967.         Name: damage_materials_block
  6968.         Max Chunks: 32
  6969.         Chunk Size: 72
  6970.         Max Chunks x Chunk Size: 2304
  6971.         Chunk Definition Offset: 0x5cf098
  6972.         {
  6973.             string               name*^
  6974.             long_flags           flags
  6975.             {
  6976.                 head
  6977.             }
  6978.             enum                 material type
  6979.             {
  6980.                 dirt
  6981.                 sand
  6982.                 stone
  6983.                 snow
  6984.                 wood
  6985.                 metal (hollow)
  6986.                 metal (thin)
  6987.                 metal (thick)
  6988.                 rubber
  6989.                 glass
  6990.                 force field
  6991.                 grunt
  6992.                 hunter armor
  6993.                 hunter skin
  6994.                 elite
  6995.                 jackal
  6996.                 jackal energy shield
  6997.                 engineer skin
  6998.                 engineer force field
  6999.                 flood combat form
  7000.                 flood carrier form
  7001.                 cyborg armor
  7002.                 cyborg energy shield
  7003.                 human armor
  7004.                 human skin
  7005.                 sentinel
  7006.                 monitor
  7007.                 plastic
  7008.                 water
  7009.                 leaves
  7010.                 elite energy shield
  7011.                 ice
  7012.                 hunter shield
  7013.             }
  7014.             pad[2]
  7015.             real_fraction        shield leak percentage#the percent [0,1] damage the shield always leaks through to the body
  7016.             real                 shield damage multiplier
  7017.             pad[12]
  7018.             real                 body damage multiplier#multiplier to body damage against this material (1.0 is normal)
  7019.             pad[8]
  7020.         }
  7021.     }
  7022.     block                regions*
  7023.     {
  7024.         Name: damage_regions_block
  7025.         Max Chunks: 8
  7026.         Chunk Size: 84
  7027.         Max Chunks x Chunk Size: 672
  7028.         Chunk Definition Offset: 0x5cf1b0
  7029.         {
  7030.             string               name*^
  7031.             long_flags           flags
  7032.             {
  7033.                 lives until object dies
  7034.                 forces object to die
  7035.                 dies when object dies
  7036.                 dies when object is damaged
  7037.                 disappears when shield is off
  7038.                 inhibits melee attack
  7039.                 inhibits weapon attack
  7040.                 inhibits walking
  7041.                 forces drop weapon
  7042.                 causes head-maimed scream
  7043.             }
  7044.             pad[4]
  7045.             real                 damage threshold#if this region takes this amount of damage, it will be destroyed
  7046.             pad[12]
  7047.             tag reference        destroyed effect
  7048.             {
  7049.                 Supported tag class category: effe
  7050.             }
  7051.             block                permutations
  7052.             {
  7053.                 Name: damage_permutations_block
  7054.                 Max Chunks: 32
  7055.                 Chunk Size: 32
  7056.                 Max Chunks x Chunk Size: 1024
  7057.                 Chunk Definition Offset: 0x5cf16c
  7058.                 {
  7059.                     string               name*^
  7060.                 }
  7061.             }
  7062.         }
  7063.     }
  7064.     block                modifiers
  7065.     {
  7066.         Name: damage_modifiers_block
  7067.         Max Chunks: 0
  7068.         Chunk Size: 52
  7069.         Max Chunks x Chunk Size: 0
  7070.         Chunk Definition Offset: 0x5cf23c
  7071.         {
  7072.             pad[52]
  7073.         }
  7074.     }
  7075.     pad[16]
  7076.     explanation          pathfinding box
  7077.     {
  7078.         Dialog Data Offset: 0x494b11
  7079.         {
  7080.  
  7081.         }
  7082.     }
  7083.     real_bounds          x
  7084.     real_bounds          y
  7085.     real_bounds          z
  7086.     block                pathfinding spheres
  7087.     {
  7088.         Name: sphere
  7089.         Max Chunks: 32
  7090.         Chunk Size: 32
  7091.         Max Chunks x Chunk Size: 1024
  7092.         Chunk Definition Offset: 0x5cf360
  7093.         {
  7094.             short_block_index    node
  7095.             {
  7096.                 Block Name: node
  7097.             }
  7098.             pad[2]
  7099.             pad[12]
  7100.             real_point_3d        center
  7101.             real                 radius
  7102.         }
  7103.     }
  7104.     block                nodes*
  7105.     {
  7106.         Name: node
  7107.         Max Chunks: 64
  7108.         Chunk Size: 64
  7109.         Max Chunks x Chunk Size: 4096
  7110.         Chunk Definition Offset: 0x5cf2d0
  7111.         {
  7112.             string               name^*
  7113.             short_block_index    region*
  7114.             {
  7115.                 Block Name: damage_regions_block
  7116.             }
  7117.             short_block_index    parent node*
  7118.             {
  7119.                 Block Name: node
  7120.             }
  7121.             short_block_index    next sibling node*
  7122.             {
  7123.                 Block Name: node
  7124.             }
  7125.             short_block_index    first child node*
  7126.             {
  7127.                 Block Name: node
  7128.             }
  7129.             pad[12]
  7130.             block                bsps*
  7131.             {
  7132.                 Name: bsp
  7133.                 Max Chunks: 32
  7134.                 Chunk Size: 96
  7135.                 Max Chunks x Chunk Size: 3072
  7136.                 Chunk Definition Offset: 0x615038
  7137.                 {
  7138.                     block                bsp3d nodes*
  7139.                     {
  7140.                         Name: bsp3d node
  7141.                         Max Chunks: 131072
  7142.                         Chunk Size: 12
  7143.                         Max Chunks x Chunk Size: 1572864
  7144.                         Chunk Definition Offset: 0x614d20
  7145.                         {
  7146.                             long_integer         plane*
  7147.                             long_integer         back child*
  7148.                             long_integer         front child*
  7149.                         }
  7150.                     }
  7151.                     block                planes*
  7152.                     {
  7153.                         Name: plane
  7154.                         Max Chunks: 65536
  7155.                         Chunk Size: 16
  7156.                         Max Chunks x Chunk Size: 1048576
  7157.                         Chunk Definition Offset: 0x614d7c
  7158.                         {
  7159.                             real_plane_3d        plane*
  7160.                         }
  7161.                     }
  7162.                     block                leaves*
  7163.                     {
  7164.                         Name: leaf
  7165.                         Max Chunks: 65536
  7166.                         Chunk Size: 8
  7167.                         Max Chunks x Chunk Size: 524288
  7168.                         Chunk Definition Offset: 0x614dcc
  7169.                         {
  7170.                             word_flags           flags*
  7171.                             {
  7172.                                 contains double-sided surfaces
  7173.                             }
  7174.                             short_integer        bsp2d reference count*
  7175.                             long_integer         first bsp2d reference*
  7176.                         }
  7177.                     }
  7178.                     block                bsp2d references*
  7179.                     {
  7180.                         Name: bsp2d reference
  7181.                         Max Chunks: 131072
  7182.                         Chunk Size: 8
  7183.                         Max Chunks x Chunk Size: 1048576
  7184.                         Chunk Definition Offset: 0x614e84
  7185.                         {
  7186.                             long_integer         plane*
  7187.                             {
  7188.                                 (used as a long_block_index)
  7189.                                 Block Name: plane
  7190.                             }
  7191.                             long_integer         bsp2d node*
  7192.                             {
  7193.                                 (used as a long_block_index)
  7194.                                 Block Name: bsp2d node
  7195.                             }
  7196.                         }
  7197.                     }
  7198.                     block                bsp2d nodes*
  7199.                     {
  7200.                         Name: bsp2d node
  7201.                         Max Chunks: 65535
  7202.                         Chunk Size: 20
  7203.                         Max Chunks x Chunk Size: 1310700
  7204.                         Chunk Definition Offset: 0x614e28
  7205.                         {
  7206.                             real_plane_2d        plane*
  7207.                             long_integer         left child*
  7208.                             long_integer         right child*
  7209.                         }
  7210.                     }
  7211.                     block                surfaces*
  7212.                     {
  7213.                         Name: surface
  7214.                         Max Chunks: 131072
  7215.                         Chunk Size: 12
  7216.                         Max Chunks x Chunk Size: 1572864
  7217.                         Chunk Definition Offset: 0x614ef0
  7218.                         {
  7219.                             long_integer         plane*
  7220.                             long_integer         first edge*
  7221.                             byte_flags           flags*
  7222.                             {
  7223.                                 two sided
  7224.                                 invisible
  7225.                                 climbable
  7226.                                 breakable
  7227.                             }
  7228.                             char_integer         breakable surface*
  7229.                             short_integer        material*
  7230.                         }
  7231.                     }
  7232.                     block                edges*
  7233.                     {
  7234.                         Name: edge
  7235.                         Max Chunks: 262144
  7236.                         Chunk Size: 24
  7237.                         Max Chunks x Chunk Size: 6291456
  7238.                         Chunk Definition Offset: 0x614f68
  7239.                         {
  7240.                             long_integer         start vertex*
  7241.                             long_integer         end vertex*
  7242.                             long_integer         forward edge*
  7243.                             long_integer         reverse edge*
  7244.                             long_integer         left surface*
  7245.                             long_integer         right surface*
  7246.                         }
  7247.                     }
  7248.                     block                vertices*
  7249.                     {
  7250.                         Name: vertex
  7251.                         Max Chunks: 131072
  7252.                         Chunk Size: 16
  7253.                         Max Chunks x Chunk Size: 2097152
  7254.                         Chunk Definition Offset: 0x614fe8
  7255.                         {
  7256.                             real_point_3d        point*
  7257.                             long_integer         first edge*
  7258.                         }
  7259.                     }
  7260.                 }
  7261.             }
  7262.         }
  7263.     }
  7264. POORLY-DETERMINED MIN FILESIZE OF coll (including 64-byte header): 728
  7265. POORLY-DETERMINED MAX FILESIZE OF coll (including 64-byte header): 15481691
  7266.  
  7267. Tag Definition Offset: 0x5ced08
  7268. Extension: device
  7269. Unknown: 9
  7270. Class: devi
  7271. Superclass: obje
  7272. Version: 1
  7273. Dialog Data Offset: 0x490990
  7274. Definition Block:
  7275. {
  7276.     Name: device
  7277.     Count: 1
  7278.     Size: 276
  7279.     Chunks Offset: 0x5cebb0
  7280. }
  7281.     explanation          $$$ DEVICE $$$
  7282.     {
  7283.         Dialog Data Offset: 0x494b11
  7284.         {
  7285.  
  7286.         }
  7287.     }
  7288.     long_flags           flags
  7289.     {
  7290.         position loops
  7291.         position not interpolated
  7292.     }
  7293.     real                 power transition time:seconds
  7294.     real                 power acceleration time:seconds
  7295.     real                 position transition time:seconds
  7296.     real                 position acceleration time:seconds
  7297.     real                 depowered position transition time:seconds
  7298.     real                 depowered position acceleration time:seconds
  7299.     enum                 A in
  7300.     {
  7301.         none
  7302.         power
  7303.         change in power
  7304.         position
  7305.         change in position
  7306.         locked
  7307.         delay
  7308.     }
  7309.     enum                 B in
  7310.     {
  7311.         none
  7312.         power
  7313.         change in power
  7314.         position
  7315.         change in position
  7316.         locked
  7317.         delay
  7318.     }
  7319.     enum                 C in
  7320.     {
  7321.         none
  7322.         power
  7323.         change in power
  7324.         position
  7325.         change in position
  7326.         locked
  7327.         delay
  7328.     }
  7329.     enum                 D in
  7330.     {
  7331.         none
  7332.         power
  7333.         change in power
  7334.         position
  7335.         change in position
  7336.         locked
  7337.         delay
  7338.     }
  7339.     tag reference        open (up)
  7340.     {
  7341.         Supported tag class: snd!
  7342.         Supported tag class: effe
  7343.     }
  7344.     tag reference        close (down)
  7345.     {
  7346.         Supported tag class: snd!
  7347.         Supported tag class: effe
  7348.     }
  7349.     tag reference        opened
  7350.     {
  7351.         Supported tag class: snd!
  7352.         Supported tag class: effe
  7353.     }
  7354.     tag reference        closed
  7355.     {
  7356.         Supported tag class: snd!
  7357.         Supported tag class: effe
  7358.     }
  7359.     tag reference        depowered
  7360.     {
  7361.         Supported tag class: snd!
  7362.         Supported tag class: effe
  7363.     }
  7364.     tag reference        repowered
  7365.     {
  7366.         Supported tag class: snd!
  7367.         Supported tag class: effe
  7368.     }
  7369.     real                 delay time:seconds
  7370.     pad[8]
  7371.     tag reference        delay effect
  7372.     {
  7373.         Supported tag class: snd!
  7374.         Supported tag class: effe
  7375.     }
  7376.     real                 automatic activation radius:world units
  7377.     pad[84]
  7378.     pad[28]
  7379. POORLY-DETERMINED MIN FILESIZE OF devi (including 64-byte header): 340
  7380. POORLY-DETERMINED MAX FILESIZE OF devi (including 64-byte header): 2125
  7381.  
  7382. Tag Definition Offset: 0x5cee50
  7383. Extension: device_machine
  7384. Unknown: 9
  7385. Class: mach
  7386. Superclass: devi
  7387. Version: 1
  7388. Dialog Data Offset: 0x490b10
  7389. Definition Block:
  7390. {
  7391.     Name: device_machine
  7392.     Count: 1
  7393.     Size: 148
  7394.     Chunks Offset: 0x5ceda8
  7395. }
  7396.     explanation          $$$ MACHINE $$$
  7397.     {
  7398.         Dialog Data Offset: 0x494b11
  7399.         {
  7400.  
  7401.         }
  7402.     }
  7403.     enum                 type
  7404.     {
  7405.         door
  7406.         platform
  7407.         gear
  7408.     }
  7409.     word_flags           flags
  7410.     {
  7411.         pathfinding obstacle
  7412.         ...but not when open
  7413.         elevator#lighting based on what's around, rather than what's below
  7414.     }
  7415.     real                 door open time:seconds
  7416.     pad[80]
  7417.     enum                 collision response
  7418.     {
  7419.         pause until crushed
  7420.         reverse directions
  7421.     }
  7422.     short_integer        elevator node
  7423.     pad[52]
  7424.     pad[4]
  7425. POORLY-DETERMINED MIN FILESIZE OF mach (including 64-byte header): 212
  7426. POORLY-DETERMINED MAX FILESIZE OF mach (including 64-byte header): 212
  7427.  
  7428. Tag Definition Offset: 0x5cef78
  7429. Extension: device_control
  7430. Unknown: 9
  7431. Class: ctrl
  7432. Superclass: devi
  7433. Version: 1
  7434. Definition Block:
  7435. {
  7436.     Name: device_control
  7437.     Count: 1
  7438.     Size: 136
  7439.     Chunks Offset: 0x5ceee0
  7440. }
  7441.     explanation          $$$ CONTROL $$$
  7442.     {
  7443.         Dialog Data Offset: 0x494b11
  7444.         {
  7445.  
  7446.         }
  7447.     }
  7448.     enum                 type
  7449.     {
  7450.         toggle switch
  7451.         on button
  7452.         off button
  7453.         call button
  7454.     }
  7455.     enum                 triggers when
  7456.     {
  7457.         touched by player
  7458.         destroyed
  7459.     }
  7460.     real                 call value:[0,1]
  7461.     pad[80]
  7462.     tag reference        on
  7463.     {
  7464.         Supported tag class: snd!
  7465.         Supported tag class: effe
  7466.     }
  7467.     tag reference        off
  7468.     {
  7469.         Supported tag class: snd!
  7470.         Supported tag class: effe
  7471.     }
  7472.     tag reference        deny
  7473.     {
  7474.         Supported tag class: snd!
  7475.         Supported tag class: effe
  7476.     }
  7477. POORLY-DETERMINED MIN FILESIZE OF ctrl (including 64-byte header): 200
  7478. POORLY-DETERMINED MAX FILESIZE OF ctrl (including 64-byte header): 965
  7479.  
  7480. Tag Definition Offset: 0x5cf028
  7481. Extension: device_light_fixture
  7482. Unknown: 9
  7483. Class: lifi
  7484. Superclass: devi
  7485. Version: 1
  7486. Definition Block:
  7487. {
  7488.     Name: device_light_fixture
  7489.     Count: 1
  7490.     Size: 64
  7491.     Chunks Offset: 0x5cefd8
  7492. }
  7493.     explanation          $$$ LIGHT FIXTURE $$$
  7494.     {
  7495.         Dialog Data Offset: 0x494b11
  7496.         {
  7497.  
  7498.         }
  7499.     }
  7500.     pad[64]
  7501. POORLY-DETERMINED MIN FILESIZE OF lifi (including 64-byte header): 128
  7502. POORLY-DETERMINED MAX FILESIZE OF lifi (including 64-byte header): 128
  7503.  
  7504. Tag Definition Offset: 0x5ceb00
  7505. Extension: point_physics
  7506. Unknown: 8
  7507. Class: pphy
  7508. No superclass
  7509. Version: 1
  7510. Definition Block:
  7511. {
  7512.     Name: point_physics
  7513.     Count: 1
  7514.     Size: 64
  7515.     Chunks Offset: 0x5cea58
  7516.     Dialog Data 1 Offset: 0x4900b0
  7517. }
  7518.     long_flags           flags
  7519.     {
  7520.         flamethrower particle collision
  7521.         collides with structures
  7522.         collides with water surface
  7523.         uses simple wind#the wind on this point won't have high-frequency variations
  7524.         uses damped wind#the wind on this point will be artificially slow
  7525.         no gravity#the point is not affected by gravity
  7526.     }
  7527.     pad[28]
  7528.     real                 density:g/mL
  7529.     real                 air friction
  7530.     real                 water friction
  7531.     real                 surface friction#when hitting the ground or interior, percentage of velocity lost in one collision
  7532.     real                 elasticity#0.0 is inelastic collisions (no bounce) 1.0 is perfectly elastic (reflected velocity equals incoming velocity)
  7533.     pad[12]
  7534.     explanation          Densities (g/mL)
  7535.     {
  7536.         Dialog Data Offset: 0x4c9ff8
  7537.         {
  7538. air        0.0011 (g/mL)
  7539. snow       0.128
  7540. cork       0.24
  7541. cedar      0.43
  7542. oak        0.866
  7543. ice        0.897
  7544. water      1.0
  7545. soil       1.1
  7546. cotton     1.491
  7547. dry earth  1.52
  7548. sand       1.7
  7549. granite    2.4
  7550. glass      2.5
  7551. iron       7.65
  7552. steel      7.77
  7553. lead       11.37
  7554. uranium    18.74
  7555. gold       19.3
  7556.  
  7557.         }
  7558.     }
  7559. POORLY-DETERMINED MIN FILESIZE OF pphy (including 64-byte header): 128
  7560. POORLY-DETERMINED MAX FILESIZE OF pphy (including 64-byte header): 128
  7561.  
  7562. Tag Definition Offset: 0x5ce9c8
  7563. Extension: scenario_structure_bsp
  7564. Unknown: 0
  7565. Class: sbsp
  7566. No superclass
  7567. Version: 5
  7568. Dialog Data Offset: 0x48fa20
  7569. Definition Block:
  7570. {
  7571.     Name: scenario_structure_bsp
  7572.     Count: 1
  7573.     Size: 648
  7574.     Chunks Offset: 0x5ce710
  7575.     Dialog Data 2 Offset: 0x48f620
  7576. }
  7577.     tag reference        lightmaps
  7578.     {
  7579.         Supported tag class category: bitm
  7580.     }
  7581.     real                 vehicle floor:world units#height below which vehicles get pushed up by an unstoppable force
  7582.     real                 vehicle ceiling:world units#height above which vehicles get pushed down by an unstoppable force
  7583.     pad[20]
  7584.     real_rgb_color       default ambient color
  7585.     pad[4]
  7586.     real_rgb_color       default distant light 0 color
  7587.     real_vector_3d       default distant light 0 direction
  7588.     real_rgb_color       default distant light 1 color
  7589.     real_vector_3d       default distant light 1 direction
  7590.     pad[12]
  7591.     real_argb_color      default reflection tint
  7592.     real_vector_3d       default shadow vector
  7593.     real_rgb_color       default shadow color
  7594.     pad[4]
  7595.     block                collision materials*
  7596.     {
  7597.         Name: structure_collision_materials_block
  7598.         Max Chunks: 512
  7599.         Chunk Size: 20
  7600.         Max Chunks x Chunk Size: 10240
  7601.         Chunk Definition Offset: 0x5ce598
  7602.         {
  7603.             tag reference        shader*
  7604.             {
  7605.                 Supported tag class category: shdr
  7606.             }
  7607.             pad[4]
  7608.         }
  7609.     }
  7610.     block                collision bsp*
  7611.     {
  7612.         Name: bsp
  7613.         Max Chunks: 1
  7614.         Chunk Size: 96
  7615.         Max Chunks x Chunk Size: 96
  7616.         Chunk Definition Offset: 0x615038
  7617.         {
  7618.             block                bsp3d nodes*
  7619.             {
  7620.                 Name: bsp3d node
  7621.                 Max Chunks: 131072
  7622.                 Chunk Size: 12
  7623.                 Max Chunks x Chunk Size: 1572864
  7624.                 Chunk Definition Offset: 0x614d20
  7625.                 {
  7626.                     long_integer         plane*
  7627.                     long_integer         back child*
  7628.                     long_integer         front child*
  7629.                 }
  7630.             }
  7631.             block                planes*
  7632.             {
  7633.                 Name: plane
  7634.                 Max Chunks: 65536
  7635.                 Chunk Size: 16
  7636.                 Max Chunks x Chunk Size: 1048576
  7637.                 Chunk Definition Offset: 0x614d7c
  7638.                 {
  7639.                     real_plane_3d        plane*
  7640.                 }
  7641.             }
  7642.             block                leaves*
  7643.             {
  7644.                 Name: leaf
  7645.                 Max Chunks: 65536
  7646.                 Chunk Size: 8
  7647.                 Max Chunks x Chunk Size: 524288
  7648.                 Chunk Definition Offset: 0x614dcc
  7649.                 {
  7650.                     word_flags           flags*
  7651.                     {
  7652.                         contains double-sided surfaces
  7653.                     }
  7654.                     short_integer        bsp2d reference count*
  7655.                     long_integer         first bsp2d reference*
  7656.                 }
  7657.             }
  7658.             block                bsp2d references*
  7659.             {
  7660.                 Name: bsp2d reference
  7661.                 Max Chunks: 131072
  7662.                 Chunk Size: 8
  7663.                 Max Chunks x Chunk Size: 1048576
  7664.                 Chunk Definition Offset: 0x614e84
  7665.                 {
  7666.                     long_integer         plane*
  7667.                     {
  7668.                         (used as a long_block_index)
  7669.                         Block Name: plane
  7670.                     }
  7671.                     long_integer         bsp2d node*
  7672.                     {
  7673.                         (used as a long_block_index)
  7674.                         Block Name: bsp2d node
  7675.                     }
  7676.                 }
  7677.             }
  7678.             block                bsp2d nodes*
  7679.             {
  7680.                 Name: bsp2d node
  7681.                 Max Chunks: 65535
  7682.                 Chunk Size: 20
  7683.                 Max Chunks x Chunk Size: 1310700
  7684.                 Chunk Definition Offset: 0x614e28
  7685.                 {
  7686.                     real_plane_2d        plane*
  7687.                     long_integer         left child*
  7688.                     long_integer         right child*
  7689.                 }
  7690.             }
  7691.             block                surfaces*
  7692.             {
  7693.                 Name: surface
  7694.                 Max Chunks: 131072
  7695.                 Chunk Size: 12
  7696.                 Max Chunks x Chunk Size: 1572864
  7697.                 Chunk Definition Offset: 0x614ef0
  7698.                 {
  7699.                     long_integer         plane*
  7700.                     long_integer         first edge*
  7701.                     byte_flags           flags*
  7702.                     {
  7703.                         two sided
  7704.                         invisible
  7705.                         climbable
  7706.                         breakable
  7707.                     }
  7708.                     char_integer         breakable surface*
  7709.                     short_integer        material*
  7710.                 }
  7711.             }
  7712.             block                edges*
  7713.             {
  7714.                 Name: edge
  7715.                 Max Chunks: 262144
  7716.                 Chunk Size: 24
  7717.                 Max Chunks x Chunk Size: 6291456
  7718.                 Chunk Definition Offset: 0x614f68
  7719.                 {
  7720.                     long_integer         start vertex*
  7721.                     long_integer         end vertex*
  7722.                     long_integer         forward edge*
  7723.                     long_integer         reverse edge*
  7724.                     long_integer         left surface*
  7725.                     long_integer         right surface*
  7726.                 }
  7727.             }
  7728.             block                vertices*
  7729.             {
  7730.                 Name: vertex
  7731.                 Max Chunks: 131072
  7732.                 Chunk Size: 16
  7733.                 Max Chunks x Chunk Size: 2097152
  7734.                 Chunk Definition Offset: 0x614fe8
  7735.                 {
  7736.                     real_point_3d        point*
  7737.                     long_integer         first edge*
  7738.                 }
  7739.             }
  7740.         }
  7741.     }
  7742.     block                nodes*
  7743.     {
  7744.         Name: structure_bsp_node_block
  7745.         Max Chunks: 131072
  7746.         Chunk Size: 6
  7747.         Max Chunks x Chunk Size: 786432
  7748.         Chunk Definition Offset: 0x5cd8b8
  7749.         {
  7750.             skip[6]
  7751.         }
  7752.     }
  7753.     real_bounds          world bounds x*
  7754.     real_bounds          world bounds y*
  7755.     real_bounds          world bounds z*
  7756.     block                leaves*
  7757.     {
  7758.         Name: structure_bsp_leaf_block
  7759.         Max Chunks: 65536
  7760.         Chunk Size: 16
  7761.         Max Chunks x Chunk Size: 1048576
  7762.         Chunk Definition Offset: 0x5cd9a8
  7763.         {
  7764.             skip[6]
  7765.             pad[2]
  7766.             short_integer        cluster*
  7767.             short_integer        surface reference count*
  7768.             long_block_index     surface references*
  7769.             {
  7770.                 Block Name: structure_bsp_surface_reference_block
  7771.             }
  7772.         }
  7773.     }
  7774.     block                leaf surfaces*
  7775.     {
  7776.         Name: structure_bsp_surface_reference_block
  7777.         Max Chunks: 262144
  7778.         Chunk Size: 8
  7779.         Max Chunks x Chunk Size: 2097152
  7780.         Chunk Definition Offset: 0x5cd958
  7781.         {
  7782.             long_block_index     surface*
  7783.             {
  7784.                 Block Name: structure_bsp_surface_block
  7785.             }
  7786.             long_block_index     node*
  7787.             {
  7788.                 Block Name: structure_bsp_node_block
  7789.             }
  7790.         }
  7791.     }
  7792.     block                surfaces*
  7793.     {
  7794.         Name: structure_bsp_surface_block
  7795.         Max Chunks: 131072
  7796.         Chunk Size: 6
  7797.         Max Chunks x Chunk Size: 786432
  7798.         Chunk Definition Offset: 0x5cd8fc
  7799.         {
  7800.             array_start          "vertices*" repeated 3 time(s):
  7801.                 short_integer        a
  7802.             array_end            
  7803.         }
  7804.     }
  7805.     block                lightmaps*
  7806.     {
  7807.         Name: structure_bsp_lightmap_block
  7808.         Max Chunks: 128
  7809.         Chunk Size: 32
  7810.         Max Chunks x Chunk Size: 4096
  7811.         Chunk Definition Offset: 0x5cdbb8
  7812.         {
  7813.             short_integer        bitmap*
  7814.             pad[2]
  7815.             pad[16]
  7816.             block                materials*
  7817.             {
  7818.                 Name: structure_bsp_material_block
  7819.                 Max Chunks: 2048
  7820.                 Chunk Size: 256
  7821.                 Max Chunks x Chunk Size: 524288
  7822.                 Chunk Definition Offset: 0x5cda30
  7823.                 {
  7824.                     tag reference        shader*
  7825.                     {
  7826.                         Supported tag class category: shdr
  7827.                     }
  7828.                     short_integer        shader permutation*
  7829.                     word_flags           flags
  7830.                     {
  7831.                         coplanar*
  7832.                         fog plane*
  7833.                     }
  7834.                     long_block_index     surfaces*
  7835.                     {
  7836.                         Block Name: structure_bsp_surface_block
  7837.                     }
  7838.                     long_integer         surface count*
  7839.                     real_point_3d        centroid*
  7840.                     real_rgb_color       ambient color*
  7841.                     short_integer        distant light count*
  7842.                     pad[2]
  7843.                     real_rgb_color       distant light 0 color*
  7844.                     real_vector_3d       distant light 0 direction*
  7845.                     real_rgb_color       distant light 1 color*
  7846.                     real_vector_3d       distant light 1 direction*
  7847.                     pad[12]
  7848.                     real_argb_color      reflection tint*
  7849.                     real_vector_3d       shadow vector*
  7850.                     real_rgb_color       shadow color*
  7851.                     real_plane_3d        plane*
  7852.                     short_integer        breakable surface*
  7853.                     pad[2]
  7854.                     array_start          "vertex buffers*" repeated 2 time(s):
  7855.                         pad[4]
  7856.                         long_integer         count*
  7857.                         long_integer         offset*
  7858.                         pad[8]
  7859.                     array_end            
  7860.                     data                 uncompressed vertices
  7861.                     {
  7862.                         Definition Name: structure_bsp_uncompressed_vertex_data_definition
  7863.                         Max Bytes: 4864000
  7864.                         Extra Data Offset: 0x8f520
  7865.                     }
  7866.                     data                 compressed vertices
  7867.                     {
  7868.                         Definition Name: structure_bsp_compressed_vertex_data_definition
  7869.                         Interface Flags: 4
  7870.                         Max Bytes: 2560000
  7871.                         Extra Data Offset: 0x8f500
  7872.                     }
  7873.                 }
  7874.             }
  7875.         }
  7876.     }
  7877.     pad[12]
  7878.     block                lens flares*
  7879.     {
  7880.         Name: structure_bsp_lens_flare_block
  7881.         Max Chunks: 256
  7882.         Chunk Size: 16
  7883.         Max Chunks x Chunk Size: 4096
  7884.         Chunk Definition Offset: 0x5ce4b4
  7885.         {
  7886.             tag reference        lens flare
  7887.             {
  7888.                 Supported tag class category: lens
  7889.             }
  7890.         }
  7891.     }
  7892.     block                lens flare markers*
  7893.     {
  7894.         Name: structure_bsp_lens_flare_marker_block
  7895.         Max Chunks: 65536
  7896.         Chunk Size: 16
  7897.         Max Chunks x Chunk Size: 1048576
  7898.         Chunk Definition Offset: 0x5ce4f8
  7899.         {
  7900.             real_point_3d        position*
  7901.             char_integer         direction i-component*
  7902.             char_integer         direction j-component*
  7903.             char_integer         direction k-component*
  7904.             char_integer         lens flare index*
  7905.         }
  7906.     }
  7907.     block                clusters*
  7908.     {
  7909.         Name: structure_bsp_cluster_block
  7910.         Max Chunks: 8192
  7911.         Chunk Size: 104
  7912.         Max Chunks x Chunk Size: 851968
  7913.         Chunk Definition Offset: 0x5cdf68
  7914.         {
  7915.             short_integer        sky*
  7916.             short_integer        fog*
  7917.             short_block_index    background sound*
  7918.             {
  7919.                 Block Name: structure_bsp_background_sound_palette_block
  7920.             }
  7921.             short_block_index    sound environment*
  7922.             {
  7923.                 Block Name: structure_bsp_sound_environment_palette_block
  7924.             }
  7925.             short_block_index    weather*
  7926.             {
  7927.                 Block Name: structure_bsp_weather_palette_block
  7928.             }
  7929.             short_integer        transition structure bsp
  7930.             pad[4]
  7931.             pad[24]
  7932.             block                predicted resources*
  7933.             {
  7934.                 Name: predicted_resource_block
  7935.                 Max Chunks: 1024
  7936.                 Chunk Size: 8
  7937.                 Max Chunks x Chunk Size: 8192
  7938.                 Chunk Definition Offset: 0x605ee0
  7939.                 {
  7940.                     enum                 type
  7941.                     {
  7942.                         bitmap
  7943.                         sound
  7944.                     }
  7945.                     short_integer        resource index
  7946.                     long_integer         tag index
  7947.                 }
  7948.             }
  7949.             block                subclusters*
  7950.             {
  7951.                 Name: structure_bsp_subcluster_block
  7952.                 Max Chunks: 4096
  7953.                 Chunk Size: 36
  7954.                 Max Chunks x Chunk Size: 147456
  7955.                 Chunk Definition Offset: 0x5cdeb8
  7956.                 {
  7957.                     real_bounds          world bounds x*
  7958.                     real_bounds          world bounds y*
  7959.                     real_bounds          world bounds z*
  7960.                     block                surface indices*
  7961.                     {
  7962.                         Name: structure_bsp_subcluster_surface_index_block
  7963.                         Max Chunks: 128
  7964.                         Chunk Size: 4
  7965.                         Max Chunks x Chunk Size: 512
  7966.                         Chunk Definition Offset: 0x5cde74
  7967.                         {
  7968.                             long_integer         index*
  7969.                         }
  7970.                     }
  7971.                 }
  7972.             }
  7973.             short_integer        first lens flare marker index*
  7974.             short_integer        lens flare marker count*
  7975.             block                surface indices*
  7976.             {
  7977.                 Name: structure_bsp_cluster_surface_index_block
  7978.                 Max Chunks: 32768
  7979.                 Chunk Size: 4
  7980.                 Max Chunks x Chunk Size: 131072
  7981.                 Chunk Definition Offset: 0x5cdf20
  7982.                 {
  7983.                     long_integer         index*
  7984.                 }
  7985.             }
  7986.             block                mirrors*
  7987.             {
  7988.                 Name: structure_bsp_mirror_block
  7989.                 Max Chunks: 16
  7990.                 Chunk Size: 64
  7991.                 Max Chunks x Chunk Size: 1024
  7992.                 Chunk Definition Offset: 0x5cdc64
  7993.                 {
  7994.                     real_plane_3d        plane*
  7995.                     pad[20]
  7996.                     tag reference        shader*
  7997.                     {
  7998.                         Supported tag class category: shdr
  7999.                     }
  8000.                     block                vertices*
  8001.                     {
  8002.                         Name: structure_bsp_mirror_vertex_block
  8003.                         Max Chunks: 512
  8004.                         Chunk Size: 12
  8005.                         Max Chunks x Chunk Size: 6144
  8006.                         Chunk Definition Offset: 0x5cdc20
  8007.                         {
  8008.                             real_point_3d        point*
  8009.                         }
  8010.                     }
  8011.                 }
  8012.             }
  8013.             block                portals*
  8014.             {
  8015.                 Name: structure_bsp_cluster_portal_index_block
  8016.                 Max Chunks: 128
  8017.                 Chunk Size: 2
  8018.                 Max Chunks x Chunk Size: 256
  8019.                 Chunk Definition Offset: 0x5ce054
  8020.                 {
  8021.                     short_integer        portal*
  8022.                     {
  8023.                         (used as a short_block_index)
  8024.                         Block Name: structure_bsp_cluster_block
  8025.                     }
  8026.                 }
  8027.             }
  8028.         }
  8029.     }
  8030.     data                 cluster data*
  8031.     {
  8032.         Definition Name: structure_bsp_cluster_data_definition
  8033.         Max Bytes: 65536
  8034.         Extra Data Offset: 0x8f6c0
  8035.     }
  8036.     block                cluster portals*
  8037.     {
  8038.         Name: structure_bsp_cluster_portal_block
  8039.         Max Chunks: 512
  8040.         Chunk Size: 64
  8041.         Max Chunks x Chunk Size: 32768
  8042.         Chunk Definition Offset: 0x5ce0e8
  8043.         {
  8044.             short_integer        front cluster*
  8045.             {
  8046.                 (used as a short_block_index)
  8047.                 Block Name: structure_bsp_cluster_block
  8048.             }
  8049.             short_integer        back cluster*
  8050.             {
  8051.                 (used as a short_block_index)
  8052.                 Block Name: structure_bsp_cluster_block
  8053.             }
  8054.             long_integer         plane index*
  8055.             real_point_3d        centroid*
  8056.             real                 bounding radius*
  8057.             long_flags           flags*
  8058.             {
  8059.                 ai can't hear through this shit
  8060.             }
  8061.             pad[24]
  8062.             block                vertices*
  8063.             {
  8064.                 Name: structure_bsp_cluster_portal_vertex_block
  8065.                 Max Chunks: 128
  8066.                 Chunk Size: 12
  8067.                 Max Chunks x Chunk Size: 1536
  8068.                 Chunk Definition Offset: 0x5ce098
  8069.                 {
  8070.                     real_point_3d        point*
  8071.                 }
  8072.             }
  8073.         }
  8074.     }
  8075.     pad[12]
  8076.     block                breakable surfaces*
  8077.     {
  8078.         Name: structure_bsp_breakable_surface_block
  8079.         Max Chunks: 256
  8080.         Chunk Size: 48
  8081.         Max Chunks x Chunk Size: 12288
  8082.         Chunk Definition Offset: 0x5ce44c
  8083.         {
  8084.             real_point_3d        centroid*
  8085.             real                 radius*
  8086.             long_integer         collision surface index*
  8087.             pad[28]
  8088.         }
  8089.     }
  8090.     block                fog planes*
  8091.     {
  8092.         Name: structure_bsp_fog_plane_block
  8093.         Max Chunks: 32
  8094.         Chunk Size: 32
  8095.         Max Chunks x Chunk Size: 1024
  8096.         Chunk Definition Offset: 0x5ce350
  8097.         {
  8098.             short_block_index    front region*
  8099.             {
  8100.                 Block Name: structure_bsp_fog_region_block
  8101.             }
  8102.             pad[2]
  8103.             real_plane_3d        plane*
  8104.             block                vertices*
  8105.             {
  8106.                 Name: structure_bsp_fog_plane_vertex_block
  8107.                 Max Chunks: 4096
  8108.                 Chunk Size: 12
  8109.                 Max Chunks x Chunk Size: 49152
  8110.                 Chunk Definition Offset: 0x5ce22c
  8111.                 {
  8112.                     real_point_3d        point*
  8113.                 }
  8114.             }
  8115.         }
  8116.     }
  8117.     block                fog regions*
  8118.     {
  8119.         Name: structure_bsp_fog_region_block
  8120.         Max Chunks: 32
  8121.         Chunk Size: 40
  8122.         Max Chunks x Chunk Size: 1280
  8123.         Chunk Definition Offset: 0x5ce2f4
  8124.         {
  8125.             pad[36]
  8126.             short_block_index    fog palette*
  8127.             {
  8128.                 Block Name: structure_bsp_fog_palette_block
  8129.             }
  8130.             short_block_index    weather palette*
  8131.             {
  8132.                 Block Name: structure_bsp_weather_palette_block
  8133.             }
  8134.         }
  8135.     }
  8136.     block                fog palette*
  8137.     {
  8138.         Name: structure_bsp_fog_palette_block
  8139.         Max Chunks: 32
  8140.         Chunk Size: 136
  8141.         Max Chunks x Chunk Size: 4352
  8142.         Chunk Definition Offset: 0x5ce280
  8143.         {
  8144.             string               name^
  8145.             tag reference        fog
  8146.             {
  8147.                 Supported tag class category: fog
  8148.             }
  8149.             pad[4]
  8150.             string               fog scale function
  8151.             pad[52]
  8152.         }
  8153.     }
  8154.     pad[24]
  8155.     block                weather palette*
  8156.     {
  8157.         Name: structure_bsp_weather_palette_block
  8158.         Max Chunks: 32
  8159.         Chunk Size: 240
  8160.         Max Chunks x Chunk Size: 7680
  8161.         Chunk Definition Offset: 0x5cddb8
  8162.         {
  8163.             string               name^
  8164.             tag reference        particle system
  8165.             {
  8166.                 Supported tag class category: rain
  8167.             }
  8168.             pad[4]
  8169.             string               particle system scale function
  8170.             pad[44]
  8171.             tag reference        wind
  8172.             {
  8173.                 Supported tag class category: wind
  8174.             }
  8175.             real_vector_3d       wind direction
  8176.             real                 wind magnitude
  8177.             pad[4]
  8178.             string               wind scale function
  8179.             pad[44]
  8180.         }
  8181.     }
  8182.     block                weather polyhedra*
  8183.     {
  8184.         Name: structure_bsp_weather_polyhedron_block
  8185.         Max Chunks: 32
  8186.         Chunk Size: 32
  8187.         Max Chunks x Chunk Size: 1024
  8188.         Chunk Definition Offset: 0x5ce1c4
  8189.         {
  8190.             real_point_3d        bounding sphere center*
  8191.             real                 bounding sphere radius*
  8192.             pad[4]
  8193.             block                planes*
  8194.             {
  8195.                 Name: structure_bsp_weather_polyhedron_plane_block
  8196.                 Max Chunks: 16
  8197.                 Chunk Size: 16
  8198.                 Max Chunks x Chunk Size: 256
  8199.                 Chunk Definition Offset: 0x5ce180
  8200.                 {
  8201.                     real_plane_3d        plane*
  8202.                 }
  8203.             }
  8204.         }
  8205.     }
  8206.     pad[24]
  8207.     block                pathfinding surfaces*
  8208.     {
  8209.         Name: structure_bsp_pathfinding_surfaces_block
  8210.         Max Chunks: 131072
  8211.         Chunk Size: 1
  8212.         Max Chunks x Chunk Size: 131072
  8213.         Chunk Definition Offset: 0x5ce3b8
  8214.         {
  8215.             char_integer         data*
  8216.         }
  8217.     }
  8218.     block                pathfinding edges*
  8219.     {
  8220.         Name: structure_bsp_pathfinding_edges_block
  8221.         Max Chunks: 262144
  8222.         Chunk Size: 1
  8223.         Max Chunks x Chunk Size: 262144
  8224.         Chunk Definition Offset: 0x5ce3fc
  8225.         {
  8226.             char_integer         midpoint*
  8227.         }
  8228.     }
  8229.     block                background sound palette*
  8230.     {
  8231.         Name: structure_bsp_background_sound_palette_block
  8232.         Max Chunks: 64
  8233.         Chunk Size: 116
  8234.         Max Chunks x Chunk Size: 7424
  8235.         Chunk Definition Offset: 0x5cdcd0
  8236.         {
  8237.             string               name^
  8238.             tag reference        background sound
  8239.             {
  8240.                 Supported tag class category: lsnd
  8241.             }
  8242.             pad[4]
  8243.             string               scale function
  8244.             pad[32]
  8245.         }
  8246.     }
  8247.     block                sound environment palette*
  8248.     {
  8249.         Name: structure_bsp_sound_environment_palette_block
  8250.         Max Chunks: 64
  8251.         Chunk Size: 80
  8252.         Max Chunks x Chunk Size: 5120
  8253.         Chunk Definition Offset: 0x5cdd44
  8254.         {
  8255.             string               name^
  8256.             tag reference        sound environment
  8257.             {
  8258.                 Supported tag class category: snde
  8259.             }
  8260.             pad[32]
  8261.         }
  8262.     }
  8263.     data                 sound PAS data*
  8264.     {
  8265.         Definition Name: structure_bsp_cluster_encoded_sound_data
  8266.         Max Bytes: 131072
  8267.         Extra Data Offset: 0x8f6c0
  8268.     }
  8269.     pad[24]
  8270.     block                markers*
  8271.     {
  8272.         Name: structure_bsp_marker_block
  8273.         Max Chunks: 1024
  8274.         Chunk Size: 60
  8275.         Max Chunks x Chunk Size: 61440
  8276.         Chunk Definition Offset: 0x5ce5f8
  8277.         {
  8278.             string               name*
  8279.             real_quaternion      rotation
  8280.             real_point_3d        position*
  8281.         }
  8282.     }
  8283.     block                detail objects*
  8284.     {
  8285.         Name: structure_bsp_detail_object_data_block
  8286.         Max Chunks: 1
  8287.         Chunk Size: 64
  8288.         Max Chunks x Chunk Size: 64
  8289.         Chunk Definition Offset: 0x5ce658
  8290.         {
  8291.             block                cells
  8292.             {
  8293.                 Name: global_detail_object_cells_block
  8294.                 Max Chunks: 262144
  8295.                 Chunk Size: 32
  8296.                 Max Chunks x Chunk Size: 8388608
  8297.                 Chunk Definition Offset: 0x5c2e88
  8298.                 {
  8299.                     short_integer        *
  8300.                     short_integer        *
  8301.                     short_integer        *
  8302.                     short_integer        *
  8303.                     long_integer         *
  8304.                     long_integer         *
  8305.                     long_integer         *
  8306.                     pad[12]
  8307.                 }
  8308.             }
  8309.             block                instances
  8310.             {
  8311.                 Name: global_detail_object_block
  8312.                 Max Chunks: 2097152
  8313.                 Chunk Size: 6
  8314.                 Max Chunks x Chunk Size: 12582912
  8315.                 Chunk Definition Offset: 0x5c2f20
  8316.                 {
  8317.                     char_integer         *
  8318.                     char_integer         *
  8319.                     char_integer         *
  8320.                     char_integer         *
  8321.                     short_integer        *
  8322.                 }
  8323.             }
  8324.             block                counts
  8325.             {
  8326.                 Name: global_detail_object_counts_block
  8327.                 Max Chunks: 8388608
  8328.                 Chunk Size: 2
  8329.                 Max Chunks x Chunk Size: 16777216
  8330.                 Chunk Definition Offset: 0x5c2f94
  8331.                 {
  8332.                     short_integer        *
  8333.                 }
  8334.             }
  8335.             block                z reference vectors
  8336.             {
  8337.                 Name: global_z_reference_vector_block
  8338.                 Max Chunks: 262144
  8339.                 Chunk Size: 16
  8340.                 Max Chunks x Chunk Size: 4194304
  8341.                 Chunk Definition Offset: 0x5c2fd8
  8342.                 {
  8343.                     real                 *
  8344.                     real                 *
  8345.                     real                 *
  8346.                     real                 *
  8347.                 }
  8348.             }
  8349.             pad[16]
  8350.         }
  8351.     }
  8352.     block                runtime decals*
  8353.     {
  8354.         Name: structure_bsp_runtime_decal_block
  8355.         Max Chunks: 6144
  8356.         Chunk Size: 16
  8357.         Max Chunks x Chunk Size: 98304
  8358.         Chunk Definition Offset: 0x5ce6cc
  8359.         {
  8360.             skip[16]
  8361.         }
  8362.     }
  8363.     pad[8]
  8364.     pad[4]
  8365.     block                leaf map leaves
  8366.     {
  8367.         Name: global_map_leaf_block
  8368.         Max Chunks: 65536
  8369.         Chunk Size: 24
  8370.         Max Chunks x Chunk Size: 1572864
  8371.         Chunk Definition Offset: 0x614c24
  8372.         {
  8373.             block                faces*
  8374.             {
  8375.                 Name: map_leaf_face_block
  8376.                 Max Chunks: 256
  8377.                 Chunk Size: 16
  8378.                 Max Chunks x Chunk Size: 4096
  8379.                 Chunk Definition Offset: 0x614bd4
  8380.                 {
  8381.                     long_integer         node index*
  8382.                     block                vertices*
  8383.                     {
  8384.                         Name: map_leaf_face_vertex_block
  8385.                         Max Chunks: 64
  8386.                         Chunk Size: 8
  8387.                         Max Chunks x Chunk Size: 512
  8388.                         Chunk Definition Offset: 0x614b4c
  8389.                         {
  8390.                             real_point_2d        vertex*
  8391.                         }
  8392.                     }
  8393.                 }
  8394.             }
  8395.             block                portal indices*
  8396.             {
  8397.                 Name: map_leaf_portal_index_block
  8398.                 Max Chunks: 256
  8399.                 Chunk Size: 4
  8400.                 Max Chunks x Chunk Size: 1024
  8401.                 Chunk Definition Offset: 0x614b90
  8402.                 {
  8403.                     long_integer         portal index*
  8404.                 }
  8405.             }
  8406.         }
  8407.     }
  8408.     block                leaf map portals
  8409.     {
  8410.         Name: global_leaf_portal_block
  8411.         Max Chunks: 524288
  8412.         Chunk Size: 24
  8413.         Max Chunks x Chunk Size: 12582912
  8414.         Chunk Definition Offset: 0x614cb8
  8415.         {
  8416.             long_integer         plane index*
  8417.             long_integer         back leaf index*
  8418.             long_integer         front leaf index*
  8419.             block                vertices*
  8420.             {
  8421.                 Name: leaf_portal_vertex_block
  8422.                 Max Chunks: 64
  8423.                 Chunk Size: 12
  8424.                 Max Chunks x Chunk Size: 768
  8425.                 Chunk Definition Offset: 0x614c74
  8426.                 {
  8427.                     real_point_3d        point*
  8428.                 }
  8429.             }
  8430.         }
  8431.     }
  8432. POORLY-DETERMINED MIN FILESIZE OF sbsp (including 64-byte header): 712
  8433. POORLY-DETERMINED MAX FILESIZE OF sbsp (including 64-byte header): 87329098
  8434.  
  8435. Tag Definition Offset: 0x5cd800
  8436. Extension: scenario
  8437. Unknown: 1
  8438. Class: scnr
  8439. No superclass
  8440. Version: 2
  8441. Dialog Data Offset: 0x48f070
  8442. Definition Block:
  8443. {
  8444.     Name: scenario
  8445.     Count: 1
  8446.     Size: 1456
  8447.     Chunks Offset: 0x5cd480
  8448. }
  8449.     tag reference        DON'T USE
  8450.     {
  8451.         Usage flags value: 2
  8452.         Supported tag class category: sbsp
  8453.     }
  8454.     tag reference        WON'T USE
  8455.     {
  8456.         Usage flags value: 2
  8457.         Supported tag class category: sbsp
  8458.     }
  8459.     tag reference        CAN'T USE#set me!! me!!!  i do something cool!!!  you'll be happy forever if there this tag reference is filled in!  don't believe the lies!!! LIESSSS!!!!!!!!  YESS, MY PRECIOUSSSSS, LIESSSS...
  8460.     {
  8461.         Supported tag class category: sky
  8462.     }
  8463.     block                skies
  8464.     {
  8465.         Name: scenario_sky_reference_block
  8466.         Max Chunks: 8
  8467.         Chunk Size: 16
  8468.         Max Chunks x Chunk Size: 128
  8469.         Chunk Definition Offset: 0x5cd370
  8470.         {
  8471.             tag reference        sky
  8472.             {
  8473.                 Supported tag class category: sky
  8474.             }
  8475.         }
  8476.     }
  8477.     enum                 type
  8478.     {
  8479.         solo
  8480.         multiplayer
  8481.         main menu
  8482.     }
  8483.     word_flags           flags
  8484.     {
  8485.         cortana hack#sort cortana in front of other transparent geometry
  8486.         use demo UI#uses alternate UI collection for demo
  8487.     }
  8488.     block                child scenarios
  8489.     {
  8490.         Name: scenario_child_scenario_block
  8491.         Max Chunks: 16
  8492.         Chunk Size: 32
  8493.         Max Chunks x Chunk Size: 512
  8494.         Chunk Definition Offset: 0x5cd314
  8495.         {
  8496.             tag reference        child scenario
  8497.             {
  8498.                 Supported tag class category: scnr
  8499.             }
  8500.             pad[16]
  8501.         }
  8502.     }
  8503.     angle                local north
  8504.     pad[20]
  8505.     pad[136]
  8506.     block                predicted resources*
  8507.     {
  8508.         Name: predicted_resource_block
  8509.         Max Chunks: 1024
  8510.         Chunk Size: 8
  8511.         Max Chunks x Chunk Size: 8192
  8512.         Chunk Definition Offset: 0x605ee0
  8513.         {
  8514.             enum                 type
  8515.             {
  8516.                 bitmap
  8517.                 sound
  8518.             }
  8519.             short_integer        resource index
  8520.             long_integer         tag index
  8521.         }
  8522.     }
  8523.     block                functions
  8524.     {
  8525.         Name: scenario_function_block
  8526.         Max Chunks: 32
  8527.         Chunk Size: 120
  8528.         Max Chunks x Chunk Size: 3840
  8529.         Chunk Definition Offset: 0x5cbc60
  8530.         {
  8531.             long_flags           flags
  8532.             {
  8533.                 scripted#the level script will set this value; the other settings here will be ignored.
  8534.                 invert#result of function is one minus actual result
  8535.                 additive
  8536.                 always active#function does not deactivate when at or below lower bound
  8537.             }
  8538.             string               name^
  8539.             real                 period:seconds#this is the period for the above function (lower values make the function oscillate quickly, higher values make it oscillate slowly)
  8540.             short_block_index    scale period by#multiply this function by the above period
  8541.             {
  8542.                 Block Name: scenario_function_block
  8543.             }
  8544.             enum                 function
  8545.             {
  8546.                 one
  8547.                 zero
  8548.                 cosine
  8549.                 cosine (variable period)
  8550.                 diagonal wave
  8551.                 diagonal wave (variable period)
  8552.                 slide
  8553.                 slide (variable period)
  8554.                 noise
  8555.                 jitter
  8556.                 wander
  8557.                 spark
  8558.             }
  8559.             short_block_index    scale function by#multiply this function by the result of the above function
  8560.             {
  8561.                 Block Name: scenario_function_block
  8562.             }
  8563.             enum                 wobble function#the curve used for the wobble
  8564.             {
  8565.                 one
  8566.                 zero
  8567.                 cosine
  8568.                 cosine (variable period)
  8569.                 diagonal wave
  8570.                 diagonal wave (variable period)
  8571.                 slide
  8572.                 slide (variable period)
  8573.                 noise
  8574.                 jitter
  8575.                 wander
  8576.                 spark
  8577.             }
  8578.             real                 wobble period:seconds#the length of time it takes for the magnitude of this function to complete a wobble
  8579.             real                 wobble magnitude:percent#the amount of random wobble in the magnitude
  8580.             real_fraction        square wave threshold#if non-zero, all values above the square wave threshold are snapped to 1.0, and all values below it are snapped to 0.0 to create a square wave.
  8581.             short_integer        step count#the number of discrete values to snap to (e.g., a step count of 5 would snap the function to 0.00,0.25,0.50,0.75 or 1.00)
  8582.             enum                 map to
  8583.             {
  8584.                 linear
  8585.                 early
  8586.                 very early
  8587.                 late
  8588.                 very late
  8589.                 cosine
  8590.             }
  8591.             short_integer        sawtooth count#the number of times this function should repeat (e.g., a sawtooth count of 5 would give the function a value of 1.0 at each of 0.25,0.50,0.75 as well as at 1.0
  8592.             pad[2]
  8593.             short_block_index    scale result by#multiply this function (from a weapon, vehicle, etc.) final result of all of the above math
  8594.             {
  8595.                 Block Name: scenario_function_block
  8596.             }
  8597.             enum                 bounds mode#controls how the bounds, below, are used
  8598.             {
  8599.                 clip
  8600.                 clip and normalize
  8601.                 scale to fit
  8602.             }
  8603.             fraction_bounds      bounds
  8604.             pad[4]
  8605.             pad[2]
  8606.             short_block_index    turn off with#if the specified function is off, so is this function
  8607.             {
  8608.                 Block Name: scenario_function_block
  8609.             }
  8610.             pad[16]
  8611.             pad[16]
  8612.         }
  8613.     }
  8614.     data                 editor scenario data
  8615.     {
  8616.         Definition Name: editor_scenario_data_definition
  8617.         Max Bytes: 65536
  8618.     }
  8619.     block                comments
  8620.     {
  8621.         Name: editor_comment_block
  8622.         Max Chunks: 1024
  8623.         Chunk Size: 48
  8624.         Max Chunks x Chunk Size: 49152
  8625.         Chunk Definition Offset: 0x5cd3f8
  8626.         {
  8627.             real_point_3d        position
  8628.             pad[16]
  8629.             data                 comment
  8630.             {
  8631.                 Definition Name: editor_comment_data_definition
  8632.                 Interface Flags: 2
  8633.                 Max Bytes: 16384
  8634.             }
  8635.         }
  8636.     }
  8637.     pad[224]
  8638.     block                object names*
  8639.     {
  8640.         Name: scenario_object_names_block
  8641.         Max Chunks: 512
  8642.         Chunk Size: 36
  8643.         Max Chunks x Chunk Size: 18432
  8644.         Chunk Definition Offset: 0x5cbda0
  8645.         {
  8646.             string               name^
  8647.             pad[4]
  8648.         }
  8649.     }
  8650.     block                scenery
  8651.     {
  8652.         Name: scenario_scenery_block
  8653.         Max Chunks: 2000
  8654.         Chunk Size: 72
  8655.         Max Chunks x Chunk Size: 144000
  8656.         Chunk Definition Offset: 0x5cc410
  8657.         {
  8658.             short_block_index    type
  8659.             {
  8660.                 Block Name: scenario_scenery_palette_block
  8661.             }
  8662.             short_block_index    name
  8663.             {
  8664.                 Block Name: scenario_object_names_block
  8665.             }
  8666.             word_flags           not placed
  8667.             {
  8668.                 automatically
  8669.                 on easy
  8670.                 on normal
  8671.                 on hard
  8672.             }
  8673.             short_integer        desired permutation#if non-zero, will try to use model permutations with names that end in that number, e.g. 7 would pick "body-7" and "head-7"
  8674.             real_point_3d        position
  8675.             real_euler_angles_3d rotation
  8676.             pad[8]
  8677.             pad[16]
  8678.             pad[8]
  8679.             pad[8]
  8680.         }
  8681.     }
  8682.     block                scenery palette
  8683.     {
  8684.         Name: scenario_scenery_palette_block
  8685.         Max Chunks: 100
  8686.         Chunk Size: 48
  8687.         Max Chunks x Chunk Size: 4800
  8688.         Chunk Definition Offset: 0x5cc3c0
  8689.         {
  8690.             tag reference        name^
  8691.             {
  8692.                 Supported tag class category: scen
  8693.             }
  8694.             pad[32]
  8695.         }
  8696.     }
  8697.     block                bipeds
  8698.     {
  8699.         Name: scenario_biped_block
  8700.         Max Chunks: 128
  8701.         Chunk Size: 120
  8702.         Max Chunks x Chunk Size: 15360
  8703.         Chunk Definition Offset: 0x5cc7a0
  8704.         {
  8705.             short_block_index    type
  8706.             {
  8707.                 Block Name: scenario_biped_palette_block
  8708.             }
  8709.             short_block_index    name
  8710.             {
  8711.                 Block Name: scenario_object_names_block
  8712.             }
  8713.             word_flags           not placed
  8714.             {
  8715.                 automatically
  8716.                 on easy
  8717.                 on normal
  8718.                 on hard
  8719.             }
  8720.             short_integer        desired permutation#if non-zero, will try to use model permutations with names that end in that number, e.g. 7 would pick "body-7" and "head-7"
  8721.             real_point_3d        position
  8722.             real_euler_angles_3d rotation
  8723.             pad[8]
  8724.             pad[16]
  8725.             pad[8]
  8726.             pad[8]
  8727.             real                 body vitality:[0,1]
  8728.             long_flags           flags
  8729.             {
  8730.                 dead
  8731.             }
  8732.             pad[8]
  8733.             pad[32]
  8734.         }
  8735.     }
  8736.     block                biped palette
  8737.     {
  8738.         Name: scenario_biped_palette_block
  8739.         Max Chunks: 100
  8740.         Chunk Size: 48
  8741.         Max Chunks x Chunk Size: 4800
  8742.         Chunk Definition Offset: 0x5cc74c
  8743.         {
  8744.             tag reference        name^
  8745.             {
  8746.                 Supported tag class category: bipd
  8747.             }
  8748.             pad[32]
  8749.         }
  8750.     }
  8751.     block                vehicles
  8752.     {
  8753.         Name: scenario_vehicle_block
  8754.         Max Chunks: 80
  8755.         Chunk Size: 120
  8756.         Max Chunks x Chunk Size: 9600
  8757.         Chunk Definition Offset: 0x5cc928
  8758.         {
  8759.             short_block_index    type
  8760.             {
  8761.                 Block Name: scenario_vehicle_palette_block
  8762.             }
  8763.             short_block_index    name
  8764.             {
  8765.                 Block Name: scenario_object_names_block
  8766.             }
  8767.             word_flags           not placed
  8768.             {
  8769.                 automatically
  8770.                 on easy
  8771.                 on normal
  8772.                 on hard
  8773.             }
  8774.             short_integer        desired permutation#if non-zero, will try to use model permutations with names that end in that number, e.g. 7 would pick "body-7" and "head-7"
  8775.             real_point_3d        position
  8776.             real_euler_angles_3d rotation
  8777.             pad[8]
  8778.             pad[16]
  8779.             pad[8]
  8780.             pad[8]
  8781.             real                 body vitality:[0,1]
  8782.             long_flags           flags
  8783.             {
  8784.                 dead
  8785.             }
  8786.             pad[8]
  8787.             char_integer         multiplayer team index#on a multiplayer map, this determines which team the vehicle belongs to for custom vehicle sets.
  8788.             pad[1]
  8789.             word_flags           multiplayer spawn flags
  8790.             {
  8791.                 slayer default#vehicle will spawn when default vehicle set is used in a slayer game
  8792.                 ctf default#vehicle will spawn when default vehicle set is used in a ctf game
  8793.                 king default#vehicle will spawn when default vehicle set is used in a king game
  8794.                 oddball default#vehicle will spawn when default vehicle set is used in a oddball game
  8795.                 unused#unused
  8796.                 unused#unused
  8797.                 unused#unused
  8798.                 unused#unused
  8799.                 slayer allowed#vehicle can spawn in a slayer game
  8800.                 ctf allowed#vehicle can spawn in a ctf game
  8801.                 king allowed#vehicle can spawn in a king game
  8802.                 oddball allowed#vehicle can spawn in a oddball game
  8803.                 unused#unused
  8804.                 unused#unused
  8805.                 unused#unused
  8806.                 unused#unused
  8807.             }
  8808.             pad[28]
  8809.         }
  8810.     }
  8811.     block                vehicle palette
  8812.     {
  8813.         Name: scenario_vehicle_palette_block
  8814.         Max Chunks: 100
  8815.         Chunk Size: 48
  8816.         Max Chunks x Chunk Size: 4800
  8817.         Chunk Definition Offset: 0x5cc8d4
  8818.         {
  8819.             tag reference        name^
  8820.             {
  8821.                 Supported tag class category: vehi
  8822.             }
  8823.             pad[32]
  8824.         }
  8825.     }
  8826.     block                equipment
  8827.     {
  8828.         Name: scenario_equipment_block
  8829.         Max Chunks: 256
  8830.         Chunk Size: 40
  8831.         Max Chunks x Chunk Size: 10240
  8832.         Chunk Definition Offset: 0x5cc530
  8833.         {
  8834.             short_block_index    type
  8835.             {
  8836.                 Block Name: scenario_equipment_palette_block
  8837.             }
  8838.             short_block_index    name
  8839.             {
  8840.                 Block Name: scenario_object_names_block
  8841.             }
  8842.             word_flags           not placed
  8843.             {
  8844.                 automatically
  8845.                 on easy
  8846.                 on normal
  8847.                 on hard
  8848.             }
  8849.             short_integer        desired permutation#if non-zero, will try to use model permutations with names that end in that number, e.g. 7 would pick "body-7" and "head-7"
  8850.             real_point_3d        position
  8851.             real_euler_angles_3d rotation
  8852.             pad[2]
  8853.             word_flags           misc flags
  8854.             {
  8855.                 initially at rest (doesn't fall)
  8856.                 obsolete
  8857.                 does accelerate (moves due to explosions)
  8858.             }
  8859.             pad[4]
  8860.         }
  8861.     }
  8862.     block                equipment palette
  8863.     {
  8864.         Name: scenario_equipment_palette_block
  8865.         Max Chunks: 100
  8866.         Chunk Size: 48
  8867.         Max Chunks x Chunk Size: 4800
  8868.         Chunk Definition Offset: 0x5cc4e0
  8869.         {
  8870.             tag reference        name^
  8871.             {
  8872.                 Supported tag class category: eqip
  8873.             }
  8874.             pad[32]
  8875.         }
  8876.     }
  8877.     block                weapons
  8878.     {
  8879.         Name: scenario_weapon_block
  8880.         Max Chunks: 128
  8881.         Chunk Size: 92
  8882.         Max Chunks x Chunk Size: 11776
  8883.         Chunk Definition Offset: 0x5cc648
  8884.         {
  8885.             short_block_index    type
  8886.             {
  8887.                 Block Name: scenario_weapon_palette_block
  8888.             }
  8889.             short_block_index    name
  8890.             {
  8891.                 Block Name: scenario_object_names_block
  8892.             }
  8893.             word_flags           not placed
  8894.             {
  8895.                 automatically
  8896.                 on easy
  8897.                 on normal
  8898.                 on hard
  8899.             }
  8900.             short_integer        desired permutation#if non-zero, will try to use model permutations with names that end in that number, e.g. 7 would pick "body-7" and "head-7"
  8901.             real_point_3d        position
  8902.             real_euler_angles_3d rotation
  8903.             pad[8]
  8904.             pad[16]
  8905.             pad[8]
  8906.             pad[8]
  8907.             short_integer        rounds left
  8908.             short_integer        rounds loaded
  8909.             word_flags           flags
  8910.             {
  8911.                 initially at rest (doesn't fall)
  8912.                 obsolete
  8913.                 does accelerate (moves due to explosions)
  8914.             }
  8915.             pad[2]
  8916.             pad[12]
  8917.         }
  8918.     }
  8919.     block                weapon palette
  8920.     {
  8921.         Name: scenario_weapon_palette_block
  8922.         Max Chunks: 100
  8923.         Chunk Size: 48
  8924.         Max Chunks x Chunk Size: 4800
  8925.         Chunk Definition Offset: 0x5cc5f4
  8926.         {
  8927.             tag reference        name^
  8928.             {
  8929.                 Supported tag class category: weap
  8930.             }
  8931.             pad[32]
  8932.         }
  8933.     }
  8934.     block                device groups
  8935.     {
  8936.         Name: device_group_block
  8937.         Max Chunks: 128
  8938.         Chunk Size: 52
  8939.         Max Chunks x Chunk Size: 6656
  8940.         Chunk Definition Offset: 0x5cbe00
  8941.         {
  8942.             string               name^
  8943.             real                 initial value:[0,1]
  8944.             long_flags           flags
  8945.             {
  8946.                 can change only once
  8947.             }
  8948.             pad[12]
  8949.         }
  8950.     }
  8951.     block                machines
  8952.     {
  8953.         Name: scenario_machine_block
  8954.         Max Chunks: 400
  8955.         Chunk Size: 64
  8956.         Max Chunks x Chunk Size: 25600
  8957.         Chunk Definition Offset: 0x5ccac0
  8958.         {
  8959.             short_block_index    type
  8960.             {
  8961.                 Block Name: scenario_machine_palette_block
  8962.             }
  8963.             short_block_index    name
  8964.             {
  8965.                 Block Name: scenario_object_names_block
  8966.             }
  8967.             word_flags           not placed
  8968.             {
  8969.                 automatically
  8970.                 on easy
  8971.                 on normal
  8972.                 on hard
  8973.             }
  8974.             short_integer        desired permutation#if non-zero, will try to use model permutations with names that end in that number, e.g. 7 would pick "body-7" and "head-7"
  8975.             real_point_3d        position
  8976.             real_euler_angles_3d rotation
  8977.             pad[8]
  8978.             short_block_index    power group
  8979.             {
  8980.                 Block Name: device_group_block
  8981.             }
  8982.             short_block_index    position group
  8983.             {
  8984.                 Block Name: device_group_block
  8985.             }
  8986.             long_flags           flags
  8987.             {
  8988.                 initially open (1.0)
  8989.                 initially off (0.0)
  8990.                 can change only once
  8991.                 position reversed
  8992.                 not usable from any side
  8993.             }
  8994.             long_flags           flags
  8995.             {
  8996.                 does not operate automatically
  8997.                 one-sided
  8998.                 never appears locked
  8999.                 opened by melee attack
  9000.             }
  9001.             pad[12]
  9002.         }
  9003.     }
  9004.     block                machine palette
  9005.     {
  9006.         Name: scenario_machine_palette_block
  9007.         Max Chunks: 100
  9008.         Chunk Size: 48
  9009.         Max Chunks x Chunk Size: 4800
  9010.         Chunk Definition Offset: 0x5cca6c
  9011.         {
  9012.             tag reference        name^
  9013.             {
  9014.                 Supported tag class category: mach
  9015.             }
  9016.             pad[32]
  9017.         }
  9018.     }
  9019.     block                controls
  9020.     {
  9021.         Name: scenario_control_block
  9022.         Max Chunks: 100
  9023.         Chunk Size: 64
  9024.         Max Chunks x Chunk Size: 6400
  9025.         Chunk Definition Offset: 0x5ccbf0
  9026.         {
  9027.             short_block_index    type
  9028.             {
  9029.                 Block Name: scenario_control_palette_block
  9030.             }
  9031.             short_block_index    name
  9032.             {
  9033.                 Block Name: scenario_object_names_block
  9034.             }
  9035.             word_flags           not placed
  9036.             {
  9037.                 automatically
  9038.                 on easy
  9039.                 on normal
  9040.                 on hard
  9041.             }
  9042.             short_integer        desired permutation#if non-zero, will try to use model permutations with names that end in that number, e.g. 7 would pick "body-7" and "head-7"
  9043.             real_point_3d        position
  9044.             real_euler_angles_3d rotation
  9045.             pad[8]
  9046.             short_block_index    power group
  9047.             {
  9048.                 Block Name: device_group_block
  9049.             }
  9050.             short_block_index    position group
  9051.             {
  9052.                 Block Name: device_group_block
  9053.             }
  9054.             long_flags           flags
  9055.             {
  9056.                 initially open (1.0)
  9057.                 initially off (0.0)
  9058.                 can change only once
  9059.                 position reversed
  9060.                 not usable from any side
  9061.             }
  9062.             long_flags           flags
  9063.             {
  9064.                 usable from both sides
  9065.             }
  9066.             short_integer        *DON'T TOUCH THIS
  9067.             custom
  9068.             {
  9069.                 Field Class: ugh@
  9070.             }
  9071.             pad[2]
  9072.             pad[8]
  9073.         }
  9074.     }
  9075.     block                control palette
  9076.     {
  9077.         Name: scenario_control_palette_block
  9078.         Max Chunks: 100
  9079.         Chunk Size: 48
  9080.         Max Chunks x Chunk Size: 4800
  9081.         Chunk Definition Offset: 0x5ccba0
  9082.         {
  9083.             tag reference        name^
  9084.             {
  9085.                 Supported tag class category: ctrl
  9086.             }
  9087.             pad[32]
  9088.         }
  9089.     }
  9090.     block                light fixtures
  9091.     {
  9092.         Name: scenario_light_fixture_block
  9093.         Max Chunks: 500
  9094.         Chunk Size: 88
  9095.         Max Chunks x Chunk Size: 44000
  9096.         Chunk Definition Offset: 0x5ccd38
  9097.         {
  9098.             short_block_index    type
  9099.             {
  9100.                 Block Name: scenario_light_fixture_palette_block
  9101.             }
  9102.             short_block_index    name
  9103.             {
  9104.                 Block Name: scenario_object_names_block
  9105.             }
  9106.             word_flags           not placed
  9107.             {
  9108.                 automatically
  9109.                 on easy
  9110.                 on normal
  9111.                 on hard
  9112.             }
  9113.             short_integer        desired permutation#if non-zero, will try to use model permutations with names that end in that number, e.g. 7 would pick "body-7" and "head-7"
  9114.             real_point_3d        position
  9115.             real_euler_angles_3d rotation
  9116.             pad[8]
  9117.             short_block_index    power group
  9118.             {
  9119.                 Block Name: device_group_block
  9120.             }
  9121.             short_block_index    position group
  9122.             {
  9123.                 Block Name: device_group_block
  9124.             }
  9125.             long_flags           flags
  9126.             {
  9127.                 initially open (1.0)
  9128.                 initially off (0.0)
  9129.                 can change only once
  9130.                 position reversed
  9131.                 not usable from any side
  9132.             }
  9133.             real_rgb_color       color
  9134.             real                 intensity
  9135.             angle                falloff angle:degrees
  9136.             angle                cutoff angle:degrees
  9137.             pad[16]
  9138.         }
  9139.     }
  9140.     block                light fixtures palette
  9141.     {
  9142.         Name: scenario_light_fixture_palette_block
  9143.         Max Chunks: 100
  9144.         Chunk Size: 48
  9145.         Max Chunks x Chunk Size: 4800
  9146.         Chunk Definition Offset: 0x5ccce8
  9147.         {
  9148.             tag reference        name^
  9149.             {
  9150.                 Supported tag class category: lifi
  9151.             }
  9152.             pad[32]
  9153.         }
  9154.     }
  9155.     block                sound scenery
  9156.     {
  9157.         Name: scenario_sound_scenery_block
  9158.         Max Chunks: 256
  9159.         Chunk Size: 40
  9160.         Max Chunks x Chunk Size: 10240
  9161.         Chunk Definition Offset: 0x5cce80
  9162.         {
  9163.             short_block_index    type
  9164.             {
  9165.                 Block Name: scenario_sound_scenery_palette_block
  9166.             }
  9167.             short_block_index    name
  9168.             {
  9169.                 Block Name: scenario_object_names_block
  9170.             }
  9171.             word_flags           not placed
  9172.             {
  9173.                 automatically
  9174.                 on easy
  9175.                 on normal
  9176.                 on hard
  9177.             }
  9178.             short_integer        desired permutation#if non-zero, will try to use model permutations with names that end in that number, e.g. 7 would pick "body-7" and "head-7"
  9179.             real_point_3d        position
  9180.             real_euler_angles_3d rotation
  9181.             pad[8]
  9182.         }
  9183.     }
  9184.     block                sound scenery palette
  9185.     {
  9186.         Name: scenario_sound_scenery_palette_block
  9187.         Max Chunks: 100
  9188.         Chunk Size: 48
  9189.         Max Chunks x Chunk Size: 4800
  9190.         Chunk Definition Offset: 0x5cce30
  9191.         {
  9192.             tag reference        name^
  9193.             {
  9194.                 Supported tag class category: ssce
  9195.             }
  9196.             pad[32]
  9197.         }
  9198.     }
  9199.     pad[84]
  9200.     block                player starting profile
  9201.     {
  9202.         Name: scenario_profiles_block
  9203.         Max Chunks: 256
  9204.         Chunk Size: 104
  9205.         Max Chunks x Chunk Size: 26624
  9206.         Chunk Definition Offset: 0x5cc138
  9207.         {
  9208.             string               name^
  9209.             real_fraction        starting health modifier:[0,1]
  9210.             real_fraction        starting shield modifier:[0,1]
  9211.             tag reference        primary weapon
  9212.             {
  9213.                 Supported tag class category: weap
  9214.             }
  9215.             short_integer        rounds loaded
  9216.             short_integer        rounds total
  9217.             tag reference        secondary weapon
  9218.             {
  9219.                 Supported tag class category: weap
  9220.             }
  9221.             short_integer        rounds loaded
  9222.             short_integer        rounds total
  9223.             char_integer         starting fragmentation grenade count
  9224.             char_integer         starting plasma grenade count
  9225.             char_integer         starting <unknown> grenade count
  9226.             char_integer         starting <unknown> grenade count
  9227.             pad[20]
  9228.         }
  9229.     }
  9230.     block                player starting locations
  9231.     {
  9232.         Name: scenario_players_block
  9233.         Max Chunks: 256
  9234.         Chunk Size: 52
  9235.         Max Chunks x Chunk Size: 13312
  9236.         Chunk Definition Offset: 0x5cc218
  9237.         {
  9238.             real_point_3d        position
  9239.             angle                facing:degrees
  9240.             short_integer        team index
  9241.             short_integer        bsp index
  9242.             enum                 type 0
  9243.             {
  9244.                 none
  9245.                 ctf
  9246.                 slayer
  9247.                 oddball
  9248.                 king of the hill
  9249.                 race
  9250.                 terminator
  9251.                 stub
  9252.                 ignored1
  9253.                 ignored2
  9254.                 ignored3
  9255.                 ignored4
  9256.                 all games
  9257.                 all except ctf
  9258.                 all except race & ctf
  9259.             }
  9260.             enum                 type 1
  9261.             {
  9262.                 none
  9263.                 ctf
  9264.                 slayer
  9265.                 oddball
  9266.                 king of the hill
  9267.                 race
  9268.                 terminator
  9269.                 stub
  9270.                 ignored1
  9271.                 ignored2
  9272.                 ignored3
  9273.                 ignored4
  9274.                 all games
  9275.                 all except ctf
  9276.                 all except race & ctf
  9277.             }
  9278.             enum                 type 2
  9279.             {
  9280.                 none
  9281.                 ctf
  9282.                 slayer
  9283.                 oddball
  9284.                 king of the hill
  9285.                 race
  9286.                 terminator
  9287.                 stub
  9288.                 ignored1
  9289.                 ignored2
  9290.                 ignored3
  9291.                 ignored4
  9292.                 all games
  9293.                 all except ctf
  9294.                 all except race & ctf
  9295.             }
  9296.             enum                 type 3
  9297.             {
  9298.                 none
  9299.                 ctf
  9300.                 slayer
  9301.                 oddball
  9302.                 king of the hill
  9303.                 race
  9304.                 terminator
  9305.                 stub
  9306.                 ignored1
  9307.                 ignored2
  9308.                 ignored3
  9309.                 ignored4
  9310.                 all games
  9311.                 all except ctf
  9312.                 all except race & ctf
  9313.             }
  9314.             pad[24]
  9315.         }
  9316.     }
  9317.     block                trigger volumes
  9318.     {
  9319.         Name: scenario_trigger_volume_block
  9320.         Max Chunks: 256
  9321.         Chunk Size: 96
  9322.         Max Chunks x Chunk Size: 24576
  9323.         Chunk Definition Offset: 0x5cc2c0
  9324.         {
  9325.             skip[4]
  9326.             string               name^
  9327.             array_start          "" repeated 15 time(s):
  9328.                 real                
  9329.             array_end            
  9330.         }
  9331.     }
  9332.     block                recorded animations
  9333.     {
  9334.         Name: recorded_animation_block
  9335.         Max Chunks: 1024
  9336.         Chunk Size: 64
  9337.         Max Chunks x Chunk Size: 65536
  9338.         Chunk Definition Offset: 0x6142a8
  9339.         {
  9340.             string               name^
  9341.             char_integer         version*
  9342.             char_integer         raw animation data*
  9343.             char_integer         unit control data version*
  9344.             pad[1]
  9345.             short_integer        length of animation*:ticks
  9346.             pad[2]
  9347.             pad[4]
  9348.             data                 recorded animation event stream*
  9349.             {
  9350.                 Definition Name: recorded_animation_event_stream_data
  9351.                 Max Bytes: 2097152
  9352.                 Extra Data Offset: 0x1b0ca0
  9353.             }
  9354.         }
  9355.     }
  9356.     block                netgame flags
  9357.     {
  9358.         Name: scenario_netgame_flags_block
  9359.         Max Chunks: 200
  9360.         Chunk Size: 148
  9361.         Max Chunks x Chunk Size: 29600
  9362.         Chunk Definition Offset: 0x5cc0a8
  9363.         {
  9364.             real_point_3d        position
  9365.             angle                facing:degress
  9366.             enum                 type
  9367.             {
  9368.                 ctf - flag
  9369.                 ctf - vehicle
  9370.                 oddball - ball spawn
  9371.                 race - track
  9372.                 race - vehicle
  9373.                 vegas - bank
  9374.                 teleport from
  9375.                 teleport to
  9376.                 hill - flag
  9377.             }
  9378.             short_integer        team index
  9379.             tag reference        weapon group
  9380.             {
  9381.                 Supported tag class category: itmc
  9382.             }
  9383.             pad[112]
  9384.         }
  9385.     }
  9386.     block                netgame equipment
  9387.     {
  9388.         Name: scenario_netgame_equipment_block
  9389.         Max Chunks: 200
  9390.         Chunk Size: 144
  9391.         Max Chunks x Chunk Size: 28800
  9392.         Chunk Definition Offset: 0x5cbef8
  9393.         {
  9394.             long_flags           flags
  9395.             {
  9396.                 levitate
  9397.             }
  9398.             enum                 type 0
  9399.             {
  9400.                 none
  9401.                 ctf
  9402.                 slayer
  9403.                 oddball
  9404.                 king of the hill
  9405.                 race
  9406.                 terminator
  9407.                 stub
  9408.                 ignored1
  9409.                 ignored2
  9410.                 ignored3
  9411.                 ignored4
  9412.                 all games
  9413.                 all except ctf
  9414.                 all except race & ctf
  9415.             }
  9416.             enum                 type 1
  9417.             {
  9418.                 none
  9419.                 ctf
  9420.                 slayer
  9421.                 oddball
  9422.                 king of the hill
  9423.                 race
  9424.                 terminator
  9425.                 stub
  9426.                 ignored1
  9427.                 ignored2
  9428.                 ignored3
  9429.                 ignored4
  9430.                 all games
  9431.                 all except ctf
  9432.                 all except race & ctf
  9433.             }
  9434.             enum                 type 2
  9435.             {
  9436.                 none
  9437.                 ctf
  9438.                 slayer
  9439.                 oddball
  9440.                 king of the hill
  9441.                 race
  9442.                 terminator
  9443.                 stub
  9444.                 ignored1
  9445.                 ignored2
  9446.                 ignored3
  9447.                 ignored4
  9448.                 all games
  9449.                 all except ctf
  9450.                 all except race & ctf
  9451.             }
  9452.             enum                 type 3
  9453.             {
  9454.                 none
  9455.                 ctf
  9456.                 slayer
  9457.                 oddball
  9458.                 king of the hill
  9459.                 race
  9460.                 terminator
  9461.                 stub
  9462.                 ignored1
  9463.                 ignored2
  9464.                 ignored3
  9465.                 ignored4
  9466.                 all games
  9467.                 all except ctf
  9468.                 all except race & ctf
  9469.             }
  9470.             short_integer        team index
  9471.             short_integer        spawn time (in seconds, 0 = default)
  9472.             pad[48]
  9473.             real_point_3d        position
  9474.             angle                facing:degress
  9475.             tag reference        item collection
  9476.             {
  9477.                 Supported tag class category: itmc
  9478.             }
  9479.             pad[48]
  9480.         }
  9481.     }
  9482.     block                starting equipment
  9483.     {
  9484.         Name: scenario_starting_equipment_block
  9485.         Max Chunks: 200
  9486.         Chunk Size: 204
  9487.         Max Chunks x Chunk Size: 40800
  9488.         Chunk Definition Offset: 0x5cbfd0
  9489.         {
  9490.             long_flags           flags
  9491.             {
  9492.                 no grenades
  9493.                 plasma grenades
  9494.             }
  9495.             enum                 type 0
  9496.             {
  9497.                 none
  9498.                 ctf
  9499.                 slayer
  9500.                 oddball
  9501.                 king of the hill
  9502.                 race
  9503.                 terminator
  9504.                 stub
  9505.       &