Files
pokemon_pinball_wiki/game-asset-spoilers-unreleased.md
2026-07-07 00:25:38 -05:00

13 KiB

Game Asset Spoilers and Possible Unreleased Features

Scope

This page is a static, evidence-backed spoiler inventory from the extracted Pokemon SPIKE 3 rootfs. It uses the installed V.83 release notes, extracted Godot assets, decoded Godot script strings, Radium sound-name manifests, ASR draft labels, and native /games/pokemon_pro/game strings. I did not execute target AArch64 binaries.

Important confidence boundary: release-note entries are confirmed shipped in this rootfs. Native strings and Godot/Radium asset names confirm the content exists in the image, but do not by themselves prove the feature is reachable in normal gameplay. Rows marked catalog_offset_candidate are audio-name candidates from the documented Radium catalog-offset analysis, not native-confirmed registrations.

Evidence Sources

  • /games/pokemon_pro/data/pro_release_notes.txt and /games/pokemon_pro/data/premium_release_notes.txt: installed V.83 release notes.
  • /games/pokemon_pro/assets/godot/main.pck, extracted to assets/godot_raw/ and summarized in assets/manifest.json.
  • assets/godot_raw/data/pokemon_data.txt: Pokemon data table used by the Godot PokemonData autoload.
  • analysis/godot-introspection/gdc_strings.tsv: strings recovered from compiled Godot .gdc scripts.
  • analysis/godot-introspection/gdc_sound_refs.tsv: recovered SE_* sound constants from compiled Godot scripts.
  • analysis/radium-image/pokedex_voice_label_manifest.tsv: aligned Radium Pokedex voice clips.
  • analysis/radium-image/catalog_offset_candidate_labels.tsv: Radium catalog-offset candidate sound labels.
  • analysis/all-sound-best-name-manifest.tsv: best available sound aliases, including ASR-derived draft labels.
  • analysis/static-triage/game.strings: offset-tagged strings from /games/pokemon_pro/game.

Useful commands used for this pass:

python3 - <<'PY'
import csv, collections
rows=list(csv.DictReader(open('assets/godot_raw/data/pokemon_data.txt', newline='', errors='replace')))
print(len(rows), collections.Counter(r['in_game'] for r in rows), collections.Counter(r['collectable'] for r in rows))
PY

python3 - <<'PY'
import csv
rows=list(csv.DictReader(open('analysis/godot-introspection/gdc_sound_refs.tsv', newline='', errors='replace'), delimiter='\t'))
for p in ['SE_PK_FX_TEAM_ROCKET_MULTIBALL_3','SE_PK_FX_STORY_WIZARD_LUCARIO','SE_PK_FX_EEVEE']:
    print(p, len({r['sound_name'].strip() for r in rows if r['sound_name'].strip().startswith(p)}))
PY

rg -n "TEAM ROCKET MULTIBALL 3|PIKACHU VS. LUCARIO|AD_START_PIKACHU_VS_MAGIKARP|AD_EEVEE_EVOLUTION_COMBO_CHAMPION" analysis/static-triage/game.strings

Shipped V.83 Spoilers

The installed release notes explicitly describe several gameplay systems that are still spoilers if the image is being analyzed before public play:

  • Travel: complete DISCOVER, CATCH, TRAIN, and BATTLE in the current biome to light TRAVEL at the Town Scoop, then choose the next biome.
  • Team Features: Pikachu Hurry-Up, Squirtle Prize Pool, Charmander Super Spinner, and Bulbasaur Loops, each boosting a team-member shot for the rest of the ball.
  • Team Rocket Multiball 2: after playing Team Rocket Multiball 1, complete B-A-T-T-L-E targets and battle the Team Rocket Balloon to advance and start MB2.
  • Magikarp Multiball / Topper Mode: collect M-A-G-I-K-A-R-P letters on the topper by catching Pokemon; letters carry over between players and games.
  • Pokedex Assist, game-mode selection, target game time, Victory Bonus, Arena Bonus, Healing, and biome travel were added or adjusted in V.82/V.83.

Source: /games/pokemon_pro/data/pro_release_notes.txt and /games/pokemon_pro/data/premium_release_notes.txt, V.82/V.83 sections.

Godot Scene and UI Spoilers

The Godot pack contains scenes and script entrypoints for the core display flow:

  • discover, discover_map_select, travel_selection
  • first_catch_info, catch_select_choose, capture_battle
  • select_battle_start, pokemon_battle, evolve
  • pokedex_cine, pokedex_cine_home

Evidence: analysis/godot-introspection/gdc_strings.tsv shows assets/godot_raw/scenes/main/scripts/main.gdc referencing res://scenes/discover/discover.tscn, res://scenes/discover_map_select/discover_map_select.tscn, res://scenes/travel_selection/travel_selection.tscn, res://scenes/evolve/evolve.tscn, res://scenes/pokemon_battle/pokemon_battle.tscn, and the Pokedex end-of-round cine scenes.

