PDA

View Full Version : [Tutorial] [TUT] Simple Guide to Replacing Pokemon Sprites (FR/LG/R/S)


Maco
February 20th, 2010, 04:00 PM
After looking through every tutorial I could find, each with their own confusing text and some with incomplete steps, I've decided to make my own guide to replacing Pokemon sprites for the GBA generation. I use Photoshop for any spriting, and the ROM is FireRed, so this guide is focused on that.



Before Starting


Tools you will need:

A graphics editing program.
The most popular program for this is Microsoft Paint, simply because it comes for free with every copy of Windows. Personally I do not recommend it because it is a very basic program, and not that easy to use. I use Photoshop, simply because it is the best graphics editing program money can buy. A decent free alternative is Graphics Gale. (link (http://www.humanbalance.net/gale/us/download.html))
unLZ GBA (link (http://www.pokecommunity.com/showthread.php?t=85025), scroll down to it).
This little program reads through your Pokemon ROM and displays all the compressed images within the ROM. It also can replace compressed images within the game. (Compressed means that the image file is shrunk in size to save space on the ROM). Every Pokemon sprite and trainer sprite is compressed in the GBA ROMs, so you will need this tool to edit your Pokemon.
Free Space Finder (link (http://www.pokecommunity.com/showthread.php?t=85025), scroll down to it).
This program does what its name says: it finds free space in your ROM. If your new sprite is bigger than the original sprite, it is impossible to write over the original without ruining the rest of the ROM. Instead, we can write the new picture into the empty space, and tell the game to use that image instead of the original.



Tools you might need (if not using Photoshop):

IrfanView (link (http://www.irfanview.com/))
This program is primarily for indexing your new Pokemon sprite. I will explain what indexing is and how to do it later in the guide.




Overview


What we are going to do:

Use unLZ to locate a sprite in the ROM, and export this sprite so we can edit it.
Properly colour and index the new edited sprite.
Use Free Space Finder to find a suitable location for the new sprite.
Import the new sprite into the ROM and replace the old one.


General Knowledge and Definitions:


A sprite in a ROM is made up of two parts: a palette and the indexed image itself
What is indexing?
An indexed image stores an image as two matrices. The first matrix has the same size as the image and one number for each pixel. The second matrix is called the color map and its size may be different from the image. The numbers in the first matrix is an instruction of what number to use in the color map matrix.In our case, the second matrix is in fact our palette.
A palette is just a file that contains the colours to be used in the indexed image. For the Pokemon games, a palette can only contain 16 colours. This means your edited sprite can only use 16 colours (one of which must be the background colour, so only 15 usable colours in the palette).
For Pokemon sprites, the image file must be 64x64 pixels in size, no more, no less.
The first colour in the palette is transparent in-game.



Method


Part 1: Locating and exporting a sprite

Open up your clean ROM with unLZ. Wait a little bit for it to load the images.

http://img24.imageshack.us/img24/3516/unlzdescription.png

Now you have to find the sprite you wish to replace. Pokemon sprites begin at around Goto 670 in Fire Red (may be different for R/S). Just type in 670, click goto, and click "Next" until you find the sprite you want to replace. I went to Goto 674, Charmander.

http://img138.imageshack.us/img138/9008/unlzsaveasexample.png
Click "Save As" and save the picture as a .png somewhere memorable.
There, Part 1 done! :)



Part 2: Colouring and indexing the sprite

Make a new document in your graphics editing program. Make sure it is 64x64 pixels in size.
Draw or copy/paste your new sprite into this window. You can use the saved image from Part 1 as reference. Remember to only use 15 colours in the picture. If you accidentally use more than 15 colours, you can use Photoshop/IrfanView to reduce the colours to 15 (more on that later). In my case I created a Charmander in a different pose, based on the sprite from Pokemon Yellow.

http://img205.imageshack.us/img205/9831/charmanderoriginal.png http://img718.imageshack.us/img718/7066/charmanderd.png
Choose a colour for the background of your new sprite. Make sure that this colour is not used in the actual sprite itself. I used a creamy-greeny-white.

http://img148.imageshack.us/img148/9976/charmanderrvfinal.png
Indexing time! This is the hard part, although if you have Photoshop, this is quite easy:
Click Image, Mode, Indexed Colour...
You will see a box like this come up:

http://img69.imageshack.us/img69/2941/photoshopindexing1.png

Uh Oh! As you can see, when the palette is exact (i.e. every colour will be shown in the palette), I have used 17 colours in the image :surprised: If I had done it right, the Colours number should be 16.
Luckily for me Photoshop has a feature to limit the colours to a certain number (click the drop-down palette menu, click 'Local (Selective)' and type 16 in the colours box)

http://img521.imageshack.us/img521/771/photoshopindexing2.png


If the colours box says 16, you can proceed to the next step.
Also, untick transparency, since this adds another colour (transparent) to the palette. Pokemon ROMs don't handle transparency in this way, so it'd just be a waste of a palette slot.

Now that we have a 16-colour image, we have to index it and create the palette. If we just clicked OK now, Photoshop may not put the background colour in the first slot of the palette, which is really bad. The first colour in the palette will be transparent in the game, so we want the creamy-greeny-white colour to be in the first slot.
Click the drop-down menu under Forced, and choose Custom. Another box will pop up:

http://img205.imageshack.us/img205/8281/photoshopindexing3.png

Click the first square in the new box, and a colour selection box will pop up. Click on the background colour of your new sprite, and click OK, OK, OK.

http://img697.imageshack.us/img697/9982/photoshopindexing4.png


Guess what? Your new sprite is indexed, ready to be imported into your ROM. Click File, Save As and choose .png in the drop down menu. Save this file somewhere memorable. Proceed to Part 3.
But what if you don't have Photoshop? Here's my guide to indexing using IrfanView:

Firstly, to index your sprite using IrfanView, open up your sprite in the program.
Click Image, Decrease Colour Depth. Choose 16 Colors (4 BPP), and make sure the 2 boxes are unticked. Click OK.

http://img29.imageshack.us/img29/1620/irfanfixed1.png

Now click Image, Palette. See the 16 colours there? Remember, the first colour in the palette will be transparent in game. For my Charmander sprite, we want the first colour to be the greeny-creamy-white background colour.

http://img682.imageshack.us/img682/4963/irfanindexing2.png

As you can see from this picture, IrfanView has made the first colour black. So how do we solve this problem? We swap the background colour with the first colour in the palette.

Click on the background colour in the palette:

http://img651.imageshack.us/img651/5812/irfanindexing3.png

Notice the circled bit in red down the bottom? These are the Red/Green/Blue values identifying that colour. Write this down somewhere. Click on the first colour in the palette and write down its RGB value too. My RGB values ended up being
Background Colour = [204, 202, 172]
First Colour = [20, 18, 20]Now double-click on the first colour in the palette, a new window will pop up:

http://img34.imageshack.us/img34/6123/irfanindexing4.png

Replace the values in the box (circled in red in the pic) with the values of the background colour you just wrote down. Click OK. Do the same for the background colour, replace its RGB values with the first colour's values. Click OK.

Now your palette should have the background colour and first colour swapped:

http://img294.imageshack.us/img294/8393/irfanindexing6.png

Click OK again.

Your sprite will now look messed up. This is normal.

My sprite looks like this after swapping the colours:

http://img199.imageshack.us/img199/4705/irfanindexing7.png

Just click File, Save As, and save this picture as a .PNG file. Close up IrfanView, and open your graphics editing program. I will use paint just as an example.

Open up the messed-up version of your sprite you just saved from IrfanView. Also open up the correctly coloured version of your sprite:

http://img195.imageshack.us/img195/4788/irfanindexing8.png

Now just copy all of the correct sprite across to the messed up sprite (I used Ctrl+A, Ctrl+C, then Ctrl+V into the other window):

http://img15.imageshack.us/img15/958/irfanindexing9.png

Save this fixed up file as a .PNG file. Guess what? Your sprite is now correctly indexed and ready for insertion. Move to the next step :)




Part 3: Finding Free Space

Open up Free Space Finder. Click File, Open ROM, and browse to the ROM you want.
Now look at the file size of the indexed sprite you wish to insert. For my Charmander, it is 3.99KB (let's just round up to 4KB)

http://img51.imageshack.us/img51/3356/filesize.png

Convert this number to bytes here (http://www.t1shopper.com/tools/calculate/). In my case, 4KB = 4096 bytes. Enter this value into Free Space Finder, and click search.

http://img186.imageshack.us/img186/4603/fsf1.png

See the "800000" in the box on the right? This is the location in the ROM of some free space big enough to hold you new sprite. There, Part 3 done. We are maybe 20 seconds away from your new sprite being in-game.



Part 4: Importing the New Sprite

Open up unLZ again. Open up the ROM you want. Browse to the sprite you want to replace, for me it is Goto 674 (Charmander).
Now click Import. Browse to your freshly indexed sprite. You should see your new sprite as the picture on the left. Click Write to ROM. Tick all three boxes up top, and change the image offset value to the number that came up in Free Space Finder.

http://img27.imageshack.us/img27/8306/unlzwritetorom1.png

http://img59.imageshack.us/img59/4982/unlzwritetorom2.png

Click OK, and close unLZ. Open up the ROM in your emulator of choice, and behold the magnificence of your new sprite! Here's how mine turned out:

http://img294.imageshack.us/img294/3321/example1o.pnghttp://img706.imageshack.us/img706/3124/example2j.png





Bugs Guide



Picture all scrambled, dots/lines randomly everywhere:
Either your sprite wasn't 64x64 pixels or you have inserted the sprite in a place where there isn't enough room for it. Also, you may have inserted something else over the top of sprite by accident.
Colours all messed up:
Either you made a mistake with the palette, or just didn't replace it somehow.
Background colour showing:
Make sure the first colour in your palette is the background colour.
Crashing:
Probably have inserted the sprite over some important data. Make sure you are using FSF properly, and start afresh with a new ROM.
"Image is not indexed, aborting" error in unLZ:
Exactly what it says. If you used the IrfanView method to index, make ABSOLUTELY sure you used only 16 colours in the correctly coloured sprite.


Conclusion


Well I sincerely hope this guide works for you. I've tried to integrate the theory of inserting sprites too, instead of just putting up instructions. If you like this guide or have any comments feel free to drop me a message sometime, although I am quite busy at the moment so I mightn't be able to reply.

Special Thanks

...to HackMew, Deviation and other forum members for answering my own noob questions, and for various guides. Thanks to HackMew again for his great toolset too.





:bandit:

Chaos Rush
February 21st, 2010, 09:04 AM
You could just save the original sprite as a png file with unLZ, and then paste the new sprite into the png file, since unLZ already indexes the file for you. There's no need for Photoshop.

Tropical Sunlight
February 21st, 2010, 10:06 AM
You could just save the original sprite as a png file with unLZ, and then paste the new sprite into the png file, since unLZ already indexes the file for you. There's no need for Photoshop.
Unless he wanted to include new colours :)

558122_DG
February 21st, 2010, 10:08 AM
well, anyways this is a very clear tutorial, and you've described everything nicely ;)
good job on your first tutorial :)

Maco
February 22nd, 2010, 01:15 AM
You could just save the original sprite as a png file with unLZ, and then paste the new sprite into the png file, since unLZ already indexes the file for you. There's no need for Photoshop.

I used Photoshop simply because I made the sprite in it, and because it is familiar to me. Also I did use a few different colours for my revamp, as H2O Turquoise said.


good job on your first tutorial :)

Thanks :)

The Prince of Sweet Sorrow
February 28th, 2010, 10:22 AM
I used Photoshop simply because I made the sprite in it, and because it is familiar to me. Also I did use a few different colours for my revamp, as H2O Turquoise said.

Yeah, it is familiar to you, but not everyone owns PhotoShop, so it would be better to use a free programme like IrfanView.

Pokepal17
February 28th, 2010, 10:50 AM
Well done. This is a very detailed tutorial. :3 However, you should include that part to see if you don't need to repoint, because that will save space. :3

xzibit29
March 2nd, 2010, 05:09 AM
How about if I/you want to change the Fire Red Title Screen pokemon(Charizard)? I can't see one if I use search..please PM me. Thanks

Maco
March 5th, 2010, 03:05 PM
Yeah, it is familiar to you, but not everyone owns PhotoShop, so it would be better to use a free programme like IrfanView.

There are guides for using IrfanView, and I linked to them in case people didn't have Photoshop. But if you're serious about pixel art and mapping you should probably have a copy anyway.

Well done. This is a very detailed tutorial. :3 However, you should include that part to see if you don't need to repoint, because that will save space. :3

Thanks :) Usually with edited sprites they are slightly larger than the originals, so for the most part you'd have to repoint. It's just less confusing this way.

How about if I/you want to change the Fire Red Title Screen pokemon(Charizard)? I can't see one if I use search..please PM me. Thanks

Replacing the Charizard on the title screen is completely different to replacing Pokemon sprites (and a lot harder to explain). There are several guides in this forum to replace it, search for "titlescreen".

Kronos
March 10th, 2010, 05:17 PM
Whenever I try to import the indexed sprite, it gives me an error saying the sprite is not indexed? Do you have any fixes for this?

*edit* Nevermind. Apparently, if transparency is checked, the image will not work. Can you add this so others don't make this same mistake?

Maco
March 10th, 2010, 09:51 PM
Whenever I try to import the indexed sprite, it gives me an error saying the sprite is not indexed? Do you have any fixes for this?

*edit* Nevermind. Apparently, if transparency is checked, the image will not work. Can you add this so others don't make this same mistake?

Added. I might also do a little section on IrfanView like some people have suggested.
Edit: The IrfanView guide is up. Hope somebody finds this useful.

Super Hacker
March 11th, 2010, 03:38 AM
oh, thanx!
when we've repointed some times have bugged or the pokémon or the intro or other image...
but now you show me how to make

Kronos
March 11th, 2010, 11:43 AM
Added. I might also do a little section on IrfanView like some people have suggested.
Edit: The IrfanView guide is up. Hope somebody finds this useful.

The tutorial is very useful ^^ It's very straightforward and explains everything nicely.

Opalescent
March 13th, 2010, 03:15 PM
This tutorial is fantastic
Mine keeps bugging up though
I'll just have to try and figure out where its going wrong.
This guide makes it a lot easier to spot the errors I make :)

Maco
March 13th, 2010, 03:47 PM
This tutorial is fantastic
Mine keeps bugging up though
I'll just have to try and figure out where its going wrong.
This guide makes it a lot easier to spot the errors I make :)
How is it bugging up? I might be able to help.
Are the colours messed up, or the background is showing, etc?

AxelandDemyx101
March 14th, 2010, 04:41 PM
This tutorial is fantastic
Mine keeps bugging up though
I'll just have to try and figure out where its going wrong.
This guide makes it a lot easier to spot the errors I make :)
mine is buggy too...The colors arent right sometimes,it looks like a red storm cloud,It crashes everything,its a bad egg,or it just wont change...

