Commit Graph
78 Commits
Author SHA1 Message Date
MrBruh 4adc3a87a5 Remove matching tooling and HALO_LINUX ifdefs 2026-09-30 21:49:46 +13:00
MrBruh a17d89c6f1 Merge bnunu/halo-1 main 2026-09-30 18:13:05 +13:00
Jonas Volman 6bfd956737 Reconcile approved Halo fidelity packets and bounded data credit
Recover transparent geometry submit (+1,285 meaningful code, zero exact losses); reconcile COMMON ownership and Q10 85+EXT1 credit, actions/main data, and separately disclosed denominator corrections. Preserve canonical-only repairs and all held research. C09 is ordinary disclosed cleanup, not a claim of proven scaffolding intent. Clean rebuild, 1,663 tests, parks, audits, provider links and independent EXT1 check pass. Local reconciliation only.
2026-09-29 13:52:37 -07:00
Jonas Volman f3aadeab98 Reconcile five Halo functions and approved declaration batches
Integrate coherent B3, P2/K17 prerequisites, completed K1-K16 + S, and the independent profile/effects rulings. Five gains and two explicitly approved B3 debits: net +3 strict functions, +2770 meaningful/+2800 padded bytes (+2774 progress credit). No additional losses; Halo objects 394 to 396 and data unchanged.

Clean rebuild, identical 8252-row stable sweep, 68 valid parks, admission/provider checks, 467-unit warning comparison, unchanged fake scan, and 1318 tests passed. Preserve canonical helper recoveries and unrelated work. Full evidence and disclosures in docs/object_matching_logs/astra_five_function_reconciliation_20260928.md.
2026-09-28 23:17:10 -07: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
MrBruh 0154ae9af5 Merge branch 'main' of https://github.com/cybersecurity/halo-ce-universal 2026-09-27 17:42:48 +13:00
Jonas Volman 7c0af5f029 Reconcile approved compiler-application code, data and owner repairs 2026-09-26 12:02:50 -07:00
Jonas VolmanandClaude Opus 5.5 9a376181f5 Port: grow the game state and object pools for 128 players
The Xbox game state (0x345000 bytes at 0x80061000) ends exactly where the
map-linked tag cache begins and has 948 bytes free, so a 128-player
session cannot even allocate its player datums. The native builds now
place a 16 MB game state (CPU 0xFC0000, GPU 0x40000) at 0x81A00000, above
the tag cache and below everything the Xbox memory window hands out
top-down, and grow the pools that scale with the number of players:

- objects: 2048 -> 8192 headers, 1 MB -> 8 MB pool; the garbage limits
  keep January's proportions (5/10/20 % of the pool, 2.5/5/10 % of the
  headers, 75/50/30 active garbage objects per 16 players)
- cluster partition reference lists 2048 -> 8192 (collideable and
  noncollideable objects, lights); a full list drops objects out of
  rendering, collision and sphere queries
- effects 256 -> 2048, effect locations 512 -> 4096
- particles 1024 -> 8192 (render_particles' visible list, filled without
  a bound check, follows), particle systems 64 -> 256, their particles
  512 -> 4096
- contrails 256 -> 1024, contrail points 1024 -> 8192
  (MAXIMUM_CONTRAIL_POINTS stays the pool size for the same reason)
- lights 896 -> 4096, object looping sounds 1024 -> 4096
- cached object render states and rendered objects 256 -> 1024
- script object-list references 128 -> 1024, objects one explosion can
  damage 64 -> 256

The values live in port/linux/include/halo_port_capacity.h, included by
halo_port_limits.h. With 128 player datums the CPU part holds 14,256,908
bytes (2,258,164 free). Saved games and cores grow to 16 MB. Every change
is under HALO_LINUX; the MSVC objects are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 10:18:07 -07:00
Jonas VolmanandClaude Opus 5.5 c6ceadf620 structures: genuine point_from_line3d helper cleanup (zero credit)
Owner ruling Q6: the retail-contradicted `double t` is rejected; the helper
cleanup may land at zero credit. _sphere_intersects_cluster_portal now uses
one shared FALSE exit and the real point_from_line3d call in place of the
hand-expanded rows, with production's names and types kept. It stays
residual at January's 432 bytes, and no other function changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 00:04:10 -07:00
Jonas VolmanandClaude Opus 5.5 b9a8d587a0 Batch 3: admit twelve objects; four exact functions; verified storage and data fixes
Objects admitted (Halo 363 -> 375), each with an independent adversarial review:
units (first-party names incl. the reviewer-corrected unit_vectors_are_valid, 49
static flags, '$'-defect data entry), collision_debug (/Od helper calls),
render_objects (b807f9f6 provider packet), editor_flying_camera
(_editor_camera_set_position_and_roll 432, storage + grouped entry re-pin),
rasterizer_xbox_shadows (shadow_model_draw 688), cache_files_windows
(open_cache_files 752), light_volumes (light_volume_render 912, reviewer-amended
/Od declaration order), actor_firing_position, path, biped_limp_noodle (HCEX file
statics), leaf_map and model_animations (/Od helper calls replace hand expansions).

Zero-credit/data: path_structure_bsp HCEX tables (+200 data), hud_nav_points
storage, first_person_weapons patch A (park re-baselined).

Gate (full ninja, objdiff 3.3.1): stable diff +4 strict / 2,784 padded, 0
regressions; parks 89/0/0; admission 11/0/5/0; fake scan 26 (new lead is the
/Od-attested empty then-arm in the still-parked fpw update); pytest 1157 passed;
diff --check clean. Ledger: docs/object_matching_logs/claude_fifty_objects_20260925.md
(adds the Layer 2 owner-ruling disclosure, tallies and held items).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 23:53:28 -07:00
Jonas Volman 975d4a0bf5 structures: match fog-plane debug helper schedule 2026-09-23 16:14:51 -07:00
Jonas Volman 63e8dd7a3b Close eleven Halo objects with verified source and data ownership 2026-09-23 11:55:28 -07:00
Jonas VolmanandClaude Opus 5.5 a9e23674b6 Replace invented detail-object globals with real file statics
Lane D refresh packet 7: +80 padded bytes strict exact;
structure_detail_objects.obj is now a whole-object match (15/15 functions,
.text/.rdata/.bss all 100%). Zero stable-verdict regressions.

The production `struct detail_object_globals debug_detail_objects`
aggregate and its `#define detail_object_global_runtime_data` alias were
invented. HCEA (DIA2Dump on the structure_detail_objects compiland) lists
the file statics detail_object_global_runtime_data (struct pointer),
fudge_vector (uchar), fudge_offset and final_offset (float), with
debug_detail_objects as a separate global; January's own assert string
uses the bare name detail_object_global_runtime_data. The source now
declares those statics in January's .bss order (initialised, so VC7 keeps
declaration order) and _structure_detail_objects_initialize stores through
the global directly, as the debug build does.

- symbols.json: four "static": true entries after _debug_detail_objects
  (line insertion only).
- parked.json: unpark _structure_detail_objects_initialize.

Gate: ninja PASS, parks 124 active / 0 stale / 0 invalid, admission 0
contradicted / 0 revoked, fake scan 0 leads.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 01:15:55 -07:00
Jonas VolmanandClaude Opus 5.5 0a571b3398 Match script, particle and structure functions
Lane D refresh packet 3: HS, effects and structures, +6,896 padded bytes
strict exact (9 functions), zero stable-verdict regressions.

- hs_compile.c: _hs_add_script exact as a goto-free single-exit function.
  The worker's discarded hs_function_get call in hs_compile_postprocess
  (fuzzy only; the debug build shows a dead local, not a bare call) is not
  landed.
- hs_runtime.c: _hs_global_reconcile_read/_write exact. The debug build
  repeats the external/internal index test inside the external arm; it is
  written with this file's own if/else index idiom instead of the worker's
  invented macro name.
