re: all 24 settings objects named -- stage\StageParameter_S<NN>.tbl
The queued item (the 29-object resource manifest) turned out to be already settled by challenge-mission-gate.md and stage-mission-tables.md, so the iteration moved to the open question those docs make answerable. Hashing EVERY string that appears in any IDXD object on the disc resolves all 24: StageParameter_S01..S16 (story), S24..S29 (challenge), StageParameter_ Tutorial shared by all six tutorials, and StageParameter_Test. 16+6+1+1 = 24, which is exactly why the settings family is 24 against 29 stage records. IsBoss16Enable confirmed independently: that object is StageParameter_S16. GravityFactor is non-zero in S10 (700), S11 (400), S03 (250), S27 (250); the three unscored objects are S24, S27, S28; the one without SplinterCell is _Test. Refuted on the way: TOC order is not stage order (the TOC is hash-sorted and the Boss16 object is 17th, not 16th), and neither the StageResource template nor a real 19-field record names the settings table. The AUTO_SETTINGS filenames are a different scheme -- none of the 28 hashes to any of these 24. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
@@ -67,18 +67,12 @@ difficulties) zero the multipliers, the penalties and `TimeBonus_Maximun`
|
||||
outright: missions that are not scored. Full per-object diffs are in the
|
||||
artefact.
|
||||
|
||||
## ❔ Which object is which stage
|
||||
## ✅ Which object is which stage — settled
|
||||
|
||||
Not settled. `AUTO_SETTINGS` names 28 files (`stage01…16`, `tutorial01…06`,
|
||||
`challenge01…06`, tags 1–16/18–23/24–29 — tag 17 absent, the cut S17), but
|
||||
**none of those 28 names resolves to any of the 24 objects** under 19 prefixes
|
||||
(bare, `stage\`, `Stage\`, `message\`, `settings\`, `2d\`, `ui\`, `system\`,
|
||||
`dat\`, `prt\`, `view\`, `language\`, `eng\`, `script\`, `Script\`, `mission\`,
|
||||
`Mission\`, `param\`, `Param\`). So either the settings files are loaded outside
|
||||
the pak namespace, or the scoring objects are keyed by something else entirely.
|
||||
**The 24-vs-28 puzzle is answered** by
|
||||
[`stage-settings-table.md`](stage-settings-table.md): the same pack holds a
|
||||
*second* family of **29** objects that also uses `Phase_1/2/3` — the resource
|
||||
manifest — so the settings family really is 24 and the 29 is a different table.
|
||||
The only per-stage handle found so far is `IsBoss16Enable`, present in exactly
|
||||
one object.
|
||||
All 24 are named `stage\StageParameter_S<NN>.tbl`, plus `_Tutorial` (shared by
|
||||
all six tutorials) and `_Test`. See
|
||||
[`stage-settings-table.md`](stage-settings-table.md); that also explains 24
|
||||
against the 29 stage records, and confirms the `IsBoss16Enable` object is S16.
|
||||
|
||||
⚠️ The names are **not** `AUTO_SETTINGS`'s `stageNN_settings.tbl`; none of those
|
||||
28 hashes to any of these objects.
|
||||
|
||||
@@ -17,6 +17,40 @@ same rendering fields again. `stage-definition-table.md` /
|
||||
`LodResource` / `MotionResource`. `SplinterCell` and `Difficulty_*` are owned by
|
||||
nothing.
|
||||
|
||||
## ✅ Every settings object is named — `stage\StageParameter_S<NN>.tbl`
|
||||
|
||||
**Settled 2026-08-27, 24/24.** Hashing **every string that appears anywhere in
|
||||
any IDXD object on the disc** (rather than guessing filenames) resolves all
|
||||
twenty-four:
|
||||
|
||||
| name | count |
|
||||
|---|---|
|
||||
| `stage\StageParameter_S01…S16.tbl` | 16 — the story campaign |
|
||||
| `stage\StageParameter_S24…S29.tbl` | 6 — the challenge missions |
|
||||
| `stage\StageParameter_Tutorial.tbl` | **1, shared by all six tutorials** |
|
||||
| `stage\StageParameter_Test.tbl` | 1 — the developer stage |
|
||||
|
||||
**That is exactly the 24, and it explains 24 against the 29 stage records**
|
||||
([`challenge-mission-gate.md`](challenge-mission-gate.md) counts 29:
|
||||
16 story + 6 tutorial + 6 challenge + `Test`): the six tutorials do not get one
|
||||
table each, they **share a single `_Tutorial` table**, and `_Test` accounts for
|
||||
the last. 16 + 6 + 1 + 1 = 24.
|
||||
|
||||
✅ **Independent confirmation of the `IsBoss16Enable` hook.** That field is
|
||||
present in exactly one object, and the object is `0xEECC84F2` =
|
||||
**`StageParameter_S16.tbl`** — predicted before the naming, confirmed by it.
|
||||
|
||||
⚠️ The names are **not** what `AUTO_SETTINGS` lists. That record names
|
||||
`stage01_settings.tbl` … `challenge06_settings.tbl`, and **none of those 28
|
||||
hashes to any of these 24 objects** under 19 prefixes. Two different naming
|
||||
schemes for stage-scoped parameters; only `StageParameter_*` is what the pak
|
||||
actually holds.
|
||||
|
||||
With the names in hand the earlier value findings acquire stages:
|
||||
**`GravityFactor` is non-zero in S10 (700), S11 (400), S03 (250) and S27 (250)**;
|
||||
the three objects that zero their score multipliers are **S24, S27 and S28**; and
|
||||
the one object without a `SplinterCell` record is **`_Test`**.
|
||||
|
||||
## ⚠️ Two different families both use `Phase_1/2/3`
|
||||
|
||||
Searching `GP_MAIN_GAME_E.pak` for objects containing a `Phase_1` record finds
|
||||
@@ -123,5 +157,4 @@ owns `MapPath`/`MapMesh` in the `Stage_SNN` records; what it does not say is tha
|
||||
the name recurs in the resource manifest's per-phase records.
|
||||
|
||||
## 🟡 Not settled
|
||||
* Which object is which stage, beyond the single `IsBoss16Enable` hook.
|
||||
* `SplinterCell Count 5` — name and value only.
|
||||
|
||||
Reference in New Issue
Block a user