@blamnetwork/blf 1.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/README.md +82 -0
  2. package/dist/bitstream/enum.d.ts +6 -0
  3. package/dist/bitstream/enum.d.ts.map +1 -0
  4. package/dist/bitstream/enum.js +15 -0
  5. package/dist/bitstream/enums.d.ts +21 -0
  6. package/dist/bitstream/enums.d.ts.map +1 -0
  7. package/dist/bitstream/enums.js +31 -0
  8. package/dist/bitstream/errors.d.ts +5 -0
  9. package/dist/bitstream/errors.d.ts.map +1 -0
  10. package/dist/bitstream/errors.js +11 -0
  11. package/dist/bitstream/index.d.ts +7 -0
  12. package/dist/bitstream/index.d.ts.map +1 -0
  13. package/dist/bitstream/index.js +5 -0
  14. package/dist/bitstream/math.d.ts +28 -0
  15. package/dist/bitstream/math.d.ts.map +1 -0
  16. package/dist/bitstream/math.js +149 -0
  17. package/dist/bitstream/reader.d.ts +81 -0
  18. package/dist/bitstream/reader.d.ts.map +1 -0
  19. package/dist/bitstream/reader.js +400 -0
  20. package/dist/bitstream/writer.d.ts +56 -0
  21. package/dist/bitstream/writer.d.ts.map +1 -0
  22. package/dist/bitstream/writer.js +330 -0
  23. package/dist/blam/common/cache/index.d.ts +2 -0
  24. package/dist/blam/common/cache/index.d.ts.map +1 -0
  25. package/dist/blam/common/cache/index.js +1 -0
  26. package/dist/blam/common/cache/security_functions.d.ts +2 -0
  27. package/dist/blam/common/cache/security_functions.d.ts.map +1 -0
  28. package/dist/blam/common/cache/security_functions.js +19 -0
  29. package/dist/blam/common/index.d.ts +3 -0
  30. package/dist/blam/common/index.d.ts.map +1 -0
  31. package/dist/blam/common/index.js +2 -0
  32. package/dist/blam/common/memory/data_compress.d.ts +10 -0
  33. package/dist/blam/common/memory/data_compress.d.ts.map +1 -0
  34. package/dist/blam/common/memory/data_compress.js +28 -0
  35. package/dist/blam/common/memory/index.d.ts +2 -0
  36. package/dist/blam/common/memory/index.d.ts.map +1 -0
  37. package/dist/blam/common/memory/index.js +1 -0
  38. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant.d.ts +37 -0
  39. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant.d.ts.map +1 -0
  40. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant.js +125 -0
  41. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant_au1_settings.d.ts +14 -0
  42. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant_au1_settings.d.ts.map +1 -0
  43. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant_au1_settings.js +30 -0
  44. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_default.d.ts +114 -0
  45. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_default.d.ts.map +1 -0
  46. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_default.js +292 -0
  47. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_survival_variant.d.ts +70 -0
  48. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_survival_variant.d.ts.map +1 -0
  49. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_survival_variant.js +174 -0
  50. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_traits.d.ts +10 -0
  51. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_traits.d.ts.map +1 -0
  52. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_traits.js +16 -0
  53. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant.d.ts +28 -0
  54. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant.d.ts.map +1 -0
  55. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant.js +109 -0
  56. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_player_traits.d.ts +56 -0
  57. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_player_traits.d.ts.map +1 -0
  58. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_player_traits.js +142 -0
  59. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_string_table.d.ts +27 -0
  60. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_string_table.d.ts.map +1 -0
  61. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_string_table.js +190 -0
  62. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/index.d.ts +10 -0
  63. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/index.d.ts.map +1 -0
  64. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/index.js +9 -0
  65. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_megalo_game_statistic.d.ts +10 -0
  66. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_megalo_game_statistic.d.ts.map +1 -0
  67. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_megalo_game_statistic.js +18 -0
  68. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_megalogamengine_map_permissions.d.ts +8 -0
  69. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_megalogamengine_map_permissions.d.ts.map +1 -0
  70. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_megalogamengine_map_permissions.js +18 -0
  71. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_object_filter.d.ts +13 -0
  72. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_object_filter.d.ts.map +1 -0
  73. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_object_filter.js +39 -0
  74. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_trigger.d.ts +34 -0
  75. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_trigger.d.ts.map +1 -0
  76. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_trigger.js +59 -0
  77. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/index.d.ts +14 -0
  78. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/index.d.ts.map +1 -0
  79. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/index.js +13 -0
  80. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_actions.d.ts +393 -0
  81. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_actions.d.ts.map +1 -0
  82. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_actions.js +1590 -0
  83. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_conditions.d.ts +49 -0
  84. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_conditions.d.ts.map +1 -0
  85. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_conditions.js +216 -0
  86. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_references.d.ts +79 -0
  87. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_references.d.ts.map +1 -0
  88. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_references.js +496 -0
  89. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_text.d.ts +26 -0
  90. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_text.d.ts.map +1 -0
  91. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_text.js +118 -0
  92. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_custom_game_engine_definition.d.ts +29 -0
  93. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_custom_game_engine_definition.d.ts.map +1 -0
  94. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_custom_game_engine_definition.js +116 -0
  95. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_game_engine_player_rating_parameters.d.ts +22 -0
  96. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_game_engine_player_rating_parameters.d.ts.map +1 -0
  97. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_game_engine_player_rating_parameters.js +54 -0
  98. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_user_defined_option.d.ts +22 -0
  99. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_user_defined_option.d.ts.map +1 -0
  100. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_user_defined_option.js +82 -0
  101. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_variable_metadata.d.ts +22 -0
  102. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_variable_metadata.d.ts.map +1 -0
  103. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_variable_metadata.js +85 -0
  104. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_variant_variable.d.ts +13 -0
  105. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_variant_variable.d.ts.map +1 -0
  106. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_variant_variable.js +75 -0
  107. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/index.d.ts +4 -0
  108. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/index.d.ts.map +1 -0
  109. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/index.js +3 -0
  110. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/index.d.ts +2 -0
  111. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/index.d.ts.map +1 -0
  112. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/index.js +1 -0
  113. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/saved_game_files.d.ts +66 -0
  114. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/saved_game_files.d.ts.map +1 -0
  115. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/saved_game_files.js +586 -0
  116. package/dist/blf_chunk.d.ts +41 -0
  117. package/dist/blf_chunk.d.ts.map +1 -0
  118. package/dist/blf_chunk.js +126 -0
  119. package/dist/blffile.d.ts +5 -0
  120. package/dist/blffile.d.ts.map +1 -0
  121. package/dist/blffile.js +23 -0
  122. package/dist/chunk_signature.d.ts +10 -0
  123. package/dist/chunk_signature.d.ts.map +1 -0
  124. package/dist/chunk_signature.js +47 -0
  125. package/dist/chunks/halo3/v12070_08_09_05_2031_halo3_ship/index.d.ts +4 -0
  126. package/dist/chunks/halo3/v12070_08_09_05_2031_halo3_ship/index.d.ts.map +1 -0
  127. package/dist/chunks/halo3/v12070_08_09_05_2031_halo3_ship/index.js +3 -0
  128. package/dist/chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_compressed_data.d.ts +21 -0
  129. package/dist/chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_compressed_data.d.ts.map +1 -0
  130. package/dist/chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_compressed_data.js +112 -0
  131. package/dist/chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_end_of_file.d.ts +7 -0
  132. package/dist/chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_end_of_file.d.ts.map +1 -0
  133. package/dist/chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_end_of_file.js +72 -0
  134. package/dist/chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_start_of_file.d.ts +13 -0
  135. package/dist/chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_start_of_file.d.ts.map +1 -0
  136. package/dist/chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_start_of_file.js +83 -0
  137. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/index.d.ts +7 -0
  138. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/index.d.ts.map +1 -0
  139. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/index.js +6 -0
  140. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_author.d.ts +26 -0
  141. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_author.d.ts.map +1 -0
  142. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_author.js +109 -0
  143. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_compressed_data.d.ts +4 -0
  144. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_compressed_data.d.ts.map +1 -0
  145. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_compressed_data.js +3 -0
  146. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_content_header.d.ts +8 -0
  147. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_content_header.d.ts.map +1 -0
  148. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_content_header.js +78 -0
  149. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_game_variant.d.ts +24 -0
  150. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_game_variant.d.ts.map +1 -0
  151. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_game_variant.js +130 -0
  152. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_packed_game_variant.d.ts +15 -0
  153. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_packed_game_variant.d.ts.map +1 -0
  154. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_packed_game_variant.js +85 -0
  155. package/dist/decorators.d.ts +38 -0
  156. package/dist/decorators.d.ts.map +1 -0
  157. package/dist/decorators.js +68 -0
  158. package/dist/error.d.ts +4 -0
  159. package/dist/error.d.ts.map +1 -0
  160. package/dist/error.js +6 -0
  161. package/dist/index.d.ts +7 -0
  162. package/dist/index.d.ts.map +1 -0
  163. package/dist/index.js +6 -0
  164. package/dist/s_blf_header.d.ts +14 -0
  165. package/dist/s_blf_header.d.ts.map +1 -0
  166. package/dist/s_blf_header.js +113 -0
  167. package/dist/versions/halo3/v12070_08_09_05_2031_halo3_ship.d.ts +5 -0
  168. package/dist/versions/halo3/v12070_08_09_05_2031_halo3_ship.d.ts.map +1 -0
  169. package/dist/versions/halo3/v12070_08_09_05_2031_halo3_ship.js +4 -0
  170. package/dist/versions/halo3odst/v13895_09_04_27_2201_atlas_release.d.ts +5 -0
  171. package/dist/versions/halo3odst/v13895_09_04_27_2201_atlas_release.d.ts.map +1 -0
  172. package/dist/versions/halo3odst/v13895_09_04_27_2201_atlas_release.js +4 -0
  173. package/dist/versions/haloreach/v12065_11_08_24_1738_tu1actual.d.ts +10 -0
  174. package/dist/versions/haloreach/v12065_11_08_24_1738_tu1actual.d.ts.map +1 -0
  175. package/dist/versions/haloreach/v12065_11_08_24_1738_tu1actual.js +9 -0
  176. package/dist-cjs/bitstream/enum.js +19 -0
  177. package/dist-cjs/bitstream/enums.js +34 -0
  178. package/dist-cjs/bitstream/errors.js +16 -0
  179. package/dist-cjs/bitstream/index.js +29 -0
  180. package/dist-cjs/bitstream/math.js +167 -0
  181. package/dist-cjs/bitstream/reader.js +404 -0
  182. package/dist-cjs/bitstream/writer.js +334 -0
  183. package/dist-cjs/blam/common/cache/index.js +17 -0
  184. package/dist-cjs/blam/common/cache/security_functions.js +22 -0
  185. package/dist-cjs/blam/common/index.js +18 -0
  186. package/dist-cjs/blam/common/memory/data_compress.js +33 -0
  187. package/dist-cjs/blam/common/memory/index.js +17 -0
  188. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant.js +129 -0
  189. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant_au1_settings.js +34 -0
  190. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_default.js +305 -0
  191. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_survival_variant.js +182 -0
  192. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_traits.js +20 -0
  193. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant.js +113 -0
  194. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_player_traits.js +151 -0
  195. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_string_table.js +195 -0
  196. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/index.js +25 -0
  197. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_megalo_game_statistic.js +22 -0
  198. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_megalogamengine_map_permissions.js +22 -0
  199. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_object_filter.js +43 -0
  200. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_trigger.js +63 -0
  201. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/index.js +29 -0
  202. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_actions.js +1640 -0
  203. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_conditions.js +224 -0
  204. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_references.js +508 -0
  205. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_text.js +124 -0
  206. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_custom_game_engine_definition.js +120 -0
  207. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_game_engine_player_rating_parameters.js +58 -0
  208. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_user_defined_option.js +87 -0
  209. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_variable_metadata.js +93 -0
  210. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_variant_variable.js +79 -0
  211. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/index.js +19 -0
  212. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/index.js +17 -0
  213. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/saved_game_files.js +591 -0
  214. package/dist-cjs/blf_chunk.js +139 -0
  215. package/dist-cjs/blffile.js +26 -0
  216. package/dist-cjs/chunk_signature.js +52 -0
  217. package/dist-cjs/chunks/halo3/v12070_08_09_05_2031_halo3_ship/index.js +10 -0
  218. package/dist-cjs/chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_compressed_data.js +115 -0
  219. package/dist-cjs/chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_end_of_file.js +75 -0
  220. package/dist-cjs/chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_start_of_file.js +86 -0
  221. package/dist-cjs/chunks/haloreach/v12065_11_08_24_1738_tu1actual/index.js +23 -0
  222. package/dist-cjs/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_author.js +115 -0
  223. package/dist-cjs/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_compressed_data.js +10 -0
  224. package/dist-cjs/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_content_header.js +81 -0
  225. package/dist-cjs/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_game_variant.js +133 -0
  226. package/dist-cjs/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_packed_game_variant.js +88 -0
  227. package/dist-cjs/decorators.js +75 -0
  228. package/dist-cjs/error.js +10 -0
  229. package/dist-cjs/index.js +53 -0
  230. package/dist-cjs/package.json +1 -0
  231. package/dist-cjs/s_blf_header.js +117 -0
  232. package/dist-cjs/versions/halo3/v12070_08_09_05_2031_halo3_ship.js +20 -0
  233. package/dist-cjs/versions/halo3odst/v13895_09_04_27_2201_atlas_release.js +20 -0
  234. package/dist-cjs/versions/haloreach/v12065_11_08_24_1738_tu1actual.js +25 -0
  235. package/package.json +99 -0
