@blamnetwork/blf 1.0.0-beta.2 → 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 (411) 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 +1 -0
  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 +1 -0
  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_19_1352 → v_untracked_25_08_16_1352}/index.js +2 -1
  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 +3 -3
  180. package/dist/chunks/mcc/s_blf_chunk_fileshare_metadata.d.ts.map +1 -1
  181. package/dist/chunks/mcc/s_blf_chunk_fileshare_metadata.js +3 -3
  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 -115
  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/{versions/mcc/v_25_08_16.js → blam/haloreach_mcc/v_untracked_25_08_16_1352/saved_games/saved_game_files.js} +1 -1
  277. package/dist-cjs/blf_chunk.js +20 -15
  278. package/dist-cjs/chunks/haloreach/v12065_11_08_24_1738_tu1actual/index.js +3 -1
  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_19_1352 → v_untracked_25_08_16_1352}/index.js +5 -2
  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 +3 -3
  285. package/dist-cjs/helpers/automap.js +40 -0
  286. package/dist-cjs/helpers/convert_reach_gametype.js +407 -117
  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 +5 -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/versions/mcc/v_25_08_16.d.ts +0 -2
  348. package/dist/versions/mcc/v_25_08_16.d.ts.map +0 -1
  349. package/dist/versions/mcc/v_25_08_16.js +0 -1
  350. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_custom_variant.js +0 -129
  351. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_custom_variant_au1_settings.js +0 -34
  352. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_default.js +0 -305
  353. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_survival_variant.js +0 -192
  354. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_engine_traits.js +0 -20
  355. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_game_variant.js +0 -113
  356. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_player_traits.js +0 -151
  357. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/c_string_table.js +0 -195
  358. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/game_engine_enums.js +0 -64
  359. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_megalo_game_statistic.js +0 -22
  360. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_megalogamengine_map_permissions.js +0 -22
  361. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_object_filter.js +0 -43
  362. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/c_trigger.js +0 -63
  363. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_actions.js +0 -1748
  364. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_conditions.js +0 -234
  365. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_references.js +0 -517
  366. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/megalogamengine_text.js +0 -125
  367. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_custom_game_engine_definition.js +0 -120
  368. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_game_engine_player_rating_parameters.js +0 -58
  369. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_user_defined_option.js +0 -87
  370. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_variable_metadata.js +0 -93
  371. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/game/megalogamengine/s_variant_variable.js +0 -79
  372. package/dist-cjs/blam/haloreach_mcc/v_untracked_25_08_19_1352/saved_games/saved_game_files.js +0 -591
  373. /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
  374. /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
  375. /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
  376. /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
  377. /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
  378. /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
  379. /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
  380. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/index.d.ts +0 -0
  381. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/index.js +0 -0
  382. /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
  383. /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
  384. /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
  385. /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
  386. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/index.d.ts +0 -0
  387. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/megalogamengine/index.js +0 -0
  388. /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
  389. /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
  390. /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
  391. /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
  392. /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
  393. /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
  394. /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
  395. /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
  396. /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
  397. /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
  398. /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
  399. /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
  400. /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
  401. /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
  402. /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
  403. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/index.d.ts +0 -0
  404. /package/dist/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/index.js +0 -0
  405. /package/dist-cjs/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/game/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/index.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_object.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_player.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_explicit_team.js +0 -0
  410. /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
  411. /package/dist-cjs/blam/haloreach_mcc/{v_untracked_25_08_19_1352 → v_untracked_25_08_16_1352}/index.js +0 -0
package/README.md CHANGED
@@ -60,7 +60,7 @@ Each implementation build is a single module:
60
60
  | Import | Build |
61
61
  |--------|--------|
62
62
  | `@blamnetwork/blf/haloreach/v12065_11_08_24_1738_tu1actual` | Reach TU1 |
63
- | `@blamnetwork/blf/haloreach_mcc/v_untracked_25_08_19_1352` | Reach MCC (untracked) |
63
+ | `@blamnetwork/blf/haloreach_mcc/v_untracked_25_08_16_1352` | Reach MCC (untracked) |
64
64
  | `@blamnetwork/blf/halo3/v12070_08_09_05_2031_halo3_ship` | Halo 3 ship |
65
65
  | `@blamnetwork/blf/halo3odst/v13895_09_04_27_2201_atlas_release` | ODST Atlas |
66
66
 
@@ -0,0 +1,5 @@
1
+ import { type Dictionary, type Mapper, type Mapping, type MappingConfiguration, type ModelIdentifier } from "@automapper/core";
2
+ import { type ModulePair } from "./enum_by_name";
3
+ /** `createMap` with enum-by-name converters derived from module export pairs. */
4
+ export declare function createMapWithEnumByName<TSource extends Dictionary<TSource>, TDestination extends Dictionary<TDestination>>(mapper: Mapper, source: ModelIdentifier<TSource>, destination: ModelIdentifier<TDestination>, modulePairs: readonly ModulePair[], ...configurations: MappingConfiguration<TSource, TDestination>[]): Mapping<TSource, TDestination>;
5
+ //# sourceMappingURL=create_map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_map.d.ts","sourceRoot":"","sources":["../../src/automapper/create_map.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,OAAO,EACZ,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE3E,iFAAiF;AACjF,wBAAgB,uBAAuB,CACrC,OAAO,SAAS,UAAU,CAAC,OAAO,CAAC,EACnC,YAAY,SAAS,UAAU,CAAC,YAAY,CAAC,EAE7C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,EAChC,WAAW,EAAE,eAAe,CAAC,YAAY,CAAC,EAC1C,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,GAAG,cAAc,EAAE,oBAAoB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,GAC/D,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAQhC"}
@@ -0,0 +1,6 @@
1
+ import { createMap, } from "@automapper/core";
2
+ import { enumTypeConverterConfigs } from "./enum_by_name";
3
+ /** `createMap` with enum-by-name converters derived from module export pairs. */
4
+ export function createMapWithEnumByName(mapper, source, destination, modulePairs, ...configurations) {
5
+ return createMap(mapper, source, destination, ...enumTypeConverterConfigs(...modulePairs), ...configurations);
6
+ }
@@ -0,0 +1,6 @@
1
+ import { type CreateMapperOptions, type Mapper } from "@automapper/core";
2
+ type ClassesMapperOptions = Omit<CreateMapperOptions, "strategyInitializer">;
3
+ /** Standard BLF mapper using the `@automapper/classes` strategy. */
4
+ export declare function createClassesMapper(options?: ClassesMapperOptions): Mapper;
5
+ export {};
6
+ //# sourceMappingURL=create_mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_mapper.d.ts","sourceRoot":"","sources":["../../src/automapper/create_mapper.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,MAAM,EACZ,MAAM,kBAAkB,CAAC;AAE1B,KAAK,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;AAE7E,oEAAoE;AACpE,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,oBAAyB,GACjC,MAAM,CAKR"}
@@ -0,0 +1,9 @@
1
+ import { classes } from "@automapper/classes";
2
+ import { createMapper, } from "@automapper/core";
3
+ /** Standard BLF mapper using the `@automapper/classes` strategy. */
4
+ export function createClassesMapper(options = {}) {
5
+ return createMapper({
6
+ ...options,
7
+ strategyInitializer: (mapper) => classes()(mapper),
8
+ });
9
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * AutoMapper enum conversion by member name (not ordinal).
3
+ *
4
+ * TypeScript numeric enums on the wire are plain numbers; AutoMapper copies them
5
+ * as-is unless a `typeConverter` is registered. Use these helpers when paired
6
+ * enums share member names but differ in numeric values.
7
+ */
8
+ import { type MappingConfiguration } from "@automapper/core";
9
+ export type EnumObject = Record<string, number | string>;
10
+ export type ModuleExports = Record<string, unknown>;
11
+ export type ModulePair = readonly [ModuleExports, ModuleExports];
12
+ export declare function isTypeScriptEnum(value: unknown): value is EnumObject;
13
+ export declare function convertEnumByName(sourceEnum: EnumObject, destEnum: EnumObject, ordinal: number): number;
14
+ /** Build shared enum `typeConverter` configs from one or more module export pairs. */
15
+ export declare function enumTypeConverterConfigs(...modulePairs: ModulePair[]): MappingConfiguration[];
16
+ //# sourceMappingURL=enum_by_name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum_by_name.d.ts","sourceRoot":"","sources":["../../src/automapper/enum_by_name.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,oBAAoB,EAAiB,MAAM,kBAAkB,CAAC;AAE5E,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AACzD,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACpD,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAQjE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAYpE;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAOR;AAED,sFAAsF;AACtF,wBAAgB,wBAAwB,CACtC,GAAG,WAAW,EAAE,UAAU,EAAE,GAC3B,oBAAoB,EAAE,CAwBxB"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * AutoMapper enum conversion by member name (not ordinal).
3
+ *
4
+ * TypeScript numeric enums on the wire are plain numbers; AutoMapper copies them
5
+ * as-is unless a `typeConverter` is registered. Use these helpers when paired
6
+ * enums share member names but differ in numeric values.
7
+ */
8
+ import { typeConverter } from "@automapper/core";
9
+ const enumTypeConverter = typeConverter;
10
+ export function isTypeScriptEnum(value) {
11
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
12
+ return false;
13
+ }
14
+ let hasNamedMember = false;
15
+ const record = value;
16
+ for (const key of Object.keys(record)) {
17
+ if (Number.isNaN(Number(key))) {
18
+ hasNamedMember = typeof record[key] === "number";
19
+ }
20
+ }
21
+ return hasNamedMember;
22
+ }
23
+ export function convertEnumByName(sourceEnum, destEnum, ordinal) {
24
+ const name = sourceEnum[ordinal];
25
+ if (typeof name !== "string") {
26
+ return ordinal;
27
+ }
28
+ const destOrdinal = destEnum[name];
29
+ return typeof destOrdinal === "number" ? destOrdinal : ordinal;
30
+ }
31
+ /** Build shared enum `typeConverter` configs from one or more module export pairs. */
32
+ export function enumTypeConverterConfigs(...modulePairs) {
33
+ const configs = [];
34
+ const registered = new Set();
35
+ for (const [sourceModule, destModule] of modulePairs) {
36
+ for (const key of Object.keys(sourceModule)) {
37
+ const sourceEnum = sourceModule[key];
38
+ const destEnum = destModule[key];
39
+ if (!(isTypeScriptEnum(sourceEnum) && isTypeScriptEnum(destEnum))) {
40
+ continue;
41
+ }
42
+ if (registered.has(key)) {
43
+ continue;
44
+ }
45
+ registered.add(key);
46
+ configs.push(enumTypeConverter(sourceEnum, destEnum, (value) => convertEnumByName(sourceEnum, destEnum, value)));
47
+ }
48
+ }
49
+ return configs;
50
+ }
@@ -0,0 +1,7 @@
1
+ export { AUTOMAP_PROPERTIES_METADATA_KEY } from "@automapper/classes";
2
+ export { AutoMap, stage3AutoMapMetadata } from "../helpers/automap";
3
+ export { createMapWithEnumByName } from "./create_map";
4
+ export { createClassesMapper } from "./create_mapper";
5
+ export { convertEnumByName, type EnumObject, enumTypeConverterConfigs, isTypeScriptEnum, type ModuleExports, type ModulePair, } from "./enum_by_name";
6
+ export { type ClassConstructor, installStage3AutoMapperMetadata, installStage3AutoMapperMetadataForCtorMap, installStage3AutoMapperMetadataForMany, } from "./stage3_metadata";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/automapper/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EACL,iBAAiB,EACjB,KAAK,UAAU,EACf,wBAAwB,EACxB,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,gBAAgB,EACrB,+BAA+B,EAC/B,yCAAyC,EACzC,sCAAsC,GACvC,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { AUTOMAP_PROPERTIES_METADATA_KEY } from "@automapper/classes";
2
+ export { AutoMap, stage3AutoMapMetadata } from "../helpers/automap";
3
+ export { createMapWithEnumByName } from "./create_map";
4
+ export { createClassesMapper } from "./create_mapper";
5
+ export { convertEnumByName, enumTypeConverterConfigs, isTypeScriptEnum, } from "./enum_by_name";
6
+ export { installStage3AutoMapperMetadata, installStage3AutoMapperMetadataForCtorMap, installStage3AutoMapperMetadataForMany, } from "./stage3_metadata";
@@ -0,0 +1,7 @@
1
+ type ClassConstructor = new (...args: unknown[]) => object;
2
+ /** Bridge stage-3 `@AutoMap()` metadata into `@automapper/classes` factory hook. */
3
+ export declare function installStage3AutoMapperMetadata(ctor: ClassConstructor): void;
4
+ export declare function installStage3AutoMapperMetadataForMany(...ctors: ClassConstructor[]): void;
5
+ export declare function installStage3AutoMapperMetadataForCtorMap(ctorMap: Map<ClassConstructor, ClassConstructor>, ...extra: ClassConstructor[]): void;
6
+ export type { ClassConstructor };
7
+ //# sourceMappingURL=stage3_metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stage3_metadata.d.ts","sourceRoot":"","sources":["../../src/automapper/stage3_metadata.ts"],"names":[],"mappings":"AAMA,KAAK,gBAAgB,GAAG,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;AAiB3D,oFAAoF;AACpF,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAa5E;AAED,wBAAgB,sCAAsC,CACpD,GAAG,KAAK,EAAE,gBAAgB,EAAE,GAC3B,IAAI,CAIN;AAED,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,EAChD,GAAG,KAAK,EAAE,gBAAgB,EAAE,GAC3B,IAAI,CAON;AAED,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { AUTOMAPPER_METADATA_FACTORY_KEY, } from "@automapper/classes";
2
+ import { stage3AutoMapMetadata } from "../helpers/automap";
3
+ function mergeMetadataEntries(existing, extra) {
4
+ const merged = new Map();
5
+ for (const entry of existing) {
6
+ merged.set(entry[0], entry);
7
+ }
8
+ for (const entry of extra) {
9
+ merged.set(entry[0], entry);
10
+ }
11
+ return [...merged.values()];
12
+ }
13
+ /** Bridge stage-3 `@AutoMap()` metadata into `@automapper/classes` factory hook. */
14
+ export function installStage3AutoMapperMetadata(ctor) {
15
+ const entries = stage3AutoMapMetadata(ctor);
16
+ if (entries.length === 0) {
17
+ return;
18
+ }
19
+ const record = ctor;
20
+ const existingFactory = record[AUTOMAPPER_METADATA_FACTORY_KEY];
21
+ record[AUTOMAPPER_METADATA_FACTORY_KEY] = () => {
22
+ const existing = existingFactory?.() ?? [];
23
+ return mergeMetadataEntries(existing, entries);
24
+ };
25
+ }
26
+ export function installStage3AutoMapperMetadataForMany(...ctors) {
27
+ for (const ctor of ctors) {
28
+ installStage3AutoMapperMetadata(ctor);
29
+ }
30
+ }
31
+ export function installStage3AutoMapperMetadataForCtorMap(ctorMap, ...extra) {
32
+ const ctors = new Set(extra);
33
+ for (const [source, dest] of ctorMap) {
34
+ ctors.add(source);
35
+ ctors.add(dest);
36
+ }
37
+ installStage3AutoMapperMetadataForMany(...ctors);
38
+ }
@@ -1,6 +1,10 @@
1
1
  /** TypeScript numeric enum object passed to {@link c_bitstream_reader.read_enum}. */
