Register | Login | |||||
Main
| Memberlist
| Active users
| Calendar
| Chat
| Online users Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album |
| |
0 users currently in The Pit of Despair. |
Acmlm's Board - I3 Archive - The Pit of Despair - Red/Blue Pokemon data | New poll | | Thread closed |
Add to favorites | Next newer thread | Next older thread |
User | Post | ||
kremlin Newcomer Since: 05-03-06 Last post: 6710 days Last view: 6710 days |
| ||
I've been trying to read and display pokemon data directly from the ROM file, there are a few things that are puzzling me.
I noticed that while the games have what seems to be a fairly random order for the pokemon index numbers, the pokemon data starting at 0x383DE in the ROMs is in order by pokedex number. Giegue's Master Guide to Hacking Pokemon Games Red-Crystal says this is the format of that data: 27 bytes total: 1st: pokemon number 2nd: HP rating 0-255 higher is better 3rd:ATK rating 0-255 4thEF " " 5th: SPEED 6th: SPECIAL 7th: Type ##1 8th: Type ##2 9th: Rarity factor 0-255, higher is rarer 10th: EXP factor, 0-255, higher is more points 1th: Picture size? (not completely sure how this affects the picture) 12, 13: Pointer value for picture facing you (enemy) 14, 15: pointer value for picture facing enemy (your pokemon) 16-19: attacks known at level 1 20-27: Which HM's and TM's the pokemon learns. (probably 64 binary switches in order) What I can't seem to find is how it determines the growth rate - how much experience per level a particular pokemon takes. The experience field in the data block doesn't seem to have anything to do with that, and a mechanics guide I read said that it's only used to tell how much exp a pokemon is worth when it's defeated in battle. I've found plenty of player's guides that list what the rate is for each pokemon, but so far I've had no luck with grabbing it directly from the ROM. After I noticed the orderly organization of that data I looked around and found that I couldn't make sense of most of the other block data in the ROM. The list of pokemon names appeared to be in the strange index order, but beyond that a lot of the information looked like it was in complete disarray - not following the pokedex ordering or the index numbers. Ahh, that was a lot. So what I'm asking is: How does it store what the growth rate of each pokemon is, and how can you calculate the proper order for things that don't seem to have one? Attached is a win32 console application that displays the pokemon data at 0x383DE, and the inaccurate name since the name array is not in the same order. I hope to expand it to display all of the pokemon information accurately reading directly from the ROM. Syntax is: pkmnutil <romfile> <pokemon number> |
|||
Dan Purple Leever Since: 11-18-05 Last post: 6441 days Last view: 6432 days |
| ||
The inaccurate order could maybe be down to a pointer table used to store the addresses for each pokemon. They could be in order in the table, but not in sequential order in the actual ROM. | |||
Kyoufu Kawa Intends to keep Rom Hacking in one piece until the end Since: 11-18-05 From: Catgirl Central Station Last post: 6432 days Last view: 6432 days |
| ||
Originally posted by DanCongratulations. You win a cookie. |
|||
Keitaro Mole Since: 11-18-05 From: Massachusetts Last post: 6590 days Last view: 6590 days |
| ||
But they aren't, even the text names are stored in this seemingly random order. Originaly it was thought they were stored by picture size, I foret what the exact reason was now...but whatever it was it didn't make a whole lot of sence, so try not to make too much of it also, I have a set of math formulas used to calculate various things in the original games, it might just be what you're looking for. Let me know if you're interested, I'll have to dig around for it a bit. | |||
Tauwasser Red Goomba Since: 11-19-05 Last post: 6524 days Last view: 6444 days |
| ||
I heard there's a special Table used for calculations of internal number --> PokéDex number. You can just reverse it by looking for the PokéDex number and then reading out it's internal index. That way you can calculate a lotta things like rombanks for pictures and so on.
cYa, Tauwasser |
|||
kremlin Newcomer Since: 05-03-06 Last post: 6710 days Last view: 6710 days |
| ||
Originally posted by Keitaro I'd be quite thankful if you would. |
|||
Tauwasser Red Goomba Since: 11-19-05 Last post: 6524 days Last view: 6444 days |
| ||
There you go
It's the numbering table's offset. No other equations tho =/ Babelfishrun should help with getting it. cYa, Tauwasser |
Add to favorites | Next newer thread | Next older thread |
Acmlm's Board - I3 Archive - The Pit of Despair - Red/Blue Pokemon data | | Thread closed |