Developing a Game Save Viewer/Editor
-
- Posts: 66
- Joined: Wed Apr 15, 2015 9:27 am
Developing a Game Save Viewer/Editor
Hi all, I've been messing around with perfecting this game for the first time, and in the midst of it, I've been digging into the game memory and save a bit.
I ended up writing a quick app to help me view and edit my save file for debugging purposes (not going to cheat except for Clive's story).
It's coming together and doing the trick for me, but I thought maybe I should give it to this community if they want it. Since there is a lot of helpful information here and people that are so willing to help, I figure I ought to pay them back somehow
If anyone is interested, I could make it easier to use and turn it into a full blown app. Although my free time is extremely limited, I'd be willing to give it a shot if there is interest.
Here's a screenshot of it so far:
https://www.dropbox.com/s/7ww24p3wlmlwg ... 9.png?dl=0
Currently allows you to view/edit:
Obvious stuff like potch, time, character/fake/castle names
Character stats, equipment, kill count
Items in inventory, character, storehouse
Recruit statuses
Part of Clive's quest *
* I found over half of the flags for Clive's quest but still need to find a few of them, mainly the Muse city ones.
I ended up writing a quick app to help me view and edit my save file for debugging purposes (not going to cheat except for Clive's story).
It's coming together and doing the trick for me, but I thought maybe I should give it to this community if they want it. Since there is a lot of helpful information here and people that are so willing to help, I figure I ought to pay them back somehow
If anyone is interested, I could make it easier to use and turn it into a full blown app. Although my free time is extremely limited, I'd be willing to give it a shot if there is interest.
Here's a screenshot of it so far:
https://www.dropbox.com/s/7ww24p3wlmlwg ... 9.png?dl=0
Currently allows you to view/edit:
Obvious stuff like potch, time, character/fake/castle names
Character stats, equipment, kill count
Items in inventory, character, storehouse
Recruit statuses
Part of Clive's quest *
* I found over half of the flags for Clive's quest but still need to find a few of them, mainly the Muse city ones.
- Celes
- Global Admin
- Posts: 1422
- Joined: Sun Nov 12, 2006 6:25 pm
Re: Developing a Game Save Viewer/Editor
I like the idea of beeing able to track things, especially the parameters you cannot see in the game like the kill count. This helps a lot for testing purposes.
Desired features:
- Kindness factor for every character
- Perma death flag (in addition to the recruited flag)
- Suggestion box flags
- Import bonuses
Desired features:
- Kindness factor for every character
- Perma death flag (in addition to the recruited flag)
- Suggestion box flags
- Import bonuses
-
- Posts: 2795
- Joined: Sat Apr 19, 2008 9:48 am
- Location: Germany, yeah baby
- Contact:
Re: Developing a Game Save Viewer/Editor
Looks cool! Will this work with non-English versions of the game as well?
Add to Celes' list also the cook-off status. So you could replay the thing again and again!
Add to Celes' list also the cook-off status. So you could replay the thing again and again!
-
- Posts: 66
- Joined: Wed Apr 15, 2015 9:27 am
Re: Developing a Game Save Viewer/Editor
Eventually I'll get around to making it LOOK nice, but for now it's just _functional_
The permadeath flag is included since it's the same flag as the recruited one. Or are you saying there's another one I don't know about?
Kindness factor, hrmmm... they must store that somewhere else which is odd, because I have every byte on a character accounted for. Ah, after looking it up, there seems to be three values to find for that. Shouldn't be too hard to find.
Ha, I always wondered if the suggestion box had flags! I'm actually planning on finding a bunch of the castle flags. For one, I fell victim to the double seed turn in glitch. I'm at the end of the game and notice I have one planting of spinach missing Even after hacking in a seedling and turning it in, the third spinach did not grow. So with that, yes! The cooking contest I will find too.
As for working on non-english, can you provide me a save file? I did not find any on gamefaqs for the JP version. I can certainly make it work and it shouldn't be too hard. Last year I made an online save-viewer and offline save editor for Tales of Symphonia, but it had to work on the GC, PS3, and PC version :O so I have plenty of practice now haha.
The permadeath flag is included since it's the same flag as the recruited one. Or are you saying there's another one I don't know about?
Kindness factor, hrmmm... they must store that somewhere else which is odd, because I have every byte on a character accounted for. Ah, after looking it up, there seems to be three values to find for that. Shouldn't be too hard to find.
Ha, I always wondered if the suggestion box had flags! I'm actually planning on finding a bunch of the castle flags. For one, I fell victim to the double seed turn in glitch. I'm at the end of the game and notice I have one planting of spinach missing Even after hacking in a seedling and turning it in, the third spinach did not grow. So with that, yes! The cooking contest I will find too.
As for working on non-english, can you provide me a save file? I did not find any on gamefaqs for the JP version. I can certainly make it work and it shouldn't be too hard. Last year I made an online save-viewer and offline save editor for Tales of Symphonia, but it had to work on the GC, PS3, and PC version :O so I have plenty of practice now haha.
-
- Posts: 66
- Joined: Wed Apr 15, 2015 9:27 am
Re: Developing a Game Save Viewer/Editor
Well, good news is I found the cooking flags, bad news is I failed to find the kindness value in my quick stint at home for lunch. The information on the rune list says ATK goes up 1 for every stone you use, but I found no value that increased by 1, and a handful that increased by more than one. I'll have to look into that one earlier. MIght be easier to just set a breakpoint on the STR attribute in memory and follow the damage formula. I'm thinking someone already has done the damage formulas though.
-
- Posts: 324
- Joined: Wed Feb 13, 2013 11:48 am
Re: Developing a Game Save Viewer/Editor
I have the addresses for the Kindness values in-game. I can provide those when I get back home to my notes. You can just set a write breakpoint for those.
An alternative way to test for Kindness value increases is that every time the game hits a 30 minute mark they will increase for each character in your party. So you can force the clock to a set value and then test that way.
An alternative way to test for Kindness value increases is that every time the game hits a 30 minute mark they will increase for each character in your party. So you can force the clock to a set value and then test that way.
-
- Posts: 66
- Joined: Wed Apr 15, 2015 9:27 am
Re: Developing a Game Save Viewer/Editor
Perfect! If you have the in-game addresses, that's all I need. I have a mapper from memory to save file format so I wouldn't need to do anything if you provide that. I really appreciate it! Saves me a bunch of time which I don't have a lot of
-
- Posts: 66
- Joined: Wed Apr 15, 2015 9:27 am
Re: Developing a Game Save Viewer/Editor
Found the suggestion box flags, what a weird one. Doesn't use flags in the normal sense, but adds them up and some are sequential. It's weird. Also found the farmland crops and fixed my own save which suffered from a double spinach seedling turn in and screwed me out of the perfect farm land ;_;
Posting those in the gameshark section for now.
Posting those in the gameshark section for now.
-
- Posts: 324
- Joined: Wed Feb 13, 2013 11:48 am
Re: Developing a Game Save Viewer/Editor
I don't have the base address, but it's indexed by the regular character offsets. In my watch are Nanami's Kindness value (0x06AD76) and Shin's Kindness value (0x0697FD). I don't have the table in front of me, but it should match up in signed single-byte increments with the offsets from various gameshark codes or otherwise.
-
- Posts: 66
- Joined: Wed Apr 15, 2015 9:27 am
Re: Developing a Game Save Viewer/Editor
Awesome! Thank you very much Omni! The Nanami one you gave me was actually a timer for something (wasn't Richmond's, maybe shop or cooking?), but the Shin one was spot on. And like you said, all of the signed bytes can be followed from there and I confirmed Riou's at the start by watching my ATK change. Great stuff!
-
- Posts: 324
- Joined: Wed Feb 13, 2013 11:48 am
Re: Developing a Game Save Viewer/Editor
My mistake; my watch labels were ambiguous. Yes, the Nanami one is actually the timer that goes during her "death scene" back at the castle before Huan is ready to come out. I had Nanami's Kindness value in there before, but I guess I removed it at some point. Glad Shin's helped!
- Celes
- Global Admin
- Posts: 1422
- Joined: Sun Nov 12, 2006 6:25 pm
Re: Developing a Game Save Viewer/Editor
Ok, didn't know that.Metsu wrote:The permadeath flag is included since it's the same flag as the recruited one. Or are you saying there's another one I don't know about?
-
- Posts: 66
- Joined: Wed Apr 15, 2015 9:27 am
Re: Developing a Game Save Viewer/Editor
Little update, it's coming along and I already used it to fix my poor glitch affected save with the farm
https://www.dropbox.com/s/0tbzdhld4xcgh ... 1.png?dl=0
Sample is my save before fixing the farm.
0x00 = not recruited
0x01 = Unknown
0x06 = Recruited
0x07 = Recruited
0x94 = Dead
0x95 = Dead
The double values to me look like events that are hard coded to happen. Like if you have to recruit someone, it uses one recruit value and the optional chars use the other. But I don't think that's 100% accurate either : /
https://www.dropbox.com/s/0tbzdhld4xcgh ... 1.png?dl=0
Sample is my save before fixing the farm.
Think I got it from this site somewhere but...Celes wrote:Ok, didn't know that.Metsu wrote:The permadeath flag is included since it's the same flag as the recruited one. Or are you saying there's another one I don't know about?
0x00 = not recruited
0x01 = Unknown
0x06 = Recruited
0x07 = Recruited
0x94 = Dead
0x95 = Dead
The double values to me look like events that are hard coded to happen. Like if you have to recruit someone, it uses one recruit value and the optional chars use the other. But I don't think that's 100% accurate either : /
- Pyriel
- Webmaster
- Posts: 1230
- Joined: Wed Aug 18, 2004 1:20 pm
Re: Developing a Game Save Viewer/Editor
A lot of stuff is already documented, but not in a way that you might consider specifications or a map. For instance, the farm stock: Farm Bugs. There's a counter for each type in addition to the flags, but their usefulness is minimal to nonexistent after the flags are set.
Some of it is sort of documented in cheat codes: http://gamehacking.org/game/89944
That site is fairly comprehensive, but the organization is sort of janky, so I find going to the original sources, e.g., CodeTwink.com (don't ask), more helpful in many cases. Or at least the pages don't have weird quirks.
Personally, I never really looked at the recruit flags for this game. I know when a character is recruited, the script typically passes 0x1F to the routine. I never checked to see if it wound up as 0x07, or if 0x1F is a temp value that only lasts until you enter the castle the first time, or what. I do remember in the later games the recruit values seemed like they were coming out of some crazy enumeration rather than being bit flags. As in, a character would be alive and available in the menu with 0x32 in their status variable, and then later they'd have a value that shared none of the bits like 0x41 in it, and they'd still be alive and available in the menu.
Some of it is sort of documented in cheat codes: http://gamehacking.org/game/89944
That site is fairly comprehensive, but the organization is sort of janky, so I find going to the original sources, e.g., CodeTwink.com (don't ask), more helpful in many cases. Or at least the pages don't have weird quirks.
Personally, I never really looked at the recruit flags for this game. I know when a character is recruited, the script typically passes 0x1F to the routine. I never checked to see if it wound up as 0x07, or if 0x1F is a temp value that only lasts until you enter the castle the first time, or what. I do remember in the later games the recruit values seemed like they were coming out of some crazy enumeration rather than being bit flags. As in, a character would be alive and available in the menu with 0x32 in their status variable, and then later they'd have a value that shared none of the bits like 0x41 in it, and they'd still be alive and available in the menu.
-
- Posts: 66
- Joined: Wed Apr 15, 2015 9:27 am
Re: Developing a Game Save Viewer/Editor
Aw damnit, I wish I found that earlier. I figured out all the farm flags myself and fixed my broken save. I'll have to check out the gamehacking site for more goodies though. I think I have everything I want in the application but there's a lot of bytes in the save file left.