Maco
March 15th, 2010, 03:39 AM
mine is buggy too...The colors arent right sometimes,it looks like a red storm cloud,It crashes everything,its a bad egg,or it just wont change...

Can't really help you without seeing a screenshot. Adding general bugs guide to the tutorial too.

BLAZEQUAZA
March 15th, 2010, 04:20 PM
Sweet - This is Awesome

THANX!

hack1
March 25th, 2010, 05:18 AM
I used same colours but it still gives an error.

Shiny Quagsire
March 25th, 2010, 06:13 AM
Try inserting it without using FSF. It will give you an error and a number. Open calculator, goto scientific, then go to the hex radio button. Paste your error number. Now click on the dec radio button. Copy that number, and paste it into the dec textbox. Tell me if it helped. :)

DingoDD
March 28th, 2010, 01:33 AM
Very good tutorial, I just have one question, My backround shows when I send the pokemon out. I followed everything in the tutorial, but when you had to paste the original sprite over the indexed one, it said the image was not indexed when I tried to import on unLZ.gba. help?

Maco
March 28th, 2010, 02:06 AM
Very good tutorial, I just have one question, My backround shows when I send the pokemon out. I followed everything in the tutorial, but when you had to paste the original sprite over the indexed one, it said the image was not indexed when I tried to import on unLZ.gba. help?

