Commit Graph
151 Commits
Author SHA1 Message Date
xshxdex98 7df9be7785 Give unset locals values, and drop the decompiler's dated audit notes
25 notes ("left unassigned only by this default arm ... approval pending,
2026-09-27 audit") argued that a variable was never read unset. Where the
arm ends in system_exit they were right and simply go. A release build's
assertions return, though, so where the arm only asserts the variable now
starts with a value (a Custom Edition map's HUD data can reach hud_draw's).
A failed map precache reads as failed.

rasterizer_debug_drawing_begin had two declarations, one with an argument
its definition never takes; it now has one, and the port's macro papering
over the mismatch is gone.

(cherry picked from commit 74f8a048e4c3cc7dbc4b050dd41a8bae912bb367)
2026-10-10 12:53:22 +13:00
xshxdex98 65e690321d Log and error messages print what their formats ask for
Arguments a format never read are dropped, missing ones passed (the
migration speech type, DirectSound's result), a real printed as %f, a
target AI's name printed for it rather than the source's twice, and two
messages built from saved-game names printed through %s.

(cherry picked from commit dbcf4ab91c2e42c19f57ca436f1d4f2b41964582)
2026-10-10 12:53:22 +13:00
Milenko 794cbb92c5 Bitmap sampling: the compressed-block messages print the lod; an unknown format reads black
bitmap_2d_get_pixel's out-of-range block messages printed a short where
they say lod=%f, and a compressed format it can't decode returned an
uninitialized pixel (release builds carry on past the assertion). Object
lighting is its only caller.

(cherry picked from commit e1169e05a374071e74b3da3d285762c45f1c2a77)
(cherry picked from commit 9d827c0dd9164196da54b10a2fbfdd63bf72a0cd)
2026-10-10 12:53:22 +13:00
MrBruh 76addf661f Second hardening round 2026-10-07 00:01:28 +13:00
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
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 cea8606242 Disclose approved original bitmap pixel bugs without changing matching code
Reconcile frozen donor 1ed5d16d after independent RF-BP evidence review. Correct NUL accounting and unreachable-read wording; keep the historical safe correction preserved but unapplied. All 34 bitmaps functions and 137 nondebug sections unchanged; whole-board 8252 rows/7641 exact identical; 1161 tests pass. No new credit or broader UB exception.
2026-09-27 10:57:22 -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 78e3679be5 Merge branch 'bnunu:main' into main 2026-09-28 00:02:52 +13:00
Jonas Volman ef79aedaba Restore shared plane validator and match collision_move_point 2026-09-27 03:57:22 -07:00
MrBruh 95881a5f91 Replace port assembly with C 2026-09-26 23:56:21 +12:00
MrBruh e29125b50e Port decomp to Android 2026-09-26 16:16:00 +12:00
MrBruh ebb0eac50b Port decomp to Linux 2026-09-26 12:15:09 +12:00
Jonas VolmanandClaude Opus 5.5 6eef02f1b1 R2 batch 1a: admit xbox_texture_cache (first-party names, HCEX bitmap_data fields, owner headers)
- symbols.json: IDirect3DDevice8_IsBusy/KickPushBuffer and IDirect3DBaseTexture8_IsBusy
  are static (D3DINLINE is static __forceinline; none is a cachebeta public).
- Three invented static names replaced by first-party names from the 2001-09-25
  cachebeta-xbe linker map (atlas 7eacac85, re-anchored on 20 named symbols):
  texture_cache_name_block_proc, compare (also January atlas exact tier) and
  texture_cache_initialize_hardware_format.
- bitmap_group.h (shared, 45 includers): struct bitmap_data fields per HCEX
  (mipmap_pad, long pixels_offset/pixels_size/tag_index/cache_block_index);
  bink_playback.c and bitmaps.c adopt the names. The TU-local bitmap_data view
  and raw tag_get('bitm') prefix view in xbox_texture_cache.c are gone.
- texture_cache.h declares texture_cache_debug_render (render_debug.c had no
  prototype in scope). The Xbox-only public format mappers get the object's own
  header cache/xbox_texture_cache.h. Adding them to texture_cache.h regresses
  declaration-count-sensitive consumers (decals); this is disclosed in the header.
- Reviewer amendment: the invented pad member reserved006[2] in the TU-private
  texture struct is removed (natural alignment; HCEX texture_datum has no pad).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 15:12:09 -07:00
Jonas Volman ed3e308af0 bitmaps: restore exact ARGB inline color helper and owner API 2026-09-23 15:54:31 -07:00
Jonas Volman 71d3507b31 Admit five exact Halo objects with rasterizer ownership cleanup 2026-09-23 00:54:07 -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 Volman 5361eeae52 Reconcile Astra exact-match campaign (+8314 bytes)
Integrate six accepted exact functions, two whole-object admissions, evidence-backed zero-credit source corrections, owner-header cleanup, and curated campaign records. Preserve zero regressions and exclude generated scratch archives from canonical history.
2026-09-20 02:31:53 -07:00
Jonas Volman 9d155f1d60 Admit ten verified exact objects 2026-09-19 15:56:43 -07:00
Jonas Volman 389126d5a7 Reconcile Claude two-block exact-match campaign 2026-09-19 13:44:32 -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 VolmanandClaude Opus 5 33985aa2a0 Wave 11: two functions strict exact (dsound, bitmap_extract)
- _dsound_initialize: one final success/dispose block instead of four
  per-arm dsound_dispose calls; create_inanity_channel chained into the
  success flag like the channel loops
- _extract_build_texture_pages_by_sequence: begin the selected texture
  page once after the page-selection if/else (park reopen)

Rejected: _player_control_modify_desired_angles (factor order selected
from a 12-order search - operand permutation steering; owner-ruling
queue), _compute_sound_obstruction (new _vector_from_points3d COMDAT,
pending owner ruling), _update_potentially_audible_looping_sound
(duplicated arm stores), _path_avoid_obstacles and
_render_debug_obstacle_path (unauthenticated .bss label names).
Stable diff: 0 regressions; active parks 223 -> 222.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 18:56:43 -07:00
Jonas VolmanandClaude Opus 5 eca9b61766 Wave 9: four functions strict exact (tiff_file complete, nav points, distance3d)
- tiff_file (3/3): _tiff_import as nested single-exit checks with one
  TIFFClose and the cseries PIN/match_malloc/match_free helpers;
  _tiff_export with a short format, single-exit error handling, byte row
  size, per-case pixel expansion, and bitmaps_internal.h replacing
  consumer-local prototypes
- _hud_render_nav_points: the TU's local-player unit ternary and a short
  nav-point index loop (park reopen)
- _distance3d: square_root(distance_squared3d(a, b)) replaces a
  hand-expanded body

Rejected: _item_update (hand-expanded point_from_line3d evading the
COMDAT hold). Stable diff vs 9062b1e96: 77 gained, 0 regressions;
active parks 224 -> 223.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 17:16:45 -07:00
Jonas VolmanandClaude Opus 5 223ab6f08d bitmap_utilities.h: own the color structs and public prototypes (_bitmap_2d_smooth strict exact)
Header packet (house rule 9): struct rgb_color, hsv_color, argb_color and
union real_hsv_color move from bitmap_utilities.c into their owner header
with prototypes for the six public conversion functions January defines
externally and that had no prototype anywhere. Measured board-wide (full
ninja + stable diff over bitmap_extract, bitmap_utilities, hud_draw,
hud_nav_points, object_lights): +1 function, 0 regressions.

_bitmap_2d_smooth: shared short x/y, coefficient read after the pixel
load, inline rounding/shift expression. The untouched fuzzy park
_bitmap_3d_smooth is re-measured (1792/28 before and after, objdiff
78.03 -> 78.04). Parks 231 -> 230.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 15:43:52 -07:00
Jonas VolmanandClaude Opus 5 2ba3ea7cee Wave 6: four functions strict exact (actor_combat, bitmap_utilities)
- _actor_start_burst: burst geometry in its own block, negate_vector3d
  instead of hand-written negation stores (select-any _negate_vector3d
  COMDAT disclosed, laws_w3 A30 class), same capped-radius arithmetic
- _actor_combat_reaim_grenade: block-scoped 2D aim vector and a named
  within_aiming_angle predicate (park reopen)
- _actor_combat_find_nearby_target: clamps the miss_distance parameter
  directly (park reopen)
- _bitmap_2d_sharpen: short loop bounds, natural kernel order, and the
  cast-free match_assert texts January's literals carry (park reopen;
  no exact row traded, unlike the declined cast trade)

Rejected: _breakable_surface_effect (renamed local copies of
point_from_line3d / projection_from_vector3d evading two holds).
Stable diff: 0 regressions; parks 234 -> 231.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 15:43:05 -07:00
Jonas VolmanandClaude Opus 5 57fc56c467 bitmap_extract: 1 function(s) strict exact
Wave w3 landing, adversarially verified. park reopens: _extract_sprites. 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 14:45:17 -07:00
Jonas VolmanandClaude Opus 5 f1afc7c88f bitmaps: 2 function(s) strict exact
Wave w2 landing, adversarially verified. park reopens: _palette_find_closest_match, _bitmap_format_to_a8r8g8b8. 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:32 -07:00
Jonas VolmanandClaude Opus 5 525f4029ff bitmap_drawing: 1 function(s) strict exact
Wave w2 landing, adversarially verified. park reopens: _bitmap_copy. 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:31 -07:00
Jonas VolmanandClaude Opus 5 723ce4dd36 bitmap_utilities: 3 function(s) strict exact
Wave w1 landing, adversarially verified. park reopens: _bitmap_2d_shrink, _bitmap_3d_shrink, _bitmap_2d_uncompress_from_mipmap. Full build of the combined batch: 54 strict gains / 29,440 padded, 0 regressions, parks 355/0/0. 3 park(s) removed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 02:50:20 -07:00
Jonas VolmanandClaude Opus 5 1f2c40aef1 bitmap_extract: 2 function(s) strict exact
Wave w1 landing, adversarially verified. park reopens: _extract_plateless_cube_map, _extract_get_bitmap_format. Full build of the combined batch: 54 strict gains / 29,440 padded, 0 regressions, parks 355/0/0. 2 park(s) removed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 02:50:19 -07:00
Jonas VolmanandClaude Opus 5 94f7bbb80c Restore bitmap_data/bitmap_group owner types and bitmap helper prototypes; reopen five bitmap_extract parks exact
bitmap_group.h: signed depth/mipmap_count and union point2d registration_point (HCEA types, January movsx reads and whole-point copies), respelled in its four consumers. bitmaps_mipmap.h declares bitmap_get_max_mipmap_count (fixes an implicit declaration); bitmap_group_internal.h declares bitmap_group_add_bitmap (bitmap_group.h placement regressed decals by declaration count). bitmap_compress_to_mipmap takes the transparent-colour reference pointer January passes. Header renames and their consumers are one measured packet. Unparks _extract_add_bitmap, _extract_build_debug_plate, _extract_mipmaps_to_bitmap, _extract_pixels_from_mipmap, _extract_pixels_to_mipmap (+4,544 padded); re-baselines parked _bitmap_group_add_bitmap (same 992/59). Adversarially verified; 45 bitmap_group.h consumers rebuilt, 0 regressions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:37:53 -07:00
Jonas VolmanandClaude Opus 5 7de4936046 bitmap_extract: reopen extract_bitmap, bitmaps_extract, cube_maps, 3d_textures and border warning exact
Documented criteria met: extract_add_bitmap and the private extraction callees are now reconstructed in this TU. Single-exit result flags, January assert spellings and 16-bit indices; extract_cube_maps keeps January's freed-pointer bug (commented). extract_sequence stays parked because its exact form reproduces redundant logic (verifier rejected). 5 parks removed; +5 exact (3,040 padded). Full build of the combined reopen set: 0 regressions, parks 451/0/0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:26:07 -07:00
Jonas Volman 5d3444f799 Reconcile eighth 10K exact source batch 2026-09-13 02:47:59 -07:00
Jonas Volman d6250fa794 Reconcile sixth 10K exact source batch 2026-09-12 12:36:44 -07:00
Jonas Volman a565219da1 Reconcile fifth 10K exact source batch 2026-09-09 22:29:33 -07:00
Jonas Volman db720270ec Reconcile HUD bitmap retrieval pair 2026-09-09 07:05:53 -07:00
Jonas Volman 105d9acaac Reconcile 10K exact-byte Claude batch 2026-09-09 00:07:34 -07:00
Jonas Volman 292cc29b86 Reconcile final Fable and Opus source batch 2026-09-08 17:34:52 -07:00
Jonas Volman 24092ea0f8 Reconcile Interface and HS runtime leaves 2026-09-08 06:32:02 -07:00
Jonas Volman 458ba910cc Reconcile PlayerProfile and S3TC with honest fuzzy retention 2026-09-07 21:38:50 -07:00
Jonas Volman e50f98a194 Reconcile Fable bitmap constructors and addressing with verified ownership 2026-09-05 23:39:27 -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 4b84e8fdc3 Reconcile safe Xbox rasterizer core 2026-09-03 22:54:39 -07:00
Jonas Volman 56cbe8470c Reconcile real alpha bitmap inline owner 2026-09-03 22:43:14 -07:00
Jonas Volman 545c2bdf2e Reconcile Xbox bitmap swizzle pipeline 2026-09-03 22:15:39 -07:00