Biome UI strings and assets confirm four normal travel biomes:

  • forest
  • coast / lake
  • mountain
  • desert

Evidence: assets/godot_raw/scenes/discover_map_select/scripts/discover_map_select.gdc strings include coast_biome_icon_145.png, desert_biome_icon_145.png, forest_biome_icon_145.png, and mountain_biome_icon_145.png. The installed V.83 release notes describe Travel but not the specific biome asset set.

Pokemon Roster Spoilers

assets/godot_raw/data/pokemon_data.txt has:

  • 385 CSV rows total, including row 0 Blank.
  • 384 nonblank Pokemon/placeholder rows.
  • 377 rows marked in_game=TRUE.
  • 201 rows marked collectable=TRUE.
  • The highest numbered non-placeholder Pokemon row is 1019 Hydrapple.
  • A placeholder 9999,Skip row exists and is marked in_game=#N/A, collectable=#N/A.

The openable image extraction found 853 Pokemon-looking image files covering 382 unique numeric IDs, including Gen 9 IDs such as Sprigatito, Fuecoco, Quaxly, Annihilape, Dipplin, and Hydrapple.

Notable roster spoilers:

  • 150 Mewtwo is marked in_game=TRUE, collectable=FALSE, with category and description text.
  • 151 Mew is marked in_game=TRUE, collectable=FALSE, with category and description text.
  • 144 Articuno, 145 Zapdos, and 146 Moltres have art entries but are marked in_game=FALSE, collectable=FALSE, with empty category/description fields.
  • 448 Lucario is marked in_game=TRUE, collectable=TRUE.
  • 778 Mimikyu is marked in_game=TRUE, collectable=TRUE.
  • 1011 Dipplin and 1019 Hydrapple are marked in_game=TRUE, collectable=FALSE.

Voice evidence backs much of this roster. analysis/radium-image/pokedex_voice_label_manifest.tsv contains 1137 aligned Pokedex voice rows, covering 377 unique Pokemon numbers from 1 through 1019, including 30 IDs at or above 900.

Battle and Progression Audio Spoilers

Catalog-matched ASR labels in analysis/radium-image/asr_catalog_sound_label_candidates.tsv expose battle structure and callouts:

  • Rival battle instructions: SE_PK_VO_RIVAL_BATTLE_LIT_INSTRUCTIONS, transcript Shoot the town scoop to start a rival battle!
  • Biome battle intros/outros for Forest, Lake, Mountain, and Desert.
  • Story-mode generic outro lines about reaching or becoming champion of the Pokemon Arena.
  • Battle commentary for Pokemon type attacks, comeback, dodge, perfect, incoming, and last-Pokemon situations.
  • Catch instructions and escape callouts.

Draft ASR labels in analysis/all-sound-best-name-manifest.tsv also include spoiler-like lines:

  • Pikachu vs Charizard!
  • Charizard has fainted!
  • Pikachu vs. Lucario!
  • Lucario has fainted!
  • Pikachu vs. Magikarp
  • Magikarp is evolving!
  • Magikarp Multiball!
  • Shoot the town scoop to travel.
  • Once again, you will stand against Giovanni, the strongest trainer of all.
  • Having lost like this, I can't bear to face my followers. Meowth spread the word that from this day forward, Team Rocket is no more.

These ASR-derived lines are useful spoiler indicators, but they should be treated as draft labels until confirmed against native script tables or runtime playback.

Possible Unreleased or Deep/Hidden Features

Team Rocket Multiball 3

Evidence:

  • Native /games/pokemon_pro/game string TEAM ROCKET MULTIBALL 3 at analysis/static-triage/game.strings offset 0x25a0dc8.
  • analysis/godot-introspection/gdc_sound_refs.tsv contains 9 unique SE_PK_FX_TEAM_ROCKET_MULTIBALL_3* constants: start, awards 1 through 5, two Meowth attack FX, and total.
  • analysis/radium-image/catalog_offset_candidate_labels.tsv maps those SE_PK_FX_TEAM_ROCKET_MULTIBALL_3* names to object IDs 324 through 332 as candidate_unpromoted.

Assessment: plausible future, deep, or hidden progression. The installed V.83 release notes mention Team Rocket Multiball 2 but do not mention Multiball 3. Because the native display string exists, this is stronger than an unused asset-only lead.

Story Wizard 2 / Pikachu vs. Lucario

Evidence:

  • Native adjustment strings AD_POKEMON_STORY_WIZARD_1_BALL_SAVE_TIMER and AD_POKEMON_STORY_WIZARD_2_BALL_SAVE_TIMER.
  • Native debug/adjustment strings AD_LIGHT_PIKACHU_VS_CHARIZARD and AD_LIGHT_PIKACHU_VS_LUCARIO.
  • Native display strings PIKACHU VS. LUCARIO, OB_POK_PIKACHU_VS_LUCARIO_START, and OB_POK_PIKACHU_VS_LUCARIO_TOTAL.
  • analysis/godot-introspection/gdc_sound_refs.tsv contains 7 unique SE_PK_FX_STORY_WIZARD_LUCARIO* constants.
  • Draft ASR includes Pikachu vs. Lucario! and Lucario has fainted!.

Assessment: likely a second story-wizard or late-game battle path. It is not described in the installed V.83 release notes. The presence of native object keys and adjustment strings makes this a high-value follow-up target.

Pikachu vs. Magikarp / Magikarp Finale

Evidence:

  • Native strings include AD_START_PIKACHU_VS_MAGIKARP, PIKACHU VS. MAGIKARP, MAGIKARP IS EVOLVING!, MAGIKARP DEFEATED!, SHOOT RIGHT RAMP TO DEFEAT MAGIKARP, OB_POK_PIKACHU_VS_MAGIKARP_START, OB_POK_PIKACHU_VS_MAGIKARP_TOTAL, OB_POK_PIKACHU_VS_MAGIKARP_SUPER_JACKPOT, and OB_POK_PIKACHU_VS_MAGIKARP_DOUBLE_SUPER_JACKPOT.
  • Draft ASR includes Pikachu vs. Magikarp, Magikarp is evolving!, and Magikarp Multiball!.
  • V.83 release notes describe Magikarp Multiball as Topper Mode, but do not explicitly describe a Pikachu vs. Magikarp battle/finale.

Assessment: likely a topper-linked final phase, super-jackpot phase, or debug-startable mode attached to Magikarp Multiball. It may already be shipped as part of Topper Mode rather than unreleased.

Eevee Evolution Combos

Evidence:

  • Native strings include AD_EEVEE_EVOLUTION_COMBO_CHAMPION, EEVEE EVOLUTION COMBOS DEFAULT HIGH SCORE, ALL EEVEE EVOLUTION COMBOS COLLECTED!, and EEVEE EVOLUTION COMBO %d/%d: %s.
  • analysis/godot-introspection/gdc_sound_refs.tsv contains 23 unique SE_PK_FX_EEVEE* constants covering Vaporeon, Jolteon, Flareon, Espeon, Umbreon, Leafeon, Glaceon, and Sylveon award sounds.
  • analysis/radium-image/catalog_offset_candidate_labels.tsv maps the Eevee FX family as candidate_unpromoted.

Assessment: plausible hidden/deeper feature or unfinished rule family. The release notes do not mention Eevee Evolution Combos.

Cave, Mountain Top, Arena Neon, and Tournament Backgrounds

Evidence:

  • Extracted Godot video backgrounds include Arena/Stadium_01_22_26_h265.mp4, Arena_Neon/Tournament_Neon_01_22_26_h265.mp4, Cave_Entrance/cave_entrance_h265.mp4, Cave_Interior/cave_interior_h265.mp4, Coast/Lake_01_22_26_h265.mp4, Desert/desert_battle_med_h265.mp4, Forest/Forest_01_22_26_h265_2.mp4, and Mountain_Top/mountain_top_h265.mp4.
  • Normal travel UI strings expose only Forest, Coast, Mountain, and Desert icons.
  • Native strings include extensive Arena and Tournament strings, and the V.83 release notes mention ToPS tournament support.

Assessment: Arena and Tournament are likely shipped/deep UI features, not unreleased. Cave and Mountain Top are stronger candidates for future, hidden, or unused background stages because they do not appear in the current four-biome travel icon map.

SKU-Specific Premium/LE Hardware and Rules

Evidence:

  • The same extracted pokemon_pro root contains /games/pokemon_pro/data/premium_release_notes.txt, whose banner says POKEMON - LE.
  • Premium/LE notes describe Squirtle Whirlpool action-button behavior; Pro notes describe the same Squirtle Prize Pool without Whirlpool action-button lock-in.
  • V.82 notes mention Corrected Poke Ball servo device location on Premium/LE.
  • Native adjustment/device strings include AD_MEOWTH_MOTOR_DISABLED, AD_MAGIKARP_MECH_DISABLED, AD_MAGIKARP_TOPPER_SERIAL_NUMBER_KEY, AD_PIKACHU_UP_POST_DISABLED, and AD_LEFT_RAMP_UP_POST_DISABLED.

Assessment: this appears to be a multi-SKU software payload rather than unreleased content. It is still useful spoiler evidence for Premium/LE-only mechanisms and rules.

Follow-Up Targets

  • Trace native references to TEAM ROCKET MULTIBALL 3 and determine whether it is reachable from shipped Team Rocket MB2 progression.
  • Trace AD_LIGHT_PIKACHU_VS_LUCARIO and OB_POK_PIKACHU_VS_LUCARIO_* to find the real start conditions for the Lucario path.
  • Trace AD_START_PIKACHU_VS_MAGIKARP and Magikarp object keys to separate shipped topper finale behavior from debug-only starts.
  • Confirm whether Eevee Evolution Combos have active rule state, switch awards, or only high-score/display/audio scaffolding.
  • Correlate Cave and Mountain Top video backgrounds with scene/resource call sites or runtime biome selection values.