|
Generation 1 & 2 RBY and GSC Resources and Tutorials. Mostly for disassembly. |
![]() |
|
Thread Tools | Display Modes |
![]() |
#1 |
Orange Developer
![]() Join Date: Aug 2010
Location: Valencia Island
Age: 23
Posts: 811
![]() ![]() ![]() ![]() ![]() |
![]()
I'm trying to teach myself about how this works as I could not find any documentation about it. In Pokemon Gold, Pokedex data starts at offset 1A0000. It is a pretty confusing format with very limited space to work with. I have not looked into adding new Pokedex data, although I'm sure it's very possible.
I'm going to take ONIX as an example here. Code:
ROCK SNAKE/4###It twists and#squirms through#the ground. The/thunderous roar of#its tunneling#echoes a long way. EDIT: It is indeed the Height and Weight, first two bytes are height, second two are weight, the game adds a decimal automatically for you. Now, each # (4E) in the text denotes a line break, and / (50) in the text signifies a new page. I am pretty certain you can only have two pages. Now, if you notice something, each line can have a maximum of 18 characters, just like normal text. Any more will cause text overflow, and I wouldn't risk having any less, so fill anything extra with a space(s). That's really all there is to it, I will look more into Footprints and H/W before I update this guide. I still cannot find what makes Footprints on the dex. EDIT: According to Mateo they are uncompressed images in the rom...fun. It begins at offset F930E. EDIT: Height and Weight data here thanks to shinyquagsire [00:44] <shinyquagsire> Pia: It literally takes the full 16 bit number [00:44] <shinyquagsire> and throws a decimal between the first number and the second [00:45] <shinyquagsire> Pia: Try inserting D2 04 [00:45] <shinyquagsire> to confirm my theory [00:45] <shinyquagsire> should be 123.4 [00:47] <shinyquagsire> insert decimal number minus decimal point [00:47] <shinyquagsire> take hexadecimal [00:47] <shinyquagsire> pad with 0's [00:47] <shinyquagsire> and flip [00:47] <shinyquagsire> so 4D2 -> 04D2 -> D2 04 ![]() To get this weight, Cranidos' weight bytes would be B6 02. The decimal value of it originally was 694. The hex value was 2B6, or 02 B6. Now all you do is flip them and you've got your bytes. If you are rewriting the Pokedex, you can find the pointers for data at offset 44360. |
![]() |
![]() |
Sponsored Links |
![]() |
#2 |
Johto Region Champion
![]() ![]() Join Date: Jul 2013
Location: Johto
Age: 29
Posts: 779
![]() ![]() ![]() ![]() ![]() |
![]()
I *think* one of the documents I sent you details this format, but I can't remember. I know that folder was like 8 kinds of unorganized and my filenames don't even make sense to me at this point but I'll have a look around and see what I can turn up.
__________________
|
![]() |
![]() |
![]() |
#3 |
Orange Developer
![]() Join Date: Aug 2010
Location: Valencia Island
Age: 23
Posts: 811
![]() ![]() ![]() ![]() ![]() |
![]()
Been looking into it, I cannot figure out how Height and Weight is calculated. It may be that the 4 bytes are pointing to an offset but I have no idea. If anyone has an idea of how Height and Weight work I would love to know so that I can give new Pokemon correct weight.
Edit: Looking at Clefairy, it is 2"00' high and its first byte in hex is C8, which translates to 200. May just be a coincidence. EDIT 2: Clefairy's hex bytes convert perfectly to its height and weight. However, Onix doesn't match up at all. I don't get it lol. Updated. Thanks to shinyquagsire for figuring out how the height and weight is calculated, I was definitely overthinking it. So cheers, one more thing that was undocumented is now documented. |
![]() |
![]() |
![]() |
#4 |
Orange Developer
![]() Join Date: Aug 2010
Location: Valencia Island
Age: 23
Posts: 811
![]() ![]() ![]() ![]() ![]() |
![]()
A few more observations. Species name cannot be longer than 10. For example, SQUIRTLE is the TINYTURTLE Pokemon.
Also, for some reason there are a bunch of 00s between TAUROS and MAGIKARP's dex entries. I have no idea if it is used or what. |
![]() |
![]() |
![]() |
#5 |
Newbie
Join Date: Sep 2013
Posts: 6
![]() |
![]()
I have to add one thing: pokčmon are split in 4 different banks, so here's a list I made:
Code:
0x1A0000 Bank 68: Bulbasaur - Kadabra (1 - 64) Pointers: 0x44360 0x1A4000 Bank 69: Alakazam - Tauros (65 - 128) Pointers: 0x443E0 0x1A8000 Bank 6A: Magikarp - Sunflora (129 - 192) Pointers: 0x44460 0x1AC000 Bank 6B: Yanma - Celebi (193 - 251) Pointers: 0x444E0 |
![]() |
![]() |
![]() |
|
![]() |
Tags |
data, editing, gold, pokedex, pokemon, [Document] |
Thread Tools | |
Display Modes | |
|
|