ROM Hack PSSE - Pokemon Shuffle Save Editor

supercarotte

Well-Known Member
Member
Joined
May 21, 2015
Messages
691
Trophies
0
Age
30
XP
948
Country
France
Quick update of the offsets in 1.2.28 :
  • Keldeo's escalation stage's offsets are the same as always : 0x2D59-0x2D5A (change those to FF FF to reach step 999, or 20 03 for step 200)
Okay, so for those of you that would be stuck at any point in the new latias challenge, here I am :

Offsets for its "steps" are 0x2D59-0x2D5A, minus the 2 last bits of 0x2D59. Simply enter any number here to get to corresponding step (don't forget about endiannes and those 2 useless bytes), or change those bytes to "C8 00" to get to the 50th step. Beat it and you'll get your latiasite (plus you'll have 100% chance to catch latias if you have 2500 coins to spend) !

If that's clearrer for you :
->take the (decimal) number of the step you want to challenge and convert it to binary
-> move it 2 bits to the left (add 2 0s on the right)
-> convert it to hexadecimal and read it backwards (endianness)
-> copy that number to said bytes.

Oh, and even better : when you skip steps like this, beating the next step will automatically give you every reward you should have had for previous steps ! Try changing thoses to bytes to "FF FF" (should be "9C 0F" if you don't want any overflow, but it doesn't seem to change anything IG) and beat step 999 (you may need a bit of items for this one), and you'll unlock every single reward available for this challenge (basically there aren't any reward past step ~200) !

Edit: It should look like that for the 50th step :
Gkhauo6
  • Team slots didn't change either :
Okay so here is how team data is stored inside savedata.bin, at offsets 0xE0-0xE6 :
Code:
If hex is "ab cd ef gh ij kl mn"
=> mn kl ij gh ef cd ab (read offsets backwards because of endianness)
=> mmmm nnnn kkkk llll iiii jjjj gggg hhhh eeee ffff cccc dddd aaaa bbbb (translate to binary)
   mmm -> trash bytes
      m nnnn kkkk lll -> index number of 4th slot
                     l iiii jjjj ggg -> index number of 3rd slot
                                     g hhhh eeee fff -> index number of 2nd slot
                                                   f cccc dddd aaa -> index number of 1st slot
                                                                  a bbbb -> trash bytes
Basically, it's each slot's corresponding index number in reverse order (12 bits each), to which you add 3 trash bytes before and 5 after (at least they aren't useful regarding of team slots), then you turn it to hexa and read offsets backwards because of endianness.
  • Level completion offsets are 0x688-0x6E9 (+2 chunks at 0x546-0x5A8 & 0x5E6-0x648) for main levels (EX levels are unlocked based on the number of S ranks, see below). Paste these to unlock all currently available stages:
    0x688-0x6E9 : 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D 0B
    0x546-0x5A8 & 0x5E6-0x648 : C0 7F E0 C0 FC CC 00 06 80 03 30 61 1E 60 C2 E1 11 3D F8 1F 00 40 32 77 00 36 00 00 00 4C FF 40 8A 0D FE FF 7F 00 F0 1F E0 F4 58 FE 80 E0 01 60 FF 07 3E 7E 1D C3 E1 03 80 0F 38 F2 FF E7 A0 D2 E8 1F DF 37 0E 30 00 06 3F 06 1E 0C 0E FF CF 01 02 98 83 1F 3C 9F F1 8B B0 FE 83 03 FF FF 01 F8 9F 67 01
Today I found that data for completed levels is stored at 0x688-0x6DE : don't ask me why, but it seems like it uses 3 bits per level (000 = locked / 101 = completed / 010 = appears as shadow).

Reading is easy but editing it is a bit tougher:
Indeed, you can revert a completed save back to stage 1 (tutorial activates again, even though some things don't play correctly) but you can't just edit those bytes on a blank save to have all unlocked, as it'll say your data is corrupted.

It seems that they are 2 chunks of data, at 0x546-0x5A8 and 0x5D6-0x638 (they are indentical on a legit save), that act like checksums and need to be modified too in order for the changes to work (editing those chunks doesn't do anything if you don't change data at 0x688-0x6DE offsets).
I couldn't find a logical structure yet, but you only need to edit either one for your changes to apply and pasting a chunk from a completed save is okay even if you choose to edit only a few more stages.

Here's what my 100% save looks like:
mLfgDhv
(easy pasting :
chunkks = "C0 7F E0 C0 FC 0C 00 06 00 00 30 01 1E 60 C2 E1 11 3D F8 1F 00 00 32 77 00 36 00 00 00 0C F7 40 8A 0D FE FB 7F 00 30 1B 00 D4 78 F6 90 E0 01 60 E7 07 3E 5E 0D C0 01 00 80 0F 38 F2 FF E7 A0 D2 C0 1F D5 37 0E 30 00 06 3F 06 1E 0C 0E FF CF 01 02 80 81 1F 3C 18 F0 01 90 FE 83 03 FC 67 00 F8 17 66 01"
stage data = "6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB B6 6D DB 02")

BTW, unlocking all levels that way gives you C rank in all of them (except those you already completed, obviously), but I already found how to modify ranks on previous page if you want. You won't capture pokemons either, so basically unlocking all levels just makes you able to play the level of your choice for those of you that are stuck somewhere.
  • Rank offsets are at 0x987-0x9C8 for normal stages & 0xAB3-0xABB for EX ones.
Hey guys, today I discovered where ranks are stored :
0x987-0x9C1 for normal stages
0xAB3-0xAB9 for extra stages
(both have a lot of free space after in order to keep it growing with the number of levels)
EDIT: Event stages should be at 0xAFE-0xB00 at the moment, I'll check if that changes later

LB6p9D2

(here I've every Normal/EX stage with S rank except for Chesnaught which is A)​

Structure is the same for both cases : 7 useless bits on first byte (so it can only be 00 or 80)and 2 bits for each stage (00 = C / 01 = B / 10 = A / 11 = S) in reverse order because of endianness.

I've been messing a bit with it now and what I observed was :
  • Marking a stage as S-rank doesn't make it completed, but the game doesn't "clean" ranks data if you don't improve it. As an example, if you set an S rank on a stage you didn't complete yet, you'll still see no ranks on main screen. But if you then complete it with an A rank for example (you'll see it on results screen), world map will then show an S rank for this stage because A is lower than S.
  • EX stages availability is real-time based on the number of S ranks for normal stages. Set all normal stages to S on a blank file and you'll unlock all EX levels at once when you load it (even though you aren't even close to unlocking enough levels to do it normally). Same goes if you set all C-ranks on a file which previously had all S-ranks : EX button doesn't disappear but the EX section becomes empty until you unlock eavery single level again.

(Felt like it had to be updated so you people could patch your saves more easily^^)
 
Last edited by supercarotte,

KaleoOmega

I just don't know what to do with myself...
Member
Joined
Apr 17, 2013
Messages
386
Trophies
0
XP
282
Country
Brazil
Gods, if I have waited a little, I could have saved A LOT of time on the recent days X_x...

My old 3DS XL broke last week, and I can't afford a fix soon (it's very expensive here on Brazil). Contacted Nintendo, then they transferred remotely my NNID into my 2DS. Obviously I need to redownload everything, so I lost IronHax with it.

But I still have OotHax, then I installed it on my digital Ocarina of Time copy with the help of a friend... I had some save backups made through Save_Manager from the other 3DS XL, but not from Shuffle. So I literally restarted stage.by.stage. I forgot entirely about your research on this post... ;_; *facepalm*

Usually I try these escalations level-by-level, but due to the fatigue of doing the 260 levels + 32 Experts, I stopped at LV100 on Keldeo...

...Well, now this doesn't care anymore. =P

T5qUXg1.jpg
 
  • Like
Reactions: supercarotte

supercarotte

Well-Known Member
Member
Joined
May 21, 2015
Messages
691
Trophies
0
Age
30
XP
948
Country
France
Wait, how people can reach level 999 easily?

You'll need access to the HBL on your 3DS :

Export your savedata.bin with svdt (launch it and it will auto-export it in the svdt folder) then copy it on your computer (use FTBrony or the built-in microSD management).
Download an Hex Editor, like HxD, and open your savedata.bin with it.
Now go to the offset I said above (you have the unit digit on top of the grid and the other digits on the left) and replace it with the value of your choice : FF FF (or 9C 0F) means step 999 but it's very hard and you'll probably need diamonds for it, so you can also type 20 03 to get to step 200 (which also grants you all the rewards and a 100% catch rate).
It should look like this :
Sans titre.png
Once you edited your savefile (you can also use PSSE while it's on your computer), save it and copy it back to your 3DS then import it to your game using svdt.
 

jagerstaffel

Well-Known Member
Member
Joined
Aug 20, 2008
Messages
533
Trophies
0
XP
312
Country
United States
So, having to wonder if this will be applied to the Android version? Supposedly there are some out there, but the one I found couldn't even run.
You will need to play with modded APK's (I think you'll have to google that, probably can't link it here). As you might now, there's no way to alter the sav in Android; aside from calling home, Genius Sorority put limitations on how much coins you can earn per level, damage caluclation's get sent to the server due to the existence of Attack Power Up, so if you use a modded APK with high damage and use an Attack Power up item, GS will ban you (item usage is recorded on the servers).

There is also the case where Jewels appear to be server side, probably on Google's end (which is why they don't transfer from AND to iOS). Basically the best modded APK's can do is give you a little more coins and high damage, there's also additional APK's that grant all mega stones and max level pokemon (it's been reported that these revert to normal levels if a new app update is installed).
 

