Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2013-10-14 02:06:33

halcyon
Member
Registered: 2013-10-14
Post 1/11

R/B Pokemon Sprites + 'Red Version' offsets

Hi, all of the documentation pertaining to the ROM locations of the Pokemon sprites is no longer available. Could any of you please help me out? Further more, I know that the Pokemon logo is located between 10000-11A80, but I can't find the 'Red Version' logo.

Offline

#2 2013-10-14 03:24:28

Danny-E 33
Administrator
Registered: 2012-06-09
Post 655/1,021

Re: R/B Pokemon Sprites + 'Red Version' offsets

Yeah, it is unfortunate, but the sprite sheets with the offsets are gone. Currently, the easiest way to find out all the sprite offsets is to download this and read the file called "main.asm". In this file, use ctrl+f to find "SECTION "bank9"" and look up through "SECTION "bankD"".
For example, at the beginning of bank D, you'll see the line "BulbasaurPicFront: ; 34000 (d:4000)". This tells you that Bulbasaur's front pic is at 0x34000. In parenthesis is the bank number and pointer.
So now lets say you want to know where Ivysaur's front pic is. Use ctrl+f to search for "IvysaurPicFront:" and you'll see this line: "IvysaurPicFront: ; 2502b (9:502b)" so you know it is at 0x2502b in bank 9.

The 'Red Version' logo is at 0x6802f. If you're trying to find this in a tile editor, make sure you change the view format to 1bpp.


Red Hack: Pokémon Prototype

Total number of registered users: 7000+
Total number of active users: ~12

Offline

#3 2013-10-14 14:32:55

halcyon
Member
Registered: 2013-10-14
Post 2/11

Re: R/B Pokemon Sprites + 'Red Version' offsets

Thank you for your help Danny. I do have another question though. I'm used to hacking G/S and therefore using AGIXP. Now that I have found the sprite that I want, how do I extract it, edit it and insert it back into the game? I'm using Tile Layer Pro by the way.

I found that the pointer to 0x6802F is 2F 40 and is located at 0x68A3E. Because there isn't much space for me to work with at 0x6802F, I decided that I would draw my logo elsewhere in the bank (1A) and re-point to that location. However, I found that there isn't much blank space in that bank. So now what do I do?

Last edited by halcyon (2013-10-14 16:33:18)

Offline

#4 2013-10-14 23:57:36

Danny-E 33
Administrator
Registered: 2012-06-09
Post 658/1,021

Re: R/B Pokemon Sprites + 'Red Version' offsets

halcyon wrote:

Thank you for your help Danny. I do have another question though. I'm used to hacking G/S and therefore using AGIXP. Now that I have found the sprite that I want, how do I extract it, edit it and insert it back into the game? I'm using Tile Layer Pro by the way.

Okay, so this is very different from using agixp. There is no extracting the existing image. You just insert a new sprite, and update the pointer to point to the new image. That part is simple. The complex part is getting the sprite in the right format.

What you need to do is take the image (.png, .bmp, .jpg etc.) and turn it into a 2bpp binary file, and then turn that file into a sprite that is compressed in rby format. Then you can insert the sprite into the rom and update the pointer.
You should check out this thread which should have most of the information you need.

Here's what's changed though. Stag's online compression tool is no longer hosted. Instead, you're gonna wanna use this. This is stag's compression tool written in C.

Here's a run down of how this works:
Extract that file and put the folder on your desktop.
Now put a copy of cmd.exe in the pkmncompress folder. (and I mean a copy. not a shortcut. this way, when you run cmd.exe from that folder, the starting directory is the root of that folder.)
Now put all the 2bpp files that you want to compress in the "input" folder and make sure they all have the extension '.2bpp'
Now run cmd.exe in that folder and type "compress" and press enter. Now every one of the .2bpp files in the input folder will be compressed and saved in the output folder with the same name but with the extension '.pic'

It doesn't matter how many files you put in the input folder. No matter what, typing 'compress' will compress every single .2bpp file you have in the input folder. This makes it extremely easy to compress mass amounts of .2bpp files in a very short amount of time, and do it over and over as many times as you need.

If you have any questions, make sure you look through the thread I linked you to and see if the answer is in that thread. If you still can't figure it out, let me know.

halcyon wrote:

I found that the pointer to 0x6802F is 2F 40 and is located at 0x68A3E. Because there isn't much space for me to work with at 0x6802F, I decided that I would draw my logo elsewhere in the bank (1A) and re-point to that location. However, I found that there isn't much blank space in that bank. So now what do I do?

Do you see how at that location, there are tiles that spell "RedGreenVersion"? You can use the tiles for "Green" for some extra space also. If you do, you're gonna wanna edit the tile map also.

A tile map is a list of tile numbers that represent the order of the tiles that are displayed on the screen.

The tile map for "Red Version" is at 0x45a1.
At this address, you'll see:
60 61 7F 65 66 67 68 69 50

You can use bgb's vram viewer to see what tiles have what tile number.
This way, you'll see that '60 61' displays "Red" and 7F is a space. Then '65 66 67 68 69' displays "Version". And 50 is the terminator character. It tells the game that the tile map is finished.
Now you can see how the tiles for "Green" (tiles 62, 63, and 64) are never accessed.

If you edit the "Green" tiles, just edit the tile map at 0x45a1 to display the tiles in the right order that you want.


Red Hack: Pokémon Prototype

Total number of registered users: 7000+
Total number of active users: ~12

Offline

#5 2013-10-15 03:33:19

stag019
Idea Killer
Registered: 2011-01-05
Post 506/630

Re: R/B Pokemon Sprites + 'Red Version' offsets

Danny-E 33 wrote:

Now put a copy of cmd.exe in the pkmncompress folder. (and I mean a copy. not a shortcut. this way, when you run cmd.exe from that folder, the starting directory is the root of that folder.)
Now put all the 2bpp files that you want to compress in the "input" folder and make sure they all have the extension '.2bpp'

I haven't used Windows in a while and I don't remember the specifics, but I'm pretty sure that if you put a shortcut there, you can right click it, go to properties, and change its default directory.

Or you could try this (I prefer method 5).


You can try to hide yourself in this world of pretend; when the paper's crumpled up, it can't be perfect again.

Offline

#6 2013-10-18 18:41:25

halcyon
Member
Registered: 2013-10-14
Post 6/11

Re: R/B Pokemon Sprites + 'Red Version' offsets

I want it to read 'Gray Version'. The problem is, I can't do that without removing the space. I tried repointing to a different location but apparently I can't do that; the pointer A1 45 doesn't exist.

Offline

#7 2013-10-19 02:26:47

Danny-E 33
Administrator
Registered: 2012-06-09
Post 662/1,021

Re: R/B Pokemon Sprites + 'Red Version' offsets

The pointer to that tile map is at 0x459c.


Red Hack: Pokémon Prototype

Total number of registered users: 7000+
Total number of active users: ~12

Offline

Board footer

Powered by FluxBB