Read the bugs guide at the bottom of the tutorial. If it says it isn't indexed after copy/pasting it then you probably have used more than 16 colours. If the background is showing, the background colour is not in the first slot of the palette. You will have to re-index the file and reinsert.

DingoDD
March 28th, 2010, 03:31 PM
Read the bugs guide at the bottom of the tutorial. If it says it isn't indexed after copy/pasting it then you probably have used more than 16 colours. If the background is showing, the background colour is not in the first slot of the palette. You will have to re-index the file and reinsert.

Okay, I just made a sprite with 5 colours including the backround.I followed the steps and made the changes. But it still says image not indexed. Is their any way I could show you?

Shinn_Asuka
March 28th, 2010, 11:18 PM
Ok, this was actually extremely helpful, thanks. Question though, let's say I wanted to take every sprite from Emerald, and put it into FR/LG. Is there a way to do large amounts at once, or can it only be 1 sprite at a time?

Maco
March 29th, 2010, 04:44 AM
Okay, I just made a sprite with 5 colours including the backround.I followed the steps and made the changes. But it still says image not indexed. Is their any way I could show you?
You could upload the photo to imageshack, then post the link in this thread.

Ok, this was actually extremely helpful, thanks. Question though, let's say I wanted to take every sprite from Emerald, and put it into FR/LG. Is there a way to do large amounts at once, or can it only be 1 sprite at a time?
I'm not sure, could be possible. Only advice I can give is to search through the help threads or toolbox.