Brodius

Well-Known Member
Newcomer
Joined
Aug 13, 2013
Messages
83
Trophies
0
XP
115
Country
United States
Has something happened since the latest update in the game? I can edit a save but it won't import it successfully.
 

supercarotte

Well-Known Member
Member
Joined
May 21, 2015
Messages
691
Trophies
0
Age
30
XP
948
Country
France
Has something happened since the latest update in the game? I can edit a save but it won't import it successfully.

I guess if they were planning to do something about PSSE, GS would have done it long ago. I just gave it a try and it stilll works fine for me on 1.2.30.
How are you proceeding and what do you mean by "it won't import successfully" ?
 

Brodius

Well-Known Member
Newcomer
Joined
Aug 13, 2013
Messages
83
Trophies
0
XP
115
Country
United States
I guess if they were planning to do something about PSSE, GS would have done it long ago. I just gave it a try and it stilll works fine for me on 1.2.30.
How are you proceeding and what do you mean by "it won't import successfully" ?

I can export, edit the file, but when I import it it doesn't do the usual import. You import and then it skips right back to the main homebrew menu screen instead confirming it imported.
 

supercarotte

Well-Known Member
Member
Joined
May 21, 2015
Messages
691
Trophies
0
Age
30
XP
948
Country
France
I can export, edit the file, but when I import it it doesn't do the usual import. You import and then it skips right back to the main homebrew menu screen instead confirming it imported.

