Closed rickparrish closed 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).
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.
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.
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.
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.