|  |  |  | Sprite extraction techniques |  |  |  |

When taking the screenshots from our favourite emulator we must try, whenever it's possible, to keep the character in the same position on the screen when executing the move or action we're ripping, and besides that, when cropping the sprites, crop them to the same size. Why all this? Beacuse if every sprite in the animation has the same size and the character is in the same position in each one, we'll only need to adjust the axis once, because it's the same for the rest of the sprites. Simple, isn't it?.

When cropping the sprites we won't use the selection tools in our graphics edition software, unless it has some way to easily select the same portion of the image repeatidly, because, besides being a nightmare to select the same portion of each and every shot with the exact same size in the exact same position, it would be very easy to make an error and cause the sprites to be misplaced. When cropping we'll use the resize canvas option in our program. Beware, when I say "resize canvas" I mean change the image's dimensions without actually changing the sprite's size (in other words, without scaling it) We'll calculate an approximate sprite size in which every sprite in the animation fits, then fiddle a bit with the aligning values until the sprite is perfectly framed, and then repeat the same process with the rest of the sprites, remembering the values we entered the first time. With this we'll have every sprite perfectly cropped and ready.

Cropping sprites with Paint Shop Pro: Let's assume we already have a screenshot of every frame in the animation. In order to crop them to the same size, we'll follow these steps: 1- Load the biggest sprite (the one which takes up more space). 2- With the selection tool, we'll draw a rectangle big enough to frame any sprite in the animation (that's why we started with the biggest one) and, while holding the mouse button, look at the status bar (at the bottom) and remember the two values right after the "=" sign, as this are the rectangle's dimensions (and the new size of the sprites), in this example they would be 90 x 100. 3- Select the Canvas Size option in the Image menu. 4- A dialog box will be shown. Enter the dimensions of the rectangle we drew before in the New width and New height fields, then fiddle with the paired fields Top-Bottom and Left-Right (they're paired because when you change uno the other inmediately adjusts to it) until the sprite is perfectly framed, taking mental note of the values we entered in them. 5- The sprite is cropped. Now we'll repeat steps 3 and 4, entering the same values in the paired fields as before in the rest of the screenshots, and with this we'll have a perfectly cropped animation.

Keeping the character in the same position on the screen is the hardest part, and depending on the action, it can be achieved with more or less perfection. For example, when the character is standing or chouching we don't have to do anything, the character is still. When walking or running forward, we'll place him as forward as possible until he is at one of the stage's ends so the character, although it acts as if he were walking or running, doesn't advance. When walking or running backwards, we'll do the same, but to the other end of the stage.

Keeping the character as still as possible: In the first image, a moving forward action (running): we'll take the character as forward as possible. In the second one, a backwards moving action (jumping): we'll take the character all the way to the back of the stages until he can't no longer move, and we'll perform the action..

When the character jumps we'll do the same, taking the character to the corresponding end of the stage (although if we're ripping from a fighting game, it might be necessary to make the enemy jump to prevent the character from jumping above him and moving horizontally). The downside is that in this case we can't prevent the character from changing his vertical position on the screen (the horizontal position continues being the same for all the sprites), so we'll have to manually adjust the "y" component of the sprites' axis later. In this cases the better option is tu adjust the axis' "y" component so the waist is more or less at the same height (except maybe in sprites where the character is upside down) in all the sprites. There are two ways to do this: one, don't do anything special by now and later, when building the SFF, adjust the axis' "y" component manually, or two, once the sprites are cropped, we move them up or down to align them, saving us from having to manually adjust the axis, as it will be the same for all of them (provided we cropped them all to the same size).

Vertically aligning the sprites: For jumping sprites and any aerial maneuvers, it's a good idea to vertically align the sprites with our graphics edition program so the waist is more or less to the same level.

The majority of actions can be reduced to any of these, although unfortunately there will be always cases when we'll be forced to manually adjust the sprites' axis.

A little detail: if after taking the character to one of the stage's ends and taking the screenshots the character is "cut" by any of the screen's borders, it doesn't matter. Later, once every sprite is cropped and ready, we'll take a shot where the entire sprite is visible, and paste it on the "cut" one.