(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
06-10-24 05:55 AM
Acmlm's Board - I3 Archive - - Posts by kremlin
User Post
kremlin
Newcomer


 





Since: 05-03-06

Last post: 6599 days
Last view: 6599 days
Posted on 05-10-06 10:21 AM, in Red/Blue Pokemon data Link
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>

Attachments

pkmnutil.zip (2809b) - views: 50
kremlin
Newcomer


 





Since: 05-03-06

Last post: 6599 days
Last view: 6599 days
Posted on 05-16-06 09:36 PM, in Red/Blue Pokemon data Link
Originally posted by Keitaro
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.


I'd be quite thankful if you would.
Acmlm's Board - I3 Archive - - Posts by kremlin


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.013 seconds; used 348.79 kB (max 408.69 kB)