Commit Graph
160 Commits
Author SHA1 Message Date
MrBruh 8fb1647e18 Fix weapon swap crash and log spam 2026-10-01 16:20:28 +13:00
MrBruh 0d548798e5 Fix second netcode review 2026-10-01 03:54:02 +13:00
MrBruh e7d1ed3a67 Harden and fix the netcode 2026-10-01 01:22:46 +13:00
MrBruh a17d89c6f1 Merge bnunu/halo-1 main 2026-09-30 18:13:05 +13:00
MrBruh 1bcd57afe4 Merge branch 'bnunu:main' into main 2026-09-28 14:46:17 +13:00
Jonas Volman 709bfc3a3c Reconcile approved frontier ownership and admission packets
Import only independently reviewed production changes. Preserve canonical physics and virtual-keyboard repairs; keep B3 and all unresolved holds out.

Record exactly four approved canary debits (6987 meaningful bytes), six Halo admissions and two revocations. Keep vendor ioinit/storage work separate. Full build, 8252-row sweep, 1318 tests, park/admission/fake audits and 621-object binding pass within approved debit bounds.

Do not publish donor research dumps or private assets. README and unrelated user research remain untouched. See frontier_publication_reconciliation_20260927.md for complete evidence limits and accounting.
2026-09-27 17:12:48 -07:00
Jonas Volman 59757f4263 Reconcile approved type ownership, static locals and source disclosures
Independently gate storage + K, OQ-4 P-a/P-b1, four static-local packets and comment-only disclosures. Preserve all 7641 exact owner rows, 71 valid parks and 1161 passing tests; code/data credit unchanged. G and game_engine admission remain held because current canonical loses populate_statistic_buffer. Existing collision static-local repair is not duplicated. No donor tree, held candidate, scorer or private asset imported.
2026-09-27 05:17:27 -07:00
MrBruh e29125b50e Port decomp to Android 2026-09-26 16:16:00 +12:00
Jonas Volman 95f68ad3ce Admit five strict-exact Halo objects after ownership audit 2026-09-23 00:25:44 -07:00
Jonas Volman 4f4c85021d Reconcile Lane C with canonical house-rule audit
Integrate verified source and data progress; exclude unproven COMMON ownership, held UB/asm forms, and address-named data credit. Stable sweep: 23 exact functions gained, zero lost.
2026-09-22 23:12:40 -07:00
Jonas VolmanandClaude Fable 5.1 d57ba30c0d Lane B wave 2: nine strict-exact functions (+4,715 meaningful / +4,784 padded)
New strict exact (unit :: function, padded bytes):
  game/player_control     :: _player_control_modify_desired_angles  1584
  ai/actor_combat         :: _actor_aim_projectile                   720
  memory/stack_memory_pool:: _stack_memory_pool_allocate             640
  memory/stack_memory_pool:: _stack_memory_pool_resize_block         192
  ai/action_vehicle       :: _action_vehicle_setup_impromptu         464
  scenario/wind           :: _wind_variance_initialize               384
  ai/actions              :: _actors_searching_same_position         320
  ai/action_converse      :: _action_converse_perform                256
  game/game_engine_race   :: _race_engine_get_score                  224
Function boards now complete: action_converse 9/9, wind 9/9, stack_memory_pool
33/33, game_engine_race 36/36, player_control 49/49 (objects NOT marked Matching:
whole-object data/ownership audit not done; player_control .rdata is owner-held).

Method. Every closure started from the SOURCE SHAPE read out of the first-party
unoptimised /Od + /RTC build (halo_cache_symbols.exe, scratch/orch/odbuild.py)
and was then confirmed against January's own bytes before it was relied on
(double attestation); none is a spelling search.
- _player_control_modify_desired_angles: both autolevel products are
  `error * K * magnitude3d(v)`; three lines, no local, cast or parenthesis.
