Commit Graph
32 Commits
Author SHA1 Message Date
MadisonandClaude Opus 5.5 2b9c4fc065 Steady zoomed aim, and feel the shots (untested on device)
Zoomed in, the aim eases toward the hand's (the PC mod HaloCEVR's
half-life formula: about 15 ms at zoom 1, 25 ms at zoom 2), steadying a
scope; unzoomed it is the hand's as it is. Smoothing in the headset's
recentred space, it is untouched by snap turns.

The local player's shots buzz the weapon hand (and, held in both, the
other more softly), by weapon from its tag's name: pistol, shotgun,
sniper, rocket, fuel rod, flamethrower, needler, plasma rifle, assault
rifle, plasma pistol; a shotgun's pellets are one buzz. vr.haptics
scales every buzz, the gestures' too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:16:59 +09: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
MrBruh 8f3e7de9ca Play PAL maps as the NTSC maps 2026-09-29 22:07:10 +13: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
Jonas VolmanandClaude Opus 5.5 1cd5e4ede2 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 15:12:09 -07:00
Jonas Volman f21e001f74 weapons: match trigger projectile inline schedule 2026-09-23 15:24:06 -07:00
Jonas VolmanandClaude Opus 5.5 70e1a15b69 Return uncompressed vectors by value and match reload/index-buffer code
Structural lane batch 6: +1,632 padded / +1,590 meaningful bytes strict
exact (4 functions), zero stable-verdict regressions across the full
board (the header consumer sweep).

- rasterizer_geometry.h/.c: uncompress_int32_to_real_vector3d returns
  real_vector3d by value. The debug build shows the struct-return copy
  at all 16 call sites, and HCEX lists a single parameter. Callers in
  rasterizer.c, rasterizer_lights.c and rasterizer_xbox_lights.c assign
  the result directly and drop their scratch buffers. Exact:
  _compress_real_vector3d_to_int32 and _clamp. The parked
  _rasterizer_sun_glow_draw is re-measured (same size, fuzzy
  95.815 -> 95.817).
- game/players.h: declare players_debug_render(void), a public players.c
  function that render_debug.c called undeclared (C4013). Disclosure: the
  by-value prototype drops one declared name, which alone flips
  _rasterizer_frame_statistics_draw's field-load order. This genuine
  missing prototype restores that TU's name count. Both edits are
  independently evidenced and landed together; the full build shows no
  regression.
- weapons.c: _weapon_magazine_finish_reload reads magazine->rounds_loaded
  (/Od 0x6a4590).
- rasterizer_xbox_hardware_geometry.c: _rasterizer_triangle_buffer_new
  follows the debug build (0x7eaca0), including the index-buffer Unlock
  with its HRESULT check. This removes the _ReadWriteBarrier/pragma/goto
  steering.
- parked.json: unpark the three newly exact parked functions.

Gate: ninja PASS, parks 109/0/0, admission 0 contradicted/0 revoked,
provider link PASS, casts and fake scan unchanged, pytest 1152 passed /
5 skipped / 26 subtests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 06:36:08 -07:00
Jonas Volman 6130661c95 Reconcile final Astra campaign (+4073 bytes) 2026-09-20 10:52:50 -07:00
Jonas Volman 389126d5a7 Reconcile Claude two-block exact-match campaign 2026-09-19 13:44:32 -07:00
Jonas VolmanandClaude Opus 5 26601453ef Land the final Tier B wave: three structural park reopens (+477 meaningful)
The owner-authorized final implementation wave worked only the ten Tier B
functions of the research campaign, each a structural defect confirmed by two
independent lenses; census first, five evidence-driven shapes at most, stop at
allocation, scheduling or x87 ties. Three closed, seven did not.

- hud _temporary_hud_draw_reticle: January does a SIGNED `% 16` (`and eax,
  0x8000000f; jns; dec; or -16; inc`) where ours did `and eax,0xf`. NUMBEROF
  yields size_t, so `next_point_index % NUMBEROF(points)` was an unsigned modulo;
  a signed named count NUMBER_OF_TEMPORARY_HUD_RETICLE_POINTS sizes the array and
  bounds the loop. It fixes the type, not a cast. The three point stores become
  one set_real_point3d call (laws_w2 A4).
