Commit Graph
89 Commits
Author SHA1 Message Date
Jonas VolmanandClaude Opus 5 efb4624aa0 Wave 4: two functions strict exact (particle_systems, stack_walk_windows)
- _particle_system_update: single state loop with in-loop state
  definition, January's 16-bit particle cursor and post-delete next read,
  pointer-walk variable lerp, match_assert with January's text/line; the
  block-top NULL initializer of transition_state_variables follows the
  admitted conditional-initializer form (laws_w2 A10), disclosed
- _load_symbol_table: loop-control flag instead of while(TRUE)/break,
  natural fgets loop, per-arm error handling, January statement order

Rejected in review (point_from_line3d COMDAT hold): _infection_swarm_control,
_weather_particle_update_physics. Stable diff vs 9062b1e96: 0 regressions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 13:17:35 -07:00
Jonas VolmanandClaude Opus 5 d6df15102d Wave 1: four functions strict exact (moving, decals, ui_widget, projectiles)
Reviewed reconstructions, each strict exact in its whole-TU gate with
zero inherited losses, guard passing and no new owners:
- _actor_move_initialize: short sense-ray index (as the sibling loop)
  and direct indexed stores instead of per-iteration pointer aliases
- _decal_sprite_get_bounds: edge-relative (0.0f - registration) extents,
  matching the adjacent (x1 - registration - x0) extent spelling
- _search_and_replace: single-exit result instead of an early return
- _projectile_accelerate: rotation axis/magnitude scoped to the spin
  block (reopens its park)

Rejected in review: _render_ui_widgets and _render_ui_widgets_postgame
(exact only with duplicated identical should_render arms).
Stable diff vs 9062b1e96: 23 functions gained, 0 regressions; parks 261.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 11:36:32 -07:00
Jonas VolmanandClaude Opus 5 417fc10e48 Land the research campaign's two Tier A closures (+1,184 meaningful)
Both come from LAW M8, measured by the corpus-scale x87 study: for the
displacement-0 term of an inlined helper on &x->field arguments, VC7 loads first
the operand with the smaller IL-local ordinal (mod 8), so one real local too many
or too few flips it. The same study proved source operand order is INERT for a
bare product (p->a*p->b compiles identically to p->b*p->a), so the R3 operand
swap was never just inadmissible - it never worked. These fixes change the local
set, not the operand order.

- player_effects _player_effect_start (735, park reopened and removed): the three
  field stores relative.i/j/k = dot_product3d(...) become one
  set_real_vector3d(&relative, dot, dot, dot) call (laws_w2 A4 helper routing).
  The park's criterion - natural same-compiler evidence for the final commutative
  operand order - is satisfied by M8.
- actor_moving _actor_get_stopping_distances (449): the `long vehicle_driver_type`
  local and its range test become a switch over the two driver enum constants
  (M8, plus A9 switch width). Semantics are unchanged: _hovering_ground (2) and
  _nondirectional_ground (3) are adjacent in actors.h, so the range and the two
  cases select exactly the same values, and the same TU already switches on
  actor->input.vehicle_driver_type at line 3190. M8 is the new law that lifts this
  row's do-not-repeat tag.

Verified independently of the study: each whole-TU gate changes exactly one row
(residual -> EXACT) with every other exact row intact, the _point_from_line3d
guard passes, player_effects' other two parks are unchanged, and fake_match_scan
reports 0 leads. Full ninja, parks 272 active / 0 stale / 0 invalid, stable diff
vs scratch/opus5-next150-before.json: gained 10 / 8,528 padded, regressions 0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 03:36:41 -07:00
Jonas VolmanandClaude Opus 5 ae10935da6 Match action_vehicle seat evaluation and reopen the input_xbox analog park
Wave w3d batch 1 (the structural retarget: census the frame, the [ebp+/-N] slots
and the relocations before proposing any shape).

- action_vehicle _action_vehicle_evaluate_seat (+976): the unit called
  vehicle_specific_definition_get through a C4013 implicit declaration; including
  its genuine owner units/vehicle_definitions.h fixes the call, and January's
  single-exit shape puts the three seat points in the taken branch's own block
  instead of behind an early return.
- input_xbox _input_update_analog_button_state (+48): park reopened and removed.
- effects _effect_allowed_by_environment and _effect_generate_particles: coupled
  A8 callee/caller re-baseline, ZERO credit. Both are now January-exact in padded
  size (and relocation count for the caller) and stay parked and fuzzy; the
  remeasures carry dated evidence in config/parked.json.

Full ninja, parks 277 active / 0 stale / 0 invalid, stable diff vs
scratch/claude250k-start.json: gained 3 / 1,824 bytes, regressions 0; fake scan
0 leads.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 20:14:01 -07:00
Jonas VolmanandClaude Opus 5 1881e718b7 Match player_effects screen flash and complete a particle system render body
_player_effect_get_screen_flash (800) becomes strict exact by binding
effect->screen_flash to a local definition pointer used six times, which is the
A5 counter-law form: January re-reads the field through one base rather than
re-forming the address at each of the six uses.

particle_systems _particle_system_render is landed as a complete credible body at
ZERO credit (still residual); the rejected _particle_system_update hunks were
removed from the landable. Wave w3c batch 2 (8 groups, 31,392 spendable padded
bytes) produced no other strict gain; the s3tc _RGBToColor/_DecodeBlockRGB reopen
was rejected by the verifier.

Full ninja, parks 280/0/0, stable diff vs scratch/claude250k-start.json:
gained 1 / 800 bytes, regressions 0; fake scan 0 leads.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 18:05:56 -07:00
Jonas VolmanandClaude Opus 5 6555f3d0e6 particles: 2 function(s) strict exact
Wave w3 landing, adversarially verified. exact: _particle_update_physics; park reopens: _particle_next_frame. 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:19 -07:00
Jonas VolmanandClaude Opus 5 ec177ec2fc decals: retain verified credible source at zero credit
Wave w3 landing, adversarially verified. zero-credit fuzzy: _decal_new_from_collision. Full ninja build and per-function stable_verdicts sweep: 0 regressions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 13:01:57 -07:00
Jonas VolmanandClaude Opus 5 7fe3891c3e weather_particle_systems: 1 function(s) strict exact
Packet P6 dependent: #include "bitmaps/bitmaps.h" gives weather_particle_systems.c the genuine rgb_colors_interpolate declaration (CL /Zs /W3 C4013 at HEAD; missing-prototype law A7). With the real_math.h named result, _weather_particle_system_new_particle (704) is strict exact. Full ninja build and stable sweep: 0 regressions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 08:59:15 -07:00
Jonas VolmanandClaude Opus 5 789e992a6c particle_systems: 1 function(s) strict exact
Wave w1 Batch B (adversarially verified, held for config): _particle_system_new_particles (848) exact. The .rdata blob _rdata_0025a6b8 is split into January's HCEX-PDB-named file statics system_update_functions, particle_creation_functions, particle_update_functions and seconds_per_tick (layout and element counts identical; January relocations new_particles+0x2c7 -> +8, update+0xff -> +0, update+0x617 -> +0x14, jet -> _ground_error+4), with the PDB-public ground_error defined here. symbols.json lines edited in place. Full ninja build and stable sweep: 0 regressions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 07:53:16 -07:00
Jonas VolmanandClaude Opus 5 36021342d7 effects: 2 function(s) strict exact
Wave w2 landing, adversarially verified. park reopens: _effect_get_node_matrix, _effect_evaluate_function_integral. 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:38 -07:00
Jonas VolmanandClaude Opus 5 8e5976ae92 decals: 1 function(s) strict exact
Wave w1 landing, adversarially verified. park reopens: _decal_update. Full build of the combined batch: 54 strict gains / 29,440 padded, 0 regressions, parks 355/0/0. 1 park(s) removed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 02:50:56 -07:00
Jonas VolmanandClaude Opus 5 06304f8175 contrails: 1 function(s) strict exact
Wave w1 landing, adversarially verified. exact: _contrail_scale_random_value. 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:50:55 -07:00
Jonas VolmanandClaude Opus 5 2e81aa9596 effects: reopen corpse test, effect scale, disposition filter, generate_parts and effect_update exact
Natural if/else polarity and result locals; generate_particles park re-measured after correcting its per-instance particle loop to January behaviour (evidence appended). 5 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:08 -07:00
Jonas VolmanandClaude Opus 5 828625092c Match decal_insert and motion_sensor assert/literal text to January .rdata
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 19:19:56 -07:00
Jonas VolmanandClaude Opus 5 4e20e8c9af Match four particle system state and creation functions
+4 strict exact functions / 992 padded bytes:
_particle_system_next_particle_state_index, _particle_system_next_type_state_index
(cseries PIN bounce clamp), _randomize_particle_variables (one
real_local_random_range draw per variable in January's seed order, as in
HCEA), and _particle_system_new_attached (single exit; per-component
TICKS_PER_SECOND scaling, dropping a candidate-only scale_vector3d owner).
particle_systems: 20 exact / 5 residual.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 11:03:12 -07:00
Jonas Volman 73e97eca51 Complete Claude reconciliation closeouts 2026-09-13 04:32:37 -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 1d98839b56 Match decal_delete exactly 2026-09-09 11:31:50 -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 f7afb70475 Reconcile UI, weather, aim, and render lanes 2026-09-08 08:23:20 -07:00
Jonas Volman e36d747565 Reconcile Weather deletion and record batch campaign rules 2026-09-07 20:33:20 -07:00
Jonas Volman ced790c736 Reconcile natural particle initialization and unattached creation 2026-09-06 03:50:32 -07:00
Jonas Volman b32b28bdca Reconcile Fable particle-system lifecycle pair and real scale ABI 2026-09-06 03:05:57 -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 9fe11b82cd Reconstruct remaining player effects paths 2026-09-04 06:43:24 -07:00
Jonas Volman c0f4f37bdd Reconcile Opus player effects helpers 2026-09-04 05:47:20 -07:00
Jonas Volman 84144bedfe Close small particles residuals 2026-09-04 05:01:51 -07:00
Jonas Volman b175ed2be1 Reconcile Opus effects reconstruction 2026-09-04 03:48:30 -07:00
Jonas Volman 6d351b3578 Reconcile Opus first-person weapon reconstruction 2026-09-04 01:45:18 -07:00
Jonas Volman 0a211a992b Match game safety queries 2026-09-04 00:39:56 -07:00
Jonas Volman 93e2f032ef Reconcile Xbox decal light and water rasterizers 2026-09-03 01:25:39 -07:00
Jonas Volman 974080b725 Reconstruct effects and bitmap drawing functions 2026-09-02 23:58:52 -07:00
Jonas Volman 28d4ff0665 Define effects and bitmap owner interfaces 2026-09-02 23:58:44 -07:00
Jonas Volman 52d3d0ca2e Reconstruct particle rendering pipeline 2026-08-31 23:06:04 -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 aaff13666f Audit Claude wave and admit provenance-safe progress 2026-08-31 16:48:01 -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 677d098217 Recover Players callers without codegen steering 2026-08-30 23:42:05 -07:00
Jonas Volman 41a2dd5148 Match effects structure BSP reconnect 2026-08-29 17:18:47 -07:00
Jonas Volman b0f3ca32e0 Match contrails local cone wrapper 2026-08-28 22:30:41 -07:00
Jonas Volman 83883cc2e9 Advance effects, queues, and first-person wrappers 2026-08-28 18:08:22 -07:00
Jonas Volman 5af65facfd Match decals projection sign helper 2026-08-26 20:46:54 -07:00
Jonas Volman fea3bd0b50 Match decals plane helpers 2026-08-26 20:40:01 -07:00
Jonas Volman 17c6332bec Match contrails local random range 2026-08-26 19:10:48 -07:00
Jonas Volman d12a39d6dd Recover effects local random direction wrapper 2026-08-26 00:52:35 -07:00
Jonas Volman ecf7359290 Match contrails initialization CFG 2026-08-25 19:40:12 -07:00