Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.
Hacking Emerald, wanting to make Professor Birch give you the National dex at instead of the regular dex at the start of the game. Only problem is, I haven't been able to find the script where he gives it to you. I have checked the levels scripts for his lab, along with all scripts for person events in his lab. If knows anything that might help me find it I'd really appreciate it!
Hey man I think I've found where the scripts are. What I did was convert the beginning lines of dialogue to the game's alphabet in hex, and searched it up in HxD. Then I looked for any traces/pointers to the text to figure out what script calls the 'msgbox'. Next I used XSE to kind of trial-and-error it by decompiling the offsets repeatedly, counting backwards by 1 each time so I could locate the beginning of the main scripts. Eventually the scripts appeared with a normal structure, which is shown below. To be safe, I counted even further back when decompiling to make sure that they actually start at the offsets I found, so I'm almost completely sure these are their actual offsets. Only problem is that I don't know how they 'connect' to one another (as in after the first script is over the second starts with no break), only that each part of that dialogue begins with these offsets:
Script that runs immediately after exiting house post-game:
//---------
// Strings
//---------
#org 0x1E8DA2
= PROF. BIRCH: Well, well, [player]\v\h05!\nThat was good work out there!\pI knew there was something special\nabout you when I first saw you,\lbut I never expected this.\pOh, yes. Do you still have the POKéDEX\nI gave you?\pI have something to show you.\nLet's go to my LAB.
//-----------
// Movements
//-----------
#org 0x272598
#raw 0x56 //Exclamation Mark (!)
#raw 0xFE //End of Movements
//---------------
#org 0x1F9F32
msgbox 0x81FB30F MSG_KEEPOPEN //"MAY: Eheheh!\pIt's so cool that ev..."
closeonkeypress
return
//---------------
#org 0x1F9F3C
msgbox 0x81FB38E MSG_KEEPOPEN //"BRENDAN: I went out all over HOENN..."
closeonkeypress
return
//---------
// Strings
//---------
#org 0x1FB16D
= PROF. BIRCH: Now[.]\p[player]\v\h05 and [rival], I've had the two\nof you help me study POKéMON.\pThanks to your help, new facts\nare coming to light.\pIt appears that in the HOENN region,\nthere are also POKéMON from other\lregions.\pIt goes to show how rich and varied\nthe natural environments of HOENN\lhappen to be.\pThat's why I think it's necessary for\nme to upgrade your POKéDEX to\lthe NATIONAL Mode.\pHere, let me see your POKéDEX units.
#org 0x1FB419
= PROF. BIRCH: Okay, all done!
#org 0x1FB436
= [player]'s POKéDEX was upgraded\nto the NATIONAL Mode!
#org 0x1FB466
= PROF. BIRCH: But listen.\nYou've become the CHAMPION,\lbut your POKéMON journey isn't over.\pThere is no end to the road\nthat is POKéMON.\pSomewhere, there is a grassy patch\nthat's waiting for you!
#org 0x1FB30F
= MAY: Eheheh!\pIt's so cool that even my POKéDEX\nis getting updated!\pIt's because you went out and caught\nso many POKéMON, [player]\v\h05!
#org 0x1FB38E
= BRENDAN: I went out all over HOENN\nand checked out POKéMON.\pYou can thank me for getting\nthe NATIONAL Mode POKéDEX.\pYep, you're lucky, [player]!
//-----------
// Movements
//-----------
#org 0x1F9F46
#raw 0xA //Step Left (Normal)
#raw 0x25 //Step on the Spot Down (Fastest)
#raw 0x14 //Delay5
#raw 0x14 //Delay5
#raw 0xB //Step Right (Normal)
#raw 0x25 //Step on the Spot Down (Fastest)
#raw 0x14 //Delay5
#raw 0x14 //Delay5
#raw 0xB //Step Right (Normal)
#raw 0x8 //Step Down (Normal)
#raw 0x8 //Step Down (Normal)
#raw 0x8 //Step Down (Normal)
#raw 0x8 //Step Down (Normal)
#raw 0xB //Step Right (Normal)
#raw 0xB //Step Right (Normal)
#raw 0xB //Step Right (Normal)
#raw 0x26 //Step on the Spot Up (Fastest)
#raw 0xFE //End of Movements
#org 0x2725A8
#raw 0x28 //Step on the Spot Right (Fastest)
#raw 0xFE //End of Movements
#org 0x2725A4
#raw 0x27 //Step on the Spot Left (Fastest)
#raw 0xFE //End of Movements
#org 0x1F9F58
#raw 0xA //Step Left (Normal)
#raw 0xA //Step Left (Normal)
#raw 0xA //Step Left (Normal)
#raw 0x9 //Step Up (Normal)
#raw 0x9 //Step Up (Normal)
#raw 0x9 //Step Up (Normal)
#raw 0x9 //Step Up (Normal)
#raw 0xA //Step Left (Normal)
#raw 0x25 //Step on the Spot Down (Fastest)
#raw 0xFE //End of Movements
#org 0x2725A6
#raw 0x26 //Step on the Spot Up (Fastest)
#raw 0xFE //End of Movements
Hey man I think I've found where the scripts are. What I did was convert the beginning lines of dialogue to the game's alphabet in hex, and searched it up in HxD. Then I looked for any traces/pointers to the text to figure out what script calls the 'msgbox'. Next I used XSE to kind of trial-and-error it by decompiling the offsets repeatedly, counting backwards by 1 each time so I could locate the beginning of the main scripts. Eventually the scripts appeared with a normal structure, which is shown below. To be safe, I counted even further back when decompiling to make sure that they actually start at the offsets I found, so I'm almost completely sure these are their actual offsets. Only problem is that I don't know how they 'connect' to one another (as in after the first script is over the second starts with no break), only that each part of that dialogue begins with these offsets:
Script that runs immediately after exiting house post-game:
//---------
// Strings
//---------
#org 0x1E8DA2
= PROF. BIRCH: Well, well, [player]\v\h05!\nThat was good work out there!\pI knew there was something special\nabout you when I first saw you,\lbut I never expected this.\pOh, yes. Do you still have the POKéDEX\nI gave you?\pI have something to show you.\nLet's go to my LAB.
//-----------
// Movements
//-----------
#org 0x272598
#raw 0x56 //Exclamation Mark (!)
#raw 0xFE //End of Movements
//---------------
#org 0x1F9F32
msgbox 0x81FB30F MSG_KEEPOPEN //"MAY: Eheheh!\pIt's so cool that ev..."
closeonkeypress
return
//---------------
#org 0x1F9F3C
msgbox 0x81FB38E MSG_KEEPOPEN //"BRENDAN: I went out all over HOENN..."
closeonkeypress
return
//---------
// Strings
//---------
#org 0x1FB16D
= PROF. BIRCH: Now[.]\p[player]\v\h05 and [rival], I've had the two\nof you help me study POKéMON.\pThanks to your help, new facts\nare coming to light.\pIt appears that in the HOENN region,\nthere are also POKéMON from other\lregions.\pIt goes to show how rich and varied\nthe natural environments of HOENN\lhappen to be.\pThat's why I think it's necessary for\nme to upgrade your POKéDEX to\lthe NATIONAL Mode.\pHere, let me see your POKéDEX units.
#org 0x1FB419
= PROF. BIRCH: Okay, all done!
#org 0x1FB436
= [player]'s POKéDEX was upgraded\nto the NATIONAL Mode!
#org 0x1FB466
= PROF. BIRCH: But listen.\nYou've become the CHAMPION,\lbut your POKéMON journey isn't over.\pThere is no end to the road\nthat is POKéMON.\pSomewhere, there is a grassy patch\nthat's waiting for you!
#org 0x1FB30F
= MAY: Eheheh!\pIt's so cool that even my POKéDEX\nis getting updated!\pIt's because you went out and caught\nso many POKéMON, [player]\v\h05!
#org 0x1FB38E
= BRENDAN: I went out all over HOENN\nand checked out POKéMON.\pYou can thank me for getting\nthe NATIONAL Mode POKéDEX.\pYep, you're lucky, [player]!
//-----------
// Movements
//-----------
#org 0x1F9F46
#raw 0xA //Step Left (Normal)
#raw 0x25 //Step on the Spot Down (Fastest)
#raw 0x14 //Delay5
#raw 0x14 //Delay5
#raw 0xB //Step Right (Normal)
#raw 0x25 //Step on the Spot Down (Fastest)
#raw 0x14 //Delay5
#raw 0x14 //Delay5
#raw 0xB //Step Right (Normal)
#raw 0x8 //Step Down (Normal)
#raw 0x8 //Step Down (Normal)
#raw 0x8 //Step Down (Normal)
#raw 0x8 //Step Down (Normal)
#raw 0xB //Step Right (Normal)
#raw 0xB //Step Right (Normal)
#raw 0xB //Step Right (Normal)
#raw 0x26 //Step on the Spot Up (Fastest)
#raw 0xFE //End of Movements
#org 0x2725A8
#raw 0x28 //Step on the Spot Right (Fastest)
#raw 0xFE //End of Movements
#org 0x2725A4
#raw 0x27 //Step on the Spot Left (Fastest)
#raw 0xFE //End of Movements
#org 0x1F9F58
#raw 0xA //Step Left (Normal)
#raw 0xA //Step Left (Normal)
#raw 0xA //Step Left (Normal)
#raw 0x9 //Step Up (Normal)
#raw 0x9 //Step Up (Normal)
#raw 0x9 //Step Up (Normal)
#raw 0x9 //Step Up (Normal)
#raw 0xA //Step Left (Normal)
#raw 0x25 //Step on the Spot Down (Fastest)
#raw 0xFE //End of Movements
#org 0x2725A6
#raw 0x26 //Step on the Spot Up (Fastest)
#raw 0xFE //End of Movements
I see that I'm half a year late but I found this thread because I was googling this problem myself. I too couldn't find where he gave the dex. I don't know if OP still needs it but I found it at 0x1FA2FB.