DuoRyan
March 29th, 2010, 09:00 AM
hmm pretty good i finally did it yay! can you do the backsprite part and how to make it not mess up

butartoast
March 31st, 2010, 06:59 PM
i followed your guide step by step and it still ended up looking like this i pallated it in adobe then use free space finder and copied the code in when i was saving it and it still looks like this

http://i911.photobucket.com/albums/ac313/butartoast/messup.jpg

Maco
April 1st, 2010, 02:56 PM
If it gets lines over it like that, most likely there wasn't enough space to put it in, or you've placed something else over it. Since you said fsf gave you the offset, most likely the latter. This problem happened to me when I had the palette accidentally overwriting the sprite.

Start afresh with a new rom and try this:
Make sure you don't repoint the palette in unlz, just leave its offset as is
Make sure you use offsets beyond 800000 (there should be a tick box for this in fsf
Dont insert something else in the sprite offset

ChaosNinjat
April 6th, 2010, 12:54 PM
I've followed this tutorial, but used it to replace the trainer sprite for the male protagonist, and it worked on my back up rom, but now that I put it into the real rom, I follow every step, but the Trainer card goes black when you try to view it, is there anything I can do to reverse this?

Maco
April 7th, 2010, 01:25 AM
Er, I'm no expert on patching or anything, but here's a link for ROM Recovery (http://www.pokecommunity.com/showthread.php?t=117917#recovery). You'll need HackMew's program A-Patch from his tool thread, there's a link to the thread somewhere in my tutorial if you want it.

Mightyena_83
April 9th, 2010, 09:33 AM
great tutorial :) i have a problem with paint though, i can't open png files they have to be .bmp =/ what do i do?
i get the sprites into the game but they're all messed up

Maco
April 10th, 2010, 07:21 AM
great tutorial :) i have a problem with paint though, i can't open png files they have to be .bmp =/ what do i do?
i get the sprites into the game but they're all messed up

Weird. It should open png's, mine does. What OS are you running? XP, Vista, etc?

brutal satyr
April 11th, 2010, 06:25 AM
Perhaps you should say something about shiny sprites as it is a little more difficult then the normal ones.
Because you have to change the order of the shiny's pallete to make it come out right as I have found out the hard way :D

Mightyena_83
April 11th, 2010, 08:41 AM
i found out what it was =P my computer messed up a while ago so we loaded Windows 2000 over the top of XP...paint on windows 2000 is rubbish "/ :L
it just means i keep having to convert the picture file after editing it which probably isn't helping it be clear.

EDIT

I got round the paint problem, but after i do everything the tutorial says, the new picture is back to 24 BPP so it says it is not indexed "/ what to do?

Hidan's Hacking Helm
April 19th, 2010, 05:01 AM
When i insert something the picture goes and im left with only the toolbar and the things on the right side

Maco
April 20th, 2010, 01:27 AM
When i insert something the picture goes and im left with only the toolbar and the things on the right side

Could you explain that a bit more clearly? A picture of the problem tells a thousand words too, if you can get one.

NARFNra
May 15th, 2010, 06:10 PM
Mine still says it isn't indexed, and I've redone the tutorial multiple times.

Can you explain exactly what it does when it indexes a file? That may have something to do with my problem.

Elite Trainer Red
May 16th, 2010, 10:37 AM
thanks dude really helped!

