Dawnshifter / MHXXSwitchSaveEditor

A save editor for Monster Hunter XX Switch and 3DS versions
GNU General Public License v3.0
99 stars 29 forks source link

Issue converting MHGU (switch) -> MHXX (3DS) #8

Open Ninjaskill opened 4 years ago

Ninjaskill commented 4 years ago

Hi,

After using this app I ran into the following issue. 3DS MHXX -> MHGU Switch works perfect. I loaded the file in-game was able to save without any issues only crashes when you open DLC events.

MHGU Switch -> 3DS This is where the problem begins. First off the file size is rather strange it stays the same file size and the switch save file. I think this might be part of the problem. Furthermore once the Switch save has been converted to 3DS it's no longer openable or reconizeable by the save editor. Citra is able to load the file but not able to save but for some reason it saves fine on a real 3ds though.

ProudCatz commented 4 years ago

The save files of MHXX and MHGU may be different,two games cannot be connected,so the data might be different,Unable to convert

Ninjaskill commented 4 years ago

The save files of MHXX and MHGU may be different,two games cannot be connected,so the data might be different,Unable to convert

No, Switch -> 3DS conversion definitely works. After some trial and error I have also figured out the problem. Apparently, the switch file has extra reserved data at the end of the file and when you convert to 3DS with the save editor it doesn't remove the excessive bit which makes the app and Citra think the file invalid.

The fix to the problem I have found and confirmed working is by opening the file in a hex editor and remove the excessive lines. After the last hex id you need to have 32 lines and remove any excessive lines. See pic for reference

So, the problem is with the file size. 3DS system file size is 4.616kb while the switch is 5.039kb when converting to 3DS the filesize stays 5.039kb which is causing the save editor not to be able to read the file anymore when you're trying to open it. Also causes Citra having saving issues thinking the file is corrupted when trying to save.

Knipsel
blagapar commented 3 years ago

Alright, so I tried your thing with a lot of save files, and it worked with many of them, but not with all. But I still managed to FIX it, here's how. As you said, 3ds needs a 4.616kb save file, so :

And that's it.

jackology commented 3 years ago

i also face this problem and i delete all after the line "04726144" but still can't open the file converted to 3ds save by the mhgu editer or mhxx editer,any things which can i do to fix this problem?

here is the erro photo i think it maybe due to some item was not exist in 3ds version? image

jackology commented 3 years ago

i also face this problem and i delete all after the line "04726144" but still can't open the file converted to 3ds save by the mhgu editer or mhxx editer,any things which can i do to fix this problem?

here is the erro photo i think it maybe due to some item was not exist in 3ds version? image

finally i cut the file size with exactly with 4726152, and it can be read by mhxx editer but when i convert it to switch version it still convert to mhgu save verion, which can't convert it to mhxx version(solved) (thanks i solve the problem finally , the file show with mhgu but which can be read by mhxx. so i transfer successfully.) 8

007FFF commented 2 years ago

Alright, so I tried your thing with a lot of save files, and it worked with many of them, but not with all. But I still managed to FIX it, here's how. As you said, 3ds needs a 4.616kb save file, so :

  • I created the "switch to 3ds" converted save file using mhgu save editor
  • I opened the file in HxD
  • Then you need to go in "view > offset base > choose Decimal". Also keep the "bytes per row" at 16
  • Now, under "Offset (d)" you have the find the value "04726144" and remove all lines under it, even if they have codes. Also make sure to delete the 4 last HEX values on the line "04726144"

And that's it.

Hi, do you know how to do this when converting MHXX Switch to 3DS?

007FFF commented 2 years ago

Figured it out. To convert XX Switch to 3DS, you gotta convert to 3DS using the save editor, put the file into HxD, go into decimal view, scroll all the way down, and add enough 00's until you're missing 4 HEX values on line 04726144. I don't remember the exact amount, but just count how many you're missing, and it'll work.

007FFF commented 2 years ago

Also, when converting from 3DS -> Switch, is it normal for the 'Loading..' prompt to be stuck on "Loading your save file.. Please wait.."?

Klaus2442 commented 1 year ago

Hey, I'm having problems converting MHXX (3ds) to MHGU (Switch), could someone tell me how to do it? I'm kinda lost

JoJoelix commented 7 months ago

Alright, so I tried your thing with a lot of save files, and it worked with many of them, but not with all. But I still managed to FIX it, here's how. As you said, 3ds needs a 4.616kb save file, so :

  • I created the "switch to 3ds" converted save file using mhgu save editor
  • I opened the file in HxD
  • Then you need to go in "view > offset base > choose Decimal". Also keep the "bytes per row" at 16
  • Now, under "Offset (d)" you have the find the value "04726144" and remove all lines under it, even if they have codes. Also make sure to delete the 4 last HEX values on the line "04726144"

And that's it.

son of a bitch, i did it, it worked! thank you!