@blamnetwork/blf 1.0.0-beta.1 → 1.0.0-beta.4

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 (410) hide show
  1. package/README.md +1 -1
  2. package/dist/automapper/create_map.d.ts +5 -0
  3. package/dist/automapper/create_map.d.ts.map +1 -0
  4. package/dist/automapper/create_map.js +6 -0
  5. package/dist/automapper/create_mapper.d.ts +6 -0
  6. package/dist/automapper/create_mapper.d.ts.map +1 -0
  7. package/dist/automapper/create_mapper.js +9 -0
  8. package/dist/automapper/enum_by_name.d.ts +16 -0
  9. package/dist/automapper/enum_by_name.d.ts.map +1 -0
  10. package/dist/automapper/enum_by_name.js +50 -0
  11. package/dist/automapper/index.d.ts +7 -0
  12. package/dist/automapper/index.d.ts.map +1 -0
  13. package/dist/automapper/index.js +6 -0
  14. package/dist/automapper/stage3_metadata.d.ts +7 -0
  15. package/dist/automapper/stage3_metadata.d.ts.map +1 -0
  16. package/dist/automapper/stage3_metadata.js +38 -0
  17. package/dist/bitstream/enum.d.ts +5 -1
  18. package/dist/bitstream/enum.d.ts.map +1 -1
  19. package/dist/bitstream/enum.js +21 -1
  20. package/dist/bitstream/reader.d.ts.map +1 -1
  21. package/dist/bitstream/reader.js +3 -6
  22. package/dist/bitstream/writer.d.ts +2 -1
  23. package/dist/bitstream/writer.d.ts.map +1 -1
  24. package/dist/bitstream/writer.js +3 -2
  25. package/dist/blam/common/math/real_types.d.ts +19 -0
  26. package/dist/blam/common/math/real_types.d.ts.map +1 -0
  27. package/dist/blam/common/math/real_types.js +21 -0
  28. package/dist/blam/common/math/unit_vector_quantization.d.ts +6 -0
  29. package/dist/blam/common/math/unit_vector_quantization.d.ts.map +1 -0
  30. package/dist/blam/common/math/unit_vector_quantization.js +26 -0
  31. package/dist/blam/common/simulation/simulation_encoding.d.ts +7 -0
  32. package/dist/blam/common/simulation/simulation_encoding.d.ts.map +1 -0
  33. package/dist/blam/common/simulation/simulation_encoding.js +23 -0
  34. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant.d.ts.map +1 -1
  35. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant.js +272 -112
  36. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant_au1_settings.d.ts.map +1 -1
  37. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant_au1_settings.js +113 -28
  38. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_default.d.ts +7 -4
  39. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_default.d.ts.map +1 -1
  40. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_default.js +752 -279
  41. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_survival_variant.d.ts.map +1 -1
  42. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_survival_variant.js +485 -170
  43. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_traits.d.ts.map +1 -1
  44. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_traits.js +74 -14
  45. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant.d.ts +2 -1
  46. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant.d.ts.map +1 -1
  47. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant.js +153 -87
  48. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_player_traits.d.ts.map +1 -1
  49. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_player_traits.js +435 -140
  50. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_string_table.d.ts.map +1 -1
  51. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_string_table.js +206 -144
  52. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/game_engine_enums.d.ts.map +1 -1
  53. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/game_engine_enums.js +93 -23
  54. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_megalo_game_statistic.d.ts.map +1 -1
  55. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_megalo_game_statistic.js +81 -16
  56. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_megalogamengine_map_permissions.d.ts.map +1 -1
  57. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_megalogamengine_map_permissions.js +70 -15
  58. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_object_filter.d.ts.map +1 -1
  59. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_object_filter.js +108 -33
  60. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_trigger.d.ts.map +1 -1
  61. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_trigger.js +113 -33
  62. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_actions.d.ts +130 -26
  63. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_actions.d.ts.map +1 -1
  64. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_actions.js +3193 -1602
  65. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_conditions.d.ts.map +1 -1
  66. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_conditions.js +418 -208
  67. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_references.d.ts.map +1 -1
  68. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_references.js +744 -459
  69. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_text.d.ts.map +1 -1
  70. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_text.js +218 -98
  71. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_custom_game_engine_definition.d.ts +5 -4
  72. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_custom_game_engine_definition.d.ts.map +1 -1
  73. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_custom_game_engine_definition.js +242 -107
  74. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_game_engine_player_rating_parameters.d.ts.map +1 -1
  75. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_game_engine_player_rating_parameters.js +177 -52
  76. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_user_defined_option.d.ts.map +1 -1
  77. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_user_defined_option.js +187 -72
  78. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_variable_metadata.d.ts.map +1 -1
  79. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_variable_metadata.js +134 -66
  80. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_variant_variable.d.ts.map +1 -1
  81. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_variant_variable.js +138 -63
  82. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/math/real_math.d.ts +23 -0
  83. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/math/real_math.d.ts.map +1 -0
  84. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/math/real_math.js +110 -0
  85. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/memory/bitstream_extensions.d.ts +5 -0
  86. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/memory/bitstream_extensions.d.ts.map +1 -0
  87. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/memory/bitstream_extensions.js +39 -0
  88. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/index.d.ts +1 -0
  89. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/index.d.ts.map +1 -1
  90. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/index.js +1 -0
  91. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/scenario_map_variant.d.ts +104 -0
  92. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/scenario_map_variant.d.ts.map +1 -0
  93. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/scenario_map_variant.js +681 -0
  94. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/simulation/simulation_encoding.d.ts +5 -0
  95. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/simulation/simulation_encoding.d.ts.map +1 -0
  96. package/dist/blam/haloreach/v12065_11_08_24_1738_tu1actual/simulation/simulation_encoding.js +28 -0
  97. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_custom_variant.d.ts.map +1 -0
  98. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_custom_variant.js +285 -0
  99. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_custom_variant_au1_settings.d.ts.map +1 -0
  100. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_custom_variant_au1_settings.js +115 -0
  101. package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/c_game_engine_default.d.ts +7 -4
  102. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_default.d.ts.map +1 -0
  103. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_default.js +765 -0
  104. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_survival_variant.d.ts.map +1 -0
  105. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_survival_variant.js +504 -0
  106. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_traits.d.ts.map +1 -0
  107. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_traits.js +76 -0
  108. package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/c_game_variant.d.ts +2 -1
  109. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_variant.d.ts.map +1 -0
  110. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_variant.js +175 -0
  111. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_player_traits.d.ts.map +1 -0
  112. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_player_traits.js +437 -0
  113. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_string_table.d.ts.map +1 -0
  114. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_string_table.js +252 -0
  115. package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/game_engine_enums.d.ts.map +1 -1
  116. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/game_engine_enums.js +130 -0
  117. package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/index.d.ts.map +1 -1
  118. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/c_megalo_game_statistic.d.ts.map +1 -0
  119. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/c_megalo_game_statistic.js +83 -0
  120. package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/c_megalogamengine_map_permissions.d.ts.map +1 -1
  121. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/c_megalogamengine_map_permissions.js +73 -0
  122. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/c_object_filter.d.ts.map +1 -0
  123. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/c_object_filter.js +114 -0
  124. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/c_trigger.d.ts.map +1 -0
  125. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/c_trigger.js +139 -0
  126. package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/index.d.ts.map +1 -1
  127. package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_actions.d.ts +187 -26
  128. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/megalogamengine_actions.d.ts.map +1 -0
  129. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/megalogamengine_actions.js +3636 -0
  130. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/megalogamengine_conditions.d.ts.map +1 -0
  131. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/megalogamengine_conditions.js +436 -0
  132. package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_explicit_object.d.ts.map +1 -1
  133. package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_explicit_player.d.ts.map +1 -1
  134. package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_explicit_team.d.ts.map +1 -1
  135. package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_hud_widgets.d.ts.map +1 -1
  136. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/megalogamengine_references.d.ts.map +1 -0
  137. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/megalogamengine_references.js +787 -0
  138. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/megalogamengine_text.d.ts.map +1 -0
  139. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/megalogamengine_text.js +239 -0
  140. package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/s_custom_game_engine_definition.d.ts +5 -4
  141. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_custom_game_engine_definition.d.ts.map +1 -0
  142. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_custom_game_engine_definition.js +251 -0
  143. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_game_engine_player_rating_parameters.d.ts.map +1 -0
  144. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_game_engine_player_rating_parameters.js +179 -0
  145. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_user_defined_option.d.ts.map +1 -0
  146. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_user_defined_option.js +197 -0
  147. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_variable_metadata.d.ts.map +1 -0
  148. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_variable_metadata.js +153 -0
  149. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_variant_variable.d.ts.map +1 -0
  150. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_variant_variable.js +150 -0
  151. package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/index.d.ts.map +1 -1
  152. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/saved_games/index.d.ts +3 -0
  153. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/saved_games/index.d.ts.map +1 -0
  154. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/saved_games/index.js +2 -0
  155. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/saved_games/saved_game_files.d.ts +2 -0
  156. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/saved_games/saved_game_files.d.ts.map +1 -0
  157. package/dist/blam/haloreach_mcc/v_untracked_25_08_16_1352/saved_games/saved_game_files.js +1 -0
  158. package/dist/blf_chunk.d.ts +2 -2
  159. package/dist/blf_chunk.d.ts.map +1 -1
  160. package/dist/blf_chunk.js +20 -15
  161. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/index.d.ts +3 -2
  162. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/index.d.ts.map +1 -1
  163. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/index.js +3 -2
  164. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_content_header.d.ts +1 -1
  165. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_content_header.d.ts.map +1 -1
  166. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_content_header.js +7 -7
  167. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_map_variant.d.ts +19 -0
  168. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_map_variant.d.ts.map +1 -0
  169. package/dist/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_map_variant.js +106 -0
  170. package/dist/chunks/haloreach_mcc/v_untracked_25_08_16_1352/index.d.ts +6 -0
  171. package/dist/chunks/haloreach_mcc/v_untracked_25_08_16_1352/index.d.ts.map +1 -0
  172. package/dist/chunks/haloreach_mcc/v_untracked_25_08_16_1352/index.js +5 -0
  173. package/dist/chunks/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/s_blf_chunk_game_variant.d.ts +1 -1
  174. package/dist/chunks/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/s_blf_chunk_game_variant.d.ts.map +1 -1
  175. package/dist/chunks/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/s_blf_chunk_game_variant.js +1 -1
  176. package/dist/chunks/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/s_blf_chunk_packed_game_variant.d.ts +1 -1
  177. package/dist/chunks/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/s_blf_chunk_packed_game_variant.d.ts.map +1 -1
  178. package/dist/chunks/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/s_blf_chunk_packed_game_variant.js +1 -1
  179. package/dist/chunks/mcc/s_blf_chunk_fileshare_metadata.d.ts +12 -0
  180. package/dist/chunks/mcc/s_blf_chunk_fileshare_metadata.d.ts.map +1 -0
  181. package/dist/chunks/mcc/s_blf_chunk_fileshare_metadata.js +107 -0
  182. package/dist/helpers/automap.d.ts +9 -0
  183. package/dist/helpers/automap.d.ts.map +1 -0
  184. package/dist/helpers/automap.js +34 -0
  185. package/dist/helpers/convert_reach_gametype.d.ts +12 -11
  186. package/dist/helpers/convert_reach_gametype.d.ts.map +1 -1
  187. package/dist/helpers/convert_reach_gametype.js +403 -109
  188. package/dist/helpers/game_variant_json.d.ts +19 -0
  189. package/dist/helpers/game_variant_json.d.ts.map +1 -0
  190. package/dist/helpers/game_variant_json.js +121 -0
  191. package/dist/helpers/index.d.ts +1 -1
  192. package/dist/helpers/index.d.ts.map +1 -1
  193. package/dist/helpers/index.js +1 -1
  194. package/dist/helpers/reach_gametype_automap.d.ts +10 -0
  195. package/dist/helpers/reach_gametype_automap.d.ts.map +1 -0
  196. package/dist/helpers/reach_gametype_automap.js +45 -0
  197. package/dist/helpers/reach_gametype_automapper.d.ts +5 -0
  198. package/dist/helpers/reach_gametype_automapper.d.ts.map +1 -0
  199. package/dist/helpers/reach_gametype_automapper.js +9 -0
  200. package/dist/helpers/reach_gametype_conversion_error.d.ts +11 -0
  201. package/dist/helpers/reach_gametype_conversion_error.d.ts.map +1 -0
  202. package/dist/helpers/reach_gametype_conversion_error.js +11 -0
  203. package/dist/types/static_array.d.ts +6 -0
  204. package/dist/types/static_array.d.ts.map +1 -0
  205. package/dist/types/static_array.js +3 -0
  206. package/dist/versions/haloreach/v12065_11_08_24_1738_tu1actual.d.ts +1 -0
  207. package/dist/versions/haloreach/v12065_11_08_24_1738_tu1actual.d.ts.map +1 -1
  208. package/dist/versions/haloreach/v12065_11_08_24_1738_tu1actual.js +1 -0
  209. package/dist/versions/haloreach_mcc/{v_untracked_25_08_19_1352.js → v_untracked_25_08_16_1352.d.ts} +5 -3
  210. package/dist/versions/haloreach_mcc/{v_untracked_25_08_19_1352.d.ts.map → v_untracked_25_08_16_1352.d.ts.map} +1 -1
  211. package/dist/versions/haloreach_mcc/{v_untracked_25_08_19_1352.d.ts → v_untracked_25_08_16_1352.js} +4 -4
  212. package/dist/versions/mcc/v2025_08_16_178512_1_release.d.ts +4 -0
  213. package/dist/versions/mcc/v2025_08_16_178512_1_release.d.ts.map +1 -0
  214. package/dist/versions/mcc/v2025_08_16_178512_1_release.js +3 -0
  215. package/dist-cjs/automapper/create_map.js +9 -0
  216. package/dist-cjs/automapper/create_mapper.js +12 -0
  217. package/dist-cjs/automapper/enum_by_name.js +55 -0
  218. package/dist-cjs/automapper/index.js +20 -0
  219. package/dist-cjs/automapper/stage3_metadata.js +43 -0
  220. package/dist-cjs/bitstream/enum.js +25 -2
  221. package/dist-cjs/bitstream/reader.js +2 -5
  222. package/dist-cjs/bitstream/writer.js +3 -2
  223. package/dist-cjs/blam/common/math/real_types.js +27 -0
  224. package/dist-cjs/blam/common/math/unit_vector_quantization.js +29 -0
  225. package/dist-cjs/blam/common/simulation/simulation_encoding.js +26 -0
  226. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant.js +271 -112
  227. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant_au1_settings.js +114 -30
  228. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_default.js +743 -280
  229. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_survival_variant.js +480 -170
  230. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_traits.js +74 -15
  231. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant.js +152 -87
  232. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_player_traits.js +431 -142
  233. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_string_table.js +205 -145
  234. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/game_engine_enums.js +92 -23
  235. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_megalo_game_statistic.js +82 -18
  236. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_megalogamengine_map_permissions.js +70 -16
  237. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_object_filter.js +108 -34
  238. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/c_trigger.js +112 -33
  239. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_actions.js +3150 -1607
  240. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_conditions.js +413 -208
  241. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_references.js +735 -459
  242. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/megalogamengine_text.js +216 -99
  243. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_custom_game_engine_definition.js +240 -106
  244. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_game_engine_player_rating_parameters.js +178 -54
  245. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_user_defined_option.js +186 -73
  246. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_variable_metadata.js +135 -68
  247. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/megalogamengine/s_variant_variable.js +137 -63
  248. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/math/real_math.js +116 -0
  249. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/memory/bitstream_extensions.js +43 -0
  250. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/index.js +1 -0
  251. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/saved_games/scenario_map_variant.js +687 -0
  252. package/dist-cjs/blam/haloreach/v12065_11_08_24_1738_tu1actual/simulation/simulation_encoding.js +32 -0
  253. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_custom_variant.js +288 -0
  254. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_custom_variant_au1_settings.js +118 -0
  255. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_default.js +768 -0
  256. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_survival_variant.js +507 -0
  257. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_engine_traits.js +79 -0
  258. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_variant.js +178 -0
  259. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_player_traits.js +440 -0
  260. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_string_table.js +255 -0
  261. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/game_engine_enums.js +133 -0
  262. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/c_megalo_game_statistic.js +86 -0
  263. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/c_megalogamengine_map_permissions.js +76 -0
  264. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/c_object_filter.js +117 -0
  265. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/c_trigger.js +142 -0
  266. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/megalogamengine_actions.js +3640 -0
  267. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/megalogamengine_conditions.js +439 -0
  268. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/megalogamengine_references.js +793 -0
  269. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/megalogamengine_text.js +242 -0
  270. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_custom_game_engine_definition.js +254 -0
  271. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_game_engine_player_rating_parameters.js +182 -0
  272. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_user_defined_option.js +200 -0
  273. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_variable_metadata.js +160 -0
  274. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/game/megalogamengine/s_variant_variable.js +153 -0
  275. package/dist-cjs/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/saved_games/index.js +1 -0
  276. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_16_1352/saved_games/saved_game_files.js +17 -0
  277. package/dist-cjs/blf_chunk.js +20 -15
  278. package/dist-cjs/chunks/haloreach/v12065_11_08_24_1738_tu1actual/index.js +19 -13
  279. package/dist-cjs/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_content_header.js +7 -7
  280. package/dist-cjs/chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_map_variant.js +109 -0
  281. package/dist-cjs/chunks/haloreach_mcc/v_untracked_25_08_16_1352/index.js +26 -0
  282. package/dist-cjs/chunks/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/s_blf_chunk_game_variant.js +1 -1
  283. package/dist-cjs/chunks/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/s_blf_chunk_packed_game_variant.js +1 -1
  284. package/dist-cjs/chunks/mcc/s_blf_chunk_fileshare_metadata.js +110 -0
  285. package/dist-cjs/helpers/automap.js +40 -0
  286. package/dist-cjs/helpers/convert_reach_gametype.js +407 -111
  287. package/dist-cjs/helpers/game_variant_json.js +127 -0
  288. package/dist-cjs/helpers/index.js +2 -1
  289. package/dist-cjs/helpers/reach_gametype_automap.js +81 -0
  290. package/dist-cjs/helpers/reach_gametype_automapper.js +13 -0
  291. package/dist-cjs/helpers/reach_gametype_conversion_error.js +14 -0
  292. package/dist-cjs/types/static_array.js +6 -0
  293. package/dist-cjs/versions/haloreach/v12065_11_08_24_1738_tu1actual.js +1 -0
  294. package/dist-cjs/versions/haloreach_mcc/{v_untracked_25_08_19_1352.js → v_untracked_25_08_16_1352.js} +4 -3
  295. package/dist-cjs/versions/mcc/v2025_08_16_178512_1_release.js +20 -0
  296. package/package.json +14 -3
  297. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_custom_variant.d.ts.map +0 -1
  298. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_custom_variant.js +0 -125
  299. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_custom_variant_au1_settings.d.ts.map +0 -1
  300. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_custom_variant_au1_settings.js +0 -30
  301. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_default.d.ts.map +0 -1
  302. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_default.js +0 -292
  303. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_survival_variant.d.ts.map +0 -1
  304. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_survival_variant.js +0 -184
  305. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_traits.d.ts.map +0 -1
  306. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_traits.js +0 -16
  307. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_variant.d.ts.map +0 -1
  308. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_variant.js +0 -109
  309. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_player_traits.d.ts.map +0 -1
  310. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_player_traits.js +0 -142
  311. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_string_table.d.ts.map +0 -1
  312. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_string_table.js +0 -190
  313. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/game_engine_enums.js +0 -60
  314. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_megalo_game_statistic.d.ts.map +0 -1
  315. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_megalo_game_statistic.js +0 -18
  316. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_megalogamengine_map_permissions.js +0 -18
  317. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_object_filter.d.ts.map +0 -1
  318. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_object_filter.js +0 -39
  319. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_trigger.d.ts.map +0 -1
  320. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_trigger.js +0 -59
  321. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_actions.d.ts.map +0 -1
  322. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_actions.js +0 -1696
  323. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_conditions.d.ts.map +0 -1
  324. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_conditions.js +0 -226
  325. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_references.d.ts.map +0 -1
  326. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_references.js +0 -502
  327. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_text.d.ts.map +0 -1
  328. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_text.js +0 -119
  329. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_custom_game_engine_definition.d.ts.map +0 -1
  330. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_custom_game_engine_definition.js +0 -116
  331. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_game_engine_player_rating_parameters.d.ts.map +0 -1
  332. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_game_engine_player_rating_parameters.js +0 -54
  333. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_user_defined_option.d.ts.map +0 -1
  334. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_user_defined_option.js +0 -82
  335. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_variable_metadata.d.ts.map +0 -1
  336. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_variable_metadata.js +0 -85
  337. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_variant_variable.d.ts.map +0 -1
  338. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_variant_variable.js +0 -75
  339. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/saved_games/index.d.ts +0 -2
  340. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/saved_games/index.d.ts.map +0 -1
  341. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/saved_games/index.js +0 -1
  342. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/saved_games/saved_game_files.d.ts +0 -66
  343. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/saved_games/saved_game_files.d.ts.map +0 -1
  344. package/dist/blam/haloreach_mcc/v_untracked_25_08_19_1352/saved_games/saved_game_files.js +0 -586
  345. package/dist/chunks/haloreach_mcc/v_untracked_25_08_19_1352/index.d.ts +0 -5
  346. package/dist/chunks/haloreach_mcc/v_untracked_25_08_19_1352/index.d.ts.map +0 -1
  347. package/dist/chunks/haloreach_mcc/v_untracked_25_08_19_1352/index.js +0 -4
  348. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_custom_variant.js +0 -129
  349. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_custom_variant_au1_settings.js +0 -34
  350. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_default.js +0 -305
  351. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_survival_variant.js +0 -192
  352. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_traits.js +0 -20
  353. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_variant.js +0 -113
  354. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_player_traits.js +0 -151
  355. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_string_table.js +0 -195
  356. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/game_engine_enums.js +0 -64
  357. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_megalo_game_statistic.js +0 -22
  358. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_megalogamengine_map_permissions.js +0 -22
  359. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_object_filter.js +0 -43
  360. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_trigger.js +0 -63
  361. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_actions.js +0 -1748
  362. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_conditions.js +0 -234
  363. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_references.js +0 -517
  364. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_text.js +0 -125
  365. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_custom_game_engine_definition.js +0 -120
  366. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_game_engine_player_rating_parameters.js +0 -58
  367. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_user_defined_option.js +0 -87
  368. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_variable_metadata.js +0 -93
  369. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_variant_variable.js +0 -79
  370. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/saved_games/saved_game_files.js +0 -591
  371. package/dist-cjs/chunks/haloreach_mcc/v_untracked_25_08_19_1352/index.js +0 -19
  372. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/c_game_engine_custom_variant.d.ts +0 -0
  373. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/c_game_engine_custom_variant_au1_settings.d.ts +0 -0
  374. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/c_game_engine_survival_variant.d.ts +0 -0
  375. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/c_game_engine_traits.d.ts +0 -0
  376. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/c_player_traits.d.ts +0 -0
  377. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/c_string_table.d.ts +0 -0
  378. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/game_engine_enums.d.ts +0 -0
  379. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/index.d.ts +0 -0
  380. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/index.js +0 -0
  381. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/c_megalo_game_statistic.d.ts +0 -0
  382. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/c_megalogamengine_map_permissions.d.ts +0 -0
  383. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/c_object_filter.d.ts +0 -0
  384. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/c_trigger.d.ts +0 -0
  385. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/index.d.ts +0 -0
  386. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/index.js +0 -0
  387. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_conditions.d.ts +0 -0
  388. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_explicit_object.d.ts +0 -0
  389. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_explicit_object.js +0 -0
  390. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_explicit_player.d.ts +0 -0
  391. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_explicit_player.js +0 -0
  392. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_explicit_team.d.ts +0 -0
  393. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_explicit_team.js +0 -0
  394. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_hud_widgets.d.ts +0 -0
  395. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_hud_widgets.js +0 -0
  396. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_references.d.ts +0 -0
  397. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_text.d.ts +0 -0
  398. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/s_game_engine_player_rating_parameters.d.ts +0 -0
  399. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/s_user_defined_option.d.ts +0 -0
  400. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/s_variable_metadata.d.ts +0 -0
  401. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/s_variant_variable.d.ts +0 -0
  402. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/index.d.ts +0 -0
  403. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/index.js +0 -0
  404. /package/dist-cjs/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/index.js +0 -0
  405. /package/dist-cjs/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/index.js +0 -0
  406. /package/dist-cjs/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_explicit_object.js +0 -0
  407. /package/dist-cjs/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_explicit_player.js +0 -0
  408. /package/dist-cjs/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_explicit_team.js +0 -0
  409. /package/dist-cjs/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/megalogamengine_hud_widgets.js +0 -0
  410. /package/dist-cjs/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/index.js +0 -0
