Due to a recent collaborative effort between Bandock and myself, I bring you a Savefile Analyzer (click to download).
It's usage is simple: From the command line (cmd.exe), use the command 'save.exe [insert your savefile name/path here]'. Dragging the savefile onto the executable would work, but I didn't get around to adding that in time and I have to go. This will eventually turn into something actually worthwhile, but for now, it's just sort of there.
ID:100254
Aug 12 2010, 7:48 pm
|
|
Aug 12 2010, 7:59 pm
|
|
Wasn't there something like this already out that ran in Dream Seeker?
|
The obvious thing to point out here would be that this doesn't run in Dream Seeker. Heh.
|
Didn't seem to work with a couple savefiles I had lying around. For one it output 7 lines of Unhandled type: 1e then locked up and stopped responding.
For the other it output 7 lines of Unhandled type: 1e, 1 line of Unhandled type: 6f, then done at offset [offset number] then just output the base directory name. Nothing else. |
Can you upload these savefiles so I can test it out and see what's up? I have a feeling I know what's going on, and it's something I have fixed locally, but having the savefiles to inspect would be helpful.
If it ends up being what I think it is, I'll release a new version also fixing the tons of gigantic memory leaks I left in the program. |
Actually, I came across a bug where a savefile might not be ordered correctly and cause even more chaos (including a LOT of memory not getting freed as well as possibly MANY entries to not get displayed) in my journeys to fix the memory leaks I left lay, so I went ahead and fixed that up and also made it so you can now drag+drop savefiles and it'll still work, you just have to press any key to exit.
I uploaded the new version at the same location, so just re-download the .zip and see if that works on your .zip's I suppose? |
Looks to be working now with the newer version. Not bad, but I'm not a big fan of the output. Instead of field_name (Data: whatever) why can't it just display field_name = whatever like ExportText() does?
It's also not displaying what's actually in saved lists. If you have a saved list that has text entries it only tells you how many entries are in the list and not what is actually in the list. |
tenkuu wrote:
Looks to be working now with the newer version. Not bad, but I'm not a big fan of the output. Instead of field_name (Data: whatever) why can't it just display field_name = whatever like ExportText() does? The output was actually just for testing and I didn't really change it. I suppose I can fix it up to output a valid importable savefile. It's also not displaying what's actually in saved lists. If you have a saved list that has text entries it only tells you how many entries are in the list and not what is actually in the list. I suppose I could fix that up, too. I'll upload a new version with this stuff in a little bit. |
Sorry it took so long, but I've uploaded the new version (same place). I fixed it up to display ImportText() compatible text. The real delay was caused by associative lists, which I had forgot to check out. After about a day and a half of pulling my hair out I finally got the associative lists figured out and those work as well in this version.
|
Good job so far! It's looking better. Any chance you can go further and handle displaying object references like ExportText() does? Right now if there is a list saved that has references to objects, it'll just display commas. For example if you had a list with three object references, it would display list(,,) whereas ExportText() would display something like list(object(".0"),object(".1"),object(".2")).
Another example of an issue is if there's a single variable that refs an object. ExportText() would display something like var_nam = object("0"), but this analyzer only lists the variable name. |