Commit Graph
57 Commits
Author SHA1 Message Date
MrBruh aad8719ffc Fix client flags in the second game 2026-10-01 02:37:43 +13: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
MrBruh fd8fc72693 Count down the respawn timer on clients 2026-09-30 15:13:55 +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 f7cd2e722e Batch 4a: admit player_ui and sound_manager with their shared-header packets
player_ui (header prerequisite + admission; reviewer-amended):
- game_engine.h: the opaque game_variant view becomes the recovered January
  layout (universal/ctf/slayer/oddball/king/race variant members, HCEX names
  where January's offsets attest them); member renames across the game
  engine variants, network managers and playlist_profile.
- player_ui.h: player_ui_get_edit_playlist_profile returns struct game_variant *;
  ui_widget_game_data_input_functions adopts it (reviewer patch 07 removes the
  two C4133 warnings the worker's packet introduced).
- player_ui.c drops its partial playlist_profile view; symbols.json names
  player1_profile_path; rejection retired; status Matching.

sound_manager (shared header sound_definitions.h, 18 consumers):
- sound_definition_find_pitch_range_by_pitch takes HCEX `short old_range_index`
  with the /Od 0x877810 single-exit body (prototype and definition together).
- update_channel_for_looping_sound (1360) and sound_set_definition_end (208) are
  exact in the /Od-attested shape; 45 static flags per cachebeta publics; parks
  retired; status Matching.

Gate (full ninja, objdiff 3.3.1): Halo objects 375 -> 377; stable diff +2
strict / 1,568 padded, 0 regressions across both header consumer sets; parks
87/0/0; admission 11/0/4/0; fake scan 26 (unchanged); pytest 1157 passed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 02:21:50 -07:00
Jonas Volman a565219da1 Reconcile fifth 10K exact source batch 2026-09-09 22:29:33 -07:00
Jonas Volman fc8b19906d Prepare authenticated HUD renderer APIs and reconcile rasterizer callers 2026-09-04 17:33:19 -07:00
Jonas Volman cda32ef8be Reconstruct object cause damage 2026-09-04 10:40:22 -07:00
Jonas Volman cd5bed5a8b Salvage and admit Fable game_engine wave 2026-09-02 08:41:09 -07:00
Jonas Volman 60957d0cb2 Recover remaining small HUD frontier 2026-09-02 04:42:30 -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 67ccd49298 Recover Slayer score quartet 2026-08-31 08:58:39 -07:00
Jonas Volman b7381ca187 Restore symbol-backed validator and S3TC types 2026-08-31 04:09:55 -07:00
Jonas Volman d655a7e997 Reject fake inline exactness 2026-08-31 03:34:58 -07:00
Jonas Volman 677d098217 Recover Players callers without codegen steering 2026-08-30 23:42:05 -07:00
Jonas VolmanandClaude Fable 5 fdb6a89979 Match Units shared-interface package
Authorized three-correction interface package: private
unit_ready_desired_weapon, long animation-impulse formals with the natural
tester scratch, boolean game-engine damaged-player damage type. Six January
owners strict exact on the sole 33-TU emission; Units 174/189 code and
128/129 data; zero inherited losses across the closure.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-26 12:27:59 -07:00
Jonas Volman 8b7a83037d Remove game engine layout aliasing 2026-08-20 15:39:29 -07:00
Jonas Volman fb5c6a09a0 Correct game engine typed access 2026-08-20 15:16:39 -07:00
Jonas Volman 0049e1633b Match weapon definition list lookup 2026-07-25 22:35:46 -07:00
Jonas Volman 05e30cc953 Reconstruct game engine spawn rating cluster 2026-07-25 22:24:23 -07:00
Jonas Volman 4d7cf5475b Match game type filter 2026-07-25 21:54:13 -07:00
Jonas Volman c801d5ec6e Match game engine nondeterministic update cluster 2026-07-25 21:52:27 -07:00
Jonas Volman 5d7fd76ea6 Match game engine nav point rendering 2026-07-25 21:49:14 -07:00
Jonas Volman 579a81f221 Match game engine nonplayer post rasterize 2026-07-25 21:45:10 -07:00
Jonas Volman d276afc9ee Match game engine pickup dispatch 2026-07-25 21:34:32 -07:00
Jonas Volman 0c2ea667f5 Match game engine weapon fired hook 2026-07-25 21:19:59 -07:00
Jonas Volman a5e4031a7b Match game engine spawn distance rating 2026-07-25 21:13:03 -07:00
Jonas Volman 539517be38 Match game engine map initialization 2026-07-25 21:13:03 -07:00
Jonas Volman 3888a30f09 Match game engine man-out gate 2026-07-25 21:00:08 -07:00
Jonas Volman c8a6ed6dda Match custom motion sensor goals 2026-07-25 20:35:06 -07:00
Jonas Volman fbde70888c Match game engine goal and color getters 2026-07-25 20:28:23 -07:00
Jonas Volman 69e845216e Match named game variant lookup 2026-07-25 20:11:37 -07:00
Jonas Volman 87209fe0e7 Match game engine post-rasterize dispatch 2026-07-25 19:53:25 -07:00
Jonas Volman 23429c1137 Match Unicode game time formatting 2026-07-25 19:51:43 -07:00
Jonas Volman b964a94d6f Match game engine stealth weapon predicate 2026-07-25 19:11:48 -07:00
Jonas Volman 92e215e5c6 Match game engine playlist selection 2026-07-25 19:09:38 -07:00
Jonas Volman 9bd6db1d48 Match game engine math and flag leaves 2026-07-25 19:01:32 -07:00
Jonas Volman e7fc71bb9b Match game_engine_initialize
Byte-exact (96 bytes / 8 relocations): zeroes game_engine_globals, clears
postgame_state, and when given a variant with an engine type copies it into
global_variant, runs game_engine_variant_cleanup, and points game_engine at
the matching handler table in game_engines[]. Adds the game_engines[] extern
and a forward prototype for game_engine_variant_cleanup (signature inferred
from this call site: takes struct game_variant *). game_engine exact 57 -> 58.
2026-07-25 18:44:31 -07:00
Jonas Volman d9f394bdd8 Match game_engine_display_team_indicators
Byte-exact (48 bytes / 3 relocations): returns whether team indicators
should display -- game_engine present, a game_variant flag set, and teams
enabled. Follows the game_engine_has_teams donor shape (if (game_engine)
result = <expr>;) rather than a flat && chain, which reproduces the
January register schedule (has_teams read into the AL result register).

The tested flag is bit 1 of game_variant.flags, which had no name in the
enum; added as _game_variant_unknown1_bit = 1 (honest placeholder, matching
the codebase unused/unknown convention). game_engine exact 56 -> 57.
2026-07-25 18:44:31 -07:00
Jonas Volman 120941d994 Match game_engine message and statistics dispatchers
game_engine_statistics_append, game_engine_handle_client_message and
game_engine_handle_server_message: vtable tail-call dispatchers at handler
offsets 0x20/0x24/0x28, byte-exact (32 bytes / 1 relocation each). Total
game_engine exact 53 -> 56.

Each passes a single argument through to the handler, which is what forces
the /Oy- frame pointer that the no-argument dispatchers (e.g. game_ending)
omit. The argument type/count is byte-identical for any single 4-byte value
and is not constrained by any in-tree caller yet; typed as a best-effort
inference (long statistic / void *message).
2026-07-25 18:44:31 -07:00
Jonas Volman 31e4945495 Match game engine team score and player count 2026-07-16 15:12:07 -07:00
Jonas Volman d12cd0f310 Match game engine visibility and score helpers 2026-07-16 14:47:32 -07:00
Jonas Volman 0b7e8bfad0 Match game engine playlist and weapon helpers 2026-07-16 14:35:13 -07:00
Jonas Volman 67defb2112 Match game engine lifecycle and HUD helpers 2026-07-16 14:24:53 -07:00
Jonas Volman b1c28a3bcd Match game engine goal and override helpers 2026-07-16 14:09:56 -07:00
Jonas Volman 2911ee5a9a Match game engine rule and state helpers 2026-07-16 14:02:47 -07:00
Jonas Volman 9db8495c16 Match additional game engine interface wrappers 2026-07-16 13:53:52 -07:00