FINAL FANTASY X/X-2 HD Remaster

FINAL FANTASY X/X-2 HD Remaster

View Stats:
rodrigo_vda 15 May, 2016 @ 12:23pm
Project to be able to use FFXED (save file editor) on FFXHD
So here is the thing, I tried to use the FFXED (save editor for FFX game files: https://sourceforge.net/projects/ffxed/ ) and I encountered some problems (and fixed some of them). I was hoping to find some help so I can beat the last problem:

PROBLEM 1 FFXED won't open the FFXHD save files

SOLUTION 1 Open the save file with an Hex editor (HxD for example https://mh-nexus.de/en/downloads.php?product=HxD ) and DELETE the adresses 64F8 to the end (final adress is 68F0). Don't worry, this is junk, it doesn't matter, I checked and the game still loads saves that have this removed.

PROBLEM 2 Now FFXED can read the files and modify them. However it seems that there are some places in the file that FFXED changes to 00 00 or doesn't change but it should. I think this places act as check digits (like the check digit of a barcode or something like that). The PS2 game didn't have any trouble at loading the files edited by FFXED, but FFXHD says that the file is corrupt. So I had to check what adresses where this ones.

SOLUTION 2 Not yet, but here is the Info I gathered:

-What does FFXED change no matter what?
First of all look at what does an edited save look like (it adds the message "Edited by FFXED"):
I opened an unedited save with FFXED and saved it with FFXED (without editing anything). FFXED always changes the adresses 0x20 to 0x2F, because there is where it puts the text "Edited by FFXED" (see picture -> ).

It also changes the adress 0x4000 from a FF to FE, I don't know why. I tried manually changing this to an F and still doesn't work.

And it also changes a few more adresses wich I will explain now (0x1A, 0x1B, 0x64F4 and 0x64F5)

-What does FFXED do wrong?
I saved a game, and resaved a few seconds later, to see where the code changes comparing the files. According to the FFXED the adresses that have the time played are 0x10 to 0x13 and 0xFC to 0xFF. You can read your time in seconds (see image ):
CF 58 00 00 translates to 58CF wich is 22735, wich is the number of seconds in the example file.

But there are other adresses that changed if I compared two different unedited files with the only difference being played time (open a save and save as soon as posible in the exact same point).

Obviously the adresses that define the played time changed accordingly to the played time. But it also changed the adresses that I told before, the pair of adresses:
0x1A and 0x1B
0x64F4 and 0x64F5

and the adres 0x00

If you look at this adresses in a original unedited file, both pairs are the same (0x1A is equial to 0x64F4 and the same happens to 0x1B and 0x64F5). But they are never 0.
And it also changes the 0x00 adress.

I compared 3 saves that only differed on the time played and this was the result:
- - - - - - - - - -[FILE 1]- - - - - - - -[FILE 2]- - - - - - - -[FILE 3]
Time- - - - - - 23232 sec- - - - - - 23252 sec- - - - - -23734 sec
0x00- - - - - - - - 06- - - - - - - - - - - -07- - - - - - - - - - - -08
0x1A 0x1B- - -13 60- - - - - - - - - -98 D8- - - - - - - - - -B1 4B (obviously =0x64F4 0x64F5)

My hypothesis is that these are check numbers, because they are not even close to each other with minimal differences in the saves. I checked 3 more completely diferent saves with this result (but obviously in this cases the files had more different stuff)

- - - - - - - - - -[FILE 4]- - - - - - - -[FILE 5]- - - - - - - -[FILE 6]
0x00- - - - - - - - 06- - - - - - - - - - - -25- - - - - - - - - - - -2A
0x1A 0x1B- - -FB EB- - - - - - - - -17 30- - - - - - - - - -B5 EB (obviously =0x64F4 0x64F5)

I don't know what to do anymore. Remember, what FFXED does with this registers is NOT changing 0x00, and setting the values of the other ones to 00, and it always changes the register 0x4000 to FE (I still don't know why).
< >
Showing 1-3 of 3 comments
Plex 15 May, 2016 @ 12:38pm 
well bring it up to the creator and he might change it and implement FFXHD support.
rodrigo_vda 15 May, 2016 @ 12:55pm 
Ok I found an easy solution:

Once you have edited the file, execute this program: https://mega.nz/#!XNUT2JKZ!pvYw8N1JVSzskCllj4ZWbDE6EI1_ak1u6qswcuz3i5Y

press ctrl+o to open the edited file, make sure that in the left side the X HD is checked, and press the play button. That fixes the problem. So in short, the process is this:

1.- Open your save with HxD
2.- Delete everything from 64F8 to the end (64F8 means the 64F0 row, the 8 column, with that value included)
3.- Open the file with FFXED, edit whatever you want
4.- Use the memorysumchecker on the edited file
5.-...
6.-Profit
Last edited by rodrigo_vda; 16 May, 2016 @ 12:09pm
< >
Showing 1-3 of 3 comments
Per page: 1530 50

Date Posted: 15 May, 2016 @ 12:23pm
Posts: 3