- contrails.c: _contrail_add_points exact (contrail_scale_value helper,
  corrected indentation).
- particle_systems.c: _particle_system_new_particle_jet, _render and
  _update_particle_default exact. The debug build attests the one-field
  variables walk (RTC size 4), the render if-block scope and the two-argument
  local_random_range call.
- structures.c: _structure_get_planar_fog exact (real scale_vector3d helper;
  flags/screen assigned in both arms per the debug build).
- structure_visibility.c: _portal_hull_from_points exact, single exit, real
  plane3d_distance_to_point helper. The unused BSP local stays a local
  (debug build) rather than a bare call.
- New COMDATs (_scale_vector3d, _local_random_range,
  _plane3d_distance_to_point) are byte-identical to January's single folded
  copies (all-inlined admission class).
- parked.json: unpark the four newly exact parked functions.

Gate: ninja PASS, parks 140 active / 0 stale / 0 invalid, admission 0
contradicted / 0 revoked, fake scan 0 leads, castcheck clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 01:07:36 -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 Opus 5 9b6ad2c75b Wave 21: _structure_visibility_traverse_surface_lists strict exact (park reopen)
- surface_index_buffer is declared before the frustum selection (January
  loads the index buffer before the pvs test)
- material looked up through nested typed tag-block gets; the buffer walk
  skips the two index words and post-increments through the count, matching
  January's two separate pointer advances
- block-scoped vertex0/1/2 pointers read the compressed vertex data per
  surface, matching January's left-to-right index loads before the call

Wave 21 (3 bundle implementers + 1 reviewer, 14 TUs, 22,880 target bytes)
closed only this function. Stable diff vs wave 20: 1 gained, 0 regressions;
active parks 191 -> 190.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 23:26:16 -07:00
Jonas VolmanandClaude Opus 5 84dce510b3 Wave 10: six functions strict exact (input_xbox complete, pill2d, smoothing)
- input.h: struct key_stroke ascii_code is a char (January stores NONE as
  -1; XINPUT_DEBUG_KEYSTROKE.Ascii is CHAR); edit_text.c drops its (byte)
  cast on the NONE test and stays 5/5. Measured board-wide over all 24
  includers: 0 regressions.
- input_xbox (27/27): _input_get_device_states with indexed gamepad and
  button loops and a MIN tick clamp (park reopen);
  _input_update_keyboard_devices with a short key-code loop and uncast
  ascii ternary (park reopen)
- _structure_test_pill2d (624 B, previously unwritten): left/right offset
  line tests via point_from_line2d and the nearer collision
- _find_turning_point: normalize2d/point_from_line2d/set_real_vector2d
  replace hand-expanded helper math
- _structure_visibility_build_surfaces_traverse_leaf: the static
  bounding_rectangles_intersect returns short through one result (park
  reopen)

Rejected: _first_person_weapon_update (removed NULL guards, UB hold).
Follow-up: _path_test_pill_endpoint_near_wall_ok_bit is file-local in both
path_smoothing.c and path_structure_bsp.c; its owner is path_structure_bsp.h.
Stable diff: 0 regressions; parks 226 -> 223.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 17:06:06 -07:00
Jonas VolmanandClaude Opus 5 51c94f13e5 Harvest per-function donor bodies: 11 functions strict exact
Per-function transplant of historical and worktree donor bodies into the
current tree (whole-blob mining had rejected them for unrelated losses).
Each landing is the minimum hunk, strict exact in its whole-TU gate with
zero inherited losses, and reviewed for house rules and hard holds:
- helper spellings replace hand-expanded math (_device_frontfacing,
  _point_in_triangle3d, _actor_look_valid_aim/look_vector)
- _pill_test_vector3d normalizes directly into the output normal
- natural control-flow/declaration forms reopen five parks
  (_structure_cluster_mark/unmarked, __rasterizer_widget_draw_sprite2d,
  _rasterizer_set_model_skinning, _ai_handle_editing)
