Commit Graph
11 Commits
Author SHA1 Message Date
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 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 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
Jonas Volman db18a1e998 Admit exact cluster partitions object 2026-08-20 09:30:37 -07:00
Jonas Volman f0a592ebd4 Reconstruct reference list copy 2026-07-17 20:35:49 -07:00
Jonas VolmanandClaude Opus 4.8 a740342193 Match cluster partition first data reference helper
Reconstruct code_00180fa0 as the static cluster-first-data-reference
lookup used by cluster_partition_reconnect, disconnect and
get_first_datum. VC7 inlines all three call sites, reproducing the
previous literal expansions byte for byte, and still emits the
unreferenced COMDAT copy with its register convention
(cluster_index in SI, partition on the stack), matching the January
object exactly: 0x50 padded bytes and all 5 relocations.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 20:43:26 -07:00
Jonas Volman 4874b9b055 Match cluster partition lifecycle and copy 2026-07-16 18:39:25 -07:00
Jonas Volman da6e9ad237 Match cluster partition spatial updates 2026-07-16 17:33:40 -07:00
Jonas Volman 4c7194c493 Match cluster partition allocation and traversal 2026-07-16 17:11:17 -07:00
punpckhdq e830efbd7c Initial commit 2025-11-27 02:27:27 +00:00