- _actor_aim_projectile: weapon_vector is scoped to its own inner block, the dot
  product is tested directly (no `alignment` local), and the three debug-info
  stores follow January's order (flag first). Reviewer strip tests: block alone,
  order alone and alignment-drop alone are each residual; only the combination
  is exact.
- _stack_memory_pool_allocate: result zeroed before the 0x342 assert, ONE return,
  positive guard with the assert in the else, in-place size arithmetic. The
  worker's unattested `last_block` pointer local was REMOVED by the reviewer; the
  /Od arm spelling lands instead.
- _stack_memory_pool_resize_block: body untouched. The static helper
  stack_memory_pool_dispose_block takes (pool, reference), as /Od pushes them and
  as the callee forwards them to valid_block(pool, reference).
- _action_vehicle_setup_impromptu: passes state_data->attempt_distance /
  ->continue_distance (the fields just stored) instead of the parameters.
- _wind_variance_initialize: block-local `word control_point_indices[4]` assigned
  inside the innermost axis loop; name and size from the /Od RTC descriptor.
- _actors_searching_same_position: four pointer locals, result = FALSE after the
  four calls, if / else-if arms assigning result, one return. Requires
  actor_get_pursuit_location (baseline exact, STILL exact 64) to read
  uncover.pursuit_location through its own union member in a second arm, as /Od
  has it. The evade-direction enum gains its two real middle constants; values
  are unchanged (_actor_evade_random is still 4).
- _action_converse_perform: REMOVES a pre-existing `true_value` dummy local from
  production. `in_range = TRUE` is assigned in two arms (if / else-if): /Od has two
  distinct stores, impossible from one `||` statement, and January has
  `mov ebx,1` with two bl stores each with two in-edges. One return.
- _race_engine_get_score: a `score` accumulator assigned on both arms with ONE
  return (single-exit law); team_index/laps/flags_touched are block locals of
  the non-team arm.

Orchestrator overrides of reviewer-approved text (not landed, zero credit lost
beyond what is listed under HELD):
- action_vehicle: the reviewer's landing.c also rewrote _find_destination with 16
  NEW 3D->2D view casts. Owner ruling 2026-09-21 keeps rule 24 strict for new
  representation-punning casts, so only the two-line exact closure lands.
- actions: _actor_action_try_to_dive (720, exact in scratch) needs ONE new view
  cast -> HELD. _actor_action_handle_vehicle_entry's fuzzy rewrite introduced an
  empty `if` arm holding only a `//` comment (new fake_match_scan lead the
  reviewer missed) -> reverted to production.

Config: config/parked.json - six entries REMOVED (now exact):
_action_converse_perform, _wind_variance_initialize, _actor_aim_projectile,
_actors_searching_same_position, _player_control_modify_desired_angles,
_race_engine_get_score. No header, symbols.json, flag or tool change.

Verification (tip of the following fuzzy commit): full ninja all_source progress
semantic_progress pass, Code 1446706 -> 1451421, 7297 -> 7306 functions.
stable_verdicts vs the FROZEN baseline: gained 15 / 7568 bytes, regressions 0.
All 11,060 function and 1,706 section report rows: 0 lost 100%, 0 missing.
Parks 174 active / 0 stale / 0 invalid. Admission audit 23 / 0 / 8 / 0.
Guard, ownership, fake scan, line endings, new-punning-cast screen: clean on
every landed file. git diff --check clean.
Reviewer: independent adversarial agent per unit, ACCEPT_EXACT for all nine;
orchestrator re-gated every file through scratch/orch/land.py.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 11:10:49 -07:00
Jonas Volman 9d155f1d60 Admit ten verified exact objects 2026-09-19 15:56:43 -07:00
Jonas VolmanandClaude Opus 5 af9f444aa3 Wave 17: six functions strict exact (five parks, progress bar noise texture)
- _shader_transparent_chicago_create: per-map shader_map_verify(map,
  map_index) call as in the exact generic sibling (January's inlined
  TRUE-returning verify leaves its store in the loop tail) (park reopen)
- _complete_key_exchange: plain short packet locals replace a long/short
  union type-pun (park reopen)
