re: decode the config records -- render/input constants, and a correction

parse() + named() on each named record (data/config-records.txt).

The find, directly portable: Rendering carries the tone-mapping and
bloom numbers (Brightness 1.4, Contrast 1.0, ExposureKeyValue 0.18,
BrightPassThreshold 0.6, LuminanceMin/Max 0.15/3.6, BloomScale 0.5,
AfterimageScale 0.05, StarScale 1.20, GlareType 8), ControlTweak the
input constants (CameraSpeed 0.50, TargetSpeed 0.50, TargetMovingRange
-10..10, mov_trigger_play 20, eye/mov_stick_play 6000), and Camera
NoseCameraFOV 0.92 / ChangeTime 0.20.

Corrects my own last entry: WEAPONS is a 59-entry NAME ROSTER, not a
stat sheet, and UNITS is not units at all -- seven craft-slot/pilot
pairs, the wingman roster.  IGNORE is a 13-name blocklist over the
weapon enumeration.

AUTO_SETTINGS lists exactly 28 stageNN_settings.tbl files -- a third
independent confirmation of the 28-stage count.

The objective-shaped records are UI: SUB_OBJECTIVE is a HUD layout (two
variants ship), SQUADRON_ORDER_OBJECT is 29 .prt sprite names, MISSIONS
holds the challenge categories, STAGES has zero fields.

Docs + one new artefact; ISL artefacts byte-identical.
This commit is contained in:
Sylpheed RE agent
2026-08-27 12:02:13 +00:00
parent 37cb1b49d6
commit d082ef15ee
3 changed files with 345 additions and 0 deletions

View File

@@ -748,6 +748,44 @@ unknown, what evidence exists, and what the first step would be. Move an item in
`GP_HANGAR_ARSENAL.pak` is a pointer, not a decode; the field-level read is a
separate job per table.
* ✅🔴 **(2026-08-27) THE CONFIG RECORDS ARE DECODED — real render/input constants
for the port, and my "canonical weapon/unit definitions" guess was half wrong.
Artefact `data/config-records.txt`,
[structures/isl-condition-builtins](structures/isl-condition-builtins.md).**
**The find — directly portable constants:**
`Rendering` = `Brightness 1.4`, `Contrast 1.0`, `Saturation 1.00`, `Hue 0.00`,
`ExposureKeyValue 0.18`, `BrightPassThreshold 0.6`, `BrightPassOffset 1.5`,
`LuminanceMin 0.15`, `LuminanceMax 3.6`, `BloomScale 0.5`,
`AfterimageScale 0.05`, `StarScale 1.20`, `GlareType 8`, `ColorLayer R/G/B/A`.
`ControlTweak` = `CameraSpeed 0.50`, `TargetSpeed 0.50`,
`TargetMovingRange 10.0…10.0`, `mov_trigger_play 20`, `eye_stick_play 6000`,
`mov_stick_play 6000`. `Camera` = `NoseCameraFOV 0.92`, `ChangeTime 0.20`.
These are the game's own tone-mapping, bloom and input-deadzone numbers.
🔴 **Correction to my own last entry.** I said `GP_HANGAR_ARSENAL.pak` holds
"the canonical weapon/unit definitions". **`WEAPONS` is a 59-entry NAME ROSTER**
(`No_Equipment`, `Machiene_Cannon_MG1`, `Broad_Sword_SG1`, `Frail_GP37`,
`Stiletto_BG1`, `Pilum_BP`, …) — an enumeration of ids, **not a stat sheet**.
And **`UNITS` is not units at all**: seven craft-slot↔pilot pairs —
`Bird1-Sandra`, `Bird2-Billy`, `Bird3-Antonius`, `Bird4-Carl`,
`Rhino1-Raymond`, `Rhino2-Katana`, `Rhino3-Ellen`**the wingman roster**.
**`IGNORE` is a 13-name blocklist** over that enumeration
(`Long_Spear_HBP`, `Twin_Saber_LG2H`, `Eagle_120AM`, `Maelstrom_Bomb`,
`Cluster_Mine_B10`, plus placeholders `Wep_82`, `Wep_85`) — weapons that exist
but are withheld.
🔑 **`AUTO_SETTINGS` lists exactly 28 files** (`stage01_settings.tbl`
`stage29_settings.tbl`) — a **third independent confirmation of the 28-stage
count**, after the `.ssb` census and the `UnitGroup_SNN.tbl` probe.
🟡 **The "objective" records are UI, not gameplay.** `SUB_OBJECTIVE` is a HUD
layout (`MAX_OBJECTIVE_OFFSET 353,242`, `TEXT_OFFSET 85,271`,
`NUM_QUALIFY_OFFSET 309,242`, `DOT_OFFSET 0,20`) with a **second variant** in
one pak (`275,222` / `85,251` / `231,222` / `0,0`), so two layouts ship.
`SQUADRON_ORDER_OBJECT` is 29 `.prt` sprite names. `MISSIONS` holds
`TimeAttack`, `ScoreAttack`, `Extra01``Extra04` — the **challenge**
categories, not the campaign. `STAGES` has **zero** fields.
🟡 Not settled: where weapon/unit STATS live — the roster names an enumeration,
and the corpus's existing weapon datasheet came from a runtime capture, so the
static table behind it is still unlocated.
## ✅✅ SOLVED — the mission freeze was a modal sign-in dialog (2026-08-26)
`XamShowSigninUI` opens a modal dialog and `xeXamDispatchDialog` blocks the