saifors
June 19th, 2010, 07:48 AM
I did every bit like in the guide and it still says: "Error: Image is not indexed" why do this things always have to happen to me :(
Edit: oh and it is the good size

ERROR
June 23rd, 2010, 08:02 AM
thnx for explaining in detail very excellent or beginners

vietazn654
June 23rd, 2010, 02:56 PM
When I test out my sprite, the screen went black. =[ Because I inserted the sprite, then it said it's too big. So then I get free space, and put it in. Then I test it out and its black. =[ It's a gym leader sprite. I went on A-Trainer and it looks fine, but it won't work. Any help?

drew6464
June 23rd, 2010, 06:33 PM
I'm pretty sure this is for Pokemon only. By the way, trainer sprites are more than 64x64.

Also, I'm having a problem too. When I save it on and write it on and do everything it says in the guide, then press "Next" and "Previous", the original sprite is still there... I'm not sure.

Tilley
June 29th, 2010, 12:13 PM
Hi~


Just wanted to know what version of Irfan View you had, because the Image>Pallete has another menu drop down thing, so its like

Image> Pallete> Edit Pallete
Export Pallete
Import Pallete
And the only active button is the last one, but not the first two...


So yeah just want to know what version of Irfan View you had making this.
Thanks :)

dragoniteuser
June 30th, 2010, 06:16 AM
Thanks for this tut.
I have no problem with indexing, you explained everything perfectly and it works, but after I import it and write it to ROM succesfully two files are created where ROM is: .pal and .spr files. Now without these files the game won't work. So what am I suposed to do with them. Should I turn them into some kind of pach and if I should,... how?

Lastwarrior
July 1st, 2010, 05:38 PM
i did everything but it still said image not indexed and when i indexed and test it the screen restart HEEEEEEELLLLLPPPPP MEEEEEE!!! PLZ

Giratar
July 5th, 2010, 05:35 PM
Okay, I'm using the BETA1 version of unLZ.GBA, and I did everything that you said in the tutorial. But the things in my unLZ.GBA look different, such as the offsets for the palette and picture when I try to write into the ROM have a 00 in front, and I have 4 checkmark-able options instead of 3(but I only selected the ones in the tutorial).

When I wrote the sprite in, it didn't do anything except change the picture's palette! It ended up looking like this:

http://www.unendingwhisperscaverns.webs.com/problem.bmp
And this is what I wanted to put in: http://www.unendingwhisperscaverns.webs.com/kitteleh2.png

Shiny Quagsire
July 5th, 2010, 08:14 PM
Did you even test it in the game?

Giratar
July 6th, 2010, 09:42 AM
Yes.... Yesterday it showed up like a glitched up Taillow!

But now it shows up in the game like normal... O_o

MechaTrainer
July 6th, 2010, 10:58 AM
5514155142This tutorial worked perfectly even with the backsprites except now my new front sprite for charmander that looked great before looks horrible now. Any Help?

Resultz
July 6th, 2010, 03:41 PM
thankyou so much!, i couldnt get my head round how to index sprites until now!
EDIT: every time i index the sprite Unlz says its not, and it always ends up with 17 colours even when i do it right...
EDIT: i also tried with a sprite with 8 colours and it still said its not indexed. Any specific name i have to save it under. I think its the step on paint where im mucking up, because i dont see how C/ping the original sprite onto the messed up one indexes it.

yugimon121
July 10th, 2010, 06:59 PM
thank you!
finally got it right! woohoo!

porkiewpyne
July 20th, 2010, 11:02 PM
I have followed every step mentioned but unLZ still gives me the "Error: Image not Indexed" message. Using Paint and Irfanview as well. Can someone help me out? Tried the steps in another tutorial as well but still unsuccessful. I really do not know what went wrong since i followed the tutorial step by step. Sigh...

EDIT:

SOLUTION: Make sure you are not using Paint for Windows 7. For some reason, it just refuses to open the indexed pic as an indexed pic (and I think it changes it back to being un-indexed). Use Paint which came with Windows XP. One (noteworthy) thing though, I can't seem to save it under a different name but it's no problem actually. Not too sure about the one for Vista. Hope this helps as it worked for me. :P

Beebeeson
November 9th, 2010, 07:16 AM
this was the first time ever i have tried to change sprites in a rom and i followed your tutorial to the letter, everything seems to be working, except i too get the scrambled sprites when i open the rom with unLZ. i tested the rom after adding the first sprite and it popped up and looked fine when prof oak asks you to choose a pokemon. does this mean the scrambling in unLZ doesn't actually affect the rom?

Grassmen
November 17th, 2010, 08:02 AM
I've got Windows 7 paint, so I'm also getting the indexing issue. But I've found a way around it.

Index your image as you would usually, switching the colours around so that you get the right transparent colour. Load in paint. You don't need to swap the colours around like you usually would, just save under a different file name and open this in Photoshop/Irfanview. Now index the image again, swapping the colours back around so that the transparent colour is the right one. What you should get is everything looking the way you want, and all transparent :)

So no need for older paint programmes! :D

shadowdorothy
December 2nd, 2010, 11:05 PM
I have attempted to follow your tutorial but it doesn't seem to work for me.

When I attempt to insert the image into the rom I keep getting an index error. I have tried everything you said to do multiple times with no success.

Is there another way besides using infarveiw or CS photoshop to index sprites?

tpmrpg
December 6th, 2010, 06:57 PM
I have attempted to follow your tutorial but it doesn't seem to work for me.

When I attempt to insert the image into the rom I keep getting an index error. I have tried everything you said to do multiple times with no success.

Is there another way besides using infarveiw or CS photoshop to index sprites?
There is one.... The G.I.M.P :) it's free and just liek photoshop.

Zapdogre
December 8th, 2010, 08:49 AM
Awesome tutorial! Really helped me, thanks very much!

shadowdorothy
December 8th, 2010, 12:45 PM
There is one.... The G.I.M.P :) it's free and just liek photoshop.

Yeah, but will it work? If i attempt to put an image into a rom will it work?

Banjora Marxvile
December 8th, 2010, 01:16 PM
Yeah, but will it work? If i attempt to put an image into a rom will it work?

If you know how to index it yes. Though Irfanview is simpler for it IMO, but you said not Irfanview (intrigued as to why though...)

PokemonEditor
March 22nd, 2011, 05:47 PM
For some reason after following this very helpful tutorial. When I get looking at my finished pokemon in the game its colors are inversed, help please? As in the flame of my Rapidash is it's body color & vis-versa.

Yuber
April 11th, 2011, 01:21 PM
I have trouble while using this tutorial.
The first sprite i inserted it went well. But the next two i tried they didn`t even look like the sprite that i wanted to insert, but like a colour swapped of the original sprite.
I hope i made myself clear, here`s what happens to me:


EDIT: i realized that i didn´t ticked the "automatically set pointers" i will try that. Sorry for the inconvinience.

Echidna
April 12th, 2011, 01:23 PM
unlz gba isn't really the recommnded program for pokemon sprite editting, its mostly used for trainers sprites (there's no difference, but its kinda unreasonable to use unlz gba when you could use rom hacker XP or advanced pokemon sprite editor !!

Tatsumase
April 13th, 2011, 07:09 PM
No matter what I do with the colors keep coming out glitched, while only one sprite stays the same.
And now it seems it's also getting rid of the backsprites.

What am I doing wrong?

Meinfoo
April 13th, 2011, 08:07 PM
Thanks so much for this tutorial, It really helped me out! Everything was very straight forward with screenshots too! Great work!

