re: the static weapon datasheet -- Weapon, Shell, AssortMissileParam
The corpus's weapon numbers came from a runtime capture; the static tables are now read with no emulator. The move: IDXD field names are literal strings in the pool, so the stat-shaped keys already harvested from the disassembly (MegaTons, GuidanceType, SpiralType, ...) can be searched directly. 8648 records carry at least one, clustering on three record names in every per-language GP_MAIN_GAME_*.pak: Weapon 131 records, 21 fields -- the launcher Shell 131 records, 37 fields -- the projectile AssortMissileParam 9 records, 20 fields -- missile guidance 131, not the 59 of the WEAPONS roster: that roster is the arsenal menu's list, not the full set. Controlled negative in the same pass: stageNN_settings.tbl does not exist. AUTO_SETTINGS names 28; four path prefixes give 0/116 while both controls in the same loop are found. Also decoded: EnumUnit (54 unit ids tying eNNN/fNNN mesh prefixes to faction/class names), ArmsItemFile (59 weapon -> HUD icon mappings), SETTINGS (sound config), Parameters (HUD markers). New structure doc + artefact; ISL artefacts byte-identical.
This commit is contained in:
@@ -99,6 +99,7 @@ files, which is how the same ground got covered twice.
|
||||
| [`structures/sound-cue-table.md`](structures/sound-cue-table.md) | The cue index in `tables.pak` — message id -> cue -> sound id -> `.slb` bank | ✅ CONFIRMED, 1 326/1 338 script message ids bind to a bank; SOUNDS and FILES agree on the same 12 absentees, 0 orphan files |
|
||||
| [`structures/cutscene-message-table.md`](structures/cutscene-message-table.md) | Cutscene dialogue — speaker, portrait, on-screen seconds, audio cue per page | ✅ CONFIRMED, field count = 9·PageCount+2 for all 7 PageCounts, 1 252/1 252 caption keys match, 138 ids close both ways |
|
||||
| [`structures/isl-mission-timer.md`](structures/isl-mission-timer.md) | The mission timer — two sequential countdowns, not a limit and a warning | ✅ CONFIRMED — read from `sub_822639B8`; the threshold reading is |
|
||||
| [`structures/weapon-datasheet-static.md`](structures/weapon-datasheet-static.md) | The static weapon datasheet — `Weapon`, `Shell`, `AssortMissileParam` | ✅ CONFIRMED — 131 Weapon + 131 Shell + 9 AssortMissileParam records read |
|
||||
| [`structures/isl-timers.md`](structures/isl-timers.md) | A ScriptPhase owns 32 stopwatches, and they count seconds | ✅ CONFIRMED — the advance is read from `sub_822710D0`, the unit from |
|
||||
| [`structures/isl-message-dialogue-link.md`](structures/isl-message-dialogue-link.md) | Mission scripts as dialogue — built-in 64 -> message id -> caption text | ✅ CONFIRMED total, 2 683/2 683 call sites across all 28 stages resolve, no residue |
|
||||
| [`structures/mission-objective-counter.md`](structures/mission-objective-counter.md) | `REMAINING OB` — the mission's own objective counter, in RAM | ✅ CONFIRMED for one Stage 02 run: a big-endian u32 whose value |
|
||||
|
||||
Reference in New Issue
Block a user