- _debug_realloc: parameter-home reuse and a block-local old_header,
  both proven by January's frame (park reopen)
- _lra_allocate: single-exit size check and a conditional round-up
  `size = (size & 3) ? (size | 3) + 1 : size` (disclosed) (park reopen)
- _game_state_open_persistent_storage: single-exit success flag (park reopen)
- _progress_bar_create_noise_texture: symbols.json renames _code_000d16d0
  in place (static) to the name the 2001-09-25 Xbox linker maps give; an
  empty static step called from progress_bar_setup (call position
  inferred from map order; the call is required for emission)

Stable diff: 0 regressions; active parks 206 -> 201.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 21:27:45 -07:00
Jonas VolmanandClaude Opus 5 bf0f4cc7df Wave 18: three parks reopened as strict exact (game, path_obstacles, circular_queue)
- _game_load: drops the carrier locals from the Stian lift and reads the
  module-state game_globals directly (HCEA body minus its later precache
  call); game_globals is file-static, as only game.obj references it in
  January, with the matching in-place "static": true in symbols.json
  (same form as _game_allegiance_globals)
- _circle_tangents: ratio computed then clamped in place with MIN (HCEA
  form)
- _circular_queue_dequeue_data: contiguous size before the read-offset
  working copy inside the success block; the worker's hand-expanded
  circular_queue_size copy was removed in review and is not needed