- weapons _weapon_can_be_fired: single-exit form (A3). It writes `result = FALSE`
  in two arms, which I tested against the identical-fake-branch prohibition: the
  merged `if (age >= 1.0f || chain)` spelling is residual, while January emits a
  SEPARATE physical FALSE exit for the age test (`jne; pop edi; xor al,al; pop esi;
  pop ebp; ret` at 0x35-0x3c) before game_engine_running is ever called. Two
  distinct rejection blocks is laws_w3 A26's admission criterion, unlike the
  rejected _bink_query_analog_controller_buttons, whose edges share one block.
- rasterizer_transparent_geometry _rasterizer_transparent_geometry_initialize:
  single exit `success = success && aux_buffer()`. Semantics are unchanged; the
  error block is the last statement before the call, so the short-circuit sits
  exactly where the early return did.

All three parks removed. Not closed and reported in the wave ledgers:
_path_state_traverse, _flag_update, _bitmap_2d_sharpen, _light_volume_render,
_actor_stimulus_prop_acknowledged, _stack_memory_pool_allocate,
_particle_system_new_particle_jet.

Full ninja, parks 268 active / 0 stale / 0 invalid, stable diff vs
scratch/opus5-next150-before.json: gained 15 / 9,504 padded, regressions 0;
fake_match_scan 0 leads on all three files, matching HEAD.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 08:49:04 -07:00
Jonas VolmanandClaude Opus 5 71e4a5a771 weapons: retain verified credible source at zero credit
Packet P2 dependent: write the previously unwritten _weapon_place (208/4 fuzzy, sha-only residual from weapon_index/EBX liveness) using the scenario_weapon_datum owner type: clamp magazine 0 rounds to the definition maxima, set at-rest / cannot-be-garbage / does-not-accelerate flags, lift a non-at-rest weapon by 0.05. Zero strict credit. Full ninja build and stable sweep: 0 regressions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 09:02:41 -07:00
Jonas VolmanandClaude Opus 5 b929ac2336 weapons: 1 function(s) strict exact
Wave w1 landing, adversarially verified. exact: _animation_update. 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:05 -07:00
Jonas VolmanandClaude Opus 5 4060ae876b weapons: guard the overheat divide first; weapon_trigger_fire exact
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 21:15:16 -07:00
Jonas VolmanandClaude Opus 5 f94f6d7db8 weapons: restore the trigger/magazine state graph; 22 functions exact, trigger fire graph fuzzy
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 19:47:37 -07:00
Jonas VolmanandClaude Opus 5 f193dbbc8a weapons: write weapon_aim exact
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 19:19:54 -07:00
Jonas Volman 5d3444f799 Reconcile eighth 10K exact source batch 2026-09-13 02:47:59 -07:00
Jonas Volman c0673114e4 Match weapon function exports exactly 2026-09-09 11:53:29 -07:00
Jonas Volman c2561af50c Reconcile Fable inventory pickup and clean hull geometry 2026-09-06 00:33:07 -07:00
Jonas Volman c968a9d9dc Match safe weapons reconstruction trio 2026-09-01 17:20:24 -07:00
Jonas Volman 0ff4d41b01 Reject weapon residual with surplus COMDAT owner 2026-08-31 20:42:14 -07:00
Jonas Volman 1b25a20dde Reconcile safe TIFF, LRUV, camera, and weapon progress 2026-08-31 20:42:06 -07:00
Jonas Volman aaff13666f Audit Claude wave and admit provenance-safe progress 2026-08-31 16:48:01 -07:00
Jonas Volman 9f74e9937f Import 909 authenticated January and HCEA symbol names 2026-08-31 16:11:03 -07:00
Jonas Volman 179ea4a366 Recover small actor bitmap biped and weapon owners 2026-08-31 11:53:54 -07:00
Jonas Volman 8335af1092 Admit authenticated weapons zoom and score helper 2026-08-31 11:30:19 -07:00
Jonas Volman ee24686f1d Recover projectiles aiming quartet 2026-08-31 07:36:41 -07:00
Jonas Volman 9584608e7d Recover weapons exact sections 2026-08-20 13:46:05 -07:00
Jonas Volman a7e85c8cad Match weapon lifecycle functions 2026-07-15 08:37:42 -07:00
Berthalamew bc6663de55 unit additions (#34)
- add unit functions and associated dependencies
2026-07-01 00:15:19 +01:00
punpckhdq e830efbd7c Initial commit 2025-11-27 02:27:27 +00:00