@@ -0,0 +1,121 @@
1
+ /**
2
+ * JSON round-trip for game variant class graphs.
3
+ *
4
+ * Uses `c.json` when a type is decorated with `@c.struct()`.
5
+ * Bitstream-decoded game variant types fall back to a cstruct-compatible walk
6
+ * that preserves numeric enums and serializes bigint values as strings.
7
+ */
8
+ import { c } from "@craftycodie/cstruct";
9
+ function hasStructLayout(ctor) {
10
+ return c.CSTRUCT_LAYOUT in ctor;
11
+ }
12
+ function instanceToJson(value) {
13
+ if (value === null || value === undefined) {
14
+ return value;
15
+ }
16
+ if (typeof value === "bigint") {
17
+ return value.toString();
18
+ }
19
+ if (value instanceof Date) {
20
+ return value.toISOString();
21
+ }
22
+ if (value instanceof Uint8Array) {
23
+ return { __bytes__: Buffer.from(value).toString("hex") };
24
+ }
25
+ if (typeof value !== "object") {
26
+ return value;
27
+ }
28
+ if (Array.isArray(value)) {
29
+ return value.map(instanceToJson);
30
+ }
31
+ const out = {};
32
+ for (const key of Object.keys(value)) {
33
+ out[key] = instanceToJson(value[key]);
34
+ }
35
+ return out;
36
+ }
37
+ function resolveTargetConstructor(templateValue, ctorMap) {
38
+ if (templateValue === null ||
39
+ typeof templateValue !== "object" ||
40
+ Array.isArray(templateValue)) {
41
+ return;
42
+ }
43
+ const sourceCtor = templateValue.constructor;
44
+ if (typeof sourceCtor !== "function") {
45
+ return;
46
+ }
47
+ return (ctorMap.get(sourceCtor) ??
48
+ sourceCtor);
49
+ }
50
+ function jsonToInstance(Ctor, json, template, ctorMap) {
51
+ if (json === null || json === undefined) {
52
+ return json;
53
+ }
54
+ if (typeof json !== "object") {
55
+ return json;
56
+ }
57
+ if (Array.isArray(json)) {
58
+ const templateArray = Array.isArray(template) ? template : [];
59
+ return json.map((item, index) => {
60
+ const itemTemplate = templateArray[index] ?? templateArray[0];
61
+ const itemCtor = resolveTargetConstructor(itemTemplate, ctorMap);
62
+ if (itemCtor && typeof item === "object" && item !== null) {
63
+ return jsonToInstance(itemCtor, item, itemTemplate, ctorMap);
64
+ }
65
+ return item;
66
+ });
67
+ }
68
+ const TargetCtor = ctorMap.get(Ctor) ?? Ctor;
69
+ const instance = new TargetCtor();
70
+ const templateRecord = template !== null &&
71
+ typeof template === "object" &&
72
+ !Array.isArray(template)
73
+ ? template
74
+ : {};
75
+ for (const key of Object.keys(json)) {
76
+ const jsonValue = json[key];
77
+ const templateValue = templateRecord[key];
78
+ const nestedCtor = resolveTargetConstructor(templateValue, ctorMap);
79
+ if (nestedCtor &&
80
+ typeof jsonValue === "object" &&
81
+ jsonValue !== null &&
82
+ !Array.isArray(jsonValue)) {
83
+ instance[key] = jsonToInstance(nestedCtor, jsonValue, templateValue, ctorMap);
84
+ continue;
85
+ }
86
+ if (Array.isArray(jsonValue)) {
87
+ instance[key] = jsonToInstance(TargetCtor, jsonValue, templateValue, ctorMap);
88
+ continue;
89
+ }
90
+ instance[key] = jsonValue;
91
+ }
92
+ return instance;
93
+ }
94
+ /** Serialize a game variant instance to a cstruct-compatible JSON object. */
95
+ export function variantToJson(ctor, instance) {
96
+ if (hasStructLayout(ctor)) {
97
+ return c.json(ctor, instance);
98
+ }
99
+ return instanceToJson(instance);
100
+ }
101
+ /** Build a game variant instance from JSON, optionally remapping nested constructors. */
102
+ export function variantFromJson(ctor, json, template, ctorMap = new Map()) {
103
+ return jsonToInstance(ctor, json, template ?? new ctor(), ctorMap);
104
+ }
105
+ /** Pair same-named exports from two version bundles for cross-build hydration. */
106
+ export function buildCrossVersionConstructorMap(sourceModule, targetModule) {
107
+ const map = new Map();
108
+ for (const key of Object.keys(sourceModule)) {
109
+ const sourceExport = sourceModule[key];
110
+ const targetExport = targetModule[key];
111
+ if (typeof sourceExport === "function" &&
112
+ typeof targetExport === "function") {
113
+ map.set(sourceExport, targetExport);
114
+ }
115
+ }
116
+ return map;
117
+ }
118
+ /** Deep-clone a variant instance through JSON using cstruct-compatible encoding. */
119
+ export function cloneVariantViaJson(ctor, instance, template, ctorMap = new Map()) {
120
+ return variantFromJson(ctor, variantToJson(ctor, instance), template, ctorMap);
121
+ }
@@ -1,2 +1,2 @@
1
- export { convert_reach_gametype } from "./convert_reach_gametype";
1
+ export { convert_reach_gametype, e_reach_gametype_conversion_error, } from "./convert_reach_gametype";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- export { convert_reach_gametype } from "./convert_reach_gametype";
1
+ export { convert_reach_gametype, e_reach_gametype_conversion_error, } from "./convert_reach_gametype";
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Registers AutoMapper cross-version profiles for Reach gametype conversion.
3
+ * Mapping metadata comes from `@AutoMap()` on game classes.
4
+ */
5
+ import { type ClassConstructor } from "../automapper";
6
+ export declare const MCC_TO_TU1_CTORS: Map<ClassConstructor, ClassConstructor>;
7
+ export declare const TU1_TO_MCC_CTORS: Map<ClassConstructor, ClassConstructor>;
8
+ export declare const mccToTu1Mapper: import("@automapper/core").Mapper;
9
+ export declare const tu1ToMccMapper: import("@automapper/core").Mapper;
10
+ //# sourceMappingURL=reach_gametype_automap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reach_gametype_automap.d.ts","sourceRoot":"","sources":["../../src/helpers/reach_gametype_automap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,gBAAgB,EAMtB,MAAM,eAAe,CAAC;AAiCvB,eAAO,MAAM,gBAAgB,yCAA+C,CAAC;AAC7E,eAAO,MAAM,gBAAgB,yCAA+C,CAAC;AAE7E,eAAO,MAAM,cAAc,mCAAwB,CAAC;AACpD,eAAO,MAAM,cAAc,mCAAwB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Registers AutoMapper cross-version profiles for Reach gametype conversion.
3
+ * Mapping metadata comes from `@AutoMap()` on game classes.
4
+ */
5
+ import { createClassesMapper, createMapWithEnumByName, installStage3AutoMapperMetadataForCtorMap, } from "../automapper";
6
+ import * as tu1_game from "../blam/haloreach/v12065_11_08_24_1738_tu1actual/game";
7
+ import { c_game_variant as c_game_variant_tu1 } from "../blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant";
8
+ import * as mcc_game from "../blam/haloreach_mcc/v_untracked_25_08_16_1352/game";
9
+ import { c_game_variant as c_game_variant_mcc } from "../blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_variant";
10
+ function isClassConstructor(value) {
11
+ return (typeof value === "function" &&
12
+ value.prototype !== undefined &&
13
+ value.prototype.constructor === value);
14
+ }
15
+ function buildClassConstructorMap(sourceModule, targetModule) {
16
+ const map = new Map();
17
+ for (const key of Object.keys(sourceModule)) {
18
+ const sourceExport = sourceModule[key];
19
+ const targetExport = targetModule[key];
20
+ if (isClassConstructor(sourceExport) &&
21
+ isClassConstructor(targetExport) &&
22
+ sourceExport !== targetExport) {
23
+ map.set(sourceExport, targetExport);
24
+ }
25
+ }
26
+ return map;
27
+ }
28
+ export const MCC_TO_TU1_CTORS = buildClassConstructorMap(mcc_game, tu1_game);
29
+ export const TU1_TO_MCC_CTORS = buildClassConstructorMap(tu1_game, mcc_game);
30
+ export const mccToTu1Mapper = createClassesMapper();
31
+ export const tu1ToMccMapper = createClassesMapper();
32
+ installStage3AutoMapperMetadataForCtorMap(MCC_TO_TU1_CTORS, c_game_variant_mcc, c_game_variant_tu1);
33
+ installStage3AutoMapperMetadataForCtorMap(TU1_TO_MCC_CTORS, c_game_variant_tu1, c_game_variant_mcc);
34
+ function registerCrossVersionProfiles(mapper, ctorMap, rootSource, rootDest, modulePairs) {
35
+ const pairs = new Map();
36
+ for (const [sourceCtor, destCtor] of ctorMap) {
37
+ pairs.set(sourceCtor, destCtor);
38
+ }
39
+ pairs.set(rootSource, rootDest);
40
+ for (const [source, dest] of pairs) {
41
+ createMapWithEnumByName(mapper, source, dest, modulePairs);
42
+ }
43
+ }
44
+ registerCrossVersionProfiles(mccToTu1Mapper, MCC_TO_TU1_CTORS, c_game_variant_mcc, c_game_variant_tu1, [[mcc_game, tu1_game]]);
45
+ registerCrossVersionProfiles(tu1ToMccMapper, TU1_TO_MCC_CTORS, c_game_variant_tu1, c_game_variant_mcc, [[tu1_game, mcc_game]]);
@@ -0,0 +1,5 @@
1
+ import { c_game_variant as c_game_variant_tu1 } from "../blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant";
2
+ import { c_game_variant as c_game_variant_mcc } from "../blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_variant";
3
+ export declare function map_reach_gametype_mcc_to_tu1(from: c_game_variant_mcc): c_game_variant_tu1;
4
+ export declare function map_reach_gametype_tu1_to_mcc(from: c_game_variant_tu1): c_game_variant_mcc;
5
+ //# sourceMappingURL=reach_gametype_automapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reach_gametype_automapper.d.ts","sourceRoot":"","sources":["../../src/helpers/reach_gametype_automapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,sEAAsE,CAAC;AAC5H,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,qEAAqE,CAAC;AAG3H,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,kBAAkB,GACvB,kBAAkB,CAEpB;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,kBAAkB,GACvB,kBAAkB,CAEpB"}
@@ -0,0 +1,9 @@
1
+ import { c_game_variant as c_game_variant_tu1 } from "../blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_variant";
2
+ import { c_game_variant as c_game_variant_mcc } from "../blam/haloreach_mcc/v_untracked_25_08_16_1352/game/c_game_variant";
3
+ import { mccToTu1Mapper, tu1ToMccMapper } from "./reach_gametype_automap";
4
+ export function map_reach_gametype_mcc_to_tu1(from) {
5
+ return mccToTu1Mapper.map(from, c_game_variant_mcc, c_game_variant_tu1);
6
+ }
7
+ export function map_reach_gametype_tu1_to_mcc(from) {
8
+ return tu1ToMccMapper.map(from, c_game_variant_tu1, c_game_variant_mcc);
9
+ }
@@ -0,0 +1,11 @@
1
+ /** Result codes for Reach TU1 ↔ MCC gametype conversion. */
2
+ export declare enum e_reach_gametype_conversion_error {
3
+ ok = 0,
4
+ forge_variant = 1,
5
+ campaign_variant = 2,
6
+ mcc_exclusive_action = 3,
7
+ mcc_exclusive_math_operator = 4,
8
+ mcc_survival_additional_flags = 5,
9
+ insufficient_global_slots = 6
10
+ }
11
+ //# sourceMappingURL=reach_gametype_conversion_error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reach_gametype_conversion_error.d.ts","sourceRoot":"","sources":["../../src/helpers/reach_gametype_conversion_error.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,oBAAY,iCAAiC;IAC3C,EAAE,IAAI;IACN,aAAa,IAAI;IACjB,gBAAgB,IAAI;IACpB,oBAAoB,IAAI;IACxB,2BAA2B,IAAI;IAC/B,6BAA6B,IAAI;IACjC,yBAAyB,IAAI;CAC9B"}
@@ -0,0 +1,11 @@
1
+ /** Result codes for Reach TU1 ↔ MCC gametype conversion. */
2
+ export var e_reach_gametype_conversion_error;
3
+ (function (e_reach_gametype_conversion_error) {
4
+ e_reach_gametype_conversion_error[e_reach_gametype_conversion_error["ok"] = 0] = "ok";
5
+ e_reach_gametype_conversion_error[e_reach_gametype_conversion_error["forge_variant"] = 1] = "forge_variant";
6
+ e_reach_gametype_conversion_error[e_reach_gametype_conversion_error["campaign_variant"] = 2] = "campaign_variant";
7
+ e_reach_gametype_conversion_error[e_reach_gametype_conversion_error["mcc_exclusive_action"] = 3] = "mcc_exclusive_action";
8
+ e_reach_gametype_conversion_error[e_reach_gametype_conversion_error["mcc_exclusive_math_operator"] = 4] = "mcc_exclusive_math_operator";
9
+ e_reach_gametype_conversion_error[e_reach_gametype_conversion_error["mcc_survival_additional_flags"] = 5] = "mcc_survival_additional_flags";
10
+ e_reach_gametype_conversion_error[e_reach_gametype_conversion_error["insufficient_global_slots"] = 6] = "insufficient_global_slots";
11
+ })(e_reach_gametype_conversion_error || (e_reach_gametype_conversion_error = {}));
@@ -0,0 +1,6 @@
1
+ /** Fixed-length array type matching blf_lib `StaticArray<T, N>`. */
2
+ type BuildStaticArray<T, N extends number, Acc extends readonly T[] = []> = Acc["length"] extends N ? Acc : BuildStaticArray<T, N, readonly [...Acc, T]>;
3
+ export type StaticArray<T, N extends number> = BuildStaticArray<T, N>;
4
+ export declare function staticArray<const N extends number, T>(length: N, init: () => T): StaticArray<T, N>;
5
+ export {};
6
+ //# sourceMappingURL=static_array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static_array.d.ts","sourceRoot":"","sources":["../../src/types/static_array.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,KAAK,gBAAgB,CACnB,CAAC,EACD,CAAC,SAAS,MAAM,EAChB,GAAG,SAAS,SAAS,CAAC,EAAE,GAAG,EAAE,IAC3B,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GACvB,GAAG,GACH,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAEjD,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEtE,wBAAgB,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EACnD,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,MAAM,CAAC,GACZ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAEnB"}
@@ -0,0 +1,3 @@
1
+ export function staticArray(length, init) {
2
+ return Array.from({ length }, init);
3
+ }
@@ -6,5 +6,6 @@ export * from "../../chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_st
6
6
  export * from "../../chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_author";
