Illustration 1

Illustration 2

Illustration 3

Illustration 4

Illustration 5

Illustration 6

Illustration 7

Ripping with tools: YY-CHR and GBA

By Gary Kertopermono

When people 'rip' sprites they actually screen-capture them, often removing layers and such. While this is an effective way, it's often time-consuming. It could get faster, if you use tools. In this tutorial we will use YY-CHR to rip GBA games, which go slightly differently than SNES games.

Ripping from GBA games isn't that different from SNES when using YY-CHR. However, since the savestates aren't currently supported by the program, it goes slightly differently. That's why this tutorial was made. First of all, you could use any emulator, but it must support palette exporting. Since I only worked with VisualBoy Advance, I will use this tutorial for that. Again, here are the tools:

YY-CHR
VisualBoy Advance

Again, the same rules apply. You can use any GBA ROM, but be sure there is usable data, since some GBA games compress some of their sprites. I checked on Advance Wars, and they didn't compress the sprites. So, let's load the ROM and play until you encounter the sprite you wish to rip. In my case, I want to rip Nell (see illustration 1). Surely there aren't too many sprites of her?

Okay, let's start the ripping. First, let's get the palette of this scene. Do note that the palette saved is the currently used palette. For VisualBoy Advance you can go to Tools > Palette Viewer... (see illustration 2). You'll see two sets of palettes, one for the background and one for the objects / sprites. In this case, I just want her artwork, and since the colours I need (the purple ones) match in both sets (both in colours and in order) I'll just use the background one. We're going to use this for our favourite image editor.

* Special note *
Since Paint can't use palettes, you can also use screenshots of the palette. However, to retrieve the colour, you will most definately need Paint.NET, a good alternative for Paint. This also works, but it might be a little bit more work. I will describe how this is done though. This should also be done for people who use a program who can't use custom palettes. I assume the most common known image editors have something to import or load your palettes. Use the help function if you don't know for sure.

We now have the palette, now let's start by ripping a sprite, so that we have a refference. This can be done by going to the Tools > OAM Viewer... (see illustration 3). We now need to find the sprite we want to rip and hit the save button. We can basically give it any name. After you saved, let's open both YY-CHR and the image editor. Load the ROM in YY-CHR and open the saved sprite. What you now will have to do is load the palette for this sprite, and, if possible, use the option to use the closest colour.

We will now use the colour picker, and, if it has one, the palette editor. If it is possible to pick the colour from the sprite in the palette editor, use that method. What I now do is this. I pick a few colours and see where the square is (see illustration 4). That's the row I need, and that's the correct order. Next, for each colour in that row I change the respective square in the top row of the YY-CHR palette. Yes, you'll have to do it the hard way, since YY-CHR doesn't import the palette too well. To do that, right-click on the colour you want to change and change the slides for each colour (see illustration 5). In my case, the colour is easy to recognise, because there is a seperate label called HTML, where I can get the HTML colour code (the colour code in hexadecimal). If you use Paint.NET, just use the Colour Picker (P), click the colour of the palette you think will be used, and look at the Color window. If you can't find the colour code, you must click on More >>. You will there find the Hex label, which lists the colours red, green and blue in that order (see illustration 6).

* Special note * To save space for the colours the colours are saved in 16 bits. This means that there are sixteen bits to define the ammount of red, green and blue. But since sixteen isn't devidable by three, they often use a 5-6-5 pattern. However, to simplify it, we'll discard one bit, making it five bits per colour. To simplify the palette change for you, you should change the bits per colour, which can be done in the colour changer in YY-CHR, by clicking on the word 8-bit. It should now change to 5-bit.

After you have changed the palette, it's time to change the colour order. Like I said on my previous tutorial, the additional palette bar is used to cycle trough the palette colours, but you should also know that you can change the use order there. This is done by clicking on one of the squares and then left-clicking on the big palette. In this case, you should just pick the colour in the same column, meaning, picking each colour in order (see illustration 7). After that, you're done! You now need to search for the sprite. Okay, for me it's not the sprite I was looking for, but okay, it will do.