I guess you're using svdt then... That's what I use and it didn't crash, so I don't really know what's happening but it's definitely an issue on your side. Is there any error message displayed on bottom screen before it crashes ?
 

jagerstaffel

Well-Known Member
Member
Joined
Aug 20, 2008
Messages
533
Trophies
0
XP
312
Country
United States
I can export, edit the file, but when I import it it doesn't do the usual import. You import and then it skips right back to the main homebrew menu screen instead confirming it imported.

If you are using Save Manager, the Shuffle save must be the only save in the save folder.
 

JarieSuicune

Well-Known Member
Newcomer
Joined
Apr 16, 2011
Messages
89
Trophies
1
Age
35
Location
私の家。。。かな?
XP
224
Country
United States
Hm... that's interesting how GS is handling some cheating on mobile. Still, then is there an APK that will just auto-unlock all Pokemon (Max level if possible) and Mega Stones? I don't care for the extra money/Jems/power/whatever else, that is fine from normal play. It's the grinding and event-locking that I want around.
 

jagerstaffel

Well-Known Member
Member
Joined
Aug 20, 2008
Messages
533
Trophies
0
XP
312
Country
United States
Hm... that's interesting how GS is handling some cheating on mobile. Still, then is there an APK that will just auto-unlock all Pokemon (Max level if possible) and Mega Stones? I don't care for the extra money/Jems/power/whatever else, that is fine from normal play. It's the grinding and event-locking that I want around.
There is an apk with all the trimmings such as:

Earn 1k Coins - Normal Stages
Earn 10k Coins - Weekend Meowth Stage
Unlocked All Megas
All Pokes Max Level
Attack Damage Increased (No 1 Hit K.O)

If you want a link, just pm me.

Don't use save manager, use svdt.
svdt is preferrable, but it sounds like Brodius had that import problem that Save Manager has with multiple files in a folder.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: https://www.youtube.com/watch?v=iIpfWORQWhU