Code Monkey home page Code Monkey logo

Comments (35)

cengelha avatar cengelha commented on May 28, 2024 1

@JLS7311 :( But keep an eye on this and/or my other channels to see when I got my hands on this ;)

@aswgxf This could work if you save it twice. First time it should appear as corrupted. If you save, NomNom should create a matching mf_save.hg for that. After reloading the file it should appear just fine in NomNom and if you save again it should have the correct format for the game as well.
This is untested but theoretically it should work.

Another way would be to decompress with the algorithm mentioned above and save once with NomNom to generate the mf_save.hg.

from nomnom.

cengelha avatar cengelha commented on May 28, 2024

Hey, it's already on the roadmap but planned for a much later release. Have a look here. I don't know how it will turn out but I will definitely try to do it

from nomnom.

Avrution avatar Avrution commented on May 28, 2024

Really hoping for this feature. I finally was able to get my save recognized by the program (though it seems too old to actually edit) and if it could just be moved to the PC format then my 4 years of waiting wouldn't be worthless.

from nomnom.

Nin-DS avatar Nin-DS commented on May 28, 2024

Oh, I didn't fully understood what it meant by it in road map sorry.
Well from concept point it's should be possible. Since we basicly can read and write data from files in readeable jsons, so it's matter of reversing process. Which ofc hella tricky! I wish you success on that hard task. And during my free time, will try to toy with it too!
Thanks for quick and clear response!

from nomnom.

cengelha avatar cengelha commented on May 28, 2024

Technically it is definitely doable.
I have to write a bit more stuff into the Windows Store files (already planned for the next roadmap release), load two platforms at the same time and then "just" copy them over.

Another point is to check how well this will turn out in-game as some things are assigned to the user of the source platform that does not exist in that form on the other.
Even more if the source save uploaded something. Therefore the "Not complete but the most relevant data?" addition.

I will have to gather some testers for that when it's time. Same for the "Change Gamemode" FR.

from nomnom.

cengelha avatar cengelha commented on May 28, 2024

You already can copy saves manually to another platform. Easiest if the target is Steam.

from nomnom.

Avrution avatar Avrution commented on May 28, 2024

You already can copy saves manually to another platform. Easiest if the target is Steam.

Does that apply to converting between systems (PC-PS4) or only Windows versions?

from nomnom.

Nin-DS avatar Nin-DS commented on May 28, 2024

You already can copy saves manually to another platform. Easiest if the target is Steam.

It is, unless we talk about MS store saves, which fragment them.

from nomnom.

cengelha avatar cengelha commented on May 28, 2024

you can do it from any to any. If there is a way in a program, there is a way manually.
it's just a hassle to do it manually. especially for PS4.

short form:

  • for Steam you just need to put the fully obfuscated, uncompressed JSON in the file and NomNom can recreate the meta file (so not completly manually though).

  • for PS4 you have to know the file structure and manully add sizes and offsets to the meta section. also depends which tool you use. SaveMounter is easier for this as SaveWizard does some obfuscating on it's own already but not for new keys added in Beyond and later.

  • for MS you have to put an fully obfuscated, compressed JSON in the file and add at least the uncompressed size to the meta file (overwriting an existing save with this). adding it in a new slot is much more complicated.

from nomnom.

Avrution avatar Avrution commented on May 28, 2024

from nomnom.

cengelha avatar cengelha commented on May 28, 2024

@Avrution And 2.14 is the lowest version NomNom supports. No coincidence ;)
If you have a 2.14 dump and it's not recognised/compatible, it's something else. Did you do any manual changes inbetween? Otherwise you can send me your file and I will have a look why it doesn't work.

Edit: About the conversion of unsupported save I'm not sure yet as some platforms require compression and others don't and you need to convert it. But I think SaveWizard is the only one the actually needs to be parsed for this due to it's partially obfuscated output. So, if your source is not SaveWizard, even with unsupported saves it should work.

from nomnom.

Avrution avatar Avrution commented on May 28, 2024

