Hiya everyone!
So I'm not a particularly talented modder, I've dipped my toes into it in the past, but I decided to replay some of my favourite Yu-Gi-Oh! games I used to play way back when, which are the tag force games. One thing that really annoyed me about these games though is that you can't change the gender (or anything, really) of the character you play as, you just gotta be this red hat wearing dingus among a cast of colourful characters. So I decided to see if I could do a simple sprite swap, couldn't be that hard, surely, it's just a 2D game!
So I used UMDGen to browse the files of the ISO, and for Tag Force 4 I successfully found the players sprite, exported one of the sprites from a different character, renamed it to the file name of the player and overwritten it, rebuild the ISO, and it all worked flawlessly. So I know it can work that way - but the 5D's games are my least favourite, the GX ones are the games I prefer to play, so i set out to do the same in Yu-Gi-Oh! GX Tag Force 3.
If I hadnt had such simple success in Tag Force 4 I would have just given up easily, but this has become a many, many hours worth of a project that I just can't seem to get working, and it seemed a shame to just put it to rest given everything I'd done so far.
So I found the player's sprite in the UMD for Tag Force 3, it's in PSP_GAME/USRDIR/field/sdchr/sd_play_sla.gim (and sd_play_ver.gim - every character has two sprites for up/down/left/right and diagonal movement). For EVERY other character, changing their file to another changes their sprite accordingly, so I know it's the right place.
But changing the players file does nothing!
Theres a seperate folder for the sprites used in the minigames (PSP_GAME/USRDIR/minigame/) and changes those sprites that the player uses works fine, but I have no idea why the field sprite doesnt change when I change it. Maybe the game uses another version of the sprite that's located somewhere else?
Sadly, this is where my knowledge sort of ends - I've checked through every single characters sprite in the field folder to make sure there isn't another player sprite and there isn't one there. I've changed all the bust up sprites to check to see if the player sprite is stored in there, and theres nothing. I used GimConv to convert all the .gim files in that folder to png's and checked them all myself. There are other compressed files containing .gims that I used TextER or a program called ehppack to look through, but no dice.
I don't know what I'm missing, but it seemed a shame not to record my findings thus far, hence this thread! I don't know how memory viewers really work but I imagine there may be a way to find the origin of the player sprite used in game via emulator and a memory viewer?
I dunno. If anyone is interested in helping, I can share anything else I might have missed. Seems like a bit of a dumb project, but I'm too curious at this point in finding out exactly whats going on, lol.
So I'm not a particularly talented modder, I've dipped my toes into it in the past, but I decided to replay some of my favourite Yu-Gi-Oh! games I used to play way back when, which are the tag force games. One thing that really annoyed me about these games though is that you can't change the gender (or anything, really) of the character you play as, you just gotta be this red hat wearing dingus among a cast of colourful characters. So I decided to see if I could do a simple sprite swap, couldn't be that hard, surely, it's just a 2D game!
So I used UMDGen to browse the files of the ISO, and for Tag Force 4 I successfully found the players sprite, exported one of the sprites from a different character, renamed it to the file name of the player and overwritten it, rebuild the ISO, and it all worked flawlessly. So I know it can work that way - but the 5D's games are my least favourite, the GX ones are the games I prefer to play, so i set out to do the same in Yu-Gi-Oh! GX Tag Force 3.
If I hadnt had such simple success in Tag Force 4 I would have just given up easily, but this has become a many, many hours worth of a project that I just can't seem to get working, and it seemed a shame to just put it to rest given everything I'd done so far.
So I found the player's sprite in the UMD for Tag Force 3, it's in PSP_GAME/USRDIR/field/sdchr/sd_play_sla.gim (and sd_play_ver.gim - every character has two sprites for up/down/left/right and diagonal movement). For EVERY other character, changing their file to another changes their sprite accordingly, so I know it's the right place.
But changing the players file does nothing!
Theres a seperate folder for the sprites used in the minigames (PSP_GAME/USRDIR/minigame/) and changes those sprites that the player uses works fine, but I have no idea why the field sprite doesnt change when I change it. Maybe the game uses another version of the sprite that's located somewhere else?
Sadly, this is where my knowledge sort of ends - I've checked through every single characters sprite in the field folder to make sure there isn't another player sprite and there isn't one there. I've changed all the bust up sprites to check to see if the player sprite is stored in there, and theres nothing. I used GimConv to convert all the .gim files in that folder to png's and checked them all myself. There are other compressed files containing .gims that I used TextER or a program called ehppack to look through, but no dice.
I don't know what I'm missing, but it seemed a shame not to record my findings thus far, hence this thread! I don't know how memory viewers really work but I imagine there may be a way to find the origin of the player sprite used in game via emulator and a memory viewer?
I dunno. If anyone is interested in helping, I can share anything else I might have missed. Seems like a bit of a dumb project, but I'm too curious at this point in finding out exactly whats going on, lol.