Commit Graph
79 Commits
Author SHA1 Message Date
Jonas VolmanandClaude Opus 5 c2593b885a Wave 3: eight functions strict exact (screen_effect object complete)
Reviewed reconstructions, each strict exact in its whole-TU gate with
zero inherited losses, guard passing and no new owners:
- rasterizer_xbox_screen_effect (13/13): complete per-arm shader setups,
  load-before-call locals, January assert texts, PIN clamp; screen_flash
  projection spelling and the defined inverse-pixel default arm
- hs_compile: _hs_parse_begin (per-branch result type; January's extra
  sprintf name argument kept with a BUG comment), _hs_parse_cond_recursive
  (single exit; January's always-true negation test kept with a BUG
  comment, byte-proven and recorded in HCEA)
- geometry: definitions in January object order (assert lines ascend),
  duplicate prototype removed, _get_edge_vertex single exit
- render_cameras: view_to_screen and build_frustum_bounds simplifications
- sound_manager: _sound_dispose_from_old_map loop-exit flag

Rejected in review: _encounter_test_rule (redundant default stores),
_render_camera_mirror (point_from_line3d COMDAT), _sound_set_definition_end
(prototype contradicting its definition).
Stable diff vs 9062b1e96: 0 regressions; parks 255 -> 250.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 13:06:38 -07:00
Jonas VolmanandClaude Opus 5 6d6529d987 Land two owner-ruled closures: debug player text extent and RGB pixel helper
Both admitted by explicit owner rulings on 2026-09-16; each lands as the minimum
hunk after a whole-TU gate, and neither involves undefined behaviour or steering.

render_debug _render_debug_player (+266, park reopened and removed). LAW D, from
the research campaign's frame study, proves January's `sub esp,0x404` cannot come
from a dead local or any other declaration - a dead whole object costs 0 frame -
and only a declared text extent of 1025-1028 yields it. Written in the house
idiom as a named capacity plus its terminator, added to the file's existing
constants enum rather than a new block: `MAXIMUM_RENDER_DEBUG_PLAYER_TEXT_LENGTH =
1024` and `char text[MAXIMUM_RENDER_DEBUG_PLAYER_TEXT_LENGTH + 1]`. The tree
already uses `[X_LENGTH+1]` string buffers 70+ times. This ruling supersedes the
pre-LAW-D park rejection of enlarging the buffer. Whole-TU gate 34 -> 35 with only
this row changing; the sibling park _render_debug_add_cache_entry is unchanged; the
added enumerator shifted no declaration-count-keyed row; fake scan 0 leads.

hud_draw _real_rgb_color_to_pixel32 (+181, previously unwritten). A genuine
bitmaps_inlines.h color-conversion helper, admitted under house rule 10. The owner
ruling rests on affirmative hand-written-assembly evidence in January's bytes -
dword fistp and fmul on non-top x87 stack slots (fmul st(3),st(0)) - not merely on
asm being able to force a match. The permission covers this one body only; it does
not authorize _real_argb_color_to_pixel32, _fast_ftol_C or assembly elsewhere.
Whole-TU gate 20 -> 21 exact, including _hud_draw_meter, which calls it three
times. fake_match_scan: 3 leads, 2 of them pre-existing at HEAD (the naked
get_return_eip); the only new lead is this admitted block.

