Static-only (no emulator, no pad input). Three findings, each with its own
evidence:
- The disc holds exactly 29 StageResource records in three families --
S01-S16 story, S18-S23 tutorial (all bg=Original), S24-S29 challenge, plus
Test. That is 16 + 6 + 6 + 1, matching weapon.tbl's stage01..16 /
tutorial01..06 / challenge01..06 key set exactly. S17 does not exist.
GP_CHALLENGE.pak has 0 IDXD objects -- it is the menu screen; challenge
missions reuse GP_MAIN_GAME_E.pak's records.
- The GamePart id table is at 0x820A1630 (29 ids). Indices are confirmed by
the image's own RegisterToFactory<N, class silph::GamePart_*> text, not by
position: GP_CHALLENGE = 26, GP_TUTORIAL = 25, GP_BUNK = 10.
- The stage loader selects its config section from a mission-KIND field at
object+144: 3 -> EXTRA, 5|6 -> CHALLENGE, else FILE (two independent sites,
0x82184df0 and 0x82185ed0; two more classify {3,5,6} as one group). The
constructor sets it to 0 and every write inside the class only clears it,
and no immediate 3/5/6 store to it exists image-wide -- so the kind is
supplied by the launching GamePart, never derived from the stage number.
That last point is a mechanism (unproven) for why patching the save's stage
field to 27 kills the load: the record is a challenge stage but the kind stays
FILE. Names an untried, zero-cost discriminator -- try stage 18-23.
Also flagged, not resolved: roster_target says S10 (a STORY stage) still
fields an unharvested unit, which contradicts the "story campaign complete"
claim by one unit.
97 lines
3.8 KiB
Plaintext
97 lines
3.8 KiB
Plaintext
=== 1. StageResource records in GP_MAIN_GAME_E.pak ===
|
|
29 stage records
|
|
S01 bg=Lebendorf tokens=52
|
|
S02 bg=Lebendorf tokens=51
|
|
S03 bg=Planet_Lebendorf tokens=51
|
|
S04 bg=Lebendorf_far tokens=54
|
|
S05 bg=Lebendorf_far tokens=54
|
|
S06 bg=Hargenteen tokens=51
|
|
S07 bg=Hargenteen tokens=53
|
|
S08 bg=Barch tokens=59
|
|
S09 bg=Acheron tokens=53
|
|
S10 bg=Acheron tokens=53
|
|
S11 bg=Anastasis tokens=53
|
|
S12 bg=Hargenteen tokens=53
|
|
S13 bg=Hargenteen tokens=56
|
|
S14 bg=Earth tokens=59
|
|
S15 bg=Earth tokens=53
|
|
S16 bg=PD tokens=53
|
|
S18 bg=Original tokens=43
|
|
S19 bg=Original tokens=43
|
|
S20 bg=Original tokens=43
|
|
S21 bg=Original tokens=43
|
|
S22 bg=Original tokens=50
|
|
S23 bg=Original tokens=43
|
|
S24 bg=Anastasis tokens=53
|
|
S25 bg=Hargenteen tokens=53
|
|
S26 bg=Hargenteen tokens=53
|
|
S27 bg=Planet_Lebendorf tokens=53
|
|
S28 bg=Lebendorf tokens=54
|
|
S29 bg=Earth tokens=53
|
|
Test bg=Earth tokens=43
|
|
|
|
=== 2. GP_CHALLENGE.pak contents ===
|
|
151 entries, 0 IDXD objects
|
|
|
|
=== 3. tokens mentioning Challenge / EX across the main pak ===
|
|
033b5b7e pgmsg_challenge1.t32
|
|
033b5b7e pgmsg_challenge2.t32
|
|
033b5b7e pgmsg_challenge3.t32
|
|
033b5b7e pgmsg_challenge4.t32
|
|
033b5b7e pgmsg_challenge5.t32
|
|
033b5b7e pgmsg_challenge6.t32
|
|
35b8dc67 UN_e001_ADAN_Elan_EX4
|
|
35b8dc67 UN_e007_ADAN_Turret_EX4
|
|
35b8dc67 UN_e008_ADAN_TurretPlus_EX4
|
|
35b8dc67 UN_e010_ADAN_Attacker_S_EX4
|
|
35b8dc67 UN_e011_ADAN_Attacker_B_EX4
|
|
35b8dc67 UN_e107_ADAN_AAFrigate_EX4
|
|
35b8dc67 UN_f001_TCAF_DeltaSaber_T_EX5
|
|
35b8dc67 UN_f001_TCAF_DeltaSaber_T_EX5_el
|
|
35b8dc67 UN_f003_TCAF_ArrowHead_EX4
|
|
35b8dc67 UN_f003_TCAF_ArrowHead_EX5
|
|
35b8dc67 UN_f104_TCAF_Battleship_EX5
|
|
35b8dc67 UN_f105_TCAF_Cruiser_EX5
|
|
3c5b0549 UN_e107_ADAN_AAFrigate_EX4
|
|
3c5b0549 UN_f104_TCAF_Battleship_EX5
|
|
3c5b0549 UN_f105_TCAF_Cruiser_EX5
|
|
3c5b0549 UnitName_UN_e107_ADAN_AAFrigate_EX4
|
|
3c5b0549 UnitName_UN_f104_TCAF_Battleship_EX5
|
|
3c5b0549 UnitName_UN_f105_TCAF_Cruiser_EX5
|
|
3c5b0549 Weapon_TCAF_Ship_AAGun_EX5
|
|
3c9ae32e EnumWeapon_EX5.tbl
|
|
43faa517 UN_e001_ADAN_Elan_EX4
|
|
43faa517 UN_e007_ADAN_Turret_EX4
|
|
43faa517 UN_e008_ADAN_TurretPlus_EX4
|
|
43faa517 UN_e010_ADAN_Attacker_S_EX4
|
|
43faa517 UN_e011_ADAN_Attacker_B_EX4
|
|
43faa517 UN_f001_TCAF_DeltaSaber_T_EX5
|
|
43faa517 UN_f001_TCAF_DeltaSaber_T_EX5_el
|
|
43faa517 UN_f003_TCAF_ArrowHead_EX4
|
|
43faa517 UN_f003_TCAF_ArrowHead_EX5
|
|
43faa517 UnitName_UN_e001_ADAN_Elan_EX4
|
|
43faa517 UnitName_UN_e007_ADAN_Turret_EX4
|
|
43faa517 UnitName_UN_e008_ADAN_TurretPlus_EX4
|
|
43faa517 UnitName_UN_e010_ADAN_Attacker_S_EX4
|
|
43faa517 UnitName_UN_e011_ADAN_Attacker_B_EX4
|
|
43faa517 UnitName_UN_f001_TCAF_DeltaSaber_T_EX5
|
|
43faa517 UnitName_UN_f001_TCAF_DeltaSaber_T_EX5_el
|
|
43faa517 UnitName_UN_f003_TCAF_ArrowHead_EX4
|
|
43faa517 UnitName_UN_f003_TCAF_ArrowHead_EX5
|
|
659aff47 UN_e001_ADAN_Elan_EX4
|
|
659aff47 UN_e007_ADAN_Turret_EX4
|
|
659aff47 UN_e008_ADAN_TurretPlus_EX4
|
|
659aff47 UN_e010_ADAN_Attacker_S_EX4
|
|
659aff47 UN_e011_ADAN_Attacker_B_EX4
|
|
659aff47 UN_e107_ADAN_AAFrigate_EX4
|
|
659aff47 UN_f003_TCAF_ArrowHead_EX4
|
|
6ab4825a WeaponCannonName_TCAF_Ship_AAGun_EX5
|
|
6ab4825a Weapon_TCAF_Ship_AAGun_EX5
|
|
6b9b000d UN_f001_TCAF_DeltaSaber_T_EX5
|
|
6b9b000d UN_f001_TCAF_DeltaSaber_T_EX5_el
|
|
6b9b000d UN_f003_TCAF_ArrowHead_EX5
|
|
6b9b000d UN_f104_TCAF_Battleship_EX5
|
|
6b9b000d UN_f105_TCAF_Cruiser_EX5
|
|
ffbc19c2 Weapon_TCAF_Ship_AAGun_EX5
|
|
(59 distinct)
|