ROM Hack Has anyone been able to get Hyne to work with final fantasy 8 remastered?

DocKlokMan

Plugin Dev
Member
Joined
Apr 20, 2007
Messages
3,008
Trophies
2
Age
36
XP
4,570
Country
United States
For anyone who is comfortable using python I wrote a python 3 script to automate the process:
Code:
#!/usr/bin/env python3
# Author: AnalogMan
# Modified Date: 2019-09-08
# Purpose: Injects or extracts FF8 save data to Switch save

import sys, os, argparse

def main():
    print('\n======== FF8 NSW Save Tool ========\n\n')

    if sys.version_info <= (3,1,0):
        print('Python version 3.1.x+ needed to run this script.\n\n')
        return 1

    # Arg parser for program options
    p = argparse.ArgumentParser(description='Inject or extract FF8 save data to Nintendo Switch save')
    g = p.add_mutually_exclusive_group(required=True)
    p.add_argument('nsw_file', help='Path to Switch save')
    p.add_argument('ff8_file', help='Path to FF8 save')
    g.add_argument('-i', '--inject', action='store_true', help='Inject FF8 save into Switch save')
    g.add_argument('-e', '--extract', action='store_true', help='Extract FF8 save from Switch save')
    # Check passed arguments
    args = p.parse_args()

    # Check if required files exist
    if os.path.isfile(args.nsw_file) == False:
        print('Switch save cannot be found\n\n')
        return 1

    if args.extract == True:
        try:
            with open(args.nsw_file, 'rb') as nsw:
                save_len = int.from_bytes(nsw.read(4), byteorder='little')
                ff8_data = nsw.read(save_len)
            with open(args.ff8_file, 'wb') as ff8:
                ff8.write(ff8_data)
            print('FF8 save file extracted successfully.\n\n')
        except:
            print('Save could not be extracted.\n\n')
 
    if args.inject == True:
        if os.path.isfile(args.ff8_file) == False:
            print('FF8 save cannot be found\n\n')
            return 1
        try:
            with open(args.ff8_file, 'rb') as ff8:
                ff8_data = ff8.read()
            with open(args.nsw_file, 'rb+') as nsw:
                nsw.write((len(ff8_data)).to_bytes(4, byteorder='little'))
                nsw.write(ff8_data)
            print('FF8 save file injected successfully.\n\n')
        except:
            print('Save could not be injected.\n\n')
 
if __name__ == "__main__":
    main()

Example usage:
Extract Switch save with Edizon or Checkpoint (ie. ff8slot00). Place extracted save in same folder as the script.

Run the script with the following command to extract the FF8 save data:
Code:
python nsw2ff8.py -e ff8slot00 save.ff8
Once you have the save.ff8 file, open it in Hyne and edit it. Or you could use an already existing FF8 save from the PC version or from wherever. When ready to inject it back into the Switch save run
Code:
python nsw2ff8.py -i ff8slot00 save.ff8
Once injected, use Checkpoint or Edizon to import the modified ff8slot00 back into your Switch and enjoy.

I've tested this out on a few different saves of varying sizes and had no issues. If someone finds a save that fails to import on the Switch, let me know.
 
Last edited by DocKlokMan,
  • Like
Reactions: fizyboy

fizyboy

Member
Newcomer
Joined
Nov 4, 2013
Messages
21
Trophies
0
Age
39
Location
Pajam
XP
275
Country
Malaysia
Hey thanks for this. I've tried it on my mac and got the following errors:

upload_2019-9-8_14-19-53.png


My save files can be downlodaded here: https://filebin.net/ru49mezhgy3mlf41
 

DocKlokMan

Plugin Dev
Member
Joined
Apr 20, 2007
Messages
3,008
Trophies
2
Age
36
XP
4,570
Country
United States
  • Like
Reactions: fizyboy

alxrite

Well-Known Member
Newcomer
Joined
Nov 11, 2018
Messages
86
Trophies
0
Age
42
XP
320
Country
United States
More people are helping out with scripts and such. If you guys are not comfortable with anything and still need help. I can convert PC to Switch or the other way around. Just PM me and I will get back to you!

@badman112 Here is a NEW save with 100 of each item and cards, except character cards. (Rename from ff8slot00 100itmes to ff8slot00)
https://drive.google.com/file/d/1NTENbKwju-cz8HkC_VMaIpHvDIR1geSc/view?usp=sharing

Could someone help me with my saved file? when I open it with HxD this seems to me: 2F 08 00 00 2B, I don't know what to do there, I'm a newbie, here I leave the photo of my file, thanks.

Go to byte 04 (your 2B) Right click and select "Select Block" In the Length box, type 82F. This should select a lot of data and end with a number followed by a lot of 00 00 00 00s
If not, select all the data up to the beginning of the 00 00 00 00s

That is your save file. Copy and paste that into a new file. Save it as ff8slot00.ff8. Open and edit it with Hyne, save it. Now open it again in HxD and Select all the info in the ff8slot00.ff8 file. Go back to your ff8slot00 file and paste it into the old file on top of where all the old info was when you did Select Block.

If done correctly, you will load the file. If the file says the save is damaged then the total save file length is too far off. Come back and I can help.
 

Cissamannen

Well-Known Member
Newcomer
Joined
Oct 7, 2012
Messages
48
Trophies
1
XP
602
Country
Norway
Ive attached PS4 vrsion of the save. It seems to have a little different structure than the switch one.


