Commit Graph
54 Commits
Author SHA1 Message Date
xshxdex98 7df9be7785 Give unset locals values, and drop the decompiler's dated audit notes
25 notes ("left unassigned only by this default arm ... approval pending,
2026-09-27 audit") argued that a variable was never read unset. Where the
arm ends in system_exit they were right and simply go. A release build's
assertions return, though, so where the arm only asserts the variable now
starts with a value (a Custom Edition map's HUD data can reach hud_draw's).
A failed map precache reads as failed.

rasterizer_debug_drawing_begin had two declarations, one with an argument
its definition never takes; it now has one, and the port's macro papering
over the mismatch is gone.

(cherry picked from commit 74f8a048e4c3cc7dbc4b050dd41a8bae912bb367)
2026-10-10 12:53:22 +13:00
MrBruh d7efd3934a Validate map tags before loading 2026-10-07 12:01:09 +13:00
xshxdex98 8610b28376 Co-op: doors and elevators are where the host has them
The host sends each device's position and power when they change (and with
the resent state), and a client puts its device there when the host's is at
rest and they differ, or when they drift apart while it moves. Clients only
had the device groups' values, which aim a device: a door could stop half
open, and an elevator be somewhere else on a client, so its players fell.
2026-10-05 06:36:27 -05: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
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 59757f4263 Reconcile approved type ownership, static locals and source disclosures
Independently gate storage + K, OQ-4 P-a/P-b1, four static-local packets and comment-only disclosures. Preserve all 7641 exact owner rows, 71 valid parks and 1161 passing tests; code/data credit unchanged. G and game_engine admission remain held because current canonical loses populate_statistic_buffer. Existing collision static-local repair is not duplicated. No donor tree, held candidate, scorer or private asset imported.
2026-09-27 05:17:27 -07:00
Jonas VolmanandClaude Opus 5 51c94f13e5 Harvest per-function donor bodies: 11 functions strict exact
Per-function transplant of historical and worktree donor bodies into the
current tree (whole-blob mining had rejected them for unrelated losses).
Each landing is the minimum hunk, strict exact in its whole-TU gate with
zero inherited losses, and reviewed for house rules and hard holds:
- helper spellings replace hand-expanded math (_device_frontfacing,
  _point_in_triangle3d, _actor_look_valid_aim/look_vector)
- _pill_test_vector3d normalizes directly into the output normal
- natural control-flow/declaration forms reopen five parks
  (_structure_cluster_mark/unmarked, __rasterizer_widget_draw_sprite2d,
  _rasterizer_set_model_skinning, _ai_handle_editing)
- two byte-proven non-UB original bugs kept under the documented
  original-bug policy with BUG comments (_ai_handle_editing unscaled
  csmemmove counts, _ai_scripting_follow_target_ai repeated name)

Stable diff vs 9062b1e96: +11 functions, 0 regressions; parks 268 -> 263.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 10:37:04 -07:00
Jonas Volman d6250fa794 Reconcile sixth 10K exact source batch 2026-09-12 12:36:44 -07:00
Jonas Volman 2d5cd93c77 Reconcile device debug and lens flare rotation 2026-09-09 12:11:14 -07:00
Jonas Volman 105d9acaac Reconcile 10K exact-byte Claude batch 2026-09-09 00:07:34 -07:00
Jonas Volman 1b33bdd4c6 Reconcile Devices export and three source-authentic Xbox closures 2026-09-06 12:50:07 -07:00
Jonas Volman f2bf10c0d1 Reconcile four source-reviewed Opus Devices functions 2026-09-06 12:11:27 -07:00
Jonas Volman d556ba5304 Recover HUD damage and device/input updates with verified owners 2026-09-04 16:33:36 -07:00
Jonas Volman 4795da4089 Recover device, input, HUD and game leaves without exact regressions 2026-09-04 15:43:51 -07:00
Jonas Volman 1696351f33 Match device accessor trio 2026-09-04 00:35:58 -07:00
Jonas Volman 44e8970534 Match device touch and group deletion 2026-09-04 00:26:21 -07:00
Jonas Volman 677d098217 Recover Players callers without codegen steering 2026-08-30 23:42:05 -07:00
Jonas Volman 0b023e270a Match device group actual-value propagation 2026-08-29 16:50:58 -07:00
Jonas Volman 4217698743 Match device runtime-group deletion 2026-08-29 16:41:06 -07:00
Jonas Volman 5d8ec8b8a6 Match device group initializer 2026-08-29 16:26:18 -07:00
Jonas Volman 1c9fb1573e Match device group change-only-once setter 2026-08-29 16:03:27 -07:00
Jonas Volman ec3faec3e5 Match devices new-map initialization 2026-08-26 04:45:33 -07:00
Jonas Volman 61c555bbe9 Match device group getter and constructor 2026-08-21 13:49:58 -07:00
Jonas Volman ff3d6b7282 Recover devices position setters 2026-08-21 12:28:22 -07:00
Jonas Volman d6f18a31ff Match devices old-map disposal 2026-08-21 07:03:12 -07:00
Jonas Volman c624bd1fa7 Recover exact device typed leaves 2026-08-20 23:57:18 -07:00
Jonas Volman 14028884e1 Match player device action selection 2026-07-25 21:48:43 -07:00
Jonas Volman 4b58bda7e6 Match control activation handlers 2026-07-15 14:31:23 -07:00
Jonas Volman c9ea1b65af Match devices disposal 2026-07-15 08:36:51 -07:00
Jonas Volman 1cd3d6fc5a Match device machines object 2026-07-14 21:16:47 -07:00
Jonas Volman 3f67a49885 Share scenario device placement data 2026-07-14 20:54:59 -07:00
Jonas Volman add08ccded Reconstruct exact control placement 2026-07-14 20:53:59 -07:00
Jonas Volman cde78ae467 Reconstruct machine damage opening 2026-07-14 20:52:03 -07:00
Jonas Volman 3a51e0c99a Reconstruct exact machine initialization 2026-07-14 20:50:55 -07:00
Jonas Volman df7cdc4cd3 Reconstruct exact machine placement 2026-07-14 20:49:37 -07:00
Jonas Volman b7da6853db Reconstruct typed machine bump handling 2026-07-14 20:46:17 -07:00
Jonas Volman 3473ba8a24 Reconstruct typed control validation 2026-07-14 20:45:01 -07:00
Jonas Volman 0cf26ffb6d Reconstruct control lifecycle leaves 2026-07-14 20:43:52 -07:00
Jonas Volman 21f1675ec6 Reconstruct machine lifecycle leaves 2026-07-14 20:42:14 -07:00
Jonas Volman 3cd314ca3b Align typed accessors with HCEX conventions 2026-07-14 19:03:06 -07:00
Jonas Volman 70887b1edf Apply project function definition style 2026-07-14 17:31:18 -07:00
Jonas Volman 38ba8b8820 Match light_fixture_update 2026-07-14 17:29:46 -07:00
Jonas Volman 675998759e Match light_fixture_delete 2026-07-14 17:29:45 -07:00
Jonas Volman ef01e31851 Match light_fixture_new 2026-07-14 17:29:44 -07:00
Jonas Volman 4644bfe73b Match light_fixture_place 2026-07-14 17:29:42 -07:00
Jonas Volman d0bc90f945 Match light_fixtures_dispose_from_old_map 2026-07-14 17:29:41 -07:00
Jonas Volman 21e2dcd912 Match light_fixtures_initialize_for_new_map 2026-07-14 17:29:39 -07:00
Jonas Volman 4ff077c510 Match light_fixtures_dispose 2026-07-14 17:29:38 -07:00
Jonas Volman 9d1f461c57 Match light_fixtures_initialize 2026-07-14 17:29:36 -07:00