It is recognized in the program, but shows as incompatible. The only thing I have done is update NMS on the PS4 to the latest version and then load/save my game.

Here is a link to the save - https://drive.google.com/file/d/1209A1jVPhV2aPB_UyyVHyP_vabh2qDdj/view?usp=sharing

from nomnom.

cengelha avatar cengelha commented on May 28, 2024

@Avrution I checked your save and it's compatible for me. So, it should work fine for you as well in the next version.

from nomnom.

Avrution avatar Avrution commented on May 28, 2024

from nomnom.

cengelha avatar cengelha commented on May 28, 2024

I use my development version that has some additional fixes ;)
Therefore it should work for you with the next release.

from nomnom.

JLS7311 avatar JLS7311 commented on May 28, 2024

Hello Cengelha. Thanks so much for all of your work on this project. I am working on converting a Steam NMS Save file to Windows 10 / Xbox One. I have worked through all of my options with the NomNom Manager and am not able to make this work. Can I trouble you for the steps necessary? I feel like I am missing something essential. From all that I have read, this should be possible with your most recent release. Tried exporting to JSON, then sourcing the JSON, outputting to MS path but the platform comes up as "unknown" with no option to designate. I admit to being savvy with this stuff only enough to be dangerous to myself. Thank you so much in advance.

from nomnom.

cengelha avatar cengelha commented on May 28, 2024

@JLS7311 Well, it's not officially supported but you can to it manually as said before.
For Steam to MS you need the following steps (assuming you replace an existing save, otherwise it would be to much to explain here):

  1. Take you save.hg (or whatever you want)
  2. Compress it with LZ4 but remember the uncompressed size
  3. Go to the folder with the MS save you want to replace
  4. Replace the larger of the both files with the compressed save.hg
  5. Open the smaller file with a hex editor and replace the value of the last 4 or 8 bytes with the uncompressed size of your save.hg. Not sure without checking whether it's the last 4 or 8 bytes but if you look at it there is already a size for the file you replaced. You need to overwrite it. If the last 4 bytes are 0, it's the last 8 (or just the second last 4 bytes).

from nomnom.

JLS7311 avatar JLS7311 commented on May 28, 2024

@cengelha Excellent information. Thank you so much for the detail. Will give it a go tomorrow.

UPDATE. Found some time tonight:

  1. Prior to beginning, I created a save game in slot 1 on the Xbox / Windows 10 GP specifically to replace with the converted steam file. I then compressed the .hg file with LZ4, rename it with alphanumeric name of the larger of the two MS save game files name.
  2. I then replaced that MS file with the new compressed one.
  3. The MS folder has two other files; one is another long alphanumeric filename that is only 24 bytes (the smaller of the two) and a THIRD "container.1" file. I opened both in a hex editor but neither have anything resembling a file size in the last 4/8 or next to last block of 4 bytes. See attached screenshots:

Screenshot 2020-11-24 173809

Screenshot 2020-11-24 173936

I have tried opening the game but the save file in slot 1 now says "unrecognizable file."

Any help is appreciated and I definitely don't want to be a bother. Please feel free to tell me to bugger off until officially supported in a future release. All the best.

from nomnom.

cengelha avatar cengelha commented on May 28, 2024

Oh, I forgot the container one but it can be ignored in your case. You need to modify the 24 byte file.

I personally use VS Code with the HEX Editor extension. If you selecte the first byte in the second row, you see the numeric values on the right (int8 = 1 byte, int16 = 2 bytes, etc).
Convert the uncompressed size to hex and change the bytes. The last 4 bytes should be zero. Note that you have to write the hex value backwards in pairs. The number in the example is 874943 and as hex D59BF but in the hex editor written as BF 59 0D. If the length of the hex value is uneven add a leading zero to the last part.
image

from nomnom.

JLS7311 avatar JLS7311 commented on May 28, 2024

Hey @cengelha Wasn't ever able to make this work but I wanted to say thank you so much for you time and all that you do for this community.

from nomnom.

