’Cause all games were better on the GBC

You are not logged in.

#1 2013-03-09 21:18:41

Registered: 2013-03-07
Post 6/10

Help repointing sprites

Ok,I can't use Tile Molester becuse it freeze my computer,but I use this ( to make 2bpp files.
but How do I repoint sprites bucuse I am trying to repalce the mew sprite with this sprite (
I don't understand the repoint sprite thing so much.


#2 2013-03-09 23:27:54

From: Japan
Registered: 2012-09-03
Post 201/521

Re: Help repointing sprites

Draw or paste your sprites .

わたし の なまえ わ レン レン  でづ


#3 2013-03-10 00:59:25

Registered: 2013-03-07
Post 7/10

Re: Help repointing sprites

RED wrote:

Draw or paste your sprites .

But how do I repoint my sprites so I can use the White hand sprite? He is 320 bytes long.


#4 2013-03-10 05:30:10

Registered: 2012-03-12
Post 129/300

Re: Help repointing sprites

I haven't worked too much with pokemon red sprites recently, but here may be a start.
If you know where mew's picture data starts, open the rom in a hex editor, and do a search for the pointer.
The pointers are typically XX yy YY, where XX is the bank number, and  yyYY is the address in that bank. the lower case yy means that the less significant byte is first. so if the picture was at 0x1B406, the bank would be 06, and the address would be 7406 (always subtract or add 0x4000 until the address is in the range of 0x4000-0x7FFF)
so in that case, search for 06 06 74 (that is a made up address though)
After finding it, keep note of where the pointer is, now, wherever you insert the data (freespace is usually near the end of the rom), change the pointer to point to that

This isn't easy to say, but…
Music and ASM hacker


#5 2013-03-12 04:13:08

Danny-E 33
Registered: 2012-06-09
Post 425/1,205

Re: Help repointing sprites

Like I said here, Mew's stats are located at 0x425B and the pointer to the front sprite is the 12th and 13th bytes of that data, and the pointer to the back sprite is the 14th and 15th bytes.

Based on this chart here, we know that Mew's front sprite is currently located at 0x4112 and if you use this address to go through my pointer explination here you'll easily find that the pointer to that address is 12 41, which you will notice is at 0x4266 (which is the 12th and 13th byte of Mew's stats), so we know these are the bytes we will have to overwrite with the new pointer when we insert the larger sprite into free space.

I'll tell you that the beginning of free space in that bank is at 0x7C49 which has more than enough room for your front sprite.
But I don't know if it will have enough room for a custom back sprite too, unless you were planning on making this Pokemon unattainable, in which case it wouldn't matter. (or if you were being really efficient, you could put the front sprite in the free space like we're about to do and then go put the back sprite on top of the old front and back sprites for Mew which will no longer be used and will certainly have the room for one back sprite)

Now can you tell me what the pointer for 0x7C49 is based on my pointer explination?
After you calculate this pointer, you are going to put that pointer at 0x4266 and overwrite the bytes 12 41 and use two hex editor windows to copy/paste the 2bpp image at the address 0x7C49. Clear?

Also, stag019's 2bpp maker doesn't work very well. It doesn't interpret the bit layers correctly, so the sprite will have the colors all swapped around. You should look into getting Tile Molester's executable jar file to work.

Also, the sprite you linked to would not work in the game. That sprite currently uses 7 or so colors and Pokemon sprites are limited to 4 colors. So you should clean that sprite up first.

Also, that sprite is a 7x7 image (56x56 pixels) but Mew's original sprite is a 5x5 image. This just means you'll have to change the 11th byte of Mew's stats from 55 to 77.
(a further explanation of Pokemon base stats can be found here)

Last edited by Danny-E 33 (2013-03-12 04:19:19)


Board footer

Powered by FluxBB