ROM Hack [Tutorial][SaveDatafiler/Ninjhax] Pokémon Shuffle: SaveEdit

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
I think he was referring to what pokemon was in each index. My bet is they are stored by number, since they added all 719 to the game, just not activated them. But that would need checking.
 

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
This was in the rumble world thread:

https://gbatemp.net/threads/pokemon-rumble-world-diamonds-p-tool.386526/page-18#post-5648375
Since I have messed up my Pokemon Shuffle save, I wrote a little app for helping me to restore my corrupt save (if it happen again - I know me).
It's not the best and looks ugly as hell but it's working for me. So feel free to try. Maybe it's working for you as well.
Usage is simple: select the "old" corrupt save - select the fresh dumped "good" save - click fix. Savegame should now work after import with SaveDataManager.

P.S. Sorry for my broken english, hope you could understand what I'm trying to say ;)
And as always: Make a backup - there is no guarantee it's 100% working.

::edit::
It seems I clicked the wrong thread for posting :wacko:

vi-hDJKWt.png

http://www30.zippyshare.com/v/Po1MFWWO/file.html
 

supercarotte

Well-Known Member
Member
Joined
May 21, 2015
Messages
691
Trophies
0
Age
30
XP
938
Country
France
I figured how megaspeedups and stock lives are stored, just like coins and jewels:
Code:
Adress: 0x2D4A-0x2D4D (reverse bytes due to endianess)

90310A --> 0A3190 (99 lives, 5 megaspeedup)
000010100011000110010000
0000101->5
       0001100011 -> 99
                 0010000 ?--> 16? 4096? (Depending on using 0x2D49 or 0x2D4E for 4 bytes)

102B0A--> 0A2B10 (86 lives, 5 megaspeedup)
000010100010101100010000
0000101->5
       0001010110 -> 86
                 0010000?
-----------------------------------
^megaspeedups (7 bits starting at bit 0)
       ^stocked hearts (10 bits starting at bit 7)
                 ^Whathever this is, it is set to 0000000 by the supreme python script, but my saves have the 3rd bit set.

Notices that the

What's the problem with stock hearts ? Previous script made them go to 127 (overflow to 99) pretty well but current one doesn't. I tried to compare both scripts but couldn't find which lines to add to the new one to get those hearts back.
 

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
The previous script was actually adding rechargeable hearts, they being stocked is probably due to shuffle not having stocked hearts in the first version, and since them have to keep the savegame retrocompatible, all the extra rechargeable hearts where transfered to the stocked ones.

Have you tried using both the stocked hearts and megaspeedup patch? That should make them appear. You can use windows calculator and converting to binary to get the desired values to hex edit only what you want.
 

supercarotte

Well-Known Member
Member
Joined
May 21, 2015
Messages
691
Trophies
0
Age
30
XP
938
Country
France
The previous script was actually adding rechargeable hearts, they being stocked is probably due to shuffle not having stocked hearts in the first version, and since them have to keep the savegame retrocompatible, all the extra rechargeable hearts where transfered to the stocked ones.

Have you tried using both the stocked hearts and megaspeedup patch? That should make them appear. You can use windows calculator and converting to binary to get the desired values to hex edit only what you want.

Well, I actually am not a master of hexediting but I gave it a try.

I made a save with 99 speedups and 0 hearts (stock and renewables) and checked bytes 0x2D4A-0x2D4D which were 90 31 00 00 --> 00 00 31 90 is 0000000/1100011/0010000 which makes sense (my save also seems to have that 3rd bit set).

Heart patch gives me 80 31 C6 00 --> 00 C6 31 80 which is 1100011/0001100011/0000000 and surprisingly I get 5 renewable and 3 stock hearts when in game. Speedup patch doesn't change anything in my values, as I already got 99 of them.

What I want is 99 hearts and speedups, so 1100011/0001100011/0010000 which is 00 C6 31 90 --> 90 31 C6 00 so I copy that to said bytes and get 3 renewable and 99 stock hearts (+still 99 speedups).

======================================

Now I'm happy because I managed to get my 99 hearts, but I'm wondering why the patch completely messes up my hearts and why do I get 3 renewable hearts when I'm only supposed to change my stock ones ? I suppose that 3rd bit actually plays a role but I've no idea as of which one.

Code:
Edit: Changed my python script copy to make it easier to reproduce with new saves and it seems to work as it should^^

fh.seek(0x02D4A); # 99 Hearts, no overflow
    fh.write('\x80\x31');

became

fh.seek(0x02D4A); # 99 Hearts, no overflow
    fh.write('\x90\x31');
 
Last edited by supercarotte,

iepuras

Well-Known Member
Member
Joined
Mar 23, 2015
Messages
344
Trophies
0
Location
the moon
XP
2,368
Country
Norway
uhmm - this might be a silly question - but once I have applied the changes to my save - do I have to play the game offline? does Nintendo detect the changes I have made somehow? :shy:
 

supercarotte

Well-Known Member
Member
Joined
May 21, 2015
Messages
691
Trophies
0
Age
30
XP
938
Country
France
uhmm - this might be a silly question - but once I have applied the changes to my save - do I have to play the game offline? does Nintendo detect the changes I have made somehow? :shy:

Well, I was able to do my daily connection normally after tweaking my save (the blue dot reappears if you inject a save where you didn't do it, but the connection fails so it's not possible to do it multiple times in a day).

As far as I know, we don't make any tweak in the savefile that wouldn't be possible in real play so there is no reason that Nintendo blames you for doing it.

I just wouldn't recommend that you unlock all pokemons and megas, as this unlocks pokemon that are not supposed to be released yet (all unreleased megas have the "erase 1 cell vertically and horizontally" ability which makes them useless anyway).
 
  • Like
Reactions: iepuras

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
uhmm - this might be a silly question - but once I have applied the changes to my save - do I have to play the game offline? does Nintendo detect the changes I have made somehow? :shy:
I wouldn't know about competitions, but the game is mostly offline. You can get coins with meowth and lives with streetpass. I guess they could elaborate an algorithm that cheks sice last time you registered how many lives and coins you had, make some calculations and see if it was possible to obtain in a legit way. But I don't think they have any kind of counter of how many times you have played a given stage, so they can't really track coins.

I don't really think nintendo will do anything if you only give yourselve coins and lives. Just don't go to a competition with unreleased pokemon and those kind of things.

We don't know what kind of data does the game send to nintendo servers when it connects to them, I guess it could be sniffed by using a proxy server or whatever, but that kind of data analysys is something I can't do.

Also, don't enter a competition with 1000 coins, then enter it 5 minutes later with 99999. It could be possible by spending jewels, but those have to be bought...

If you want to invest 99999 in a competition, do a lot of runs in day one, then way until day 3-4 to go again with 99999, etc. But I don't think nintendo will put that much effort, they will focus on other kind of cheating.
 
  • Like
Reactions: iepuras

DRJUANPOKEMON

Member
Newcomer
Joined
Sep 3, 2015
Messages
11
Trophies
0
Age
34
XP
64
Country
hello friends to youtube upload any tutorial explaining how this is achieved in pokemon shuffle, or if there is already one please send the link ....
 

iepuras

Well-Known Member
Member
Joined
Mar 23, 2015
Messages
344
Trophies
0
Location
the moon
XP
2,368
Country
Norway
I wouldn't know about competitions, but the game is mostly offline. You can get coins with meowth and lives with streetpass. I guess they could elaborate an algorithm that cheks sice last time you registered how many lives and coins you had, make some calculations and see if it was possible to obtain in a legit way. But I don't think they have any kind of counter of how many times you have played a given stage, so they can't really track coins.

I don't really think nintendo will do anything if you only give yourselve coins and lives. Just don't go to a competition with unreleased pokemon and those kind of things.

We don't know what kind of data does the game send to nintendo servers when it connects to them, I guess it could be sniffed by using a proxy server or whatever, but that kind of data analysys is something I can't do.

Also, don't enter a competition with 1000 coins, then enter it 5 minutes later with 99999. It could be possible by spending jewels, but those have to be bought...

If you want to invest 99999 in a competition, do a lot of runs in day one, then way until day 3-4 to go again with 99999, etc. But I don't think nintendo will put that much effort, they will focus on other kind of cheating.

thank you so much for your reply - that makes a lot of sense :yay:
 

JcFerggy

New Member
Newbie
Joined
Sep 3, 2015
Messages
2
Trophies
0
Age
33
XP
82
Country
Canada
I know the effort might be a lot, but can you allow a way so I can edit the pokemon in my party myself, without giving them all to me? Or possibly just give me the pokemon that were available in past events. I figure if I give myself all pokemon, I'll have some mega stones or even mons' that have not been released yet.
 

KaleoOmega

I just don't know what to do with myself...
Member
Joined
Apr 17, 2013
Messages
386
Trophies
0
XP
282
Country
Brazil
Added a multi-language:
1441318106-usfrfix.png


With also the save fix.
All thanks to @DaBlackDeath

@Asia81 , @DaBlackDeath , I would suggest if possible, for changing the script about the 99 Hearts (No overflow) part. Doesn't seem to work properly, I'm only with 5 hearts everytime I use the program. But the other functions work fine.

Maybe implementing the script posted above by @supercarotte , here? Again, I'm sorry, I don't want to sound ungrateful for all your efforts.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Veho @ Veho: The cybertruck is a death trap.