aswgxf avatar aswgxf commented on May 28, 2024

I see there are instructions above for Steam to MS, could you also provide the steps for MS to Steam? I've tried loading the save from MS, save as JSON, then copy the JSON to the .hg file. When I do that, NomNom is unable to load anything.

from nomnom.

aswgxf avatar aswgxf commented on May 28, 2024

I'll try again later, but without the mf_save.hg it looked like NomNom didn't recognize the save at all.

from nomnom.

aswgxf avatar aswgxf commented on May 28, 2024

Not sure if I'm understanding this correctly, but here's what I tried:

  1. Start NMS to generate a save slot (mf_save.hg and save.hg)
  2. Open the Gamepass save in NomNom and save as JSON
  3. Copy the contents of the JSON file into save.hg
  4. Launch NomNom again
  5. ???

After I get to step 4, I get this when I launch NomNom:
image

Same thing happens if I delete mf_save.hg and just have save.hg

from nomnom.

crafian avatar crafian commented on May 28, 2024

im in the same problem as @aswgxf , im trying to transfer my xgp to steam and i tried many different ways with no success :(, if anyone could help us i would be so grateful

from nomnom.

StasisXBL avatar StasisXBL commented on May 28, 2024

I 3rd that ^ Been trying to figure out MS to Steam for a few days now :/

from nomnom.

BuckAMayzing avatar BuckAMayzing commented on May 28, 2024

@cengelha - I managed to reverse engineer NomNom well enough to create a small command line utility to get a conversion to work on my own save (it's super ugly and hardcoded with my paths right now). With your blessing (since a lot of the code is yours), I can make it slightly nicer and make a repo for folks to use.

from nomnom.

cengelha avatar cengelha commented on May 28, 2024

Sorry for the late response, folks.

@aswgxf your steps seem to be correct but if it doesn't work I probably missed something in my head it doesn't work this way... @crafian @StasisXBL

@BuckAMayzing I don't want the code published (yet) but if it's okay for you I would re-release the current version with your command line tool included (crediting you of course). That way it will also probably reach more people who are interested in it.
And if you would provide me your code, I could add it directly in NomNom in the next version

from nomnom.

BuckAMayzing avatar BuckAMayzing commented on May 28, 2024

@cengelha - I can share the code, no problem. Without going into too much detail about how your code works, I think all of the code is in your app already, and that it just requires a bit of conversion if you use your own app. I can post the details here (essentially what methods of yours that I called, but I had to tear out some logic), or I can contact you directly; I just need to know the best way to reach you if you'd prefer the latter.

from nomnom.

cengelha avatar cengelha commented on May 28, 2024

@BuckAMayzing GitHub really needs PMs haha

If you have Discord that would probably be the easiest (zencq#7276). Otherwise any channel you'll find in the Readme (author section)

from nomnom.

StasisXBL avatar StasisXBL commented on May 28, 2024

Will you guys be posting a solution for save conversions? @cengelha @BuckAMayzing

from nomnom.

cengelha avatar cengelha commented on May 28, 2024

@StasisXBL We are in direct contact now and as soon as there is something to share we will post an update here as well

from nomnom.

StasisXBL avatar StasisXBL commented on May 28, 2024

@cengelha thank you for all the hard work! Did the solution for converting gamepass saves to steam involve encrypting it before saving it back to the steam save folder?

from nomnom.

karstenk95 avatar karstenk95 commented on May 28, 2024

Look at this:

https://www.reddit.com/r/NoMansSkyTheGame/comments/lk6yk6/how_to_move_a_gamepass_save_to_steam/

from nomnom.

Avrution avatar Avrution commented on May 28, 2024

Fingers crossed for an eventual solution to convert from PS4 to Steam. Not that my old save matters much at this point, but still hate wasting hours.

from nomnom.

JLS7311 avatar JLS7311 commented on May 28, 2024

And fingers crossed for Steam to Gamepass conversion. My meager attempts have all come to naught. Thank you for all the work!

from nomnom.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.