+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Minor hacking request
Pages: [1]
Author Topic: Minor hacking request  (Read 1 times)
Oddoai-sama
Guest
« on: January 20, 2011, 09:54:43 am »

I use a tool to edit Super Robot Wars 64 saves but it lacks one feature that would allow me to make a 'tailored' playthrough, complete with correct stage numbers since the game's programmed smartly in that regard. So I'd like to change the character who's considered as the main protagonist as I progress through the game (there are 4 different possibilities, each with their respective events) but I'm not sure how to go about finding the correct offset in the save file to edit it manually. Could someone please help me look into this, if not find the actual offset(s)?
DeGamer
Guest
« Reply #1 on: January 20, 2011, 04:34:09 pm »

Are you saying that you'd like to play as a different character other than the one the game gives you at certain points? In essence, a character modifier code?

If so, maybe you can play the game a make a save state with one character in one particular spot, then play the game again with a different character and try to go to that same spot and make another separate save state. This way you can compare the save states in a hex editor and see which address/bytes control which character you get to play as. Things is you'd have to change the differences of one into the other then reload the game with the modified save state until you find the one you need. This can be easy or hard/tedious depending on how much has changed.

I've never played Super Robot Wars 64. Do the characters you get to play each have their own stage they play in? Meaning, that they are not normally playable in the stage of another character? If so, you can still figure it out with the method I described above, but will probably take longer to do.
Oddoai-sama
Guest
« Reply #2 on: January 21, 2011, 05:23:20 am »

Thanks, that's sort of what I'm looking for. With the current tool, I can obtain all the characters in the same game provided I do it right. However, I can't get just all events tied to their respective role as the main protagonist, since there are 4 main characters and you only get to select one who'll be flagged as the main protagonist for all intents and purpose. While the other 3 are just ditched by the game after this choice (along with their rival of course ; basically they're not supposed to exist on the playthrough), I can use a nifty editor to play their starting stage (luckily they all get one) and upon completion the game adds them to the team roster along with their starting unit.
I'm pretty sure there's just a switch somewhere in the save file to determine which protagonist you picked to play the game (how else would they display his/her portrait next to the in-game save?). That is what I need to edit on the fly.

Look at this chart to see what I'm rambling about.

For example, let's say I picked the real robot route (female). The rest of the starting cast gets ditched except for her rival, I play through her first stage and she is added to the team roster along with her starting unit at the first intermission pannel.

From here, let's say I'd now like to pick up the super robot (male) protagonist as well. I save my game at the intermission screen, exit the emu and use the editor to change what's considered as the next stage... to the one you would get if you pick him as the main protagonist. I get buggy intro dialogues (the guys are replaced by the actual main protagonist and her rival), then "Stage 2: insert subtitle here", and the super robot (male) characters deploy (yes, the rival happens to be on your side on this route), though they have the same name as the character/rival you picked at the start. Upon finishing this stage, they too are added to my team roster along with their units.

I can repeat that method to get the remaining two protagonists on their starting stages (Which will be called stage 3 and 4 ; what a smart game!) and then continue with the game just as I please (stage 5, 6, 7... up to 99 can be whatever I want)... except that the character I first picked is still the main protagonist! So for the most part, no unlocking upgraded versions of the other three units/convincing respective rivals later, etc... Any combined stage on the chart involves her events only, so that denies me quite a lot of game content. In order to fix that, I need to edit which character is flagged as the main protagonist before picking the next stage. That's not a feature of the editor so that'll have to be done manually... So yes, I guess I could save state in the same starting stage, but with different protagonists. That should narrow down the search a lot if the stage is the exact same... Though if I somehow manage to find a switch or somesuch, how do I locate it in the normal save file?
« Last Edit: January 21, 2011, 05:34:20 am by Oddoai-sama »
DeGamer
Guest
« Reply #3 on: January 22, 2011, 01:05:06 pm »

Quote from: Oddoai-sama on January 21, 2011, 05:23:20 am
I'm pretty sure there's just a switch somewhere in the save file to determine which protagonist you picked to play the game (how else would they display his/her portrait next to the in-game save?). That is what I need to edit on the fly.

From what I've seen, in some games, if the character you have is tied to game events you get (and the game is programed to read it this way) there may be multiple things you need change then in the save file in order to have the character swap you want. Or if that "tie" is only when you select the character and the first event starts AND the game no longer checks that, maybe you can swap characters afterward. If the game events you get are not  tied the character you have, then it will be easier to make the character swap you want provided you find the offset that controls what character you are playing as and change the values to that of a different character (you may also need to find a separate offset to do that for the portrait as well but that depends on the game). Based on what you described, you may have to do this. If your fortunate enough, it will be just a single offset that you need to find and see what values give you what character (you may even find additional playable characters that are not normally accessible in game by toying around with he values).


Quote from: Oddoai-sama on January 21, 2011, 05:23:20 am
So yes, I guess I could save state in the same starting stage, but with different protagonists. That should narrow down the search a lot if the stage is the exact same...

Exactly!


Quote from: Oddoai-sama on January 21, 2011, 05:23:20 am
Though if I somehow manage to find a switch or some such, how do I locate it in the normal save file?

Once you have both save files (I suggest making back ups) you can view them both in a hex editor such as Hexworkshop and have the editor compare both save state files. For the differences it finds, take the value(s) of one save state and put them in the other (just make sure you know which save state has what). If your fortunate, there won't be that many differences and the one you need will be easy to find. If there are many differences, you have to test and change them one or two at a time, save the changes you made to the save state, load the game in the emulator, load the save state and see if it made the change you wanted. If not, go back to hexworkshop and repeat the process with the next difference you find.

You can keep hexworkshop open as you are doing all this as well as the save state files you are modifying within hexworkshop. Just save the changes you make, but keep the file open in the program. Then go back to the emulator and load the game form the save state to see if that change you wanted took place. That's how I do it when I want to find something. For some games you may need to make the game load/reset data to see the changes you made (which sucks).

The thing is, if the dialog is is fucked up, you may need to find other things to change as well to have that fixed. Or if you pick a character that is not normally supposed to be playable in a specific stage AND there is no dialog for that character on that stage programmed in the game, you may be screwed as the game will either crash while trying to find dialog for your character or just display "junk" in the dialog box. But I don't know if your game is like that. Hopefully all you need is to change one thing to get the results you want and you can switch characters as you please by modifying the save state.
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC