ROM Hack GBA Kirby GBA Sprite Ripping Help

Spudnik-EX

New Member
OP
Newbie
Joined
Nov 3, 2021
Messages
2
Trophies
0
Age
31
XP
158
Country
United States
Hey guys, I'll preface this by saying I'm pretty much a beginner to the hacking / ripping scene. I'm trying to rip sprite animations from Kirby Nightmare in Dreamland / Amazing Mirror. I can get single frame sprites from emulators (mgba, no$gba, etc) however I would like to extract and compile a complete animation sheet.

Opening the roms up in a tile viewer (In this case Tile Molester and Crystaltile2), the sprites are chopped up. I don't assume there is compression, since the sprites are easily visible by searching.
1635977519835.png


Decreasing the width of the column there is a repeating pattern between the sprite segments. I'm unsure of a feature in Tile Molester that will rearrange the rows on the fly. This leads me to believe there is some format that HAL is using for storing their sprites, as Nightmare in Dreamland and Squeak Squad show the same behaviour.
1635977692590.png


I could compile the sprite sheet from the OAM viewer in an emulator, however it would take much longer than getting the sprites directly from the rom itself.
I also thought about using tracing, to see how sprites are pulled and displayed from the rom, however as I am a beginner, I haven't had the time nor experience to delve too deep.

I know there are sites like spriters-resource that have some sheets, but are missing a few. I'd like to contribute with any that I manage to rip.
Any information or someone with experience would be greatly appreciated.
 
Last edited by Spudnik-EX,

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
34,329
Trophies
2
Website
trastindustries.com
XP
23,411
Country
United Kingdom
I imagine sprites like this swap out what is necessary (blinking eyes means only the slice concerned with eyes -- Phoenix Wright is probably one of the more notorious for this if you want to see such things used to the max), which means small slices are a thing and you get to work around them.

I don't tend to use tile molestor enough to know its failings. Crystaltile2 however should be able to do very custom tile widths if it turns out it is that (looks like it could be from those screens -- while the GBA was mostly fond of still using 8x8 and whatnot the devs were freer than older systems in this regard for their internal uses.
Hopefully it is a pattern you only need to figure out once as well.

"From the OAM"
Technically that should probably be from the VRAM (OAM is what controls the location/flips*/...) but it is within reason.
Do bear in mind you do have cheats and savestates available should you pursue this route.
Also many of the sprite sheet setups will be aimed more at making copy and paste ready sprite sheets rather than individual cells, which can mean putting the work in.

*interestingly I am seeing what looks like flips within the ROM. Fair enough (logos on chests, left/right hand gets troubled with simple flips) but I note it anyway.


"I don't assume there is compression, since the sprites are easily visible by searching"
Reasonable start but don't necessarily assume it - many times things can vary within a game, and it might just be common stuff dodges the decompression penalty where say a boss used once in the game (maybe with a little "I am damaged so power up time not technically a loading screen" animation to mask it).
Still until you can not find what you want then go with decompressed.

Tracing is not so bad. If you were searching you probably ran into the https://www.romhacking.net/documents/361/ link and while that is scary and command line based the modern stuff is nice UI approaches instead.
 

Spudnik-EX

New Member
OP
Newbie
Joined
Nov 3, 2021
Messages
2
Trophies
0
Age
31
XP
158
Country
United States
I imagine sprites like this swap out what is necessary (blinking eyes means only the slice concerned with eyes -- Phoenix Wright is probably one of the more notorious for this if you want to see such things used to the max), which means small slices are a thing and you get to work around them.

I don't tend to use tileM enough to know its failings. Crystaltile2 however should be able to do very custom tile widths if it turns out it is that (looks like it could be from those screens -- while the GBA was mostly fond of still using 8x8 and whatnot the devs were freer than older systems in this regard for their internal uses.
Hopefully it is a pattern you only need to figure out once as well.
I am so ecstatic that you of all people have responded to my post. I've been through many of your threads multiple times and that has gotten me up to where I am so far in ripping, for that I thank you. I've dabbled a bit with CrystalTile2, though not enough to be as comfortable.

Tracing is not so bad. If you were searching you probably ran into the romhacking/ link and while that is scary and command line based the modern stuff is nice UI approaches instead.
I did come across that doc and read over several times, trying to fit the logic with no$gba debug. Like I said before, I'm a beginner to addresses. Ive also read over your 2016 guide to hacking, just to try to fill in some gaps in my knowledge. With the sprite slicing I feel it adds another layer of complexity to tracing.

Have you checked to see if what you want is already available online?

No worries if you're doing it for the sake of learning etc
I have checked all of them out, including some other sprite sheet sites. All of these don't have the complete list of abilities and I'd like to try and fill some of the gaps. And yeah for the sake of learning, I find it pretty interesting seeing how one of my favorite games works.

Update:
After some tinkering, I've figured out how to trace using VBA-SDL-H and no$GBA. I'm trying to re-order the tiles in crystaltile2 aswell, however having little success
 
  • Like
Reactions: hippy dave
General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: https://imgur.com/gallery/kUTOYMV