Character Swapping Play as anyone
#1
Posted 14 March 2008 - 10:12 AM
Check out the video, the more entertaining stuff is in the second half.
#2
Posted 14 March 2008 - 02:04 PM
Please, please, please, if you do anything else in your life, tell me how to do this.
#3
Posted 14 March 2008 - 05:46 PM
#4
Posted 14 March 2008 - 06:12 PM
It doesn't change your sprites on the status screen, world map, or in battles unfortunately. It actually causes minor graphical glitches on the map (A broken line of pixels), and in battles (stray stuck pixels during attack animations). Also the location in memory for your sprite data is often used during level loading, so problems could arise from that. The only crashes I've noticed though are soon after switching to a character with less animations (The boulder is most notable for this), it's usually fairly stable after it gets adjusted though.
Here are the codes for Jenna, they're VisualBoy Advance codes, to load them go to Cheats > Cheat list... and click on the "Code..." button, you can paste them all in at the same time.
Golden Sun
03002E00:05
03002E08:081B0448
03002E0C:08187E40
Golden Sun: The Lost Age
Works similarly enough to GS that it was easy to reproduce the effect.
03002100:05
03002107:03
03002108:08307EEC
0300210C:08303ADC
It didn't happen often, but sometimes TLA would shift the players sprite data forward 24 bytes for no apparent reason, making it so the codes didn't work. I tried a code that would have prevented this from happening, but it also completely stopped levels from loading. You can usually fix it by just entering a different area anyway.
#5
Posted 15 March 2008 - 09:58 AM
What numbers do you change for other sprites? For the sake of experimentation...
#6
Posted 15 March 2008 - 10:24 AM
#8
Posted 15 March 2008 - 07:35 PM
The Adventures of Boulder Guy!
#9
Posted 15 March 2008 - 07:59 PM
Most of the weird stuff happens as a result of holding down the button to run, probably since most characters don't have running animations.
Quote
If you have any requests for specific characters, I'd be glad to give you them. It can be kinda complicated to get them though, the values have to be pretty precise, and there's really no telling what they could be. If you just start putting in random values it'll most likely just crash the game. The best way to find them is to go to an area where the character you want appears, and check the exact values they're using in memory.
The parts after the colon are the values that change for each character.
03002E00:xx - Not entirely sure what this value is, but the game crashes pretty often for some characters when it isn't set properly.
03002E08:08xxxxxx - Pointer to a collection of pointers to the character's sprites.
03002E0C:08xxxxxx - Pointer to a collection of pointers to the character's animations data, mismatching sprite and animation data can result in crashing.
I've been working on figuring out the sprites data format so I can rip sprites easily, I've got it partially figured out. I've actually already managed to write a custom animation that cycles through all of a characters sprites though.
In other news, I also found the location in memory used for your sprite on the world map ^_^
Unfortunately it's also used a lot for text boxes, so the game locked up nearly every other time I talked to someone :(
#10
Posted 16 March 2008 - 11:01 PM
Um... Do you know the sprite for Sheba, or the little girl, and could you give me Alex's as well? (For Golden Sun 1, but Alex's on GS2 would be awesome as well~~ :)
These are amazing, thank you for telling us. =]
#11
Posted 17 March 2008 - 01:26 AM
I can't be bothered to go all the way to where Sheba appears right now, so besides the second code they're just educated guesses.
Sheba
03002E00:06
03002E08:081B2754
03002E0C:08187F10
Little Girl (You mean the really young one, right?)
03002E00:66
03002E08:082200D8
03002E0C:08189120
Alex
03002E00:2B
03002E08:081DC598
03002E0C:0818868C
--The Lost Age--
I hadn't noticed before, but these codes also change your voice, and mugshot in the beginning when you normally play as Jenna.
Sheba
lol... Seems to have trouble standing up when she's not walking.
Briefly turns into Piers after entering a new area.
03002100:06
03002107:03
03002108:083080F8
0300210C:08303B58
Little Girl
Briefly turns into a dog after entering a new area :)
03002100:BA
03002107:03
03002108:0830D8DC
0300210C:08304CC8
Alex
Same 'skating' problem as in GS, and now he looks like he's coughing when standing still :blink:
Briefly turns into some random brown-haired guy after entering a new area.
03002100:39
03002107:03
03002108:08309FEC
0300210C:083041C0
I finally accomplished my mission, and figured out the sprites data format too ^_^
I'm working on a program to rip a sprite sheet for every character it can find right now.
For now here's an interesting looking character... I think it's Jenna's Mom. Odd she has so many sprites since her role in the game is so small. From the looks of things though, nearly all characters at least have walking animations even though you never see some of them walk.
http://img.photobucket.com/albums/v698/AtriusV/Random%20Screens/JennasMom.gif
#12
Posted 17 March 2008 - 01:55 AM
#13
Posted 17 March 2008 - 02:01 AM
Split Infinity, on Mar 17 2008, 03:55 AM, said:
I'll definitely be making him aware of them.
:) Holy Zelda homage, look who I found amongst the other character sprites in The Lost Age!
http://img.photobucket.com/albums/v698/AtriusV/Random%20Screens/LinkGoldenSun.gif
Trying to figure out codes to play as him now, it's gonna be a pain to match animation data to the sprites.
Edit:
Success!
03002100:DC
03002107:03
03002108:0830E920
0300210C:08304FE4
He, like most characters in TLA it seems, changes into someone else briefly when you enter a new area >_<
#15
Posted 21 March 2008 - 04:01 PM
I can convert them to Action Replay codes myself, but thats it. I could probably manage to find a way to convert to other formats if you really want.
#16
Posted 25 March 2008 - 08:12 PM
You can match the sprite sheets to the character numbers on the codes to get who you want.
The code lists only include codes for sprites that are 32x32 since anything else wouldn't really work properly anyway.
There are some sprites missing from the sprite packs because Golden Sun uses 4 different formats for storing it's sprites, and I've only figured out the 2 most commonly used ones so far.
Golden Sun
Code list
Sprite pack (1.4MB ZIP)
The Lost Age
Code list
Sprite pack (2.79MB ZIP)
(Yes, I've already sent Max the sprite packs)
For the fun of it here's a new video of me hacking random stuff at the beginning of GS:TLA.
#17
Posted 26 March 2008 - 12:53 PM
Oh well, don't worry about it. It was a fun play. =]
#19
Posted 29 March 2008 - 12:29 AM
That's an awesome find though. I'm going to have to tell this to some of my friends.
#20
Posted 01 April 2008 - 01:53 AM
Jenna, on Mar 26 2008, 02:53 PM, said:
Oh well, don't worry about it. It was a fun play. =]
Hmm... I think I mentioned that the location in memory being edited to change your sprite is also used for loading levels, so that could be why, though the game could also crash if it tried to use a sprite that didn't exist for the character. I'd bet that happens when you go down stairs.
I've figured out the sprite & animation formats well enough that I could possibly edit the actual data in the rom to make it work better, maybe even put the rest of Jenna's sprites from TLA into the first GS.