ROM Hack [Question] Pokemon Shuffle Savegame edit

GothicIII

Well-Known Member
OP
Member
Joined
Jan 4, 2015
Messages
810
Trophies
0
Age
35
XP
1,985
Country
Gambia, The
Hello,

recently I had to reinstall my game collection on the 3DS and unfortunately I reinstalled some games with devmenu thus removing the savegames.

Now I'm familiar with savegames and gamehacking but I dont have enough time to reverse engineer the whole savegame. I know how to edit jewels, hearts and coins (mess up with offset 0x6A) but this won't be enough cause the person played this game since day one and is now missing many event-pokemon.

I need to know the offsets and datatype/byteorder for those pokemon and what the belonging values change. Somone here in the forums said there is a specific scheme how pokemon are stored inside the savefile. This guy said he knows how to edit megastones/exp but wouldn't post the exact details... that was not helpful.

Would be nice if someone could help out
 

GothicIII

Well-Known Member
OP
Member
Joined
Jan 4, 2015
Messages
810
Trophies
0
Age
35
XP
1,985
Country
Gambia, The
I already searched the forums, but couldn't find that thread anymore. Thanks for pointing it to me again.
Still it didn't help me because the thread doesn't explicit answer my question. It is just pointing to "do the maths yourself" again. And then it ends with how to hack the save with ironhax :/

Why can't you trust me, even if you don't have any kind of formula or evident proof of your work?

I've already explained that the added pokemon in 0x495 or later, is a side-effect or the mega-evolution way.
That offset, contains mega-evolution of Audino and nearby pokemons. It's not an assumption, is the truth.
I'll help you analyzing your work.

You are setting a pattern of 0x[80 00 00], from the Audino offset.
So, you are simply inserting 0x80 every 3 offsets, because the default one should be 0x00 (no mega).
  • 0x495 80 Contains Audino (index 549)
  • 0x496 00
  • 0x497 00
  • 0x498 80 Contains Venipede (index 561)
  • 0x499 00
  • 0x49A 00
  • 0x49B 80 Contains Darumaka (index 573)
  • ...
  • 0x4C8 80 Contains Yveltal (index 777)

The pokemon that you "unlocked" after Audino, should be Venipede, Darumaka, Archen, Duosion, Sawsbuck (maybe summer form), Alomomola, Beheeyem, Stunfisk, Mandibuzz, Tornadus (therian form), Meloetta, Bunnelby, Floette, Aegislash, Clawitzer, Sliggoo and Yveltal.
Figured out the index relation? It's elementary. Every 3 offset a difference of 12 pokemons. So, 12/3=4. One offset has 4 pokemons.
In this formula, there is undoubtely a division/module by 4 related with the index. But it's not complete. Keep testing going backward to Bulbasaur or find the other values of the megas that you own.
After that, it should be crystal clear the [correct formula] related to every offset and the index inside of the bitfield for every pokemon.
Than, start understanding how to populate the bitfield for value different than 0x80 or 0x00.
 
General chit-chat
Help Users
    AncientBoi @ AncientBoi: My kind of sausage! :D