Note that most PS4 saves are in reversed order of hex (little endian). I assume this is no different, and could cause it to be more of a hassle to fix?
 

Attachments

  • slot1_SAVE01.zip
    2.8 KB · Views: 148

alxrite

Well-Known Member
Newcomer
Joined
Nov 11, 2018
Messages
86
Trophies
0
Age
42
XP
320
Country
United States
Ive attached PS4 vrsion of the save. It seems to have a little different structure than the switch one.


Note that most PS4 saves are in reversed order of hex (little endian). I assume this is no different, and could cause it to be more of a hassle to fix?

Falo said the following on PS4 saves.

Falo said:
About the PS4 saves, sorry but it's in a different format and encrypted you would need to find someone with enough knowlegde in the PS4 scene to reverse the PS4 executable to make a converter.
 

Cissamannen

Well-Known Member
Newcomer
Joined
Oct 7, 2012
Messages
48
Trophies
1
XP
602
Country
Norway
Falo said the following on PS4 saves.

My attached save is decrypted using Save Wizard. I can manually edit it by cross checking stats from pc saves etc, but to make hyne read it is diff. My save is 8kb large. The other one shared was 3.5mb (compressed ps4 format). So you.l find it very decrypted:)
 

alxrite

Well-Known Member
Newcomer
Joined
Nov 11, 2018
Messages
86
Trophies
0
Age
42
XP
320
Country
United States
My attached save is decrypted using Save Wizard. I can manually edit it by cross checking stats from pc saves etc, but to make hyne read it is diff. My save is 8kb large. The other one shared was 3.5mb (compressed ps4 format). So you.l find it very decrypted:)

Very cool! Good on you! Are you able to import other's PS4 saves into Save Wizard and decrypt them?

EDIT: I see the file size of the save in your file. But, the whole format is very different.
 
Last edited by alxrite,

Cissamannen

Well-Known Member
Newcomer
Joined
Oct 7, 2012
Messages
48
Trophies
1
XP
602
Country
Norway
Very cool! Good on you! Are you able to import other's PS4 saves into Save Wizard and decrypt them?

EDIT: I see the file size of the save in your file. But, the whole format is very different.

Not to such an extent. It would have to be decrypted by themselves, as its locked to X number of users per license.
 

DocKlokMan

Plugin Dev
Member
Joined
Apr 20, 2007
Messages
3,008
Trophies
2
Age
36
XP
4,570
Country
United States
My attached save is decrypted using Save Wizard. I can manually edit it by cross checking stats from pc saves etc, but to make hyne read it is diff. My save is 8kb large. The other one shared was 3.5mb (compressed ps4 format). So you.l find it very decrypted:)
Does this look like your file?
Screen Shot 2019-09-08 at 6.30.55 PM.png
 

luigui300

Member
Newcomer
Joined
Jun 19, 2018
Messages
17
Trophies
0
Age
38
XP
159
Country
Mexico
More people are helping out with scripts and such. If you guys are not comfortable with anything and still need help. I can convert PC to Switch or the other way around. Just PM me and I will get back to you!

@badman112 Here is a NEW save with 100 of each item and cards, except character cards. (Rename from ff8slot00 100itmes to ff8slot00)
https://drive.google.com/file/d/1NTENbKwju-cz8HkC_VMaIpHvDIR1geSc/view?usp=sharing



Go to byte 04 (your 2B) Right click and select "Select Block" In the Length box, type 82F. This should select a lot of data and end with a number followed by a lot of 00 00 00 00s
If not, select all the data up to the beginning of the 00 00 00 00s

That is your save file. Copy and paste that into a new file. Save it as ff8slot00.ff8. Open and edit it with Hyne, save it. Now open it again in HxD and Select all the info in the ff8slot00.ff8 file. Go back to your ff8slot00 file and paste it into the old file on top of where all the old info was when you did Select Block.

If done correctly, you will load the file. If the file says the save is damaged then the total save file length is too far off. Come back and I can help.
Thanks my friend for help me out
 

badman112

Well-Known Member
Member
Joined
Apr 9, 2008
Messages
206
Trophies
1
XP
860
Country
More people are helping out with scripts and such. If you guys are not comfortable with anything and still need help. I can convert PC to Switch or the other way around. Just PM me and I will get back to you!

@badman112 Here is a NEW save with 100 of each item and cards, except character cards. (Rename from ff8slot00 100itmes to ff8slot00)
https://drive.google.com/file/d/1NTENbKwju-cz8HkC_VMaIpHvDIR1geSc/view?usp=sharing

Any chance of adding all GF accept odin and 100 of every spell including apocalypse.
 
Last edited by badman112,

Artemis21

Member
Newcomer
Joined
Mar 7, 2018
Messages
14
Trophies
0
XP
123
Country
Italy
Theese are my steam saves, I tried to convert them for Switch but in the python script I get "Invalid argument" even though all the files are in the same directory. I'm not used to run pythonn scripts so I might be doing sometching wrong...
 

Attachments

  • ff8_steam_saves.zip
    11.2 KB · Views: 159

Cissamannen

Well-Known Member
Newcomer
Joined
Oct 7, 2012
Messages
48
Trophies
1
XP
602
Country
Norway
We can test. Anything you want me to mod on it? Then I’ll give you the file and you can try putting it back on your PS4.

All items, max stats, Apocalyptica (or whatever the magic is) for Squall. Those should be in different sections enough to be good enough tested :)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://www.youtube.com/watch?v=E4OywilYauQ