Developing a Game Save Viewer/Editor

If you are stuck in the Dunan Unification Wars; or wish for more details on the gameplay systems, this is the place.
Post Reply
Metsu
Posts: 66
Joined: Wed Apr 15, 2015 9:27 am

Developing a Game Save Viewer/Editor

Post by Metsu »

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 :D

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.
User avatar
Celes
Global Admin
Posts: 1422
Joined: Sun Nov 12, 2006 6:25 pm

Re: Developing a Game Save Viewer/Editor

Post by Celes »

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
Antimatzist
Posts: 2770
Joined: Sat Apr 19, 2008 9:48 am
Location: Germany, yeah baby
Contact:

Re: Developing a Game Save Viewer/Editor

Post by Antimatzist »

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!
Metsu
Posts: 66
Joined: Wed Apr 15, 2015 9:27 am

Re: Developing a Game Save Viewer/Editor

Post by Metsu »

Eventually I'll get around to making it LOOK nice, but for now it's just _functional_ :P

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.
Metsu
Posts: 66
Joined: Wed Apr 15, 2015 9:27 am

Re: Developing a Game Save Viewer/Editor

Post by Metsu »

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.
Omnigamer
Posts: 324
Joined: Wed Feb 13, 2013 11:48 am

Re: Developing a Game Save Viewer/Editor

Post by Omnigamer »

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.
Metsu
Posts: 66
Joined: Wed Apr 15, 2015 9:27 am

Re: Developing a Game Save Viewer/Editor

Post by Metsu »

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 :)
Metsu
Posts: 66
Joined: Wed Apr 15, 2015 9:27 am

Re: Developing a Game Save Viewer/Editor

Post by Metsu »

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.
Omnigamer
Posts: 324
Joined: Wed Feb 13, 2013 11:48 am

Re: Developing a Game Save Viewer/Editor

Post by Omnigamer »

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.
Metsu
Posts: 66
Joined: Wed Apr 15, 2015 9:27 am

Re: Developing a Game Save Viewer/Editor

Post by Metsu »

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!
Omnigamer
Posts: 324
Joined: Wed Feb 13, 2013 11:48 am

Re: Developing a Game Save Viewer/Editor

Post by Omnigamer »

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!
User avatar
Celes
Global Admin
Posts: 1422
Joined: Sun Nov 12, 2006 6:25 pm

Re: Developing a Game Save Viewer/Editor

Post by Celes »

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?
Ok, didn't know that.
Metsu
Posts: 66
Joined: Wed Apr 15, 2015 9:27 am

Re: Developing a Game Save Viewer/Editor

Post by Metsu »

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.
Celes wrote:
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?
Ok, didn't know that.
Think I got it from this site somewhere but...
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 : /
User avatar
Pyriel
Webmaster
Posts: 1227
Joined: Wed Aug 18, 2004 1:20 pm

Re: Developing a Game Save Viewer/Editor

Post by Pyriel »

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.
Metsu
Posts: 66
Joined: Wed Apr 15, 2015 9:27 am

Re: Developing a Game Save Viewer/Editor

Post by Metsu »

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.
Post Reply