View Single Post
  #24244    
Old March 16th, 2013, 04:35 PM
miksy91's Avatar
miksy91
A GB/C Rom Hacker since 2010
 
Join Date: Oct 2008
Location: A small country in the North
Gender: Male
Nature: Relaxed
Quote:
Originally Posted by Reygok View Post
My question: I need a new offset for my new pokémon's moveset, how much space do I need?

Thanks in advance for all answers
Reygok
There are more than 256 different moves in Gen III games. And what I refer this by is that 0x100 as hexadecimal number stands for 256 in decimal. And in other words, we can't describe all the moves by just using one single byte, we need another (or at least part of it).

So basically, each move takes 2 bytes space. And pokemon's level value is only (at maximum) one byte long (which it most likely is) so there could be a structure such as this one built in the game for each pokemon:
[Level] [Move parameter 1] [Move parameter 2] [Level] [Move parameter 1] [Move parameter 2] [Level] ...

So each move takes three bytes, the level the pokemon learns the certain move at along with two bytes describing the move the pokemon learns. So if you for example make a certain pokemon learn 10 different moves, that takes (10 * 3 = ) 30 bytes (and 0x1E bytes in hex).
And if that move data would be stored in offset 0x740005 in the rom for instance, the move data would end at offset 0x740005 + 0x1E - 0x1 = 0x740022

Spoiler:

Why did I subtract 0x1 from (0x740005 + 0x1E) there? Well the logic is exactly the same as in this following example.

Think about reading pages 1 and 2 of a certain book. How many pages have you read? 2-1 = 1 ? No, you've read 2 pages, or 2-1 + 1 pages.


This whole thing is just an assumption because I don't know if the structure really is like that. But you can easily check it out with a hex editor by looking for the move learning data of a certain pokemon.
__________________
My Rom Hack



Hacks I support





Learn how to hack GB/C games:

Check my GameBoy/Color hacking videos in Youtube
-The video set uses Pokemon Silver (U) rom for demonstrations