re: the Stage 16 boss closed end to end; five disc fields the image never names

New doc docs/re/structures/stage16-boss.md joining three iterations' pieces: the
data object (player-tuning-tables), the collision table (collisionset) and now the
loader.

sub_82315AE8 r11 is the boss loader, and it says so itself: 558 instructions, one
call site (sub_82308AB8), and its 21-entry block is 19 field names plus the
Japanese error "the boss's laser shell ID could not be obtained".

Zero partials: every one of the 19 is a Guardian or Core field -- 16 of Guardian's
19, 5 of Core's 10, DamageLevel1/2 shared.  The boss reads as a rotating,
vertically-moving platform with a guard cycle, three shell ids (AAGun, Laser,
HomingLaser -- the Shell_S16Boss_* set) and a Core that periodically drops
lock-on.

The residual is the finding: 8 disc fields the loader never names, and five of
them are not strings in the executable at all -- InitHight (the game's own typo
for Height) and the four DamageLevel{1,2}Bomb{,Rand}Time.  Controls: ChargeTime
(10 chars) and GuardTime (9) are the same shape and both ARE present, so it is not
an extraction artefact; HP (2 chars) is below the extractor's floor (shortest row
is 6); Radius exists but is generic.

So the disc carries fields no code names -- the mirror image of the usual trap, a
loader naming a field the disc never values.  Whether they are read positionally
or are dead data is not settled.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
Claude (auto)
2026-08-27 23:32:09 +00:00
parent ced73c5488
commit e548db693e
3 changed files with 94 additions and 0 deletions

View File

@@ -5383,3 +5383,38 @@ coordinates as strings** (`757,228`, `903,343`, `1092,457`).
🟡 Not settled: none of the five was opened — this iteration produced the
shortlist, not the findings. The 224 non-table rows were not partitioned further
(XDK vs game engine vs noise).
---
## ✅ 2026-08-27 — the Stage 16 boss closed end to end; and five disc fields the image never names
Item (a). New doc `docs/re/structures/stage16-boss.md` joining three iterations'
pieces: the data object (`player-tuning-tables.md`), the collision table
(`collisionset.md`) and now the loader. Static only; no artefact changed.
✅ **`sub_82315AE8` `r11` is the boss loader, and it says so itself.** 558
instructions, **one** call site (`sub_82308AB8`); its 21-entry block is 19 field
names plus the Japanese error 「ボスのレーザー弾IDが取れていない」 — *"the boss's
laser shell ID could not be obtained"*.
✅ **Zero partials: every one of the 19 is a `Guardian` or `Core` field** — 16 of
`Guardian`'s 19, 5 of `Core`'s 10, `DamageLevel1`/`2` shared. The boss reads as a
rotating, vertically-moving platform with a guard cycle, three shell ids
(`AAGun`/`Laser`/`HomingLaser` — the `Shell_S16Boss_*` set) and a `Core` that
periodically drops lock-on.
🔑 **The residual is the finding: 8 disc fields the loader never names, and five
of them are not strings in the executable at all** — `InitHight` (the game's own
typo for *Height*) and the four `DamageLevel{1,2}Bomb{,Rand}Time`. **Controls:**
`ChargeTime` (10 chars) and `GuardTime` (9) are the same shape and both ARE
present, so it is not an extraction artefact; `HP` (2 chars) is below the
extractor's floor (shortest row is 6); `Radius` exists but is generic (3 copies,
used by many systems).
⇒ **The disc carries fields no code names** — the mirror image of the usual trap
(a loader naming a field the disc never values). 🟡 Whether they are read
positionally or are dead data is not settled.
🟡 Not settled: the other four shortlisted rows (`sub_823BDAA8` r11/r10 muzzle
frames + motion names, `sub_8219E560` leaderboard keys, `sub_825F2CF0`/
`sub_825F2F88` post-processing) are still unopened.