Full ninja, parks 271 active / 0 stale / 0 invalid, stable diff vs
scratch/opus5-next150-before.json: gained 12 / 8,992 padded, regressions 0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 07:43:21 -07:00
Jonas VolmanandClaude Opus 5 be0fb070de render_debug: 5 function(s) strict exact
Wave w2 landing, adversarially verified. exact: _build_circle_points, _build_pill_points, _render_debug_circle, _render_debug_sphere; park reopens: _render_debug_point. 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:54 -07:00
Jonas VolmanandClaude Opus 5 ab0fbecfa6 render_objects: 2 function(s) strict exact
Wave w1 landing, adversarially verified. exact: _render_object_shadow_end, _object_render_state_refresh. Full build of the combined batch: 54 strict gains / 29,440 padded, 0 regressions, parks 355/0/0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 02:51:07 -07:00
Jonas VolmanandClaude Opus 5 b9cef202bf render_cameras: reopen render_frustum_cube_view_fraction exact
The edge factors are spelled (-inverse_z) inside the MIN/MAX arguments (macro argument duplication) instead of hoisted positive locals. 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:01 -07:00
Jonas VolmanandClaude Opus 5 5dcb9e15ff render_objects: close render_object_list
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 19:39:16 -07:00
Jonas VolmanandClaude Opus 5 65277e66c0 Match build_sprite_get_group
+1 strict exact function, 384 padded bytes (previously residual). Adversarial
review accepted; no top-level declaration was added and the other three
render_sprite residuals keep their tags. A proposed spelling for
build_sprite_transform_origin_and_direction that would write a vector over its
own parameter home was not landed (owner/UB ruling required).
render_sprite: 7 exact / 3 residual.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 15:21:30 -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 a565219da1 Reconcile fifth 10K exact source batch 2026-09-09 22:29:33 -07:00
Jonas Volman 2d5cd93c77 Reconcile device debug and lens flare rotation 2026-09-09 12:11:14 -07:00
Jonas Volman 0a3013791c render: match narrow camera projection pair 2026-09-09 08:29:31 -07:00
Jonas Volman b727d0a077 render: match debug string projection 2026-09-09 08:18:18 -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 4ebe0ff6ec Reconcile HUD geometry and sound caller graphs 2026-09-08 20:28:22 -07:00
Jonas Volman f7afb70475 Reconcile UI, weather, aim, and render lanes 2026-09-08 08:23:20 -07:00
Jonas Volman 34db75424b Reconcile solid RenderDebug box with owner and actual-x86 checks 2026-09-07 19:15:07 -07:00
Jonas Volman ef631fb896 Reconcile three exact RenderDebug 2D wrappers with runtime checks 2026-09-06 06:22:14 -07:00
Jonas Volman 2fbd3e3bb6 Reconcile RenderDebug line and box primitives with natural point residual 2026-09-06 05:21:26 -07:00
Jonas Volman e98e3ff628 Reconcile natural RenderDebug cache string closure and retain vblank boundary 2026-09-05 20:40:09 -07:00
Jonas Volman 937f26f0d2 Reconcile Profile window timer and genuine boolean caller API 2026-09-04 22:26:55 -07:00
Jonas Volman 22a6e2c9d6 Reconcile Opus geometry and timer leaves; preserve withheld StackWalk research 2026-09-04 21:25:47 -07:00
Jonas Volman 6d351b3578 Reconcile Opus first-person weapon reconstruction 2026-09-04 01:45:18 -07:00
Jonas Volman 87fbeb7582 Reconcile render debug geometry packet 2026-09-04 01:31:51 -07:00
Jonas Volman 67cd5155c1 Match render frustum sphere diameter 2026-09-03 23:56:43 -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 3be7d02614 Reconcile Opus small rendering units 2026-09-03 01:07:17 -07:00
Jonas Volman 15fd5a238d structures: add visibility owner interfaces 2026-09-02 22:50:42 -07:00
Jonas Volman 77cee5677c Reconcile Fable models exact wave 2026-09-02 15:15:36 -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 ea987520fc Reconstruct structure detail objects 2026-09-01 23:45:22 -07:00
Jonas Volman 226bdaefad hud: match lifecycle and teammate rendering 2026-09-01 23:39:10 -07:00
Jonas Volman 0fab293143 Complete HUD navigation renderer 2026-09-01 22:46:31 -07:00
Jonas Volman ec4ae894a1 Finalize reconciled object campaign checkpoint 2026-08-31 23:13:10 -07:00
Jonas Volman 52d3d0ca2e Reconstruct particle rendering pipeline 2026-08-31 23:06:04 -07:00
Jonas Volman 9f74e9937f Import 909 authenticated January and HCEA symbol names 2026-08-31 16:11:03 -07:00
Jonas Volman 1b49fbacb3 Recover physics debug rendering 2026-08-31 07:50:59 -07:00
Jonas Volman 9475c085f8 Close render object with exact HaloCEA reconstruction 2026-08-30 11:47:08 -07:00
Jonas Volman 9121ff09ac Match three rasterizer and camera leaves 2026-08-28 23:26:26 -07:00
Jonas Volman 8a67063165 Match render debug orientation wrappers 2026-08-28 22:21:37 -07:00
Jonas Volman 9c006fff3a Match render camera projection transforms 2026-08-28 14:13:45 -07:00
Jonas Volman 419076cc20 Match sprite window preparation 2026-08-21 05:06:31 -07:00
Jonas Volman 90475f0ac3 Match render camera constructor 2026-08-21 02:38:24 -07:00
Jonas Volman fcd8e37844 Recover render particle helpers and profile data 2026-08-20 19:57:07 -07:00
Jonas Volman f1c6f1f4a3 Match antenna object 2026-08-13 07:43:18 -07:00