- two byte-proven non-UB original bugs kept under the documented
  original-bug policy with BUG comments (_ai_handle_editing unscaled
  csmemmove counts, _ai_scripting_follow_target_ai repeated name)

Stable diff vs 9062b1e96: +11 functions, 0 regressions; parks 268 -> 263.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 10:37:04 -07:00
Jonas VolmanandClaude Opus 5 3083f800b5 Reopen four parks: detail objects, character draw, hud sound and bink cache
Wave n1 of the next-150K lane (fresh structural portfolio at ae10935da).

- structures _structure_render_detail_objects (+1136): reopened with the natural
  array initializer, which the w2 verifier asked for when it rejected the
  hand-written a[0]=0/memset expansion (R6).
- draw_string _bitmap_draw_character (+944).
- hud_sounds _hud_play_sound (+352): closed by removing the one-use index alias
  and reading sound_indices directly (A5), NOT by the volatile/goto body that the
  park record shows was deliberately replaced.
- bink_playback _bink_free_texture_cache (+96): the park premise was the repo's
  own match_dassert wrapper; the user-supplied Bungie random_math.c spells the
  same two sites vassert, and the tree is 874 match_vassert to 14 match_dassert.
- structures _structure_get_planar_fog: zero-credit remeasure. Adding the
  discarded fog-plane lookup January provably executes (its 15th
  _tag_block_get_element_with_size relocation at +0x16d) closes both structural
  tags; 448/448 and 15/15, residual now one register-naming window.

Rejected by the verifiers and not landed: _bink_alloc@4 (exact only with an __asm
block in a pool allocator - house rule 10 allows asm only for evidenced
helper/math routines), the progress_bar _code_000d16d0 rename (standing hold),
and the _portal_hull_from_points remeasure. wind _wind_variance_get is HELD for an
owner ruling (see its ledger).

Full ninja, parks 274 active / 0 stale / 0 invalid, stable diff vs
scratch/opus5-next150-before.json: gained 4 / 2,528 padded, regressions 0; fake
scan 0 leads.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 21:43:58 -07:00
Jonas VolmanandClaude Opus 5 6a473f30d3 leaf_map: retain verified credible source at zero credit
Wave w1 Batch B (adversarially verified): _leaf_map_build_portals_from_leaf is now resolved-address identical to January (480/17, objdiff 100%); the only strict difference is a csplit one-past-the-end relocation alias, so its park is re-measured and reclassified csplit-relocation-alias (validated by tools.parked_functions). Zero strict credit. Full ninja build and stable sweep: 0 regressions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 07:53:18 -07:00
Jonas VolmanandClaude Opus 5 6cbfc5af53 structures: 2 function(s) strict exact
Wave w2 landing, adversarially verified. park reopens: _structure_clusters_in_cone, _structure_render_surface_from_point_and_leaf. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 2 park(s) removed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 07:39:57 -07:00
Jonas VolmanandClaude Opus 5 767272749a structure_detail_objects: 1 function(s) strict exact
Wave w2 landing, adversarially verified. park reopens: _render_debug_detail_objects. Full ninja build and per-function stable_verdicts sweep: 0 regressions. 1 park(s) removed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 07:39:56 -07:00
Jonas VolmanandClaude Opus 5 706a02a5ac structure_visibility: reopen eight visibility traversal and surface-build functions exact
planes_intersect_rectangle private ABI, single-exit mirror search, established child & LONG_MIN idiom; traverse_leaf park re-measured for the callee ABI (evidence appended). 8 park(s) removed. Adversarially verified (wave D park re-investigation); full build of the combined wave D set: 0 regressions, parks 402/0/0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:09:06 -07:00
Jonas VolmanandClaude Opus 5 6c7ab19dbb Add focused owner headers for matrix3x3_multiply and line_from_planes3d; name fog plane runtime fields
matrix_math.h and real_math_planes.h declare the genuine matrix_math.c / real_math.c signatures for their physics and collisions callers. Declaring either prototype in the broad real_math.h regressed decals::_decals_delete_permanent_from_cluster and draw_primitives::_rasterizer_dynamic_geometry_initialize and drifted four parks at any position (declaration count, bisected), so the precedent of narrow subsystem headers (bitmap_color_conversion.h, rasterizer_xbox_water.h) is followed. structure_fog_plane +0x00/+0x02 are the region index and the signed runtime material type January collision_test_vector reads; scenario.c renames are names only.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 19:56:29 -07:00
Jonas Volman 5d3444f799 Reconcile eighth 10K exact source batch 2026-09-13 02:47:59 -07:00
Jonas Volman eb61c0f746 Reconcile seventh 10K exact source batch 2026-09-12 17:23:46 -07:00
Jonas Volman a565219da1 Reconcile fifth 10K exact source batch 2026-09-09 22:29:33 -07:00
Jonas Volman 7a1d0d91d7 Finalize fourth 10K reconciliation batch 2026-09-09 18:16:10 -07:00
Jonas Volman d6b5a57cd1 Reconstruct Leaf Map private graph 2026-09-09 16:04:59 -07:00
Jonas Volman f7afb70475 Reconcile UI, weather, aim, and render lanes 2026-09-08 08:23:20 -07:00
Jonas Volman 3ddb4158e7 Restore natural math helper ownership and verify Observer shared schema 2026-09-05 17:58:32 -07:00
Jonas Volman 55351b58d0 Reconcile interrupted Opus Leaf and Biped gains 2026-09-04 04:46:30 -07:00
Jonas Volman 3bfde7bd15 Reconcile object lighting source packet 2026-09-03 23:39:15 -07:00
Jonas Volman be69b99c22 Complete structure_render object reconstruction 2026-09-03 23:01:10 -07:00
Jonas Volman 3be7d02614 Reconcile Opus small rendering units 2026-09-03 01:07:17 -07:00
Jonas Volman 36ec431656 structures: reconstruct structure visibility 2026-09-02 22:51:56 -07:00
Jonas Volman 15fd5a238d structures: add visibility owner interfaces 2026-09-02 22:50:42 -07:00
Jonas Volman ea987520fc Reconstruct structure detail objects 2026-09-01 23:45:22 -07:00
Jonas Volman 660bf34212 Reconcile structure lens flares source 2026-09-01 13:01:08 -07:00
Jonas Volman 4277f892c1 Admit audited Claude reconstruction gains
Retain 18 strict exact-function gains across Actions, Actor Combat, Decals, Game Engine, Object Lights, and Bipeds after removing donor bodies that regressed exact objects, emitted unowned code, or violated source-credibility rules. Name authenticated private symbols, move declarations to owner headers, record honest residual parks, and preserve units.obj at 189/189.
2026-08-31 20:42:01 -07:00
Jonas Volman 9f74e9937f Import 909 authenticated January and HCEA symbol names 2026-08-31 16:11:03 -07:00
Jonas Volman c1620772f5 Reconcile lens flare topology with uniform flags 2026-08-29 11:36:04 -07:00
Jonas Volman c8c40b2cea Advance three objects with exact public leaves 2026-08-28 17:34:21 -07:00
Jonas Volman 21776bb507 Recover structure visibility rectangle dequantization 2026-08-27 03:45:56 -07:00
Jonas Volman 1b3e3614c6 Recover structure detail object map reset 2026-08-27 03:24:56 -07:00
Jonas Volman 5a0fa4e496 Recover structure detail object dot product 2026-08-27 03:20:06 -07:00
Jonas Volman 580ff2c3c8 Recover structure lens flare topology and fix shell admission 2026-08-26 23:07:44 -07:00
Jonas Volman e1f8b2e444 Recover structure render fog offset 2026-08-21 11:49:56 -07:00
Jonas Volman a17feabb4d Match structure visibility debug PVS leaf 2026-08-21 04:20:27 -07:00
Jonas Volman a8ee0104d4 Match leaf map deletion 2026-08-21 04:09:26 -07:00