Zeffy
April 13th, 2011, 08:18 PM
unlz gba isn't really the recommnded program for pokemon sprite editting, its mostly used for trainers sprites (there's no difference, but its kinda unreasonable to use unlz gba when you could use rom hacker XP or advanced pokemon sprite editor !!
I don't like both of the programs you mentioned, tbh. I find it easier to use unLZ because whenever I use APSE, the colors always gets screwed up. Its sucks imo.

Echidna
April 23rd, 2011, 04:07 PM
well i didn't say apse, but even there, the prob you mentioned is solvable, that's why they made the synchorize palettes button. It never fails me (As long as the 16 color palette rule is take into consideration when the sprites are drawn.)

Pokepal17
April 24th, 2011, 06:04 AM
You should note down in the tutorial that crashing occurs if the offset the sprites is inserted at doesn't end with 0, 4, 8, or C. This also applies to tilemaps and music, I think.

Hackmon
August 2nd, 2011, 01:57 AM
Every time I try to change the sprite it comes up with "image is not indexed" and when I check it on irfanview I have only used 16 colours why does this happen?

I use paint, irfanview and free space finder.

Banjora Marxvile
August 2nd, 2011, 02:01 AM
Every time I try to change the sprite it comes up with "image is not indexed" and when I check it on irfanview I have only used 16 colours why does this happen?

I use paint, irfanview and free space finder.

Did you use the Decrease Colour Depth option to make it only use 16 colours, like you are meant to? If you did, did you open it with Paint afterwards, as that sometimes unindexes the sprite.

Fortunado
August 2nd, 2011, 06:09 AM
I'm trying to insert my image, and I'd done everything up to the point, but it keeps saying "Error: Image Not Indexed"

Banjora Marxvile
August 2nd, 2011, 06:22 AM
I'm trying to insert my image, and I'd done everything up to the point, but it keeps saying "Error: Image Not Indexed"
Did you get Irfanview and Decrease Color Depth to 16?

Fortunado
August 2nd, 2011, 06:25 AM
Did you get Irfanview and Decrease Color Depth to 16?

Yes. It's not accepted it as indexed, but now it won't write it to the ROM. Seriously, ever time I look at the sprite in the ROM, it's a discoloured version of the old sprite.

Banjora Marxvile
August 2nd, 2011, 06:30 AM
Yes. It's not accepted it as indexed, but now it won't write it to the ROM. Seriously, ever time I look at the sprite in the ROM, it's a discoloured version of the old sprite.
Did you repoint the image to free space, because unlz shows the old image still as it is still at that location. The ROM should read the new location of your image in game, did you test the in game sprite?

Fortunado
August 2nd, 2011, 06:35 AM
Did you repoint the image to free space, because unlz shows the old image still as it is still at that location. The ROM should read the new location of your image in game, did you test the in game sprite?

Well, the difficult part about testing it in-game is that instead of doing a Pokémon Sprite Switch, I'm doing a trainer switch. Same principles apply, just a bit more work.

Banjora Marxvile
August 2nd, 2011, 06:41 AM
Well, the difficult part about testing it in-game is that instead of doing a Pokémon Sprite Switch, I'm doing a trainer switch. Same principles apply, just a bit more work.

UNLZ isn't helpful in checking if you inserted a trainer into free space, as it doesn't show these new images. One way is to perhaps go to the offset you used for the sprite using a very similar tool called NLZ (NOT UNLZ), and see if the sprite is there correctly, or script (or copy a script of) a trainer event that uses that sprite to the start map and see if it works.

Fortunado
August 2nd, 2011, 06:46 AM
UNLZ isn't helpful in checking if you inserted a trainer into free space, as it doesn't show these new images. One way is to perhaps go to the offset you used for the sprite using a very similar tool called NLZ (NOT UNLZ), and see if the sprite is there correctly, or script (or copy a script of) a trainer event that uses that sprite to the start map and see if it works.

To test it, I simply took the trainer sprite used for your rival and replaced it with my test sprite. It failed miserably. It was a giant gray square with the sprite inside. =.=

Banjora Marxvile
August 2nd, 2011, 06:49 AM
To test it, I simply took the trainer sprite used for your rival and replaced it with my test sprite. It failed miserably. It was a giant gray square with the sprite inside. =.=

That means you indexed it, but the background wasn't selected as the background colour. Which is just an indexing error - using Irfanview and saving it as a gif after indexing, and checking the box when asked what to save it as that says "select transparent color" and picking the background when asked should make the background see through when you reinsert it.

OR find your pallette in APE, move the colour that is transparent with the one that is the background, reinsert the sprite exactly, replacing the offset you used for the last sprite, but without inserting the pallette.

Fortunado
August 2nd, 2011, 07:11 AM
That means you indexed it, but the background wasn't selected as the background colour. Which is just an indexing error - using Irfanview and saving it as a gif after indexing, and checking the box when asked what to save it as that says "select transparent color" and picking the background when asked should make the background see through when you reinsert it.

OR find your pallette in APE, move the colour that is transparent with the one that is the background, reinsert the sprite exactly, replacing the offset you used for the last sprite, but without inserting the pallette.

Can't you only insert .png files?

Banjora Marxvile
August 2nd, 2011, 07:36 AM
Can't you only insert .png files?

I think you can also insert .gifs, as long as they are indexed. When Importing a File, make sure the search is for All Files, not just pngs.

EDIT: No, I'm wrong. But you can pick a transparent colour with Irfanview if you select to save as a png.

EDIT2: Actually, I was right. But yeah, you can do it with a png too.

Hackmon
August 2nd, 2011, 10:03 AM
Did you use the Decrease Colour Depth option to make it only use 16 colours, like you are meant to? If you did, did you open it with Paint afterwards, as that sometimes unindexes the sprite.

yes I did open it with paint afterwards but what am I supposed to do to get a sprite looking normal?

