Commit Graph
147 Commits
Author SHA1 Message Date
Jonas Volman ed3e308af0 bitmaps: restore exact ARGB inline color helper and owner API 2026-09-23 15:54:31 -07:00
Jonas VolmanandClaude Opus 5.5 7d92f97c9f Correct objects.obj private symbol ownership (zero credit)
cachebeta.pdb publics show 31 objects.obj symbols were file-static in
January, and no other January object references any of them. Only
symbols.json and our source disagreed with January.
- 29 functions were already static in our source; their symbols.json
  entries gain "static": true.
- object_memory_release_procs becomes static.
- object_update becomes static, and its public prototype leaves the
  shared objects.h. It is defined before every use in objects.c.

objects now matches January in all 225 symbols, all 121 functions stay
strict exact, and its 1,530-byte .data section is identical. It is
still held: five candidate-only helper COMDATs conflict with
hand-written NODUP providers (path_obstacles, action_charge,
player_control, bored_camera). It also emits the three stock D3D SDK
tables that keep rasterizer_xbox_profile held. No
semantic_data_matches entry, no credit.

Verification: full ninja (the objects.h edit rebuilt its 92
consumers); stable diff vs frozen 8,245-function baseline 0 gained /
0 regressions; parks 103/0/0; fake-match scan 0 -> 0; pytest 1154
passed; git diff --check clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 14:43:00 -07:00
Jonas VolmanandClaude Opus 5.5 2535f91a79 Close five objects after correcting January symbol ownership
Each of actor_types, recorded_animation_definitions,
model_animation_definitions, sound_classes and object_types had strict
exact functions and a .data section byte-identical to January's: same
payload, flags and resolved relocation destinations. But each also had
private symbols whose storage disagreed with January. cachebeta.pdb
publics are the independent truth: none of the corrected symbols is
public, and no other January object references them.

- actor_types: the address-named accessor and table become
  actor_type_definition_get and actor_type_definitions, both static.
  January's own assert strings name the table, and the Halo CE atlas
  names the accessor at the same 0x140-byte span.
- recorded_animation_definitions: byte_swap_recording is static.
- model_animation_definitions: the seven *_animation_list_entries
  arrays are static beside their public animation_list wrappers.
- sound_classes: _code_001b84c0 is sound_class_datum_get (static). The
  atlas mapping is anchored on six exact sound_classes names.
- object_types: bss_00456e98 is processed_bsp_flags (static), the
  object's only file static in HCEX.pdb.
- items: drop the hand-written NODUP valid_real_matrix4x3 and
  valid_real_vector3d_axes3 copies (bodies identical to real_math.h).
  items genuinely uses them, and all 18 items rows are unchanged. This
  lets object_types' candidate-only copies pair-link. All eight
  object_types helper COMDATs are byte-identical to January's selected
  copies.

Five pinned entries in config/semantic_data_matches.json.
- Canonical scorer (objdiff 3.3.1): credits 6,656 data bytes and clears
  5 more revoked admission rows (9 -> 4).
- Pinned objdiff 3.6.0: already fully matched (verified no-ops).
- No code bytes, no config status change.

Verification: full ninja; stable diff vs frozen 8,245-function
baseline 0 gained / 0 regressions; parks 103/0/0; whole-object audit
PASS, PDB-storage 0 disagreements and provider links PASS for all five;
fake-match scan unchanged (0 -> 0) on all six changed sources; pytest
1154 passed; git diff --check clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 14:42:52 -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 cf097d7f70 Wave 7: four functions strict exact (hud_unit, flags, path, motion_sensor)
- _hud_render_unit_interface (3,504 B): January's local-player re-read for
  the HUD state, flag-macro draw flags, advancing shield color pointer,
  named auxiliary panel, direct flash-time indexing (park reopen)
- _flag_render_proper: loop counters reset in the for-initializers
- _path_state_begin: single exit, distance_squared3d + square_root, a
  destination pointer shared by the helper and the error text (park reopen)
- _blip_begin: January's caller pushes a zero second argument the callee
  never reads; the parameter is added with a provisional name and comment
  (park reopen). The caller park _render_motion_sensor is re-measured
  (non-exact before and after).

Rejected: _render_debug_trigger_volumes (duplicated arm stores), leaf_map
rows (owner-declined P7 projection_from_vector3d body),
_closest_point_to_attractor (point_from_line3d COMDAT).
Stable diff vs 9062b1e96: 0 regressions; parks 230 -> 226.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 15:55:20 -07:00
Jonas VolmanandClaude Opus 5 2716e61191 lightning: 1 function(s) strict exact
Wave w3 landing, adversarially verified. park reopens: _lightning_offset_marker_position. 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:20 -07:00
Jonas VolmanandClaude Opus 5 76efed8c6a object_lights: name the lights profile section; reopen five lighting functions exact
symbols.json names the private profile_section static _lights_section (January name record "lights"; campaign <name>_section convention, static). light_unmarked and find_point_lights_for_object_in_cluster use the exact siblings' spelling; build_distant_lights uses magnitude2d on the shadow vector; lights_prepare_for_object_static scopes its corner point; lights_preprocess_scene uses the parent unit camouflage directly, the marker forward vector and January's radius-before-color store order. 5 parks removed. Adversarially verified in wave D; full build of the combined object_lights + observer set: 0 regressions, parks 391/0/0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 23:11:33 -07:00
Jonas VolmanandClaude Opus 5 da12da12c2 damage: reopen object_cause_damage exact
Block-scoped collision model, real_random_range owner API, typed child walk (same form as the exact object_deplete_body). 1 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:03 -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 d6250fa794 Reconcile sixth 10K exact source batch 2026-09-12 12:36:44 -07:00
Jonas Volman 9ed58a0190 Reconstruct projectile runtime cache callbacks 2026-09-09 16:05:12 -07:00
Jonas Volman 2d5cd93c77 Reconcile device debug and lens flare rotation 2026-09-09 12:11:14 -07:00
Jonas Volman db720270ec Reconcile HUD bitmap retrieval pair 2026-09-09 07:05:53 -07:00
Jonas Volman 78cd2f4e67 Reconcile Glow graph and preserve physics research 2026-09-08 18:49:43 -07:00
Jonas Volman 7f7b72cc38 Reconcile collision damage and game state owners 2026-09-08 00:32:16 -07:00
Jonas Volman 1b33bdd4c6 Reconcile Devices export and three source-authentic Xbox closures 2026-09-06 12:50:07 -07:00
Jonas Volman d556ba5304 Recover HUD damage and device/input updates with verified owners 2026-09-04 16:33:36 -07:00
Jonas Volman cda32ef8be Reconstruct object cause damage 2026-09-04 10:40:22 -07:00
Jonas Volman c8d001ee2c Match object_damage_update 2026-09-04 08:23:30 -07:00
Jonas Volman aafd066dfa Implement damage area-of-effect cluster 2026-09-04 07:30:52 -07:00
Jonas Volman 790c8b4500 Recover private damage helpers 2026-09-04 07:29:26 -07:00
Jonas Volman 08a8c8d1d7 Match render_debug_object_damage 2026-09-04 06:50:03 -07:00
Jonas Volman 4453bedd7b Match small damage vitality leaves 2026-09-04 06:15:41 -07:00
Jonas Volman 3bfde7bd15 Reconcile object lighting source packet 2026-09-03 23:39:15 -07:00
Jonas Volman 3cbc297772 Integrate Xbox widget and transparent geometry packets 2026-09-03 21:29:47 -07:00
Jonas Volman 7c029ca076 Reconstruct flag cloth update 2026-09-03 04:39:33 -07:00
Jonas Volman 28d4ff0665 Define effects and bitmap owner interfaces 2026-09-02 23:58:44 -07:00
Jonas Volman 59dc970035 Reconcile Fable lightning salvage 2026-09-02 15:21:24 -07:00
Jonas Volman f63bddf279 Snapshot Fable lightning wave for salvage 2026-09-02 15:21:16 -07:00
Jonas Volman fb474cf19d Reconcile Fable flags exact wave 2026-09-02 10:19:19 -07:00
Jonas Volman c9e6aae6da Snapshot Fable flags wave for salvage 2026-09-02 10:19:19 -07:00
Jonas Volman 0bf42e4377 Correct lightning color prototype ownership 2026-09-02 03:47:23 -07:00
Jonas Volman 93d9f9687b Reconstruct and park lightning renderer 2026-09-02 03:47:23 -07:00
Jonas Volman faaa1a93f9 Recover small object lights functions 2026-09-02 02:17:22 -07:00
Jonas Volman fede67af5b Preserve Units through owner header cleanup 2026-09-02 02:05:08 -07:00
Jonas Volman 92fd55d6eb Reconstruct nine biped functions 2026-09-02 01:57:40 -07:00
Jonas Volman 34719b84f4 Reconstruct and park complete item update 2026-09-01 22:36:18 -07:00
Jonas Volman c968a9d9dc Match safe weapons reconstruction trio 2026-09-01 17:20:24 -07:00
Jonas Volman 9916d7b81a Close out light volume residual 2026-08-31 23:49:53 -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 69ce74cc76 Recover biped export and speech priority leaves 2026-08-31 12:15:39 -07:00
Jonas Volman 179ea4a366 Recover small actor bitmap biped and weapon owners 2026-08-31 11:53:54 -07:00
Jonas Volman 1612ef9b6b Admit Path and Decals updates; correct Object Lights linkage 2026-08-31 10:50:21 -07:00
Jonas Volman 777a30ba1d Place shared prototypes in owner headers 2026-08-30 23:58:08 -07:00
Jonas Volman 677d098217 Recover Players callers without codegen steering 2026-08-30 23:42:05 -07:00
Jonas Volman 37c9291556 Match glow render 2026-08-30 11:50:16 -07:00
Jonas Volman 382362796d Match object destroy exactly 2026-08-30 01:27:34 -07:00
Jonas Volman 895e49d2f6 Match object deplete body 2026-08-30 00:55:19 -07:00