Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch Save Support #1

Closed
xTheSolutionNOT opened this issue Mar 4, 2024 · 4 comments
Closed

Switch Save Support #1

xTheSolutionNOT opened this issue Mar 4, 2024 · 4 comments

Comments

@xTheSolutionNOT
Copy link

Hello :D

I recently got a switch and TR:R, and I want to ask if you could add support for Switch Saves if you have time. Below are switch saves for
TR 1, 2, and 3 at the start of each game, without moving.

TRR.Switch.Saves.zip

It's the same "problem" as with PS4 saves. It edits items/statistics just fine (but seems like health detection doesn't work properly for all three games), but the extractor isn't working, it recognizes the saves, but once transferring switch level data to PC/PS4 or vice versa the game crashes.

PS: Thanks again for your work, editor, as well as this extractor, are working fine for PC/PS4.

@JulianOzelRose
Copy link
Owner

JulianOzelRose commented Mar 5, 2024

Hello again :)

I got it to convert your Switch savegames to PC. I can't test the PC to Switch conversion myself, so let me know if this build works:

TombExtract-Nintendo-Switch.zip

For editing Switch savegames, since the byte shifts occur at pretty much the same places as the PS4 savegames, it's a simple adjustment to get it to properly detect and write to ammo/health. The only tricky thing is that since the Switch savegame file size is identical to PC savegame file size, it's hard to automatically detect the platform. So I might have to just let the user manually select the platform. I want to have a universal TR:R savegame editor, so I will probably end up doing that. If you provided me with some more details about how exactly you ported the savegame files to PC (I think you mentioned jailbreaking it) that might help. Until then, you can try out this modified build for Switch. It forces the offsets to adjust to the Switch patterns:

TRR-SaveMaster-Switch-Build.zip

Also, it's no problem. I enjoy doing this stuff. If you like my work, you can star the repos -- it helps a lot with visibility.

@xTheSolutionNOT
Copy link
Author

xTheSolutionNOT commented Mar 5, 2024

First of all, the extractor works for all three games, and in all save slots and also from PC->Switch, Switch -> PC, Switch -> PS4.

As for how I ported the saves to PC I did this:

PS4:

First option (this is how I send the first PS4 saves to you):

  1. I copied the save from my "normal" console (no Jailbreak) via USB to my jailbroken PS4.
  2. I used https://github.com/bucanero/apollo-ps4 to export the PS4 save, I did that because most, if not all, PS4 saves are .bin files, and once decrypted you get the actual save file.
  3. I copied the memory.dat to PC via FTP and this is how I was able to send it to you.

But there's also a second option:

  1. Copy the save via USB to PC.
  2. Then I used a program called Save Wizard ( https://www.savewizard.net/ ) to export the memory.dat

Both options give you the same 4MB memory.dat file which you can edit with your programs.

For Switch, it's slightly more complicated as you can't copy save games directly to PC via USB, so you need a jailbroken Switch and have to either use a program called EdiZon ( https://github.com/WerWolv/EdiZon ) or Goldleaf ( https://github.com/XorTroll/Goldleaf ) to extract the savegame.dat, there are probably more programs that do this, but these two are the most used as far as I can tell. Anyway, both programs extract the same savegame.dat which is 1,32 MB. You can copy your saves from a jailbroken Switch to a normal one via a function called "Transfer save data to a nearby console" and vice versa but requires two Switches.

@JulianOzelRose
Copy link
Owner

I see. Those are some really nifty programs. I assume you also use them to re-encrypt them back to their native format as well. Glad the extractor is working well. So based on all that, the file size is definitely not a good way to detect the savegame platform. It doesn't seem like there is a reliable way to automatically detect the savegame platform.

I've attached a build of the editor you can try out. I think it is the best solution for multiplatform editing. Instead of automatically detecting the platform, it lets you specify the platform yourself. You just go to Settings -> Platform, and set it there. It will then adjust the offsets correctly. You can also set the save number as low as 0 and it will now detect them.

TRR-SaveMaster-Multiplatform.zip

So that's now 3 platforms supported out of 6 total. Hopefully somebody will come by with Xbox and PS5 savegames they want to edit so I can make it truly universal, haha.

@xTheSolutionNOT
Copy link
Author

xTheSolutionNOT commented Mar 6, 2024

TRR-SaveMaster-Multiplatform.zip

This works perfectly fine, it even recognizes the healt accordingly once switched to the correct version. For example i opened a switch save, and health wasn't recognized, then i changed it under settings to Switch and health was found.

For PS5 saves, this won't be possible for a while. Because the PS5 dosn't allow copying PS5 savegames to USB. You can only upload them to PS+ (a service from Playstation). The only solution would be a jailbreak PS5, but there is the problem that you can't play Tomb Raider yet on a jailbroken PS5, this might be possible sometime in the future. If it is, i'll send PS5 saves. Or may Playstation randomly changes their mind and allow save game transfer to USB. Fun fact, the function for copying PS5 saves to USB is implemented, but it's hidden for retail consoles and only available for jailbreak users or Dev/Testkits.

I have an Xbox Series S, only played Starfield and Gears of War on it, but if i get my hands on the Xbox version of TR:R, i'll send saves.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants