re: the debriefing and pilot-record screens; the save-screen block was already owned
Read-before-claiming caught one of the three. savegame-format.md already documents the shape AND this exact list -- the LOAD/SAVE screen's config key list is compiled into the executable as a pointer array of key strings, run starting 0x820A0074. sub_82286BC8's 18 names are that list (17/18 are a tables.pak field or record). Nothing new; residual PLAYER_AMMO_LESS_10, not a tables.pak name. The other two are new screens of the same shape and they close exactly. All names resolve into tables.pak: sub_822814D8 24/24, sub_8227A3A0 21/21. sub_822814D8 = the debriefing screen. 24 = 2 screen ids (STAGE_RESULT, EX_STAGE_RESULT) + 21 stage_* fields + one sound cue (SE_BOSS_CORE_CHARGE); the tables.pak STAGE_RESULT record has exactly 21 fields. sub_8227A3A0 = the pilot record / career screen. 21 = 5 screen ids (LAST_RESULT, EX_BASE, EX_MAIN, EX_OVERVIEW, OVERVIEW) + 7 ex_overview_* + 9 overview_*; the records EX_OVERVIEW and OVERVIEW have exactly 7 and 9 fields. 2+21+1 = 24 and 5+7+9 = 21, with 21/7/9 measured independently off the pak. The debriefing readout is nine num/points pairs plus three points-only lines: kills by class, objectives, clear time, shoot-down ratio and both damage categories carry a raw count and its score contribution, while friendly_fire, shoot_down_others and weight have no counter column -- the same partition mission-scoring.md measures on the settings side. OVERVIEW is the seven EX_OVERVIEW fields plus overview_rank and overview_medals. Not settled: what EX_ means (its ids have no record of that name), and PLAYER_AMMO_LESS_10. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
@@ -5244,3 +5244,51 @@ list. The function body was not read. And four of the five surfaced blocks are
|
||||
still unopened (`STAGE_RESULT`/`EX_OVERVIEW`; `g_mWorldViewProjection`/
|
||||
`NormalMap`; `Boss16Collision*`; `roh_n001_menu1_cam_pos`) — each grepped this
|
||||
iteration and each appearing in **no** document but my own.
|
||||
|
||||
---
|
||||
|
||||
## ✅ 2026-08-27 — the debriefing and pilot-record screens; the save-screen block was already owned
|
||||
|
||||
Item (a), the results/leaderboard blocks. New doc
|
||||
`docs/re/structures/result-screens.md`. Static only; no artefact changed.
|
||||
|
||||
⚠️ **Read-before-claiming caught one of the three.** `savegame-format.md` already
|
||||
documents the shape *and* this exact list: *"the LOAD/SAVE screen's config key
|
||||
list is compiled into the executable, as a pointer array of key strings — the
|
||||
same shape as the Arsenal's … match the pak record exactly"*, run starting
|
||||
`0x820A0074`. **`sub_82286BC8`'s 18 names are that list** (17/18 are a
|
||||
`tables.pak` field or record). Nothing new there; residual
|
||||
**`PLAYER_AMMO_LESS_10`**, not a `tables.pak` name at all.
|
||||
|
||||
✅ **The other two are new screens of the same shape, and they close exactly.**
|
||||
All names resolve into `tables.pak`: `sub_822814D8` **24/24**, `sub_8227A3A0`
|
||||
**21/21**.
|
||||
|
||||
* **`sub_822814D8` = the debriefing screen.** 24 = 2 screen ids
|
||||
(`STAGE_RESULT`, `EX_STAGE_RESULT`) + **21 `stage_*` fields** + one sound cue
|
||||
(`SE_BOSS_CORE_CHARGE`); the `tables.pak` `STAGE_RESULT` record has **exactly
|
||||
21** fields (2 objects, both 21).
|
||||
* **`sub_8227A3A0` = the pilot record / career screen.** 21 = 5 screen ids
|
||||
(`LAST_RESULT`, `EX_BASE`, `EX_MAIN`, `EX_OVERVIEW`, `OVERVIEW`) + **7
|
||||
`ex_overview_*`** + **9 `overview_*`**; the records `EX_OVERVIEW` and `OVERVIEW`
|
||||
have **exactly 7 and 9**.
|
||||
|
||||
`2+21+1 = 24` and `5+7+9 = 21`, with 21/7/9 measured independently off the pak —
|
||||
the arithmetic closes both ways.
|
||||
|
||||
🔑 **The debriefing readout is nine `num`/`points` pairs plus three points-only
|
||||
lines**: kills by class, main/sub objectives, clear time, shoot-down ratio and
|
||||
both damage categories carry a raw count *and* its score contribution;
|
||||
`friendly_fire`, `shoot_down_others` and `weight` have no counter column. Same
|
||||
partition `mission-scoring.md` measures on the settings side — that document owns
|
||||
the *rules*, this is the *readout*.
|
||||
|
||||
🔑 `OVERVIEW` = the seven `EX_OVERVIEW` fields **plus `overview_rank` and
|
||||
`overview_medals`**, which is what makes `EX_` the reduced variant of the same
|
||||
screen rather than a different one.
|
||||
|
||||
🟡 Not settled: what `EX_` means — `EX_BASE`, `EX_MAIN`, `EX_STAGE_RESULT`,
|
||||
`EX_FONT` are keys with **no record of that name**, so it is a screen-id
|
||||
convention, not a table. `PLAYER_AMMO_LESS_10` unexplained. And **two of the four
|
||||
surfaced blocks remain unopened** (`g_mWorldViewProjection`/`NormalMap` engine
|
||||
material slots; `Boss16Collision*` + `roh_n001_menu1_cam_pos`).
|
||||
|
||||
Reference in New Issue
Block a user