Anub1sR0cks / FFPRSaveEditor

Save game editor for the Final Fantasy Pixel Remaster series.
15 stars 5 forks source link

No issue, just thanks #2

Closed rickparrish closed 1 year ago

rickparrish commented 1 year ago

This isn't an issue, just wanted to say thanks for putting this together. Somehow playing FFIV on multiple computers mangled the datafile that tracks locations you've visited and monsters you've killed, so I missed out on the two related achievements.

But with FFPRSaveEditor I was able to decrypt the data files, identify the relevant one (contains scenarioFlags and monsterDefeats), edit it, and encrypt it again. (For anyone else who runs into this, I just set all the 0s to 1s in scenarioFlags, and then replaced the monsterDefeats keys and values arrays with 1..255)

On a somewhat related note, I managed to output a "more deserialized" version of their nightmarish JSON by using hashtables. It's really hacky, but I'll try to clean it up and commit it over the Christmas break. Should then be able to generate class files with a tool like json2csharp.com, and from there implement a less-hacky non-hashtable based solution.

rickparrish commented 1 year ago

I've pushed what I've done so far in a branch on my fork here: https://github.com/rickparrish/FFPRSaveEditor/tree/add-classes

I've also created a GUI that makes use of the updated library, which so far just allows editing gil and character stats: https://github.com/rickparrish/FFPRSaveEditorGUI

You'll notice that only FF1, FF4, and FF6 are supported -- they're the only three that I own. Should be pretty straightforward for someone to add the other three (or if someone sends me save games from them, then I could do it).

Anub1sR0cks commented 1 year ago

Awesome, looks good to me! Seems to be a lot of interest in this project recently with two topics opened since the announcement of the games being ported to the consoles last week.

I unfortunately don't have much time to dedicate to writing a UI implementation at the moment, but you are welcome to continuing branching or merge if you'd like to.

JackQuincy commented 1 year ago

Here are my save files for 2,3,5. I pulled the single largest files from each top level but uploaded the entire save directory encase we need to do anything across multiple files.
saves.zip Once we get something working I might take the time to give myself one of every item to identify what item corresponds to what int. so that we can make enums for them, or lookup tables.

rickparrish commented 1 year ago

Thanks! I think I have classes working for them now, and the appropriate columns appearing on the character editor form. I see they're on sale right now, so maybe I'll pick up 2, 3, and 5 to allow me to test (and also to play through -- I've never played those ones)

And the other day I tried giving myself 1 of item 1, 2 of item 2, ..., 99 of item 99, but my save file failed to load after doing so. Didn't have a chance to look into it further, so it's possible I just messed something up.