Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2011-07-16 21:42:12

Sawakita
Administrator
Registered: 2010-10-16
Post 161/365

Q & A about R/B starters and text-commands

icychill66 wrote:

It seems that the starters are not given to the player in the same way EEVEE or LAPRAS are.  I searched for the "give pokemon" command (CD 48 3E), which you discussed in a thread at Skeetendo, but it only gave me results for the EEVEE, MAGIKARP, and LAPRAS events.

That's because the "starter script" uses a sub-routine of $3E48, which is $3927, probably because it doesn't need the part where it checks if your party or your box is full.

icychill66 wrote:

Then, I found a tool someone made which is supposed to change the starters, and I was going to look in the ROM and see what the program actually changed to change the starters.  However, the program did a terrible job at this.  It changed a few bytes that held the Pokemon ID numbers, but then the Dex information was displayed incorrectly, and Gary walked to the wrong pokeball to pick up.

Yeah, I knew about that tool, that's why I dislike bad single-function tools: they should save user's time but instead often make the game work incorrectly, and don't teach anything to the user. Also, read the how-to doc about "editing starters' script correctly".

icychill66 wrote:

Another quick question I have deals with Pokemon names in text.  It appears that you can load a Pokemon name into a variable somehow and then display that value in text.  For example, after you choose your pokemon, text displays "[PLAYER] received a CHARMANDER/SQUIRTLE/BULBASAUR".  The names are not hardcoded in, however.  They are represented by the bytes "50 01 6D CD 00".  Do you know how this works?  I've found nothing about it, yet.

Actually "50" ends the previous text-commands, while "00" starts a new "normal" text; the actual text-from-RAM command is "01 6D CD" (anyway you can find that I explained this stuff in the R/B text-script structure thread):

01 [2-byte pointer] = 2-Bytes pointer follows for text from RAM

this means that after text-command 01 there's a pointer (it doesn't really need to point to RAM, it could point to some text in ROM area too, but it would be pointless, obviously).

Another function ($2F9E) writes pokemon's name in RAM:$CD6D, according to a given index (preventively loaded in [$D11E]).

Offline

#2 2011-07-17 15:07:12

Skizzieren
New member
Registered: 2011-07-17
Post 1/4

Re: Q & A about R/B starters and text-commands

This is very helpful, once again!  It's a shame that I completely overlooked this stuff that already existed on these forums.

By the way, this is icychill66 from pc.  I like this place, so I made a profile!

Offline

Board footer

Powered by FluxBB