Commit Graph
80 Commits
Author SHA1 Message Date
MrBruh 8fca9ef427 Mark the short camera track fallback as the port's
#152's fallback gets a port: comment and includes cseries/errors.h, as the rest of source/ does, and clamps t with PIN; a pitch not a number still samples the first point.
2026-10-08 15:04:27 +13:00
justinfilip 8fccabed25 Keep a following camera valid when a track has fewer than four control points. 2026-10-07 11:01:36 -05:00
MrBruh 7d0e587c51 Co-op review fixes 2026-10-05 21:02:04 +13:00
xshxdex98 8194c5a00b Online co-op: play the campaign together over LAN and the internet
Hosting a co-op level from the Map screen (CO-OP CAMPAIGN, a level and its
difficulty, then Server Setup) makes a network game on the campaign map
with no game engine, which is what co-op is. Only the host runs the
scripts and the AI; port/linux/game/network_coop.c sends clients what the
scripts do (cutscenes, camera, fades, HUD, sounds, devices, named objects,
animations), and network_actors.c drives the host's AI units on every
machine. Players spawn beside each other, respawn beside a safe teammate,
and spectate while dead or waiting. Skipping a cutscene is a vote.
Players can join a game in progress at any time.
2026-10-05 00:31:30 -05:00
eltanschauung fb1abedd8b Keep dead camera target when no living player exists 2026-10-04 20:32:59 -04:00
MrBruh 71ae1f47bc Fix seventh netcode review 2026-10-01 12:03:52 +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
Jonas Volman 30f71413c1 Restore evidenced physics predicates and observer time powers 2026-09-27 12:42:44 -07:00
MrBruh b0e3bc96e3 Fix framerate-dependent timing 2026-09-27 19:23:44 +13:00
Jonas VolmanandClaude Opus 5.5 b9a8d587a0 Batch 3: admit twelve objects; four exact functions; verified storage and data fixes
Objects admitted (Halo 363 -> 375), each with an independent adversarial review:
units (first-party names incl. the reviewer-corrected unit_vectors_are_valid, 49
static flags, '$'-defect data entry), collision_debug (/Od helper calls),
render_objects (b807f9f6 provider packet), editor_flying_camera
(_editor_camera_set_position_and_roll 432, storage + grouped entry re-pin),
rasterizer_xbox_shadows (shadow_model_draw 688), cache_files_windows
(open_cache_files 752), light_volumes (light_volume_render 912, reviewer-amended
/Od declaration order), actor_firing_position, path, biped_limp_noodle (HCEX file
statics), leaf_map and model_animations (/Od helper calls replace hand expansions).

Zero-credit/data: path_structure_bsp HCEX tables (+200 data), hud_nav_points
storage, first_person_weapons patch A (park re-baselined).

Gate (full ninja, objdiff 3.3.1): stable diff +4 strict / 2,784 padded, 0
regressions; parks 89/0/0; admission 11/0/5/0; fake scan 26 (new lead is the
/Od-attested empty then-arm in the still-parked fpw update); pytest 1157 passed;
diff --check clean. Ledger: docs/object_matching_logs/claude_fifty_objects_20260925.md
(adds the Layer 2 owner-ruling disclosure, tallies and held items).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 23:53:28 -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 5019c1861a camera: recover private editor state and three exact functions 2026-09-23 16:51:11 -07:00
Jonas Volman b0992d0ebe Admit nine verified Halo object closures 2026-09-23 14:25:38 -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 06e5f0e5fa Wave 15: six functions strict exact (hs, animations, stimulus, caches)
- _hs_compile_and_evaluate: calls the real static hs_compile_source_error
  helper with no source file instead of a hand-written copy (January
  inlines the helper here, leaving its dead loop's alignment pad), reuses
  the expression parameter; formerly recorded as unreachable
- _inverse_kinematics_adjust_matrices: named squared upper-arm length and
  consistent basis-row locals (park reopen)
- _actor_stimulus_prop_acknowledged: MAX clamps, DATUM_INDEX_TO_ABSOLUTE_INDEX,
  January's ternary polarity (park reopen)
- _lrar_allocate: found-flag loop allocating inside the fitting arm, as the
  sibling _lra_allocate (park reopen)
- _prop_add: reads the dead field back and binds the actor lookup
- _director_script_camera: real director_set_camera helper call and the
  admitted bare director_get validation (park reopen)

Stable diff: 0 regressions; active parks 213 -> 209.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 20:44:59 -07:00
Jonas VolmanandClaude Opus 5 0e65f0f8be Wave 8: three functions strict exact (main, observer)
- _main_load_last_solo_map: MIN clamp on the terminator index (house rule 18)
- _main_get_window_count: named single-window predicate and a PIN of the
  local player count (reopens its park)
- _observer_update_command: timer/last-timer/flag pointer walk mirroring
  the exact sibling observer_update_velocities (reopens its park)

Rejected: _observer_update_positions (same-value carrier copy of
remaining_time), _main_crash (January writes through a null pointer),
_effect_generate_part (mismatched csprintf varargs).
Stable diff: 0 regressions; parks 236 -> 234.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 15:23:27 -07:00
Jonas VolmanandClaude Opus 5 d83babe7bc director: 1 function(s) strict exact
Wave w2 landing, adversarially verified. park reopens: _director_update_controls. 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:36 -07:00
Jonas VolmanandClaude Opus 5 1a8ceaf441 editor_flying_camera: 1 function(s) strict exact
Wave w1 landing, adversarially verified. park reopen: _editor_camera_orbiting_update (adds the genuine director.h include). The verifier-accepted split variant (_editor_camera_update reopen and three parked-body refreshes) needs a names-only symbols.json change and is held for the config packet. 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:54 -07:00
Jonas VolmanandClaude Opus 5 32009865ac observer: name observer tuning tables; write collision_test_differential and reopen six observer functions exact
symbols.json names the observer maximum-acceleration table, sine_region_angle and the parameter / derivative real-count tables (HCEA names, static; separate statics proven by the 2-byte alignment gap). Writes the unwritten collision_test_differential and reopens collision_test_with_t (single result flag), check_penetration, postcheck and the acceleration/velocity/polynomial integrators. 6 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 Volman d6250fa794 Reconcile sixth 10K exact source batch 2026-09-12 12:36:44 -07:00
Jonas Volman a7a32f6c75 Reconcile Claude owner packets and add 10K exact bytes 2026-09-08 03:21:09 -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 8b49dbf795 Reconstruct Director frame update cluster 2026-09-03 05:03:21 -07:00
Jonas Volman 85e9907225 Reconstruct Director camera loading 2026-09-03 04:37:39 -07:00
Jonas Volman 7055eee35a Match and reconcile main loop
Reconstruct _main_loop from the exact Claude packet using semantic helper names, authentic types, and owner-header prototypes. Keep collision timing declarations behind the collision debug/log boundary so units.obj remains exact.
2026-09-01 17:20:02 -07:00
Jonas Volman 52d3d0ca2e Reconstruct particle rendering pipeline 2026-08-31 23:06:04 -07:00
Jonas Volman c63cce99ae Reconcile safe wave with frozen residual rulings 2026-08-31 20:42:11 -07:00
Jonas Volman 1b25a20dde Reconcile safe TIFF, LRUV, camera, and weapon progress 2026-08-31 20:42:06 -07:00
Jonas Volman 9f74e9937f Import 909 authenticated January and HCEA symbol names 2026-08-31 16:11:03 -07:00
Jonas Volman 11ca9bb2f5 Correct thread ownership and recover camera names 2026-08-31 12:46:57 -07:00
Jonas Volman ee62f36f1f Integrate audited Claude small-object recoveries 2026-08-31 06:55:10 -07:00
Jonas Volman 677d098217 Recover Players callers without codegen steering 2026-08-30 23:42:05 -07:00
Jonas Volman 262d232dc9 Recover Director camera selection helpers in C 2026-08-30 23:01:10 -07:00
Jonas Volman decf689cb5 Replace Director assembly transcription with credible C 2026-08-30 22:39:31 -07:00
Jonas Volman 3190b16707 Match observer structure BSP reconnect 2026-08-30 01:42:47 -07:00
Jonas Volman b81599e508 Match editor camera constructor 2026-08-29 16:41:26 -07:00
Jonas Volman adc06ea078 Match editor camera speed step 2026-08-29 16:19:29 -07:00
Jonas Volman 7142438991 Complete camera scripting object 2026-08-28 09:57:47 -07:00
Jonas Volman af39abafcd Match editor camera focus and roll helpers 2026-08-21 07:53:06 -07:00
Jonas Volman 8c7f51ffed Recover scripted camera leaf wrappers 2026-08-20 23:56:22 -07:00
Jonas Volman 188aca9523 Recover dead camera helper sections 2026-08-20 13:09:11 -07:00
Jonas Volman 9b7f8c54eb Match bored camera object 2026-08-13 04:59:17 -07:00
Jonas Volman a8114eb7ea Match following camera object 2026-08-13 04:48:12 -07:00
Jonas Volman dbe462d56d Match orbiting camera object 2026-07-29 13:57:25 -07:00
Jonas Volman f40fc39dd9 Transfer proven AI and camera helper shapes 2026-07-18 10:09:59 -07:00