CyanCerulean
Adorables
- 56
- Posts
- 11
- Years
- Coloradder
- Seen Apr 12, 2015
The Quickest and Easiest Way To Edit and Replace Trainers in R/S/FR/LG
Hello and welcome to my tutorial on how to edit/replace pokemon and trainers in Pokemon Ruby, Sapphire, Fire Red, and Leaf Green! The only reason I didn't put Emerald in there is because I haven't tested this method with it, and I don't want to lie and say that it works if it doesn't.
But anyways, the programs that you will need are:
a tool pack with most of these programs (not NSE 2.1 or Irfanview) can be found here!
Click This Spoiler to Get Started!
Hello and welcome to my tutorial on how to edit/replace pokemon and trainers in Pokemon Ruby, Sapphire, Fire Red, and Leaf Green! The only reason I didn't put Emerald in there is because I haven't tested this method with it, and I don't want to lie and say that it works if it doesn't.
But anyways, the programs that you will need are:
- Nameless Sprite Editor 2.1 (This is IMPORTANT!! The original NSE will not work!)
- Irfanview
- MS Paint
a tool pack with most of these programs (not NSE 2.1 or Irfanview) can be found here!
Click This Spoiler to Get Started!
Spoiler:
So, you need to edit a trainer? No problem! Believe it or not, editing trainers is MUCH easier then editing Pokemon!
Step 1: Preparing the Sprite
Step 2 Indexing the Sprite
Step 3: Implementing the Sprite
Step 1: Preparing the Sprite
Spoiler:
The first thing that you are going to need to do is prepare your sprite,and to do that, we need to make sure that your sprite is the correct dimensions! The dimensions for a trainer 'front sprite' as I like to call them, since they show the front of the sprite, are 64x64. The easiest way to tell the size of your image is with the rulers on the side and top of MS Paint. Then you will need to add a background that is a solid color that is not included in the sprite, usually the default colors in the color palette will work.
This is a properly sized image with a good background. Now save that image as a .png file. That was the easy part. Get ready to feel really handy with computers!
Now you get to experience indexing! An extremely important part of a Hacker's life because each and every sprite must go through it!
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://oi59.tinypic.com/2j0nrz9.jpg)
This is a properly sized image with a good background. Now save that image as a .png file. That was the easy part. Get ready to feel really handy with computers!
Now you get to experience indexing! An extremely important part of a Hacker's life because each and every sprite must go through it!
Step 2 Indexing the Sprite
Spoiler:
So now that you have a properly sized image, you are going to need to open it in Irfanview to index it. Now, what is indexing? The thing is, GBA ROM's can't handle a lot of colors in each individual sprite, it corrupts the memory. So what indexing does, is it limits the images palette which is what colors are used in the image. What indexing will do is take the amount of colors you have in your image, and compress them down to 16 colors.
Now that we have in our mind what indexing is, we can go about making it happen. In Irfanview, there is an Image tab up on the File bar,
Click on that and scroll down to Decrease Color Depth.
Choose 16 colors and make sure that you disable Floyd-Steinberg dithering, for it will mess up your image.
Now, your picture probably didn't change much, thanks to modern technology, which is a good thing, because that is how your sprite will look in-game. Without that gross background. So now to get rid of that!
The first thing you must do is copy this image! use Ctrl+C or Command+C to copy the image!
This is actually the easiest part of indexing, now go back to the Image tab, and go all the way down to the bottom where it says Palette and then Edit Palette
Another window will pop up that will have all of the colors of your image in it. After all, that's what a palette is. What our job is is to replace the background image with the color in front.
this is actually very easy to do: just click on the background color on your palette, and write down the RGB values at the bottom. Do the same thing with the first color.
Now double click the background color, and replace it's RGB values with the first color's, and then double click the first color and replace it's RGB values with the background color's! Then hit OK
Once that's done, your sprite will probably look really messed up. But that's okay! We're going to fix that right now! But first, export your palette. To do this, just go back to Image>Palette>Export Palette, and save it.
Then paste the image you copied all that time ago on top of the messed up one and Import the palette you just exported! Now save your sprite!
This is the only sure-fire way to correctly index sprites that I have found.
Congratulations! You've correctly indexed your sprite! The hardest part is over, now all that is left is to implement them!
Now that we have in our mind what indexing is, we can go about making it happen. In Irfanview, there is an Image tab up on the File bar,
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://i60.tinypic.com/iygeht.png)
Click on that and scroll down to Decrease Color Depth.
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://i59.tinypic.com/10r1qic.png)
Choose 16 colors and make sure that you disable Floyd-Steinberg dithering, for it will mess up your image.
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://i57.tinypic.com/wvaam8.png)
Now, your picture probably didn't change much, thanks to modern technology, which is a good thing, because that is how your sprite will look in-game. Without that gross background. So now to get rid of that!
The first thing you must do is copy this image! use Ctrl+C or Command+C to copy the image!
This is actually the easiest part of indexing, now go back to the Image tab, and go all the way down to the bottom where it says Palette and then Edit Palette
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://i59.tinypic.com/30upxjn.png)
Another window will pop up that will have all of the colors of your image in it. After all, that's what a palette is. What our job is is to replace the background image with the color in front.
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://i57.tinypic.com/ibxmhs.png)
this is actually very easy to do: just click on the background color on your palette, and write down the RGB values at the bottom. Do the same thing with the first color.
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://i59.tinypic.com/ezo6kx.png)
Now double click the background color, and replace it's RGB values with the first color's, and then double click the first color and replace it's RGB values with the background color's! Then hit OK
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://i57.tinypic.com/2nbr4pj.png)
Once that's done, your sprite will probably look really messed up. But that's okay! We're going to fix that right now! But first, export your palette. To do this, just go back to Image>Palette>Export Palette, and save it.
Then paste the image you copied all that time ago on top of the messed up one and Import the palette you just exported! Now save your sprite!
This is the only sure-fire way to correctly index sprites that I have found.
Congratulations! You've correctly indexed your sprite! The hardest part is over, now all that is left is to implement them!
Step 3: Implementing the Sprite
Spoiler:
The home stretch! You're almost there!
So the first thing that we must do to implement the sprite is open up our ROM file in NSE 2.0. To do this, open up NSE 2.0 and click the giant Load ROM button. Find the ROM that you are editing and click it.
Now, all those buttons below should be active. If NSE tells you that your ROM is not supported, then it is corrupted, I hope you backed up (this tutorial will not corrupt your ROM though)!
Click the Trainer Sprites button and navigate using the arrows given to you.
For the purposes of this tutorial, I will be using the girl trainer, but this will work for each and every trainer out there.
Anyways, we need to make that sprite OUR sprite. And the only way to do that...is the hard way. Unless you are following this tutorial. In which the easy way will do just fine.
To get our sprite in there, we nee to go up to File and then Import>Import Sprite Data
Click Load Sprite, and then navigate you your sprite. When you open it, it should just be your sprite without a background. If you have a background, then you indexed your sprite incorrectly and have to go back to that step. Once you have your sprite in there, click Save.
The sprite is yours now, but what's up with the palette? Don't worry, we're right about to fix that! But the sprite data is still valid so go back up to File, and then Save.
Now, odds are that your sprite is bigger in data consumption then the old one. So we have to do something called repointing. What is Repointing? And why do we do it? A data-cluster's offset is like it's address in a city. When the ROM is trying to load up the cluster, it goes to the cluster's address, or offset, and loads it up. The problem lies that if a cluster's information is too much, that offset cannot hold it, and the ROM will crash. Think of it as if it were you in an apartment in a city, and you suddenly gained a ton of stuff that you couldn't store in that apartment. You would have to move, and that new, bigger apartment would be your new 'offset'. So in essence, repointing your sprite is like relocating it because it has too much stuff.
Except for repointing is one million times easier! Just click on that little Magnifying Glass and hit Save. Then when the box pops up, hit Repoint, and then OK when it tells you that you repointed the sprites offset.
Now, for the final step: importing your palette, because if we loaded up the game right now, it would be a cool looking sprite with a terrible color scheme. To Import the palette, go back to Import, but instead of Sprite Data, go to Import Color Table. Click Load, and then find your Sprite, not the Palette that you exported earlier from Irfanview. Click Import and voilà, your sprite is beautiful again!
But! The palette is not saved yet! If we looked at it in-game now, it would still be that weird one from before.
So, we go over to the Edit tab, and then click Palette, when that box pops up, just click Save Palette to ROM, and you're done!
Congratulations! You just learned how to Create, Index, and Implement a Trainer Sprite! Now take this knowledge and show the world your amazing ROM Hack!
So the first thing that we must do to implement the sprite is open up our ROM file in NSE 2.0. To do this, open up NSE 2.0 and click the giant Load ROM button. Find the ROM that you are editing and click it.
Now, all those buttons below should be active. If NSE tells you that your ROM is not supported, then it is corrupted, I hope you backed up (this tutorial will not corrupt your ROM though)!
Click the Trainer Sprites button and navigate using the arrows given to you.
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://i61.tinypic.com/2ibmerb.png)
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://i62.tinypic.com/nxs02.png)
For the purposes of this tutorial, I will be using the girl trainer, but this will work for each and every trainer out there.
Anyways, we need to make that sprite OUR sprite. And the only way to do that...is the hard way. Unless you are following this tutorial. In which the easy way will do just fine.
To get our sprite in there, we nee to go up to File and then Import>Import Sprite Data
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://i57.tinypic.com/x0tlwz.png)
Click Load Sprite, and then navigate you your sprite. When you open it, it should just be your sprite without a background. If you have a background, then you indexed your sprite incorrectly and have to go back to that step. Once you have your sprite in there, click Save.
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://i57.tinypic.com/256g0gm.png)
The sprite is yours now, but what's up with the palette? Don't worry, we're right about to fix that! But the sprite data is still valid so go back up to File, and then Save.
Now, odds are that your sprite is bigger in data consumption then the old one. So we have to do something called repointing. What is Repointing? And why do we do it? A data-cluster's offset is like it's address in a city. When the ROM is trying to load up the cluster, it goes to the cluster's address, or offset, and loads it up. The problem lies that if a cluster's information is too much, that offset cannot hold it, and the ROM will crash. Think of it as if it were you in an apartment in a city, and you suddenly gained a ton of stuff that you couldn't store in that apartment. You would have to move, and that new, bigger apartment would be your new 'offset'. So in essence, repointing your sprite is like relocating it because it has too much stuff.
Except for repointing is one million times easier! Just click on that little Magnifying Glass and hit Save. Then when the box pops up, hit Repoint, and then OK when it tells you that you repointed the sprites offset.
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://i59.tinypic.com/2kg9kk.png)
Now, for the final step: importing your palette, because if we loaded up the game right now, it would be a cool looking sprite with a terrible color scheme. To Import the palette, go back to Import, but instead of Sprite Data, go to Import Color Table. Click Load, and then find your Sprite, not the Palette that you exported earlier from Irfanview. Click Import and voilà, your sprite is beautiful again!
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://i58.tinypic.com/2ll2gbd.png)
But! The palette is not saved yet! If we looked at it in-game now, it would still be that weird one from before.
So, we go over to the Edit tab, and then click Palette, when that box pops up, just click Save Palette to ROM, and you're done!
![[PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1 [PokeCommunity.com] How To Edit and Replace Trainers in R/S/FR/LG using NSE 2.1](https://i60.tinypic.com/2gw8ab5.png)
Congratulations! You just learned how to Create, Index, and Implement a Trainer Sprite! Now take this knowledge and show the world your amazing ROM Hack!
Last edited: