Uninitialised locals get values (debug vertex, datastore result, index
buffer, map tool direction, AI entry points, escape alignment, grenade aim
from a vehicle, game options descriptions, unreachable switch arms), the
AI's squad and platoon records move whole, a speech cause point is read,
the geosphere's out-of-memory path frees itself, a console cond clause
without a result is refused, and the crash reporter rejects truncated map
files. Gameplay the original game has, kept so it plays the same, is noted
in a line rather than a page.
(cherry picked from commit 75afc4a1e57af2ba697e8be0e33b2afeee7639f8)
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.
- _connected_geometry_add_triangle: declare+init, short-index for loops
with the modulo edge neighbour, single-exit NONE result
- _render_inverse_transform_screen_point in xbox_texture_cache and
xbox_sound_cache: add_vectors3d(frustum apex, global_zero_vector3d)
replaces the hand-expanded origin sum (both park reopens; select-any
_add_vectors3d COMDAT, A30 class). The static helper's January register
convention returns at both callers; their fuzzy parks
_texture_cache_debug_render and _sound_cache_debug_render are
re-measured (non-exact before and after, objdiff slightly closer).
Stable diff: 0 regressions; active parks 222 -> 220.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>