- 48
- Posts
- 10
- Years
- Seen Oct 26, 2015
We've all seen them. Beautifully done custom mugshots, inspired by the ones featured in NDS games. Well, after weeks of work, I'm proud to announce we can finally have them in our game! At least to a limited extent.
Building on Jambo51's earlier work, I managed to finally find the part of the code that doubles the size of the sprite. What's more, I also found the part of the code that controls the 'shape' of the sprite. The end result? With a little hex editing, and Jambo51's Pre-Battle Mugshot hack, we can have NDS-style pre-battle mugshots! Screenshot below:
![[PokeCommunity.com] NDS-Style Pre-Battle Mugshots [PokeCommunity.com] NDS-Style Pre-Battle Mugshots](https://s26.postimg.org/t65atgnnp/Mugshot_Screen1.jpg)
If someone can point me to where I can find a better mugshot for the Female Player Character/Green, I'd appreciate it!
To have this in your hack, you must first have Jambo51's Pre-Battle Mugshot hack. Then, make the following hex edits:
Next, you need to create a new pointer table for your mugshots and palettes. At the moment, I'm using a modified copy of the Trainer sprite and palette pointer tables. A bit crude, perhaps, but it works!
Find and copy the Trainer sprite pointer table (08023957C) and the Trainer palette pointer table (080239A1C) to free space in your ROM. Then, change the following offsets:
XX XX XX = Offset of new sprite pointer table in reverse hex
YY YY YY = Offset of new palette pointer table in reverse hex
Due to current limitations, the mugshots are limited to size 64x64. On the bright side, the current setup allows for the player to have a mugshot as well!
Take your 64x64 mugshot, index it using Irfan view, and insert it into the ROM using NSE 2.0. Take note of the palette and image offsets when you insert it. Look up the sprite and palette offsets of the Trainer sprites you want a mugshot for using unLZ GBA or some other program. Scan the respective tables for those offsets, and replace them with the offsets for your mugshot image and it's relevant palette.
NOTE: I highly recommend inserting mugshots for both player characters. Otherwise just their full sprite will appear in the mugshot.
Test it in your game to make sure everything works properly, and you're done!
UPDATE:
Look at what I pulled off!:
![[PokeCommunity.com] NDS-Style Pre-Battle Mugshots [PokeCommunity.com] NDS-Style Pre-Battle Mugshots](https://s26.postimg.org/hxw9jth6t/Mugshot_SUCCESS.jpg)
That's John Egbert from Homestuck BTW, and no, I didn't make that mugshot. Around the Homestuck fandom, there's this beautiful set of custom Pokemon VS mugshots that have been floating around. A lot of this was motivated by a desire to see those mugshots in a hack. And in extension, the many other custom mugshots some fans make a hobby of making. Never underestimate one driven by the passion of two fandoms.
I still have more work to do before I can release the instructions for doing this. I have to mess with Jambo51's mugshot routine a bit, and make it so both halves of a mugshot assigned to a Trainer will be loaded. Right now, half of the test mugshot is assigned to the player sprite that's always loaded, and will have predictably awkward results if a different Trainer is fought. I also need to make it so it can call the mugshot images from a custom table.
I would also like to see if I can't remove the VS background running along the bottom half, where the player mugshot once was. That's a more distant priority, however.
Comments, questions are welcome!
Credit:
Jambo51-For his original pre-battle mugshot hack
HackMew and Shiny Quaqsire-For their ASM tutorials
knizz-For the Yet Another ASM tutorial, which taught me how to actually find the relevant functions to hack. I highly recommend it alongside HackMew and Shiny Quaqsire's tutorials for would-be ASM hackers.
Ask me about any questions or problems!
Building on Jambo51's earlier work, I managed to finally find the part of the code that doubles the size of the sprite. What's more, I also found the part of the code that controls the 'shape' of the sprite. The end result? With a little hex editing, and Jambo51's Pre-Battle Mugshot hack, we can have NDS-style pre-battle mugshots! Screenshot below:
![[PokeCommunity.com] NDS-Style Pre-Battle Mugshots [PokeCommunity.com] NDS-Style Pre-Battle Mugshots](https://s26.postimg.org/t65atgnnp/Mugshot_Screen1.jpg)
If someone can point me to where I can find a better mugshot for the Female Player Character/Green, I'd appreciate it!
To have this in your hack, you must first have Jambo51's Pre-Battle Mugshot hack. Then, make the following hex edits:
080D2F38: 00
080D2F82: 00
Next, you need to create a new pointer table for your mugshots and palettes. At the moment, I'm using a modified copy of the Trainer sprite and palette pointer tables. A bit crude, perhaps, but it works!
Find and copy the Trainer sprite pointer table (08023957C) and the Trainer palette pointer table (080239A1C) to free space in your ROM. Then, change the following offsets:
080838E4: XX XX XX 08
080838E0: YY YY YY 08
XX XX XX = Offset of new sprite pointer table in reverse hex
YY YY YY = Offset of new palette pointer table in reverse hex
Due to current limitations, the mugshots are limited to size 64x64. On the bright side, the current setup allows for the player to have a mugshot as well!
Take your 64x64 mugshot, index it using Irfan view, and insert it into the ROM using NSE 2.0. Take note of the palette and image offsets when you insert it. Look up the sprite and palette offsets of the Trainer sprites you want a mugshot for using unLZ GBA or some other program. Scan the respective tables for those offsets, and replace them with the offsets for your mugshot image and it's relevant palette.
NOTE: I highly recommend inserting mugshots for both player characters. Otherwise just their full sprite will appear in the mugshot.
Test it in your game to make sure everything works properly, and you're done!
UPDATE:
Look at what I pulled off!:
![[PokeCommunity.com] NDS-Style Pre-Battle Mugshots [PokeCommunity.com] NDS-Style Pre-Battle Mugshots](https://s26.postimg.org/hxw9jth6t/Mugshot_SUCCESS.jpg)
That's John Egbert from Homestuck BTW, and no, I didn't make that mugshot. Around the Homestuck fandom, there's this beautiful set of custom Pokemon VS mugshots that have been floating around. A lot of this was motivated by a desire to see those mugshots in a hack. And in extension, the many other custom mugshots some fans make a hobby of making. Never underestimate one driven by the passion of two fandoms.
I still have more work to do before I can release the instructions for doing this. I have to mess with Jambo51's mugshot routine a bit, and make it so both halves of a mugshot assigned to a Trainer will be loaded. Right now, half of the test mugshot is assigned to the player sprite that's always loaded, and will have predictably awkward results if a different Trainer is fought. I also need to make it so it can call the mugshot images from a custom table.
I would also like to see if I can't remove the VS background running along the bottom half, where the player mugshot once was. That's a more distant priority, however.
Comments, questions are welcome!
Credit:
Jambo51-For his original pre-battle mugshot hack
HackMew and Shiny Quaqsire-For their ASM tutorials
knizz-For the Yet Another ASM tutorial, which taught me how to actually find the relevant functions to hack. I highly recommend it alongside HackMew and Shiny Quaqsire's tutorials for would-be ASM hackers.
Ask me about any questions or problems!
Last edited: