Commit Graph
117 Commits
Author SHA1 Message Date
MadisonandClaude Opus 5.5 741d83925e Draw gameplay in stereo in the headset (untested on device)
A frame with one player and no cinematic renders the player's window
three times in render_frame's window loop: the left and right eyes, each
from the game's camera turned by its heading and moved by the tracked
eye (vr.world_scale, head reach limited to 0.35 m), with OpenXR's
off-centre field as render_camera_build_frustum's bounds, and each
copied into its swapchain image as it finishes; then the HUD alone on a
transparent ground, shown head-locked (vr.hud_distance, vr.hud_width).

What moves on as it draws does so once a frame: the sky's animation
phase, weather and glow particles run for the left eye only, and the
first-person weapon is posed once, from the head between the eyes. The
fog's screen layers, which assume a symmetric frustum, are left out of
the eyes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 09:24:20 +09:00
MrBruh e7d1ed3a67 Harden and fix the netcode 2026-10-01 01:22:46 +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
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 b0e3bc96e3 Fix framerate-dependent timing 2026-09-27 19:23:44 +13:00
MrBruh 0154ae9af5 Merge branch 'main' of https://github.com/cybersecurity/halo-ce-universal 2026-09-27 17:42:48 +13:00
MrBruh 0f38fea378 Merge remote-tracking branch 'upstream/main' 2026-09-27 16:57:47 +13:00
Jonas VolmanandClaude Opus 5.5 c03751048c effects: reconcile exact camera impulse comparison macro
Independently rebuilt and reviewed donor 06645ef4. Uses the existing authenticated realcmp macro; its site spelling remains inferred and VN effect disclosed. 738 meaningful / 752 padded bytes, no exact losses. Retires only the freshly exact scheduler park.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 19:35:22 -07: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
MrBruh 95881a5f91 Replace port assembly with C 2026-09-26 23:56:21 +12:00
MrBruh 95c1e19338 Merge branch 'bnunu:main' into main 2026-09-26 20:40:13 +12:00
Jonas Volman 7272341b78 decals: reconcile approved flag mask and genuine geometry helpers
Match _decal_clip_to_surface: 1768 meaningful bytes, 59 relocations. The ordinary byte flag set predicate is owner-approved. Three new shared-header COMDATs match January and selected providers; both link orders are duplicate-free. No inherited exact losses.
2026-09-26 00:38:14 -07:00
MrBruh e29125b50e Port decomp to Android 2026-09-26 16:16:00 +12:00
Jonas VolmanandClaude Opus 5.5 b993052102 R2 batch 3: first-party function names and storage from the completeness-critic routes
Zero credit; every packet was independently adversarially reviewed (22/22 approved).
- critic_3: 72 renames of placeholder/invented static function names across 20
  objects to first-party names. Each rename has Sept-2001 linker-map alignment
  (cachebeta xbe / retail cache exe, several also Aug-2001), relocation-masked
  body identity and matching callers; cachebeta publics show every row was a
  January static. hs's radiosity_hack_{start,save,find_point}_evaluate pairing
  is proven by the Sept .rdata hs_function_definition pointers; players'
  create_weapon also matches HCEX.pdb. Objects: ai_debug (reviewer-amended: a
  dead stub removed, its comment re-attached), transport_endpoint_winsock,
  transport_endpoint_set_winsock (+ parked.json key renames), profile,
  progress_bar, network_connection, saved_game_files, rasterizer_xbox_profile,
  xbox_sound_cache, game_engine_king, players, hs, hs_runtime, main, decals,
  rasterizer_lights, rasterizer_xbox_dynavobgeom,
  rasterizer_xbox_environment_fog, rasterizer_xbox_hardware_bitmaps,
  render_cameras.
- hs_compile: whitespace_characters, eol_characters and hs_type_primitive_parsers
  are external (cachebeta publics, HCEX DataIsGlobal); hs_compile_finish is
  static with a TU-local prototype (no public; HCEX static function).
- bink_playback: bink_playback_idle -> bink_playback_update__internal
  (first-party). The bink_decompress_audio_frame rename is NOT landed: it needs
  an added call whose position is unattested, the same class canonical held for
  hardware_geometry in 4d1ebf17.

Gate (full ninja, objdiff 3.3.1): objects 383, code 1,577,237, data 2,586,915
(all unchanged); stable diff 0 regressions; parks 83/0/0; admission 11/0/2/0;
fake scan 26; pytest 1161 passed; diff --check clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 16:59:40 -07:00
Jonas VolmanandClaude Opus 5.5 42125a520c R2 batch 2: reviewed zero-credit ownership/storage packets; two '$'-defect data entries
All packets passed a precedent audit and an independent adversarial review.
No object changes status.
- Storage per cachebeta publics (source static + symbols.json rows):
  - bink_playback: four globals;
  - weapons: 11 rows + weapon_magazine_finish_reload;
  - object_lights: 4 helpers; should_render_lights is the /Od-attested call and
    its prototype leaves the public header;
  - vehicles: _update_turret_physics;
  - weather_particle_systems: one_over_char_max is external (cachebeta public,
    HCEX Global); its globals are static;
  - rasterizer_xbox_debug: 8 D3DINLINE wrapper rows (already Matching: audit
    FAIL(8) -> PASS, pdb 8 -> 0).