2
2
  export type NumericEnum = Record<string, number | string>;
3
3
  export type EnumNumber<E extends NumericEnum> = Extract<E[keyof E], number>;
4
- export declare function isNumericEnumValue(enumObj: NumericEnum, value: number): boolean;
4
+ /** Numeric enum members in source declaration order (wire index order). */
5
+ export declare function enumMembersInDeclarationOrder(enumObj: NumericEnum): number[];
6
+ export declare function enumMemberFromWireIndex(enumObj: NumericEnum, index: number, name: string): number;
7
+ export declare function enumWireIndexFromMember(enumObj: NumericEnum, member: number, name: string): number;
8
+ export declare function enumMembersIncludeValue(enumObj: NumericEnum, value: number): boolean;
5
9
  export declare function assertFitsInBits(name: string, value: number, size_in_bits: number): void;
6
10
  //# sourceMappingURL=enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../src/bitstream/enum.ts"],"names":[],"mappings":"AAEA,qFAAqF;AACrF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAE1D,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAE5E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAOT;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,GACnB,IAAI,CAON"}
1
+ {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../src/bitstream/enum.ts"],"names":[],"mappings":"AAEA,qFAAqF;AACrF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAE1D,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAE5E,2EAA2E;AAC3E,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CAI5E;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM,CAMR;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,MAAM,CAMR;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAOT;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,GACnB,IAAI,CAON"}
@@ -1,5 +1,25 @@
1
1
  import { BitstreamError } from "./errors";
2
- export function isNumericEnumValue(enumObj, value) {
2
+ /** Numeric enum members in source declaration order (wire index order). */
3
+ export function enumMembersInDeclarationOrder(enumObj) {
4
+ return Object.keys(enumObj)
5
+ .filter((key) => Number.isNaN(Number(key)))
6
+ .map((key) => enumObj[key]);
7
+ }
8
+ export function enumMemberFromWireIndex(enumObj, index, name) {
9
+ const members = enumMembersInDeclarationOrder(enumObj);
10
+ if (!Number.isInteger(index) || index < 0 || index >= members.length) {
11
+ throw new BitstreamError(`Unexpected enum value for ${name}: ${index}`);
12
+ }
13
+ return members[index];
14
+ }
15
+ export function enumWireIndexFromMember(enumObj, member, name) {
16
+ const index = enumMembersInDeclarationOrder(enumObj).indexOf(member);
17
+ if (index === -1) {
18
+ throw new BitstreamError(`Unexpected enum member for ${name}: ${member}`);
19
+ }
20
+ return index;
21
+ }
22
+ export function enumMembersIncludeValue(enumObj, value) {
3
23
  for (const member of Object.values(enumObj)) {
4
24
  if (typeof member === "number" && member === value) {
5
25
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/bitstream/reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reader.d.ts","sourceRoot":"","sources":["../../src/bitstream/reader.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { assertFitsInBits, isNumericEnumValue, } from "./enum";
1
+ import { assertFitsInBits, enumMemberFromWireIndex, } from "./enum";
2
2
  import { e_bitstream_byte_fill_direction, e_bitstream_byte_order, e_bitstream_state, } from "./enums";
3
3
  import { assert_ok, BitstreamError } from "./errors";
4
4
  import { angle_to_axes_internal as angle_to_axes, axes_compute_reference_internal as axes_compute_reference, axes_to_angle_internal as axes_to_angle, dequantize_real, } from "./math";
@@ -204,10 +204,7 @@ export class c_bitstream_reader {
204
204
  assertFitsInBits(name, integer, size_in_bits);
205
205
  return integer;
206
206
  }
207
- if (!isNumericEnumValue(enumObjOrParser, integer)) {
208
- throw new BitstreamError(`Unexpected enum value for ${name}: ${integer}`);
209
- }
210
- return integer;
207
+ return enumMemberFromWireIndex(enumObjOrParser, integer, name);
211
208
  }
212
209
  read_integer(_name, size_in_bits) {
213
210
  assert_ok(size_in_bits > 0);
@@ -324,7 +321,7 @@ export class c_bitstream_reader {
324
321
  const byte = this.read_integer("???", 8);
325
322
  bytes[i] = byte;
326
323
  if (byte === 0) {
327
- return String.fromCharCode(...Array.from(bytes.subarray(0, i)));
324
+ return new TextDecoder("utf-8").decode(bytes.subarray(0, i));
328
325
  }
329
326
  }
330
327
  throw new BitstreamError("Exceeded max string size reading utf8 string.");
@@ -1,3 +1,4 @@
1
+ import { type NumericEnum } from "./enum";
1
2
  import { e_bitstream_byte_order } from "./enums";
2
3
  export declare class c_bitstream_writer {
3
4
  private m_data;
@@ -16,7 +17,7 @@ export declare class c_bitstream_writer {
16
17
  private constructor();
17
18
  get_byte_order(): e_bitstream_byte_order;
18
19
  get_current_offset(): [number, number];
19
- write_enum(value: number, size_in_bits: number): void;
20
+ write_enum(value: number, size_in_bits: number, enumObj: NumericEnum): void;
20
21
  write_integer(value: number, size_in_bits: number): void;
21
22
  write_signed_integer(value: number, size_in_bits: number): void;
22
23
  write_bool(value: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/bitstream/writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/bitstream/writer.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { enumWireIndexFromMember } from "./enum";
1
2
  import { e_bitstream_byte_fill_direction, e_bitstream_byte_order, e_bitstream_state, } from "./enums";
2
3
  import { assert_ok, BitstreamError } from "./errors";
3
4
  import { quantize_real } from "./math";
@@ -54,8 +55,8 @@ export class c_bitstream_writer {
54
55
  this.current_stream_bit_position,
55
56
  ];
56
57
  }
57
- write_enum(value, size_in_bits) {
58
- this.write_integer(value, size_in_bits);
58
+ write_enum(value, size_in_bits, enumObj) {
59
+ this.write_integer(enumWireIndexFromMember(enumObj, value, "enum"), size_in_bits);
59
60
  }
60
61
  write_integer(value, size_in_bits) {
61
62
  assert_ok(this.writing());
@@ -0,0 +1,19 @@
1
+ export interface real_bounds {
2
+ lower: number;
3
+ upper: number;
4
+ }
5
+ export interface real_point3d {
6
+ x: number;
7
+ y: number;
8
+ z: number;
9
+ }
10
+ export interface real_rectangle3d {
11
+ x: real_bounds;
12
+ y: real_bounds;
13
+ z: real_bounds;
14
+ }
15
+ export declare function real_point3d_default(): real_point3d;
16
+ export declare function real_bounds_default(): real_bounds;
17
+ export declare function real_rectangle3d_default(): real_rectangle3d;
18
+ export declare function point_in_rectangle3d(point: real_point3d, rect: real_rectangle3d): boolean;
19
+ //# sourceMappingURL=real_types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"real_types.d.ts","sourceRoot":"","sources":["../../../../src/blam/common/math/real_types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,EAAE,WAAW,CAAC;IACf,CAAC,EAAE,WAAW,CAAC;IACf,CAAC,EAAE,WAAW,CAAC;CAChB;AAED,wBAAgB,oBAAoB,IAAI,YAAY,CAEnD;AAED,wBAAgB,mBAAmB,IAAI,WAAW,CAEjD;AAED,wBAAgB,wBAAwB,IAAI,gBAAgB,CAM3D;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAST"}
@@ -0,0 +1,21 @@
1
+ export function real_point3d_default() {
2
+ return { x: 0, y: 0, z: 0 };
3
+ }
4
+ export function real_bounds_default() {
5
+ return { lower: 0, upper: 0 };
6
+ }
7
+ export function real_rectangle3d_default() {
8
+ return {
9
+ x: real_bounds_default(),
10
+ y: real_bounds_default(),
11
+ z: real_bounds_default(),
12
+ };
13
+ }
14
+ export function point_in_rectangle3d(point, rect) {
15
+ return (rect.x.lower <= point.x &&
16
+ point.x <= rect.x.upper &&
17
+ rect.y.lower <= point.y &&
18
+ point.y <= rect.y.upper &&
19
+ rect.z.lower <= point.z &&
20
+ point.z <= rect.z.upper);
21
+ }
@@ -0,0 +1,6 @@
1
+ export interface s_encoding_constants {
2
+ actual_per_axis_max_count: number;
3
+ quantized_value_count: number;
4
+ }
5
+ export declare function get_unit_vector_encoding_constants(bit_count: number): s_encoding_constants;
6
+ //# sourceMappingURL=unit_vector_quantization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit_vector_quantization.d.ts","sourceRoot":"","sources":["../../../../src/blam/common/math/unit_vector_quantization.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,yBAAyB,EAAE,MAAM,CAAC;IAClC,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AA8BD,wBAAgB,kCAAkC,CAChD,SAAS,EAAE,MAAM,GAChB,oBAAoB,CAWtB"}
@@ -0,0 +1,26 @@
1
+ const k_unit_vector_quantization_minimum_bit_count = 6;
2
+ const k_unit_vector_quantization_maximum_bit_count = 30;
3
+ function compute_encoding_constants(bit_count) {
4
+ let mask = 0;
5
+ for (let i = 0, bit = bit_count - 2; bit >= 0; bit--, i++) {
6
+ if (i % 2 === 1) {
7
+ mask |= 1 << bit;
8
+ }
9
+ }
10
+ return {
11
+ actual_per_axis_max_count: mask,
12
+ quantized_value_count: Math.floor(Math.sqrt(mask)) - 1,
13
+ };
14
+ }
15
+ const g_unit_vector_generated_encoding_constants = Array.from({
16
+ length: k_unit_vector_quantization_maximum_bit_count -
17
+ k_unit_vector_quantization_minimum_bit_count +
18
+ 1,
19
+ }, (_, index) => compute_encoding_constants(index + k_unit_vector_quantization_minimum_bit_count));
20
+ export function get_unit_vector_encoding_constants(bit_count) {
21
+ if (bit_count < k_unit_vector_quantization_minimum_bit_count ||
22
+ bit_count > k_unit_vector_quantization_maximum_bit_count) {
23
+ throw new Error(`Invalid unit vector bit count: ${bit_count}`);
24
+ }
25
+ return g_unit_vector_generated_encoding_constants[bit_count - k_unit_vector_quantization_minimum_bit_count];
26
+ }
@@ -0,0 +1,7 @@
1
+ import type { real_rectangle3d } from "../math/real_types";
2
+ export declare function adjust_axis_encoding_bit_count_to_match_error_goals(bit_count: number, bounds: real_rectangle3d, max_bit_count: number, per_axis_bit_counts: {
3
+ x: number;
4
+ y: number;
5
+ z: number;
6
+ }): void;
7
+ //# sourceMappingURL=simulation_encoding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulation_encoding.d.ts","sourceRoot":"","sources":["../../../../src/blam/common/simulation/simulation_encoding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAK3D,wBAAgB,mDAAmD,CACjE,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,MAAM,EACrB,mBAAmB,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACvD,IAAI,CA4BN"}
@@ -0,0 +1,23 @@
1
+ const k_world_units_to_inches = 10 * 12;
2
+ const k_inches_to_world_units = 1 / k_world_units_to_inches;
3
+ export function adjust_axis_encoding_bit_count_to_match_error_goals(bit_count, bounds, max_bit_count, per_axis_bit_counts) {
4
+ const dimensions = {
5
+ x: bounds.x.upper - bounds.x.lower,
6
+ y: bounds.y.upper - bounds.y.lower,
7
+ z: bounds.z.upper - bounds.z.lower,
8
+ };
9
+ per_axis_bit_counts.x = bit_count;
10
+ per_axis_bit_counts.y = bit_count;
11
+ per_axis_bit_counts.z = bit_count;
12
+ const max_error = bit_count <= 16
13
+ ? k_inches_to_world_units * (1 << (16 - bit_count))
14
+ : k_inches_to_world_units / (1 << (bit_count - 16));
15
+ const adjust_axis = (dimension, axis) => {
16
+ const max_value = Math.min(Math.ceil(dimension / (max_error * 2)), 0x800000);
17
+ const required_bits = Math.ceil(Math.log2(max_value));
18
+ per_axis_bit_counts[axis] = Math.min(required_bits, max_bit_count);
19
+ };
20
+ adjust_axis(dimensions.x, "x");
21
+ adjust_axis(dimensions.y, "y");
22
+ adjust_axis(dimensions.z, "z");
23
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"c_game_engine_custom_variant.d.ts","sourceRoot":"","sources":["../../../../../src/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,yCAAyC,EAAE,MAAM,6CAA6C,CAAC;AACxG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iCAAiC,EAAE,MAAM,qDAAqD,CAAC;AACxG,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACpG,OAAO,EAAE,sCAAsC,EAAE,MAAM,0DAA0D,CAAC;AAClH,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,qBAAa,4BAA4B;IACvC,kBAAkB,SAAK;IACvB,cAAc,SAAK;IACnB,cAAc,6BAAoC;IAClD,eAAe,EAAE,qBAAqB,EAAE,CAAM;IAC9C,sBAAsB,EAAE,qBAAqB,EAAE,CAAM;IACrD,gBAAgB,iBAA8C;IAC9D,wBAAwB,SAAK;IAC7B,gBAAgB,iBAAyC;IACzD,uBAAuB,iBAA2C;IAClE,oBAAoB,iBAAyC;IAC7D,aAAa,SAAK;IAClB,iBAAiB,SAAK;IACtB,iBAAiB,oCAA2C;IAC5D,gBAAgB,yCAAgD;IAChE,oBAAoB,SAAK;IACzB,oBAAoB,UAAS;IAC7B,oBAAoB,UAAS;IAC7B,gCAAgC,EAAE,OAAO,EAAE,CAGzC;IACF,gCAAgC,EAAE,OAAO,EAAE,CAGzC;IACF,6BAA6B,EAAE,OAAO,EAAE,CAGtC;IACF,6BAA6B,EAAE,OAAO,EAAE,CAGtC;IACF,aAAa,kCAAyC;IACtD,cAAc,CAAC,EAAE,yCAAyC,CAAC;IAE3D,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IA0E3C,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;CA8C5C"}
1
+ {"version":3,"file":"c_game_engine_custom_variant.d.ts","sourceRoot":"","sources":["../../../../../src/blam/haloreach/v12065_11_08_24_1738_tu1actual/game/c_game_engine_custom_variant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,yCAAyC,EAAE,MAAM,6CAA6C,CAAC;AACxG,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iCAAiC,EAAE,MAAM,qDAAqD,CAAC;AACxG,OAAO,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACpG,OAAO,EAAE,sCAAsC,EAAE,MAAM,0DAA0D,CAAC;AAClH,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,qBAAa,4BAA4B;IAEvC,kBAAkB,SAAK;IAEvB,cAAc,SAAK;IAEnB,cAAc,6BAAoC;IAElD,eAAe,EAAE,qBAAqB,EAAE,CAAM;IAE9C,sBAAsB,EAAE,qBAAqB,EAAE,CAAM;IAErD,gBAAgB,iBAA8C;IAE9D,wBAAwB,SAAK;IAE7B,gBAAgB,iBAAyC;IAEzD,uBAAuB,iBAA2C;IAElE,oBAAoB,iBAAyC;IAE7D,aAAa,SAAK;IAElB,iBAAiB,SAAK;IAEtB,iBAAiB,oCAA2C;IAE5D,gBAAgB,yCAAgD;IAEhE,oBAAoB,SAAK;IAEzB,oBAAoB,UAAS;IAE7B,oBAAoB,UAAS;IAE7B,gCAAgC,EAAE,OAAO,EAAE,CAGzC;IAEF,gCAAgC,EAAE,OAAO,EAAE,CAGzC;IAEF,6BAA6B,EAAE,OAAO,EAAE,CAGtC;IAEF,6BAA6B,EAAE,OAAO,EAAE,CAGtC;IAEF,aAAa,kCAAyC;IAEtD,cAAc,CAAC,EAAE,yCAAyC,CAAC;IAC3D,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAmE3C,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;CA8C5C"}