Banjora Marxvile
August 3rd, 2011, 12:04 AM
yes I did open it with paint afterwards but what am I supposed to do to get a sprite looking normal?

Do all the necessary edits, then index it (without the dithering option), and it should be fairly normal. Or, use a program like GIMP to edit and index it at the same time.

psyxe
August 5th, 2011, 08:40 AM
There are guides for using IrfanView, and I linked to them in case people didn't have Photoshop. But if you're serious about pixel art and mapping you should probably have a copy anyway.


how.. exactly does pixel art = Photoshop?

Evilade
August 30th, 2011, 11:58 AM
Well, this is indeed very helpful to me, especially for indexing. But, I am experiencing some trouble, in the way that when I attempt to import I am told the sprite is unindexed.

(EDIT: Do disregard everything below, I did some reading and porkiewpyne had the exact same problem as me, but he found the solution)

I believe I have correctly followed your Irfan tutorial, and I was able to lower the pallet to 16 and then rearrange the two necessary colours, resulting in a similar and somewhat broken image. It seems that when I paste the unindexed image over the indexed one in Paint (Windows 7) it also carries over properties such as... well, not being indexed. Actually I think I can test this theory...

Okay, I tried again. I lowered to 16 and went about that colour swapping business, and then I closed and reopened in Irfan. The box for 2 (black and white) is now ticked, as apposed to what I ticked (16). I can only assume this is normal behaviour.
Then, I pasted my unindexed sprite over it (in Paint), and checked again in Irfan - now the box for 256 is ticked. This seems to be my problem.

I imagine there is some thing I am doing wrong, something easily fixable to be quite honest XD I do have a habit of buggering up the simplest of things.

Some information that may also be of relevance and use is that I am trying to replace Lickitung with a Mew sprite that has been edited intentionally badly to be wearing a top hat, amongst other accessories (The hat is drawn in a colour that is actually used by the original sprite, I am definitely under 16 colours). In Ruby version. I dislike Lickitung. Intensely. Top hats are cool and so is Mew.

I understand that is a lot to read, and that most of it is unnecessary drivel. Thank you in advance.

jvpski3
August 31st, 2011, 02:04 PM
Yeah, it's pretty good. Thank you, I need ALOT of help with tile editing/graphics. Thank you. D-trough was nice ENOUGH to be dead, so no more for him :(:(:(:( I AM SO ****ING SAD!!!

jojo1250
October 23rd, 2011, 07:46 AM
whenever i try to point my new image to a new offset if it is too big, the pallete changes but the image doesnt. what should i do? or what did i do wrong?

StaryuManiac
December 19th, 2011, 10:23 AM
...I'm using firered.
I followed all methods shown...

I tried to replace Gary Oak (1607 in unlzgba for me) with a sprite of Neru Akita I made. 16 colors, everything's good.

All I see is Gary with Neru's pallette when I come back. I don't know how to fix it.

Also my version of Unlzgba is different than yours, I have the check box "auto abort if new data is bigger"
Is mine older? it came with elitemap.

Do you need images?

razorbl
January 7th, 2012, 12:15 PM
Sorry to revive\make yet ANOTHER question, but I would greatly appreciate if somebody could help me:

The tutorial helps a lot, and I managed to actually insert some sprites in my Pokemon Ruby (U) Rom, Treecko and it's evolutions to be precise. However, a weird "glitch" happens:

The "Front" sprite and the "Back" sprite seems to mess with each other!

Basically, when I go to Treecko Front Sprite and swap it (965 and palette 770), I can see the swapped front sprite (The one used in summary) in-game perfectly but the "back" sprite (The one used in battle) is completely "messed up" (Wrong colors).

And guess what? When I try to swap the "Back" sprite on unLZ in an attempt to fix the problem, the "front" sprite become "messed up".

ZpAnish
February 14th, 2012, 12:02 PM
I have been enlightened. Greatly detailed tutorial, thanks man :D

someone from tk 6D
March 6th, 2012, 09:53 PM
Regarding how to edit the charizard, search for dawnryders tut in the tutorials section.

Cheshcrew
June 1st, 2012, 06:51 AM
Hey i know this is alot to ask for but unlz will NOT work for me. I was wondering if i could send you my hack and the pic i want in the game, and you do it for me?

sk8rboy
June 12th, 2012, 10:31 PM
Ok well im relatively new to this but when I import my sprite everything goes fine but, when It appears in a battle my emulator freezes and it has these lines on it. And I've done everything right. its 64x64 and it has enough space. I've tried many times and looked up tutorials but I still cant fix it please help.

Tangrowthjelly
June 14th, 2012, 08:55 AM
Same problem here, but only with my backsprites. I know that you're supposed to use the shiny palette for the backsprite, but is there anything else you do differently?

sk8rboy
June 14th, 2012, 05:11 PM
ive tried many times to replace a sprite and no matter what i do i cant get it to work. I always have the same random lines and dots error. and im not doing anything in the TUT wrong. please help

Same problem here, but only with my backsprites. I know that you're supposed to use the shiny palette for the backsprite, but is there anything else you do differently?
No do you have any advice for the forward sprite? I just cat get it right.

xXDisturbed
June 17th, 2012, 08:17 PM
I have tried many times to ge this right but it doesnt work properly. First, the colors were off a lot when i saw them in game. Then, this happens when i started over (look at attached file)

Do you know what might have happened? or what i did wrong?

UltraNerdtendo64
August 17th, 2012, 03:39 AM
I'm trying to import the Blue sprite from FRLG into my Ruby Rom. It keeps saying that the image is not indexed and I DID 100% use only 16 colours! I even tried with an Emerald Rom! Same result!