- draw_string: the invented external draw_string_globals aggregate (pads, blob,
  #define aliases) becomes four HCEX-attested file statics in /Od declaration
  order with = { 0 } (a595bbc2 precedent); typed multitexture params.
- render_debug: three rule-6 hand expansions become real point_from_line3d
  calls (ruling #1/#2); the opaque vehicle view gives way to struct
  vehicle_datum + vehicle_datum_try_and_get; the six debug_* toggles become
  tentative definitions (COMMON evidence).
- vehicles: the TU-wide REAL_MATH_EXTERNAL_POINT_FROM_LINE3D define is gone and
  the pathfinding hand expansion becomes the genuine call (ruling #1).
- rasterizer_xbox_profile V1R (reviewer-amended): byte-inert /Od parameter
  order, the BUG marker comment, detail_objects via the rasterizer_xbox.h API,
  and a rejection text that keeps the SDK-table policy question open.
- semantic_data_matches.json: single-section '$'-defect entries with
  allow_incomplete_unit for projectiles _projectile_update_section (1,548 B) and
  object_lights _lights_section (1,541 B) (leaf_map / editor_flying_camera /
  race precedents).

Gate (full ninja, objdiff 3.3.1): objects 384 (unchanged), code unchanged,
data +3,089; stable diff 0 regressions; parks 83/0/0; admission 10/0/2/0; fake
scan 26; pytest 1159 passed; diff --check clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 11:08:01 -07:00
Jonas VolmanandClaude Opus 5.5 931ed8dc2b Layer 2: /Od-attested real_math.h helper bodies and provider hand-copy removal
Shared-header prerequisite packet:
- real_math.h: distance2d/distance3d become square_root(distance_squared*(a,b))
  (/Od build, no local); project_point2d takes short mapping locals and a
  single ?: store (/Od-attested, equal to January's selected copy);
  lock/unlock_global_random_seed move from the 2026-09-04 reconstruction
  header random_math.h into real_math.h's existing RANDOM_MATH.C prototype
  section (main.c calls them without random_math.h).
- action_vehicle, path_obstacles, decals drop their '#define x x_inline'
  renames and hand-written NODUP helper copies; the header inlines now emit
  byte-identical copies of January's selected sections.
- object_lights and players adopt the /Od caller spellings (0x5d0d50).
Full ninja + rename-stable 8,245-function diff: +2 exact
(_player_set_action_result, _convex_hull2d_perimeter; park retired),
0 regressions. _ai_test_line_of_sight park remeasured (size/relocations
unchanged, fuzzy 97.98 -> 97.92).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 20:46:43 -07:00
Jonas VolmanandClaude Opus 5.5 bf937aac0f Batch 1: admit files_windows and objects; five exact functions
- files_windows: _file_get_size strict exact from the /Od single-exit
  result and file_error's named GetLastError() local; park retired.
- objects: Layer 1 helper-provider repair (action_charge, player_control,
  bored_camera, path_obstacles, decals use the genuine real_math.h
  inlines instead of hand-written NODUP copies; every provider row
  unchanged, emitted COMDATs byte-identical to January's selected copies,
  pair links pass both orders) plus the pinned objects_update data entry.
- Exact functions: _dead_camera_new, _actor_perception_refresh_danger_zone,
  _actor_look_idle_find_prop, _texture_cache_steal_memory.
- Zero-credit PDB/HCEX ownership corrections: profile, transport endpoint,
  actor_firing_position, game_engine, real_math, model_animations.

Halo objects 361 -> 363, code +2,769 meaningful bytes, data +1,530,
stable diff +5 functions / 0 regressions, parks 94/0/0, pytest green.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 20:42:50 -07:00
Jonas Volman d90c9508a6 effects: recover weather particle physics inline helper calls 2026-09-23 16:28:41 -07:00
Jonas Volman f2f880f9c0 physics: match breakable surface effect with authentic inline helpers 2026-09-23 15:40:32 -07:00
Jonas Volman b0992d0ebe Admit nine verified Halo object closures 2026-09-23 14:25:38 -07:00
Jonas Volman 5e81dabff0 Close five Halo objects with verified shared-helper ownership 2026-09-23 10:38:14 -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 Volman 37d513310b Reconcile evidence-backed 10K exact batch 2026-09-19 23:12:42 -07:00
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