Stable diff: 0 regressions; admission 23 candidates / 0 contradicted;
active parks 209 -> 206.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 21:23:47 -07:00
Jonas VolmanandClaude Opus 5 06e5f0e5fa Wave 15: six functions strict exact (hs, animations, stimulus, caches)
- _hs_compile_and_evaluate: calls the real static hs_compile_source_error
  helper with no source file instead of a hand-written copy (January
  inlines the helper here, leaving its dead loop's alignment pad), reuses
  the expression parameter; formerly recorded as unreachable
- _inverse_kinematics_adjust_matrices: named squared upper-arm length and
  consistent basis-row locals (park reopen)
- _actor_stimulus_prop_acknowledged: MAX clamps, DATUM_INDEX_TO_ABSOLUTE_INDEX,
  January's ternary polarity (park reopen)
- _lrar_allocate: found-flag loop allocating inside the fitting arm, as the
  sibling _lra_allocate (park reopen)
- _prop_add: reads the dead field back and binds the actor lookup
- _director_script_camera: real director_set_camera helper call and the
  admitted bare director_get validation (park reopen)

Stable diff: 0 regressions; active parks 213 -> 209.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 20:44:59 -07:00
Jonas VolmanandClaude Opus 5 5c3ea7ab29 Wave 16: six parks reopened as strict exact (six objects complete)
- _render_debug_add_cache_entry: success-first single exit, string case
  if/else, one case body per debug type as January emits them
- _ctf_engine_weapon_update: long return-team locals from the owner team
  field (January's 32-bit movsx locals)
- _action_uncover_perform: timeslice-block locals, one evaluation-mode
  store (removes HEAD's duplicated arm stores), field-order target stores
- _row_dither: indexed channel loops with PIN clamps replace pointer
  cursors and a hand-written ternary clamp
- _lruv_debug_to_file: removes a goto web; MIN(9999, age) and the
  NULL-name fallback in the fprintf arguments (integer compare order
  disclosed; constant-first MIN is attested in Bungie source)
- _action_guard_perform: short firing-position index matching the
  actor_select_firing_position return type

render_debug, game_engine_ctf, action_uncover, bitmaps_quantitize,
lruv_cache and action_guard are now all-function exact.
Stable diff: 0 regressions; active parks 219 -> 213.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 20:12:07 -07:00
Jonas Volman 5d3444f799 Reconcile eighth 10K exact source batch 2026-09-13 02:47:59 -07:00
Jonas Volman d16d99f1b3 Reconstruct bitmap extraction core 2026-09-02 18:12:11 -07:00
Jonas Volman 3e9468ec7c Replace stack pool retention scaffold with real callers 2026-09-02 07:17:13 -07:00
Jonas Volman 435e80783d Recover exact UI widget support wave 2026-09-02 07:17:04 -07:00
Jonas Volman 4c61d9d525 memory: authenticate stack pool private signatures 2026-09-02 00:31:34 -07:00
Jonas Volman e511e27660 Close out typed LRUV residuals 2026-08-31 23:49:49 -07:00
Jonas Volman 1b25a20dde Reconcile safe TIFF, LRUV, camera, and weapon progress 2026-08-31 20:42:06 -07:00
Jonas Volman 9f74e9937f Import 909 authenticated January and HCEA symbol names 2026-08-31 16:11:03 -07:00
Jonas Volman 9f63702601 Add provenance-safe symbol importer and correct CRC/LRA private names 2026-08-31 16:08:09 -07:00
Jonas Volman af9f192610 Restore official zlib private ownership 2026-08-31 07:21:44 -07:00
Jonas Volman ee62f36f1f Integrate audited Claude small-object recoveries 2026-08-31 06:55:10 -07:00
Jonas Volman d655a7e997 Reject fake inline exactness 2026-08-31 03:34:58 -07:00
Jonas Volman d4094d830b Park circular queue optimizer tie credibly 2026-08-30 22:04:24 -07:00
Jonas Volman bd2074f0ca Remove data encoding compiler steering 2026-08-30 21:38:37 -07:00
Jonas Volman 4c8b15a262 Park LRA allocator without fake matching 2026-08-30 21:38:28 -07:00
Jonas Volman eed03b88bd Name LRA cache private helpers 2026-08-30 21:38:22 -07:00
Jonas Volman c0f7483340 Match crc object exactly 2026-08-27 18:10:20 -07:00
bnunu b573761441 Close crc32 object table ownership 2026-08-27 15:24:21 -07:00
Jonas Volman 689bd91e8c Improve stack memory pool gap search topology 2026-08-26 23:20:46 -07:00
Jonas Volman 958aed5daf Harden zlib trees reconstruction 2026-08-20 12:40:28 -07:00
Jonas Volman d1aaa3c4c7 Advance stack memory pool reconstruction 2026-08-20 10:14:21 -07:00
Jonas Volman 1147422d28 Match hashtable object
Port the reviewed initializer-order closure from af728895 onto campaign base a0bad121. Promote only source/memory/hashtable after strict 10/10 code, target-owned data/ownership, full Halo+libcmt build, semantic, regression, test, and policy gates.
2026-08-20 09:26:23 -07:00
Jonas Volman f623e0bacc Match data encoding object 2026-08-13 05:30:26 -07:00
Jonas Volman 800d746dd6 Match data packets object 2026-08-13 05:30:26 -07:00
Jonas Volman 66af348945 Match texture page object 2026-07-29 22:16:04 -07:00
Jonas Volman 307f77efce Document circular queue optimizer fixed point 2026-07-29 10:12:29 -07:00
Jonas Volman 4c769166f3 Match LRA cache validation and access cluster 2026-07-25 19:47:53 -07:00
Jonas Volman 39b4bef495 Match LRAR cache object 2026-07-22 17:13:44 -07:00
Jonas Volman 685dbb960d Match data object compaction 2026-07-22 12:34:22 -07:00
Jonas Volman c344e78f31 Correct zlib fixed-table and sync-marker ownership 2026-07-21 11:48:58 -07:00
Jonas Volman 65b229e885 Simplify LRU cache debug lock state 2026-07-18 15:03:34 -07:00
Jonas Volman 94340881fb Document data compaction codegen blocker 2026-07-18 12:40:21 -07:00
Jonas Volman 62b807c768 Match infblock border table ownership 2026-07-18 12:39:19 -07:00
Jonas Volman 64c1bf3c13 Recover explicit BSS global definitions 2026-07-18 11:46:10 -07:00