• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

[Fire Red] Adding New Trainer Sprites

352
Posts
7
Years
  • Age 30
  • Seen Mar 10, 2022
Hi everyone, I've seen some people seeking for a way to add new trainer sprites in Fire Red instead of replacing, I don't know if it was posted, but I'm here to help that people.
You can only expand the trainer's sprites up to 255 sprites. (But it will be 0xFE because the 0x0 is counted too.) I tested and it already have support for 2 bytes indexes.

Tools used:
Spoiler:


First you will need to find the offsets of "Trainer Sprite Table" & "Trainer Palette Table":
Spoiler:


Explanation about TST and TPT structures:
Spoiler:


Repointing:
Spoiler:


Adding new sprites:
Spoiler:


Inserting at the tables:
Spoiler:


Using on editor:
Spoiler:


UPDATE (Credit to Shiny Quagsire & xGGxToiZ and Wesley FG)

Trainer Animation Table:
Spoiler:



I hope I have helped all the people who were looking for this tutorial.
 
Last edited:
  • Like
Reactions: RMB
5
Posts
7
Years
  • Age 33
  • Seen Jan 2, 2019
Hello, MBCN!

So I have made my first 6 sprites (of Pokémon) and I'm stuck with them, could you please help me?

I'm having that problem that says the "image is not indexed" or "it has no alpha chanel", and all I have done haven't worked so far (sometimes it simply ruins my art and still won't work)... I still don't understand this alpha/index thing.

I'm also using Photoshop CS6, please, tell me how to make these sprites useable!
 
352
Posts
7
Years
  • Age 30
  • Seen Mar 10, 2022
Hello, MBCN!

Spoiler:

1- You need to have a sprite with only 16 colors (15 colors + 1 background);
2- To index your sprite go to Photoshop CS6, Image > Mode > Indexed Color > OK;
3- If your sprite don't have 16 colors, open it on IrfanView, Image > Decrease Color Depth... > 16 Colors (4 BPP) > OK.

If your sprite have a lot of colors like 20 or more, some colors will be replaced, then you have to fix on IrfanView to have more compatibility, remember to leave the first color of the Palette on IrfanView as the background of the sprite.
 
11
Posts
8
Years
  • Age 29
  • Seen May 10, 2019
Hello i never wanted to make this post but i am really stuck still new to this hacking i really wanted to figure this out on my own but idk whats wrong so let me explain.

im almost 100% sure i repointed TST and TSP Correctly becuase i can see my new trainer sprite i added in slot 148 HTE so im pretty sure its in the game but the problem is when i go to battle the npc ingame the npc that im fighting has my new sprite and It freezes right before the battle shows the sprites i thought it was becuase i was using a custom sprite so i got my clean backup and exported a stock sprite and made a new slot ON MY CLEAN BACKUP using that STOCK sprite and i get the same results plz help im using (FSF)-(HxD)-(HTE)-(NSE 2.0) idk if its how nse is inserting sprites OR the free space im using or using old version of one of these programs as i siad im new to this hacking stuff any help would be appreciated as i really wanna add new sprites without replacing old ones.

im pretty sure its not my firered tried 2 diffrent ones but i will try again if suggested

TL;DR
Battle sprites on newly created slots freeze in battle no matter what the sprite is stock/custom am a newby could be user mistake but double triple checked so doubtfull plzz n thank u
 
352
Posts
7
Years
  • Age 30
  • Seen Mar 10, 2022
Spoiler:

Have you expanded the Trainer Animation Table? It's needed to work in-battle.
 
11
Posts
8
Years
  • Age 29
  • Seen May 10, 2019
no i have not thank you for the quick reply i will try doing/learning that right now if its repointing thoes animation tables here on this thread then i can do that

(expand=repoint?) ima newbey remeber.

but ima repoint thoes right now give me 30m

will report back
 
352
Posts
7
Years
  • Age 30
  • Seen Mar 10, 2022
no i have not thank you for the quick reply i will try doing/learning that right now if its repointing thoes animation tables here on this thread then i can do that

(expand=repoint?) ima newbey remeber.

but ima repoint thoes right now give me 30m

will report back

You can find the Trainer Animation Table repointing at the bottom of my thread.
 
11
Posts
8
Years
  • Age 29
  • Seen May 10, 2019
lm so frusterated right now i dont understand i moved the animation tables and repointed them in the offsets you said in the thread so im almost sure im doing this right (i could not be) but now every sprite freezes ingame cant battle any sprite so i must be repointing wrong or something i almost thought it would work its probably user error witch makes me even more mad if you can help let me know

EX of me repointing TRAINER ANIMATION TABLE 3:

Go to offset 23932C copy from starting byte to (92 bytes / 250 in Hex)
Then find and write over open space OFFSET: A3A450 (bunch of FF's)
Replace pointers (4 bytes) at OFFSETS: 0x37E78, 0x3804C, 0x3CAD4 and 0x158514
with POINTER: 50 A4 A3 08

(LET ME KNOW IF IM REPOINTING WRONG)
plz and thank you for your time
 
Last edited:
352
Posts
7
Years
  • Age 30
  • Seen Mar 10, 2022
lm so frusterated right now i dont understand i moved the animation tables and repointed them in the offsets you said in the thread so im almost sure im doing this right (i could not be) but now every sprite freezes ingame cant battle any sprite so i must be repointing wrong or something i almost thought it would work its probably user error witch makes me even more mad if you can help let me know

EX of me repointing TRAINER ANIMATION TABLE 3:

Go to offset 23932C copy from starting byte to (92 bytes / 250 in Hex)
Then find and write over open space OFFSET: A3A450 (bunch of FF's)
Replace pointers (4 bytes) at OFFSETS: 0x37E78, 0x3804C, 0x3CAD4 and 0x158514
with POINTER: 50 A4 A3 08

(LET ME KNOW IF IM REPOINTING WRONG)
plz and thank you for your time

First, 592 bytes instead 92, then you cannot only repoint, you have to add more bytes on each table, you must read it with patience:
Code:
Inserting new trainers:

It will be the easiest step of the Trainer Animation Table, you only need to copy the last 4 bytes of the second and third table, and paste at the end of them respectively. That's it, you're now ready to use your new trainer sprites.
To understand anything, read, read and read.
 
Last edited:
11
Posts
8
Years
  • Age 29
  • Seen May 10, 2019
thank you for your time so i supppose im repointing right never got it to work just cracked and replaced existing B-sprites but i will take a try at this again one day thanks for your help
 
352
Posts
7
Years
  • Age 30
  • Seen Mar 10, 2022
You can only expand the trainer's sprites up to 255 sprites. (But it will be 0xFE because the 0x0 is counted too.) I tested and it already have support for 2 bytes indexes. I tested only up to 512 (0x200), but I will try higher indexes to know if the max number is 0xFFFF or if there is a limiter.
 
Back
Top