7
7
  export * from "../../chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_content_header";
8
8
  export * from "../../chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_game_variant";
9
+ export * from "../../chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_map_variant";
9
10
  export * from "../../chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_packed_game_variant";
10
11
  //# sourceMappingURL=v12065_11_08_24_1738_tu1actual.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"v12065_11_08_24_1738_tu1actual.d.ts","sourceRoot":"","sources":["../../../src/versions/haloreach/v12065_11_08_24_1738_tu1actual.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qDAAqD,CAAC;AACpE,cAAc,gFAAgF,CAAC;AAC/F,cAAc,4EAA4E,CAAC;AAC3F,cAAc,8EAA8E,CAAC;AAC7F,cAAc,0EAA0E,CAAC;AACzF,cAAc,kFAAkF,CAAC;AACjG,cAAc,gFAAgF,CAAC;AAC/F,cAAc,uFAAuF,CAAC"}
1
+ {"version":3,"file":"v12065_11_08_24_1738_tu1actual.d.ts","sourceRoot":"","sources":["../../../src/versions/haloreach/v12065_11_08_24_1738_tu1actual.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qDAAqD,CAAC;AACpE,cAAc,gFAAgF,CAAC;AAC/F,cAAc,4EAA4E,CAAC;AAC3F,cAAc,8EAA8E,CAAC;AAC7F,cAAc,0EAA0E,CAAC;AACzF,cAAc,kFAAkF,CAAC;AACjG,cAAc,gFAAgF,CAAC;AAC/F,cAAc,+EAA+E,CAAC;AAC9F,cAAc,uFAAuF,CAAC"}
@@ -6,4 +6,5 @@ export * from "../../chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_st
6
6
  export * from "../../chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_author";
7
7
  export * from "../../chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_content_header";
8
8
  export * from "../../chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_game_variant";
9
+ export * from "../../chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_map_variant";
9
10
  export * from "../../chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_packed_game_variant";
@@ -1,8 +1,10 @@
1
1
  export * from "../../blam/common";
2
- export * from "../../blam/haloreach_mcc/v_untracked_25_08_19_1352";
2
+ export * from "../../blam/haloreach_mcc/v_untracked_25_08_16_1352";
3
3
  export * from "../../chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_compressed_data";
4
4
  export * from "../../chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_end_of_file";
5
5
  export * from "../../chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_start_of_file";
6
6
  export * from "../../chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_content_header";
7
- export * from "../../chunks/haloreach_mcc/v_untracked_25_08_19_1352/s_blf_chunk_game_variant";
8
- export * from "../../chunks/haloreach_mcc/v_untracked_25_08_19_1352/s_blf_chunk_packed_game_variant";
7
+ export * from "../../chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_map_variant";
8
+ export * from "../../chunks/haloreach_mcc/v_untracked_25_08_16_1352/s_blf_chunk_game_variant";
9
+ export * from "../../chunks/haloreach_mcc/v_untracked_25_08_16_1352/s_blf_chunk_packed_game_variant";
10
+ //# sourceMappingURL=v_untracked_25_08_16_1352.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"v_untracked_25_08_19_1352.d.ts","sourceRoot":"","sources":["../../../src/versions/haloreach_mcc/v_untracked_25_08_19_1352.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oDAAoD,CAAC;AACnE,cAAc,gFAAgF,CAAC;AAC/F,cAAc,4EAA4E,CAAC;AAC3F,cAAc,8EAA8E,CAAC;AAC7F,cAAc,kFAAkF,CAAC;AACjG,cAAc,+EAA+E,CAAC;AAC9F,cAAc,sFAAsF,CAAC"}
1
+ {"version":3,"file":"v_untracked_25_08_16_1352.d.ts","sourceRoot":"","sources":["../../../src/versions/haloreach_mcc/v_untracked_25_08_16_1352.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oDAAoD,CAAC;AACnE,cAAc,gFAAgF,CAAC;AAC/F,cAAc,4EAA4E,CAAC;AAC3F,cAAc,8EAA8E,CAAC;AAC7F,cAAc,kFAAkF,CAAC;AACjG,cAAc,+EAA+E,CAAC;AAC9F,cAAc,+EAA+E,CAAC;AAC9F,cAAc,sFAAsF,CAAC"}
@@ -1,9 +1,9 @@
1
1
  export * from "../../blam/common";
2
- export * from "../../blam/haloreach_mcc/v_untracked_25_08_19_1352";
2
+ export * from "../../blam/haloreach_mcc/v_untracked_25_08_16_1352";
3
3
  export * from "../../chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_compressed_data";
4
4
  export * from "../../chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_end_of_file";
5
5
  export * from "../../chunks/halo3/v12070_08_09_05_2031_halo3_ship/s_blf_chunk_start_of_file";
6
6
  export * from "../../chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_content_header";
7
- export * from "../../chunks/haloreach_mcc/v_untracked_25_08_19_1352/s_blf_chunk_game_variant";
8
- export * from "../../chunks/haloreach_mcc/v_untracked_25_08_19_1352/s_blf_chunk_packed_game_variant";
9
- //# sourceMappingURL=v_untracked_25_08_19_1352.d.ts.map
7
+ export * from "../../chunks/haloreach/v12065_11_08_24_1738_tu1actual/s_blf_chunk_map_variant";
8
+ export * from "../../chunks/haloreach_mcc/v_untracked_25_08_16_1352/s_blf_chunk_game_variant";
9
+ export * from "../../chunks/haloreach_mcc/v_untracked_25_08_16_1352/s_blf_chunk_packed_game_variant";
@@ -0,0 +1,4 @@
1
+ /** MCC menu build string (matches blf_lib `k_build_string_mcc_2025_08_16_178512_1_release` in `blf/versions/mcc`). */
2
+ export declare const k_build_string_mcc_2025_08_16_178512_1_release: "2025.08.16.178512.1-Release";
3
+ export * from "../../chunks/mcc/s_blf_chunk_fileshare_metadata";
4
+ //# sourceMappingURL=v2025_08_16_178512_1_release.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2025_08_16_178512_1_release.d.ts","sourceRoot":"","sources":["../../../src/versions/mcc/v2025_08_16_178512_1_release.ts"],"names":[],"mappings":"AAAA,sHAAsH;AACtH,eAAO,MAAM,8CAA8C,EACzD,6BAAsC,CAAC;AAEzC,cAAc,iDAAiD,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** MCC menu build string (matches blf_lib `k_build_string_mcc_2025_08_16_178512_1_release` in `blf/versions/mcc`). */
2
+ export const k_build_string_mcc_2025_08_16_178512_1_release = "2025.08.16.178512.1-Release";
3
+ export * from "../../chunks/mcc/s_blf_chunk_fileshare_metadata";
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createMapWithEnumByName = createMapWithEnumByName;
4
+ const core_1 = require("@automapper/core");
5
+ const enum_by_name_1 = require("./enum_by_name");
6
+ /** `createMap` with enum-by-name converters derived from module export pairs. */
7
+ function createMapWithEnumByName(mapper, source, destination, modulePairs, ...configurations) {
8
+ return (0, core_1.createMap)(mapper, source, destination, ...(0, enum_by_name_1.enumTypeConverterConfigs)(...modulePairs), ...configurations);
9
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createClassesMapper = createClassesMapper;
4
+ const classes_1 = require("@automapper/classes");
5
+ const core_1 = require("@automapper/core");
6
+ /** Standard BLF mapper using the `@automapper/classes` strategy. */
7
+ function createClassesMapper(options = {}) {
8
+ return (0, core_1.createMapper)({
9
+ ...options,
10
+ strategyInitializer: (mapper) => (0, classes_1.classes)()(mapper),
11
+ });
12
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ /**
3
+ * AutoMapper enum conversion by member name (not ordinal).
4
+ *
5
+ * TypeScript numeric enums on the wire are plain numbers; AutoMapper copies them
6
+ * as-is unless a `typeConverter` is registered. Use these helpers when paired
7
+ * enums share member names but differ in numeric values.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.isTypeScriptEnum = isTypeScriptEnum;
11
+ exports.convertEnumByName = convertEnumByName;
12
+ exports.enumTypeConverterConfigs = enumTypeConverterConfigs;
13
+ const core_1 = require("@automapper/core");
14
+ const enumTypeConverter = core_1.typeConverter;
15
+ function isTypeScriptEnum(value) {
16
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
17
+ return false;
18
+ }
19
+ let hasNamedMember = false;
20
+ const record = value;
21
+ for (const key of Object.keys(record)) {
22
+ if (Number.isNaN(Number(key))) {
23
+ hasNamedMember = typeof record[key] === "number";
24
+ }
25
+ }
26
+ return hasNamedMember;
27
+ }
28
+ function convertEnumByName(sourceEnum, destEnum, ordinal) {
29
+ const name = sourceEnum[ordinal];
30
+ if (typeof name !== "string") {
31
+ return ordinal;
32
+ }
33
+ const destOrdinal = destEnum[name];
34
+ return typeof destOrdinal === "number" ? destOrdinal : ordinal;
35
+ }
36
+ /** Build shared enum `typeConverter` configs from one or more module export pairs. */
37
+ function enumTypeConverterConfigs(...modulePairs) {
38
+ const configs = [];
39
+ const registered = new Set();
40
+ for (const [sourceModule, destModule] of modulePairs) {
41
+ for (const key of Object.keys(sourceModule)) {
42
+ const sourceEnum = sourceModule[key];
43
+ const destEnum = destModule[key];
44
+ if (!(isTypeScriptEnum(sourceEnum) && isTypeScriptEnum(destEnum))) {
45
+ continue;
46
+ }
47
+ if (registered.has(key)) {
48
+ continue;
49
+ }
50
+ registered.add(key);
51
+ configs.push(enumTypeConverter(sourceEnum, destEnum, (value) => convertEnumByName(sourceEnum, destEnum, value)));
52
+ }
53
+ }
54
+ return configs;
55
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.installStage3AutoMapperMetadataForMany = exports.installStage3AutoMapperMetadataForCtorMap = exports.installStage3AutoMapperMetadata = exports.isTypeScriptEnum = exports.enumTypeConverterConfigs = exports.convertEnumByName = exports.createClassesMapper = exports.createMapWithEnumByName = exports.stage3AutoMapMetadata = exports.AutoMap = exports.AUTOMAP_PROPERTIES_METADATA_KEY = void 0;
4
+ var classes_1 = require("@automapper/classes");
5
+ Object.defineProperty(exports, "AUTOMAP_PROPERTIES_METADATA_KEY", { enumerable: true, get: function () { return classes_1.AUTOMAP_PROPERTIES_METADATA_KEY; } });
6
+ var automap_1 = require("../helpers/automap");
7
+ Object.defineProperty(exports, "AutoMap", { enumerable: true, get: function () { return automap_1.AutoMap; } });
8
+ Object.defineProperty(exports, "stage3AutoMapMetadata", { enumerable: true, get: function () { return automap_1.stage3AutoMapMetadata; } });
9
+ var create_map_1 = require("./create_map");
10
+ Object.defineProperty(exports, "createMapWithEnumByName", { enumerable: true, get: function () { return create_map_1.createMapWithEnumByName; } });
11
+ var create_mapper_1 = require("./create_mapper");
12
+ Object.defineProperty(exports, "createClassesMapper", { enumerable: true, get: function () { return create_mapper_1.createClassesMapper; } });
13
+ var enum_by_name_1 = require("./enum_by_name");
14
+ Object.defineProperty(exports, "convertEnumByName", { enumerable: true, get: function () { return enum_by_name_1.convertEnumByName; } });
15
+ Object.defineProperty(exports, "enumTypeConverterConfigs", { enumerable: true, get: function () { return enum_by_name_1.enumTypeConverterConfigs; } });
16
+ Object.defineProperty(exports, "isTypeScriptEnum", { enumerable: true, get: function () { return enum_by_name_1.isTypeScriptEnum; } });
17
+ var stage3_metadata_1 = require("./stage3_metadata");
18
+ Object.defineProperty(exports, "installStage3AutoMapperMetadata", { enumerable: true, get: function () { return stage3_metadata_1.installStage3AutoMapperMetadata; } });
19
+ Object.defineProperty(exports, "installStage3AutoMapperMetadataForCtorMap", { enumerable: true, get: function () { return stage3_metadata_1.installStage3AutoMapperMetadataForCtorMap; } });
20
+ Object.defineProperty(exports, "installStage3AutoMapperMetadataForMany", { enumerable: true, get: function () { return stage3_metadata_1.installStage3AutoMapperMetadataForMany; } });
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.installStage3AutoMapperMetadata = installStage3AutoMapperMetadata;
4
+ exports.installStage3AutoMapperMetadataForMany = installStage3AutoMapperMetadataForMany;
5
+ exports.installStage3AutoMapperMetadataForCtorMap = installStage3AutoMapperMetadataForCtorMap;
6
+ const classes_1 = require("@automapper/classes");
7
+ const automap_1 = require("../helpers/automap");
8
+ function mergeMetadataEntries(existing, extra) {
9
+ const merged = new Map();
10
+ for (const entry of existing) {
11
+ merged.set(entry[0], entry);
12
+ }
13
+ for (const entry of extra) {
14
+ merged.set(entry[0], entry);
15
+ }
16
+ return [...merged.values()];
17
+ }
18
+ /** Bridge stage-3 `@AutoMap()` metadata into `@automapper/classes` factory hook. */
19
+ function installStage3AutoMapperMetadata(ctor) {
20
+ const entries = (0, automap_1.stage3AutoMapMetadata)(ctor);
21
+ if (entries.length === 0) {
22
+ return;
23
+ }
24
+ const record = ctor;
25
+ const existingFactory = record[classes_1.AUTOMAPPER_METADATA_FACTORY_KEY];
26
+ record[classes_1.AUTOMAPPER_METADATA_FACTORY_KEY] = () => {
27
+ const existing = existingFactory?.() ?? [];
28
+ return mergeMetadataEntries(existing, entries);
29
+ };
30
+ }
31
+ function installStage3AutoMapperMetadataForMany(...ctors) {
32
+ for (const ctor of ctors) {
33
+ installStage3AutoMapperMetadata(ctor);
34
+ }
35
+ }
36
+ function installStage3AutoMapperMetadataForCtorMap(ctorMap, ...extra) {
37
+ const ctors = new Set(extra);
38
+ for (const [source, dest] of ctorMap) {
39
+ ctors.add(source);
40
+ ctors.add(dest);
41
+ }
42
+ installStage3AutoMapperMetadataForMany(...ctors);
43
+ }
@@ -1,9 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isNumericEnumValue = isNumericEnumValue;
3
+ exports.enumMembersInDeclarationOrder = enumMembersInDeclarationOrder;
4
+ exports.enumMemberFromWireIndex = enumMemberFromWireIndex;
5
+ exports.enumWireIndexFromMember = enumWireIndexFromMember;
6
+ exports.enumMembersIncludeValue = enumMembersIncludeValue;
4
7
  exports.assertFitsInBits = assertFitsInBits;
5
8
  const errors_1 = require("./errors");
6
- function isNumericEnumValue(enumObj, value) {
9
+ /** Numeric enum members in source declaration order (wire index order). */
10
+ function enumMembersInDeclarationOrder(enumObj) {
11
+ return Object.keys(enumObj)
12
+ .filter((key) => Number.isNaN(Number(key)))
13
+ .map((key) => enumObj[key]);
14
+ }
15
+ function enumMemberFromWireIndex(enumObj, index, name) {
16
+ const members = enumMembersInDeclarationOrder(enumObj);
17
+ if (!Number.isInteger(index) || index < 0 || index >= members.length) {
18
+ throw new errors_1.BitstreamError(`Unexpected enum value for ${name}: ${index}`);
19
+ }
20
+ return members[index];
21
+ }
22
+ function enumWireIndexFromMember(enumObj, member, name) {
23
+ const index = enumMembersInDeclarationOrder(enumObj).indexOf(member);
24
+ if (index === -1) {
25
+ throw new errors_1.BitstreamError(`Unexpected enum member for ${name}: ${member}`);
26
+ }
27
+ return index;
28
+ }
29
+ function enumMembersIncludeValue(enumObj, value) {
7
30
  for (const member of Object.values(enumObj)) {
8
31
  if (typeof member === "number" && member === value) {
9
32
  return true;
@@ -207,10 +207,7 @@ class c_bitstream_reader {
207
207
  (0, enum_1.assertFitsInBits)(name, integer, size_in_bits);
208
208
  return integer;
209
209
  }
210
- if (!(0, enum_1.isNumericEnumValue)(enumObjOrParser, integer)) {
211
- throw new errors_1.BitstreamError(`Unexpected enum value for ${name}: ${integer}`);
212
- }
213
- return integer;
210
+ return (0, enum_1.enumMemberFromWireIndex)(enumObjOrParser, integer, name);
214
211
  }
215
212
  read_integer(_name, size_in_bits) {
216
213
  (0, errors_1.assert_ok)(size_in_bits > 0);
@@ -327,7 +324,7 @@ class c_bitstream_reader {
327
324
  const byte = this.read_integer("???", 8);
328
325
  bytes[i] = byte;
329
326
  if (byte === 0) {
330
- return String.fromCharCode(...Array.from(bytes.subarray(0, i)));
327
+ return new TextDecoder("utf-8").decode(bytes.subarray(0, i));
331
328
  }
332
329
  }
333
330
  throw new errors_1.BitstreamError("Exceeded max string size reading utf8 string.");
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.c_bitstream_writer = void 0;
4
+ const enum_1 = require("./enum");
4
5
  const enums_1 = require("./enums");
5
6
  const errors_1 = require("./errors");
6
7
  const math_1 = require("./math");
@@ -57,8 +58,8 @@ class c_bitstream_writer {
57
58
  this.current_stream_bit_position,
58
59
  ];
59
60
  }
60
- write_enum(value, size_in_bits) {
61
- this.write_integer(value, size_in_bits);
61
+ write_enum(value, size_in_bits, enumObj) {
62
+ this.write_integer((0, enum_1.enumWireIndexFromMember)(enumObj, value, "enum"), size_in_bits);
62
63
  }
63
64
  write_integer(value, size_in_bits) {
64
65
  (0, errors_1.assert_ok)(this.writing());
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.real_point3d_default = real_point3d_default;
4
+ exports.real_bounds_default = real_bounds_default;
5
+ exports.real_rectangle3d_default = real_rectangle3d_default;
6
+ exports.point_in_rectangle3d = point_in_rectangle3d;
7
+ function real_point3d_default() {
8
+ return { x: 0, y: 0, z: 0 };
9
+ }
10
+ function real_bounds_default() {
11
+ return { lower: 0, upper: 0 };
12
+ }
13
+ function real_rectangle3d_default() {
14
+ return {
15
+ x: real_bounds_default(),
16
+ y: real_bounds_default(),
17
+ z: real_bounds_default(),
18
+ };
19
+ }
20
+ function point_in_rectangle3d(point, rect) {
21
+ return (rect.x.lower <= point.x &&
22
+ point.x <= rect.x.upper &&
23
+ rect.y.lower <= point.y &&
24
+ point.y <= rect.y.upper &&
25
+ rect.z.lower <= point.z &&
26
+ point.z <= rect.z.upper);
27
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.get_unit_vector_encoding_constants = get_unit_vector_encoding_constants;
4
+ const k_unit_vector_quantization_minimum_bit_count = 6;
5
+ const k_unit_vector_quantization_maximum_bit_count = 30;
6
+ function compute_encoding_constants(bit_count) {
7
+ let mask = 0;
8
+ for (let i = 0, bit = bit_count - 2; bit >= 0; bit--, i++) {
9
+ if (i % 2 === 1) {
10
+ mask |= 1 << bit;
11
+ }
12
+ }
13
+ return {
14
+ actual_per_axis_max_count: mask,
15
+ quantized_value_count: Math.floor(Math.sqrt(mask)) - 1,
16
+ };
17
+ }
18
+ const g_unit_vector_generated_encoding_constants = Array.from({
19
+ length: k_unit_vector_quantization_maximum_bit_count -
20
+ k_unit_vector_quantization_minimum_bit_count +
21
+ 1,
22
+ }, (_, index) => compute_encoding_constants(index + k_unit_vector_quantization_minimum_bit_count));
23
+ function get_unit_vector_encoding_constants(bit_count) {
24
+ if (bit_count < k_unit_vector_quantization_minimum_bit_count ||
25
+ bit_count > k_unit_vector_quantization_maximum_bit_count) {
26
+ throw new Error(`Invalid unit vector bit count: ${bit_count}`);
27
+ }
28
+ return g_unit_vector_generated_encoding_constants[bit_count - k_unit_vector_quantization_minimum_bit_count];
29
+ }