tajaros
August 17th, 2012, 04:09 AM
I'm trying to import the Blue sprite from FRLG into my Ruby Rom. It keeps saying that the image is not indexed and I DID 100% use only 16 colours! I even tried with an Emerald Rom! Same result!

if you meant Blue as Gary then I think you have not indexed it properly...

Ok here's the FRLG Sprites of Gary 100% Indexed you can just insert them if you want... :)

http://i50.tinypic.com/5x8kqs.png

http://i49.tinypic.com/314c96x.png

Also you can use Wichu's Sprite Editor it auto Indexes the sprite and accepts it even it's colors are higher than 16... :)

UltraNerdtendo64
August 18th, 2012, 10:20 PM
It doesn't work. I'm using Pokemon Emerald Version as my base ROM.

tajaros
August 18th, 2012, 10:25 PM
It doesn't work. I'm using Pokemon Emerald Version as my base ROM.

Are you in Windows 7 for some Reason it doesn't allow you to do the Paint technique to Index the sprite, And if it still doesn't work just rip off the sprites from a FireRed/LeafGreen Rom... :)

Zwölf
August 29th, 2012, 09:07 AM
I've done everything in this tutorial and others but whenever I try to replace the red sprite with the pokemaniac trainer sprite nothing works. The only thing that happens is that the red sprite palate mess up to match the pokemaniac's palate. I've tried everything but it end up with the same results. Please someone email me an answer to why this happens and how to fix it!

the pokemaniac sprite is indexed. I haven't edited it since taking it out of the rom with "save as"

btw I run on windows 7

UltraNerdtendo64
September 10th, 2012, 04:04 AM
if you meant Blue as Gary then I think you have not indexed it properly...

Ok here's the FRLG Sprites of Gary 100% Indexed you can just insert them if you want... :)

http://i50.tinypic.com/5x8kqs.png

http://i49.tinypic.com/314c96x.png

Also you can use Wichu's Sprite Editor it auto Indexes the sprite and accepts it even it's colors are higher than 16... :)

Thanks Tajaros.
Where can I download Wichu's Sprite Editor? I've been googling for one hour and haven't found anything at all.
Thanks again. :)

EDIT: Nevermind, I found it, it atleast has 2 of the tools I was looking for in there. Too bad I can't use it for trainers though. :/
I hate unLZ-GBA. My friend heard me having a swearing fit at it. lol.

Hacker Bisharp
September 10th, 2012, 10:41 AM
Thanks Tajaros.
Where can I download Wichu's Sprite Editor? I've been googling for one hour and haven't found anything at all.
Thanks again. :)
here is my personal link: http://www.sendspace.com/file/wrzvla

mavidlol2
December 19th, 2012, 09:58 PM
After I copied the correct sprite across to the messed up sprite it turned back to 256 colors. Am I doing anything wrong?

MusicBox89
January 31st, 2013, 11:03 PM
Hello! First of all, your guide is fantastic, and for the most part worked perfectly for me. The only issue I'm having is that my sprite isn't showing up correctly once actually embedded into the game. I followed your guide exactly, although I did notice one thing that I seemingly "did not have to do". The section using IrfanView, the background color is already the first color in the pallet so I don't have to do any color swapping. I'm not sure if that is why I am having this bug...Anyways. I'm attaching a screen shot that includes the test sprite I am trying to use, and what is actually showing up in the game. Hopefully you can help!

The Legacy of The Legends Creator :D
February 13th, 2013, 04:31 PM
i was told by a friend that i can put Bw version sprites into leafgreen? how would i do this?

Uzumaki Naruto Jr.
May 18th, 2013, 02:52 PM
Excellent guide. Worked perfect for me. =D Just one question, how do I change the back sprites of Pokemon in FireRed. O.o

zgearey24
May 22nd, 2013, 09:02 PM
why does unlz.gba keep messing up the sprites?

TrainerRed009
June 22nd, 2013, 12:21 AM
good job
it was helpfull, now time to learn how to make flag script.

Team Infiniti
August 12th, 2013, 08:16 AM
Can anybody explain what I am doing wrong? I have indexed my image with IfranView. When I test out the sprite (to see if it is indexed) in unLZ it will work, but as soon as I go to paint to fix up the sprite (ctrl+a ctrl+c ctrl+v the original sprite on the new sprite) and then try it in unLZ it says the image is not indexed. Any help?

freddy f1shf1nger
August 21st, 2013, 05:07 AM
I'm sure that this would have been said before but if you are uncertain about unLZ there are other ways of doing this. There is a program called Pokemon Sprite editor and if you download that along with YAPE, Pokemon Icon Editor and Pokemon Sprite Position Editor you can do the same thing is a fairly easy way and the Pokemon will look as they are supposed to whether they are 1st or 5th gen or inbetween. Also with YAPE you can adjust their movesets and data so that they are as they should be.

RemixinROMulus
March 17th, 2014, 02:18 PM
First of all, good job! I love your tutorial! I have a suggestion, though.

There's a program I use for this called mtpaint, which is available for Windows and Linux. I find it more useful than Irfanview for formatting the sprites, and it allows you to skip all of that "mess up the colors a bit, open Paint, and copy-paste" stuff. There's a feature which can sort the palette colors for you so that the background color will be the first one. All you have to do is open your sprite, convert it to 16-color indexed if not so already, click on the background color on the palette to the left, and go to "Palette" > "Sort Colours". Tick the "Distance to A" box and click OK. This should make color A (the background color) the first color in the palette.

Also, I find that the Gen III Rom Hacking Suite (http://www.pokecommunity.com/showthread.php?t=320113)does a better job of importing the Pokemon sprites than unLZ-GBA and is more user-friendly. I'm experiencing a bug in unLZ (may be a WINE issue, though), where it thinks the image is not indexed even though it is and refuses to import it. Gen III Suite does import the image, however. And it gives you a nice preview of what it will look like in the game.