Files
verstack/docs/asset-correlation.md

4.9 KiB

Asset names and script references

Investigated the imported King Kong Pro 0.97.0 and Pokémon LE 0.81.0 releases on 2026-09-13. Several useful relationships are already present in the retained files. They can support aliases, tags, and “used by” navigation while keeping original paths and decoder record IDs as stable evidence.

Source Verified finding Organization it supports
Radium scene descriptors King Kong's attract-video scene resolves 15 references to archived files; its in-game-video scene resolves 413. Pokémon resolves 15 and 214 respectively. Group assets by scene and by attract/in-game use. These are scene memberships, not unique descriptive names for each clip.
Godot resource remaps Exact .import / .remap paths connect original resource names to exported package entries. Of the literal paths found in recovered scripts, 14 resolve to package entries and nine resolve onward to decoded image previews. Original resource names, source folders, and scripts that use each resource.
Godot scripts All 52 Pokémon scripts recovered and passed compile/decompile source-text equality checks. SpikeSoundIds declares 760 sound-event constants. Script navigation, event labels, and the starting points for tracing sound requests.
Pokémon data table data/pokemon_data.txt is a CSV with character number, name, energy types, biome, and other game fields. Scripts reference character-image directories and named sprites. Character-oriented grouping, once each dynamic path construction is checked.
Fonts Loose TTF filenames retain family names; Godot .import files map named fonts to .fontdata entries. Radium scenes contain font names such as Stern_Impact and HelveticaNeueBlack. Font-family labels and scene usage. A named bitmap font is not automatically the same asset as a loose TTF.
Package index The Pokémon .sidx contains package file paths. File membership and integrity references. No sound-index naming map was established from it.

The current catalog preserves container paths, entry names, hashes, offsets, and sound/bitmap record indices in extraction evidence. Its asset search mostly uses logical paths. It does not yet provide a general asset-to-string or asset-to-code-reference index.

For example, a script reference to res://gfx/char_3_up/left/001_BULBASAUR_LEFT_3up.png resolves through its Godot import descriptor to the exported texture and then to the decoded preview. That is an exact path-based relationship. A scene containing DANGER and TILT offers useful scene labels, but those strings alone do not establish a one-to-one name for every image in the scene.

The pinned SPIKE 2 decoder includes a Sound Test naming resolver. I tested it against King Kong 0.97.0 and obtained no validated name map. Pokémon's readable sound-event constants also do not directly give WAV record numbers. The next step for sound naming is tracing the native game's event-name/ID resolver to container records, retaining executable addresses and the exact build identity. Displayed menu numbers, event IDs, and extraction indices require separate fields.

A practical next implementation is an asset-relations index with label, relation (for example, used-by-script or member-of-scene), source snapshot, source path/offset, target asset identity, and confidence. Exact path and container links should be available as ordinary filters; scene context and unresolved string candidates should be visibly distinguished. Content hashes can transfer confirmed labels to identical assets in another release without assuming that unchanged record numbers imply unchanged content.

Godot recovery is now implemented as the godot-scripts import stage. In the workbench, open Browse assets → Scripts for a folder list, read-only syntax highlighting, complete source preview up to 8 MiB, in-script search, and source downloads. A recovery report records coverage failures, engine version, input and output hashes, validation, and literal resource references. The stage runs before media decoding and is added when retrying older imports. The imported corpus currently contains one Godot PCK, in Pokémon 0.81.0.

The adapter uses the pinned official Godot RE Tools 2.6.4 release. The upstream tool supports script recovery and binary/text resource conversion; Godot also documents resource dependency enumeration, which is a useful route for expanding scene-to-resource relationships.

Local receipts: data/validation/asset-correlation/exact-asset-links.json, scene-correlation-samples.json, godot-script-resource-references.json, and king-kong-sound-names.json. The source-preview browser check is recorded in data/validation/godot-scripts-browser.json with a corresponding screenshot.