@@ -0,0 +1,109 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { c } from "@craftycodie/cstruct";
36
+ import pkg from "../../../../package.json";
37
+ import { blf, CStructBLFChunk } from "../../../blf_chunk";
38
+ /** BLF author chunk (`athr` 3.1) — same layout as Halo 3: ODST Atlas. */
39
+ let s_blf_chunk_author = (() => {
40
+ let _classDecorators = [blf.chunk("athr", 3.1), c.struct()];
41
+ let _classDescriptor;
42
+ let _classExtraInitializers = [];
43
+ let _classThis;
44
+ let _classSuper = CStructBLFChunk;
45
+ let _program_name_decorators;
46
+ let _program_name_initializers = [];
47
+ let _program_name_extraInitializers = [];
48
+ let _build_number_decorators;
49
+ let _build_number_initializers = [];
50
+ let _build_number_extraInitializers = [];
51
+ let _build_number_sequence_decorators;
52
+ let _build_number_sequence_initializers = [];
53
+ let _build_number_sequence_extraInitializers = [];
54
+ let _build_string_decorators;
55
+ let _build_string_initializers = [];
56
+ let _build_string_extraInitializers = [];
57
+ let _author_name_decorators;
58
+ let _author_name_initializers = [];
59
+ let _author_name_extraInitializers = [];
60
+ var s_blf_chunk_author = class extends _classSuper {
61
+ static { _classThis = this; }
62
+ static {
63
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
64
+ _program_name_decorators = [c.field(c.String(16))];
65
+ _build_number_decorators = [c.field("u32")];
66
+ _build_number_sequence_decorators = [c.field("u32")];
67
+ _build_string_decorators = [c.field(c.String(28))];
68
+ _author_name_decorators = [c.field(c.String(16))];
69
+ __esDecorate(null, null, _program_name_decorators, { kind: "field", name: "program_name", static: false, private: false, access: { has: obj => "program_name" in obj, get: obj => obj.program_name, set: (obj, value) => { obj.program_name = value; } }, metadata: _metadata }, _program_name_initializers, _program_name_extraInitializers);
70
+ __esDecorate(null, null, _build_number_decorators, { kind: "field", name: "build_number", static: false, private: false, access: { has: obj => "build_number" in obj, get: obj => obj.build_number, set: (obj, value) => { obj.build_number = value; } }, metadata: _metadata }, _build_number_initializers, _build_number_extraInitializers);
71
+ __esDecorate(null, null, _build_number_sequence_decorators, { kind: "field", name: "build_number_sequence", static: false, private: false, access: { has: obj => "build_number_sequence" in obj, get: obj => obj.build_number_sequence, set: (obj, value) => { obj.build_number_sequence = value; } }, metadata: _metadata }, _build_number_sequence_initializers, _build_number_sequence_extraInitializers);
72
+ __esDecorate(null, null, _build_string_decorators, { kind: "field", name: "build_string", static: false, private: false, access: { has: obj => "build_string" in obj, get: obj => obj.build_string, set: (obj, value) => { obj.build_string = value; } }, metadata: _metadata }, _build_string_initializers, _build_string_extraInitializers);
73
+ __esDecorate(null, null, _author_name_decorators, { kind: "field", name: "author_name", static: false, private: false, access: { has: obj => "author_name" in obj, get: obj => obj.author_name, set: (obj, value) => { obj.author_name = value; } }, metadata: _metadata }, _author_name_initializers, _author_name_extraInitializers);
74
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
75
+ s_blf_chunk_author = _classThis = _classDescriptor.value;
76
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
77
+ __runInitializers(_classThis, _classExtraInitializers);
78
+ }
79
+ /** e.g. `GameData.Reach`, or blf_lib package name from `for_build`. */
80
+ program_name = __runInitializers(this, _program_name_initializers, "");
81
+ /** e.g. 12065 */
82
+ build_number = (__runInitializers(this, _program_name_extraInitializers), __runInitializers(this, _build_number_initializers, 0));
83
+ /** e.g. 2 for Reach title storage exports */
84
+ build_number_sequence = (__runInitializers(this, _build_number_extraInitializers), __runInitializers(this, _build_number_sequence_initializers, 0));
85
+ /** e.g. `12065.11.08.24.1738.tu1actual` */
86
+ build_string = (__runInitializers(this, _build_number_sequence_extraInitializers), __runInitializers(this, _build_string_initializers, ""));
87
+ /** e.g. `davidav`, `dagasca` */
88
+ author_name = (__runInitializers(this, _build_string_extraInitializers), __runInitializers(this, _author_name_initializers, ""));
89
+ /**
90
+ * Default author chunk for Reach TU1 exports.
91
+ * Mirrors `s_blf_chunk_author::for_build` in blf_lib (ODST 3.1 layout).
92
+ */
93
+ static forBuild(options) {
94
+ const chunk = new s_blf_chunk_author();
95
+ chunk.program_name = options?.programName ?? `blf-ts ${pkg.version}`;
96
+ chunk.build_number = options?.buildNumber ?? 0;
97
+ chunk.build_number_sequence = options?.buildNumberSequence ?? 0;
98
+ chunk.build_string = (options?.buildString ?? "").slice(0, 28);
99
+ chunk.author_name = options?.authorName ?? "";
100
+ return chunk;
101
+ }
102
+ constructor() {
103
+ super(...arguments);
104
+ __runInitializers(this, _author_name_extraInitializers);
105
+ }
106
+ };
107
+ return s_blf_chunk_author = _classThis;
108
+ })();
109
+ export { s_blf_chunk_author };
@@ -0,0 +1,4 @@
1
+ export { s_blf_chunk_compressed_data } from "../../halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_compressed_data";
2
+ export { s_blf_chunk_end_of_file } from "../../halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_end_of_file";
3
+ export { e_byte_order_mark, s_blf_chunk_start_of_file, } from "../../halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_start_of_file";
4
+ //# sourceMappingURL=s_blf_chunk_compressed_data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s_blf_chunk_compressed_data.d.ts","sourceRoot":"","sources":["../../../../src/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_compressed_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,yEAAyE,CAAC;AACtH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qEAAqE,CAAC;AAC9G,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,uEAAuE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { s_blf_chunk_compressed_data } from "../../halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_compressed_data";
2
+ export { s_blf_chunk_end_of_file } from "../../halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_end_of_file";
3
+ export { e_byte_order_mark, s_blf_chunk_start_of_file, } from "../../halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_start_of_file";
@@ -0,0 +1,8 @@
1
+ import { s_content_item_metadata } from "../../../blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/saved_game_files";
2
+ import { CStructBLFChunk } from "../../../blf_chunk";
3
+ export declare class s_blf_chunk_content_header extends CStructBLFChunk {
4
+ build_number: number;
5
+ map_minor_version: number;
6
+ metadata: s_content_item_metadata;
7
+ }
8
+ //# sourceMappingURL=s_blf_chunk_content_header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s_blf_chunk_content_header.d.ts","sourceRoot":"","sources":["../../../../src/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_content_header.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qFAAqF,CAAC;AAC9H,OAAO,EAAO,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,qBAEa,0BAA2B,SAAQ,eAAe;IAE7D,YAAY,EAAG,MAAM,CAAC;IAGtB,iBAAiB,EAAG,MAAM,CAAC;IAG3B,QAAQ,EAAG,uBAAuB,CAAC;CACpC"}
@@ -0,0 +1,78 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { c } from "@craftycodie/cstruct";
36
+ import { s_content_item_metadata } from "../../../blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/saved_game_files";
37
+ import { blf, CStructBLFChunk } from "../../../blf_chunk";
38
+ let s_blf_chunk_content_header = (() => {
39
+ let _classDecorators = [blf.chunk("chdr", 10.2), c.struct()];
40
+ let _classDescriptor;
41
+ let _classExtraInitializers = [];
42
+ let _classThis;
43
+ let _classSuper = CStructBLFChunk;
44
+ let _build_number_decorators;
45
+ let _build_number_initializers = [];
46
+ let _build_number_extraInitializers = [];
47
+ let _map_minor_version_decorators;
48
+ let _map_minor_version_initializers = [];
49
+ let _map_minor_version_extraInitializers = [];
50
+ let _metadata_decorators;
51
+ let _metadata_initializers = [];
52
+ let _metadata_extraInitializers = [];
53
+ var s_blf_chunk_content_header = class extends _classSuper {
54
+ static { _classThis = this; }
55
+ static {
56
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
57
+ _build_number_decorators = [c.field("u16")];
58
+ _map_minor_version_decorators = [c.field("u16")];
59
+ _metadata_decorators = [c.field(s_content_item_metadata)];
60
+ __esDecorate(null, null, _build_number_decorators, { kind: "field", name: "build_number", static: false, private: false, access: { has: obj => "build_number" in obj, get: obj => obj.build_number, set: (obj, value) => { obj.build_number = value; } }, metadata: _metadata }, _build_number_initializers, _build_number_extraInitializers);
61
+ __esDecorate(null, null, _map_minor_version_decorators, { kind: "field", name: "map_minor_version", static: false, private: false, access: { has: obj => "map_minor_version" in obj, get: obj => obj.map_minor_version, set: (obj, value) => { obj.map_minor_version = value; } }, metadata: _metadata }, _map_minor_version_initializers, _map_minor_version_extraInitializers);
62
+ __esDecorate(null, null, _metadata_decorators, { kind: "field", name: "metadata", static: false, private: false, access: { has: obj => "metadata" in obj, get: obj => obj.metadata, set: (obj, value) => { obj.metadata = value; } }, metadata: _metadata }, _metadata_initializers, _metadata_extraInitializers);
63
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
64
+ s_blf_chunk_content_header = _classThis = _classDescriptor.value;
65
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
66
+ __runInitializers(_classThis, _classExtraInitializers);
67
+ }
68
+ build_number = __runInitializers(this, _build_number_initializers, void 0);
69
+ map_minor_version = (__runInitializers(this, _build_number_extraInitializers), __runInitializers(this, _map_minor_version_initializers, void 0));
70
+ metadata = (__runInitializers(this, _map_minor_version_extraInitializers), __runInitializers(this, _metadata_initializers, void 0));
71
+ constructor() {
72
+ super(...arguments);
73
+ __runInitializers(this, _metadata_extraInitializers);
74
+ }
75
+ };
76
+ return s_blf_chunk_content_header = _classThis;
77
+ })();
78
+ export { s_blf_chunk_content_header };
@@ -0,0 +1,24 @@
1
+ import type { c } from "@craftycodie/cstruct";
2
+ import { c_game_variant } from "../../../blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant";
3
+ import { BLFChunkBase } from "../../../blf_chunk";
4
+ /** Gametype storage slot size (bytes). */
5
+ export declare const variant_storage_capacity = 20480;
6
+ /** mpvr body size: hash/header (28) + padded gametype slot. */
7
+ export declare const MPVR_PAYLOAD_SIZE: number;
8
+ /**
9
+ * Reach game variant chunk (`mpvr` 54.1).
10
+ *
11
+ * Payload layout matches blf_lib: hash + header fields + gametype bitstream,
12
+ * all read through one big-endian bitstream.
13
+ */
14
+ export declare class s_blf_chunk_game_variant extends BLFChunkBase {
15
+ hash: Uint8Array;
16
+ unknown04: number;
17
+ unknown06: number;
18
+ variant_length: number;
19
+ game_variant: c_game_variant;
20
+ static create(game_variant: c_game_variant): s_blf_chunk_game_variant;
21
+ read_body(payload: Uint8Array, endian: c.Endian): void;
22
+ write_body(endian: c.Endian): Uint8Array;
23
+ }
24
+ //# sourceMappingURL=s_blf_chunk_game_variant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s_blf_chunk_game_variant.d.ts","sourceRoot":"","sources":["../../../../src/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_game_variant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,sBAAsB,CAAC;AAO9C,OAAO,EAAE,cAAc,EAAE,MAAM,4EAA4E,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAO,MAAM,oBAAoB,CAAC;AAGvD,0CAA0C;AAC1C,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB,QAAgC,CAAC;AAE/D;;;;;GAKG;AACH,qBACa,wBAAyB,SAAQ,YAAY;IACxD,IAAI,EAAE,UAAU,CAAsB;IACtC,SAAS,SAAM;IACf,SAAS,SAAK;IACd,cAAc,SAAK;IACnB,YAAY,iBAAwB;IAEpC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,GAAG,wBAAwB;IAMrE,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI;IAwBtD,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,UAAU;CAuDzC"}
@@ -0,0 +1,130 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { c_bitstream_reader, c_bitstream_writer, e_bitstream_byte_order, } from "../../../bitstream";
36
+ import { security_calculate_hash } from "../../../blam/common/cache/security_functions";
37
+ import { c_game_variant } from "../../../blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant";
38
+ import { BLFChunkBase, blf } from "../../../blf_chunk";
39
+ import { BlfError } from "../../../error";
40
+ /** Gametype storage slot size (bytes). */
41
+ export const variant_storage_capacity = 0x5000;
42
+ /** mpvr body size: hash/header (28) + padded gametype slot. */
43
+ export const MPVR_PAYLOAD_SIZE = 28 + variant_storage_capacity;
44
+ /**
45
+ * Reach game variant chunk (`mpvr` 54.1).
46
+ *
47
+ * Payload layout matches blf_lib: hash + header fields + gametype bitstream,
48
+ * all read through one big-endian bitstream.
49
+ */
50
+ let s_blf_chunk_game_variant = (() => {
51
+ let _classDecorators = [blf.chunk("mpvr", 54.1)];
52
+ let _classDescriptor;
53
+ let _classExtraInitializers = [];
54
+ let _classThis;
55
+ let _classSuper = BLFChunkBase;
56
+ var s_blf_chunk_game_variant = class extends _classSuper {
57
+ static { _classThis = this; }
58
+ static {
59
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
60
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
61
+ s_blf_chunk_game_variant = _classThis = _classDescriptor.value;
62
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
63
+ __runInitializers(_classThis, _classExtraInitializers);
64
+ }
65
+ hash = new Uint8Array(20);
66
+ unknown04 = -1;
67
+ unknown06 = 0;
68
+ variant_length = 0;
69
+ game_variant = new c_game_variant();
70
+ static create(game_variant) {
71
+ const chunk = new s_blf_chunk_game_variant();
72
+ chunk.game_variant = game_variant;
73
+ return chunk;
74
+ }
75
+ read_body(payload, endian) {
76
+ if (payload.length === 0) {
77
+ throw new BlfError("mpvr chunk payload is empty");
78
+ }
79
+ const byte_order = endian === "big"
80
+ ? e_bitstream_byte_order._bitstream_byte_order_big_endian
81
+ : e_bitstream_byte_order._bitstream_byte_order_little_endian;
82
+ const bitstream = c_bitstream_reader.new(payload, byte_order);
83
+ bitstream.begin_reading();
84
+ this.hash = bitstream.read_raw_data(20 * 8);
85
+ this.unknown04 = bitstream.read_signed_integer("unknown04", 16);
86
+ this.unknown06 = bitstream.read_integer("unknown06", 16);
87
+ this.variant_length = bitstream.read_integer("variant-length", 32);
88
+ this.game_variant = new c_game_variant();
89
+ this.game_variant.decode(bitstream);
90
+ bitstream.finish_reading();
91
+ }
92
+ write_body(endian) {
93
+ const byte_order = endian === "big"
94
+ ? e_bitstream_byte_order._bitstream_byte_order_big_endian
95
+ : e_bitstream_byte_order._bitstream_byte_order_little_endian;
96
+ const gametype_bitstream = c_bitstream_writer.new(variant_storage_capacity, byte_order);
97
+ gametype_bitstream.begin_writing();
98
+ this.game_variant.encode(gametype_bitstream);
99
+ gametype_bitstream.finish_writing();
100
+ const gametype_data = gametype_bitstream.get_data();
101
+ const gametype_length = gametype_data.length;
102
+ if (gametype_length > variant_storage_capacity) {
103
+ throw new BlfError(`mpvr gametype too large: ${gametype_length} bytes (max ${variant_storage_capacity})`);
104
+ }
105
+ const hashable_bitstream = c_bitstream_writer.new(4 + gametype_length, byte_order);
106
+ hashable_bitstream.begin_writing();
107
+ hashable_bitstream.write_integer(gametype_length, 32);
108
+ hashable_bitstream.write_raw_data(gametype_data, gametype_length * 8);
109
+ hashable_bitstream.finish_writing();
110
+ const hash = security_calculate_hash(hashable_bitstream.get_data());
111
+ const payload_bitstream = c_bitstream_writer.new(variant_storage_capacity, byte_order);
112
+ payload_bitstream.begin_writing();
113
+ payload_bitstream.write_raw_data(hash, hash.length * 8);
114
+ payload_bitstream.write_signed_integer(this.unknown04, 16);
115
+ payload_bitstream.write_integer(this.unknown06, 16);
116
+ payload_bitstream.write_integer(gametype_length, 32);
117
+ payload_bitstream.write_raw_data(gametype_data, gametype_length * 8);
118
+ const pad_bytes = variant_storage_capacity - gametype_length;
119
+ if (pad_bytes > 0) {
120
+ payload_bitstream.seek_relative(pad_bytes * 8);
121
+ }
122
+ payload_bitstream.finish_writing();
123
+ this.hash = hash;
124
+ this.variant_length = gametype_length;
125
+ return payload_bitstream.get_data();
126
+ }
127
+ };
128
+ return s_blf_chunk_game_variant = _classThis;
129
+ })();
130
+ export { s_blf_chunk_game_variant };
@@ -0,0 +1,15 @@
1
+ import type { c } from "@craftycodie/cstruct";
2
+ import { c_game_variant } from "../../../blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant";
3
+ import { BLFChunkBase } from "../../../blf_chunk";
4
+ /**
5
+ * Reach matchmaking game variant chunk (`gvar` 54.1).
6
+ *
7
+ * Payload is the gametype bitstream only (no mpvr hash/header wrapper).
8
+ */
9
+ export declare class s_blf_chunk_packed_game_variant extends BLFChunkBase {
10
+ game_variant: c_game_variant;
11
+ static create(game_variant: c_game_variant): s_blf_chunk_packed_game_variant;
12
+ read_body(payload: Uint8Array, _endian: c.Endian): void;
13
+ write_body(_endian: c.Endian): Uint8Array;
14
+ }
15
+ //# sourceMappingURL=s_blf_chunk_packed_game_variant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s_blf_chunk_packed_game_variant.d.ts","sourceRoot":"","sources":["../../../../src/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_packed_game_variant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,sBAAsB,CAAC;AAM9C,OAAO,EAAE,cAAc,EAAE,MAAM,4EAA4E,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAO,MAAM,oBAAoB,CAAC;AAGvD;;;;GAIG;AACH,qBACa,+BAAgC,SAAQ,YAAY;IAC/D,YAAY,iBAAwB;IAEpC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,GAAG,+BAA+B;IAM5E,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI;IAevD,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,GAAG,UAAU;CAU1C"}
@@ -0,0 +1,85 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { c_bitstream_reader, c_bitstream_writer, e_bitstream_byte_order, } from "../../../bitstream";
36
+ import { c_game_variant } from "../../../blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant";
37
+ import { BLFChunkBase, blf } from "../../../blf_chunk";
38
+ import { BlfError } from "../../../error";
39
+ /**
40
+ * Reach matchmaking game variant chunk (`gvar` 54.1).
41
+ *
42
+ * Payload is the gametype bitstream only (no mpvr hash/header wrapper).
43
+ */
44
+ let s_blf_chunk_packed_game_variant = (() => {
45
+ let _classDecorators = [blf.chunk("gvar", 54.1)];
46
+ let _classDescriptor;
47
+ let _classExtraInitializers = [];
48
+ let _classThis;
49
+ let _classSuper = BLFChunkBase;
50
+ var s_blf_chunk_packed_game_variant = class extends _classSuper {
51
+ static { _classThis = this; }
52
+ static {
53
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
54
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
55
+ s_blf_chunk_packed_game_variant = _classThis = _classDescriptor.value;
56
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
57
+ __runInitializers(_classThis, _classExtraInitializers);
58
+ }
59
+ game_variant = new c_game_variant();
60
+ static create(game_variant) {
61
+ const chunk = new s_blf_chunk_packed_game_variant();
62
+ chunk.game_variant = game_variant;
63
+ return chunk;
64
+ }
65
+ read_body(payload, _endian) {
66
+ if (payload.length === 0) {
67
+ throw new BlfError("gvar chunk payload is empty");
68
+ }
69
+ const bitstream = c_bitstream_reader.new(payload, e_bitstream_byte_order._bitstream_byte_order_big_endian);
70
+ bitstream.begin_reading();
71
+ this.game_variant = new c_game_variant();
72
+ this.game_variant.decode(bitstream);
73
+ bitstream.finish_reading();
74
+ }
75
+ write_body(_endian) {
76
+ const bitstream = c_bitstream_writer.new(0x5028, e_bitstream_byte_order._bitstream_byte_order_big_endian);
77
+ bitstream.begin_writing();
78
+ this.game_variant.encode(bitstream);
79
+ bitstream.finish_writing();
80
+ return bitstream.get_data();
81
+ }
82
+ };
83
+ return s_blf_chunk_packed_game_variant = _classThis;
84
+ })();
85
+ export { s_blf_chunk_packed_game_variant };
@@ -0,0 +1,38 @@
1
+ import type { BLFChunk, BLFChunkConstructor, s_blf_header } from "./blf_chunk";
2
+ type StringLength<S extends string, Acc extends unknown[] = []> = S extends `${string}${infer Rest}` ? StringLength<Rest, [...Acc, unknown]> : Acc["length"];
3
+ /** Exactly four characters (FourCC). */
4
+ export type BLFSignature<T extends string = string> = string extends T ? string : StringLength<T> extends 4 ? T : never;
5
+ /** Major.minor version as a float literal, e.g. `1.1` (major 1, minor 1). */
6
+ export type BLFVersion<T extends number = number> = T;
7
+ /** Metadata attached by `@blf.chunk(sig, version)`. */
8
+ export type ChunkMetadata<TSignature extends BLFSignature<string> = BLFSignature, TVersion extends BLFVersion = BLFVersion> = {
9
+ readonly signature: TSignature;
10
+ readonly version: TVersion;
11
+ readonly major: number;
12
+ readonly minor: number;
13
+ };
14
+ export declare const BLF_CHUNK_META: unique symbol;
15
+ export type BLFChunkInfo = ChunkMetadata;
16
+ /** Constructor after `@blf.chunk` — instances include {@link ChunkMetadata}. */
17
+ export type ChunkDecorator<T extends abstract new (...args: any[]) => BLFChunk, TSignature extends BLFSignature<string>, TVersion extends BLFVersion> = (abstract new (...args: ConstructorParameters<T>) => InstanceType<T> & ChunkMetadata<TSignature, TVersion>) & T & {
18
+ readonly [BLF_CHUNK_META]: BLFChunkInfo & {
19
+ signature: TSignature;
20
+ version: TVersion;
21
+ };
22
+ };
23
+ /** Instance or constructor for a class decorated with `@blf.chunk`. */
24
+ export type BLFChunkLookup = BLFChunkConstructor | BLFChunk;
25
+ /**
26
+ * Registers BLF signature/version on the class (runtime getters + constructor meta).
27
+ * Implement {@link BLFChunk} `read_body` / `write_body`, or extend {@link CStructBLFChunk} with `@c.struct`.
28
+ */
29
+ export declare function chunk<TSignature extends BLFSignature<string>, TVersion extends BLFVersion>(signature: TSignature, version: TVersion): <T extends abstract new (...args: any[]) => BLFChunk>(target: T, _context: ClassDecoratorContext) => ChunkDecorator<T, TSignature, TVersion>;
30
+ /** `@blf.chunk` decorator and namespace. */
31
+ export declare const blf: {
32
+ readonly chunk: typeof chunk;
33
+ };
34
+ export declare function getBlfChunkMeta(from: BLFChunkLookup): BLFChunkInfo;
35
+ export declare function createBlfChunk<T extends new (...args: any[]) => object>(ctor: T): InstanceType<T>;
36
+ export declare function chunkMatches(header: s_blf_header, meta: BLFChunkInfo): boolean;
37
+ export {};
38
+ //# sourceMappingURL=decorators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI/E,KAAK,YAAY,CACf,CAAC,SAAS,MAAM,EAChB,GAAG,SAAS,OAAO,EAAE,GAAG,EAAE,IACxB,CAAC,SAAS,GAAG,MAAM,GAAG,MAAM,IAAI,EAAE,GAClC,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC,GACrC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAElB,wCAAwC;AACxC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,SAAS,CAAC,GAClE,MAAM,GACN,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,GACvB,CAAC,GACD,KAAK,CAAC;AAEZ,6EAA6E;AAC7E,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC;AAEtD,uDAAuD;AACvD,MAAM,MAAM,aAAa,CACvB,UAAU,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,EACtD,QAAQ,SAAS,UAAU,GAAG,UAAU,IACtC;IACF,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,cAAc,eAA+B,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC;AAEzC,gFAAgF;AAChF,MAAM,MAAM,cAAc,CACxB,CAAC,SAAS,QAAQ,MAChB,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,QAAQ,EACb,UAAU,SAAS,YAAY,CAAC,MAAM,CAAC,EACvC,QAAQ,SAAS,UAAU,IACzB,CAAC,QAAQ,MACX,GAAG,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAC9B,YAAY,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GACzD,CAAC,GAAG;IACF,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,YAAY,GAAG;QACxC,SAAS,EAAE,UAAU,CAAC;QACtB,OAAO,EAAE,QAAQ,CAAC;KACnB,CAAC;CACH,CAAC;AAEJ,uEAAuE;AACvE,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,QAAQ,CAAC;AAyC5D;;;GAGG;AACH,wBAAgB,KAAK,CACnB,UAAU,SAAS,YAAY,CAAC,MAAM,CAAC,EACvC,QAAQ,SAAS,UAAU,EAC3B,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,IAGhC,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,QAAQ,EACzD,QAAQ,CAAC,EACT,UAAU,qBAAqB,KAC9B,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,CAI3C;AAED,4CAA4C;AAC5C,eAAO,MAAM,GAAG;;CAAqB,CAAC;AAEtC,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,YAAY,CAkBlE;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,EACrE,IAAI,EAAE,CAAC,GACN,YAAY,CAAC,CAAC,CAAC,CAEjB;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,YAAY,GACjB,OAAO,CAMT"}
@@ -0,0 +1,68 @@
1
+ import { BlfError } from "./error";
2
+ import { parse_blf_chunk_version } from "./s_blf_header";
3
+ export const BLF_CHUNK_META = Symbol.for("blf.chunk.meta");
4
+ function attach_chunk_metadata(target, info) {
5
+ Object.defineProperty(target, BLF_CHUNK_META, {
6
+ value: info,
7
+ enumerable: false,
8
+ configurable: false,
9
+ });
10
+ for (const key of ["signature", "version", "major", "minor"]) {
11
+ Object.defineProperty(target.prototype, key, {
12
+ get() {
13
+ return info[key];
14
+ },
15
+ enumerable: true,
16
+ configurable: true,
17
+ });
18
+ }
19
+ }
20
+ function chunk_info(signature, version) {
21
+ if (signature.length !== 4) {
22
+ throw new BlfError(`BLF chunk signature must be exactly 4 characters, got ${signature.length}: "${signature}"`);
23
+ }
24
+ const parsed = parse_blf_chunk_version(version);
25
+ return {
26
+ signature,
27
+ version,
28
+ major: parsed.major,
29
+ minor: parsed.minor,
30
+ };
31
+ }
32
+ /**
33
+ * Registers BLF signature/version on the class (runtime getters + constructor meta).
34
+ * Implement {@link BLFChunk} `read_body` / `write_body`, or extend {@link CStructBLFChunk} with `@c.struct`.
35
+ */
36
+ export function chunk(signature, version) {
37
+ const info = chunk_info(signature, version);
38
+ return (target, _context) => {
39
+ attach_chunk_metadata(target, info);
40
+ return target;
41
+ };
42
+ }
43
+ /** `@blf.chunk` decorator and namespace. */
44
+ export const blf = { chunk };
45
+ export function getBlfChunkMeta(from) {
46
+ if (typeof from === "function") {
47
+ const meta = from[BLF_CHUNK_META];
48
+ if (!meta) {
49
+ throw new BlfError(`${from.name} is not decorated with @blf.chunk`);
50
+ }
51
+ return meta;
52
+ }
53
+ const inst = from;
54
+ return {
55
+ signature: inst.signature,
56
+ version: inst.version,
57
+ major: inst.major,
58
+ minor: inst.minor,
59
+ };
60
+ }
61
+ export function createBlfChunk(ctor) {
62
+ return new ctor();
63
+ }
64
+ export function chunkMatches(header, meta) {
65
+ return (header.signature === meta.signature &&
66
+ header.major === meta.major &&
67
+ header.minor === meta.minor);
68
+ }
@@ -0,0 +1,4 @@
1
+ export declare class BlfError extends Error {
2
+ constructor(message: string);
3
+ }
4
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM;CAI5B"}
package/dist/error.js ADDED
@@ -0,0 +1,6 @@
1
+ export class BlfError extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ this.name = "BlfError";
5
+ }
6
+ }
@@ -0,0 +1,7 @@
1
+ export * as bitstream from "./bitstream";
2
+ export * from "./blam/common";
3
+ export { type BLFChunk, BLFChunkBase, type BLFChunkConstructor as BlfChunkConstructor, type BLFChunkInfo as BlfChunkInfo, blf, CStructBLFChunk, find_chunk, type IBLFChunk, search_for_chunk, } from "./blf_chunk";
4
+ export { write_blffile } from "./blffile";
5
+ export { BlfError } from "./error";
6
+ export { s_blf_header } from "./s_blf_header";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,cAAc,eAAe,CAAC;AAE9B,OAAO,EACL,KAAK,QAAQ,EACb,YAAY,EACZ,KAAK,mBAAmB,IAAI,mBAAmB,EAC/C,KAAK,YAAY,IAAI,YAAY,EACjC,GAAG,EACH,eAAe,EACf,UAAU,EACV,KAAK,SAAS,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export * as bitstream from "./bitstream";
2
+ export * from "./blam/common";
3
+ export { BLFChunkBase, blf, CStructBLFChunk, find_chunk, search_for_chunk, } from "./blf_chunk";
4
+ export { write_blffile } from "./blffile";
5
+ export { BlfError } from "./error";
6
+ export { s_blf_header } from "./s_blf_header";