• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • 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.

[Other] Easiest way to edit text on Pokemon Emerald?

Kelton2

Yes, That One
  • 30
    Posts
    10
    Years
    • Seen Aug 19, 2015
    I'm trying to make a Pokemon Emerald hack but can't find a good way to edit the text. I have no idea how to use a hex editor to do it and the only tool I can find for it (Advance Text) doesn't work and a lot of people say that it's not very good. Can someone help out here?
     

    C me

    Creator of Pokemon League Of Legends
  • 681
    Posts
    10
    Years
    • Seen Apr 9, 2021
    Last edited by a moderator:
  • 277
    Posts
    9
    Years
    You can edit text in the game with a hex editor, using a text table. I don't know where to get an emerald one though.
     

    Le pug

    Creator of Pokémon: Discovery / Fat Kid
  • 870
    Posts
    10
    Years
    I'm trying to make a Pokemon Emerald hack but can't find a good way to edit the text. I have no idea how to use a hex editor to do it and the only tool I can find for it (Advance Text) doesn't work and a lot of people say that it's not very good. Can someone help out here?

    Here is a quick tutorial on how to edit any text in the game to anything you want ... while also being safe about it. Using A-Text is outdated and will most likely damage your ROM over time if and when you mess up. However, COMMA, A-Text can be useful for finding the text to-be-changed so let's get started:

    First, download XSE 1.1.1 and A-Text. I assume since you talked about A-Text that you already have it installed and don't need to go over how to install it (since there are those pesky .OCX files that will prevent you from using until you've installed).
    To download XSE 1.1.1, click: here.
    You'll also need a hex editor. I prefer and use HxDen. You can download it by clicking: here.
    You'll need freespacefinder also to find an offset to compile to. Download by clicking: here.

    Now open your ROM in A-Text. (Note: You can't have your ROM opened in A-Text and HxDen if you save to the ini file at any point so if HxDen says the file is being used by something else, just close out of A-Text and reopen it once you have clicked Retry on HxDen and it'll work)
    Easiest way to edit text on Pokemon Emerald?


    In the above image, I clicked the big Search button shown in the left column menu of A-Text. For this example, I will be editing the very first message of the game. In search, you can either type the entire text you want it to search or just part of it like I have done. It is case sensitive so if you type "hi! sorry" instead of "Hi! Sorry" you won't find anything. This is because all A-Text is doing is taking what you input and converting it to hex and then locating any bytes in the ROM that match those bytes. If nothing comes up, then it's because you messed something up. For example in hex a lowercase h is DC and an uppercase H is C2. If you don't know what hex is, you'll find out soon enough. Also, I recommend checkboxing the "Go to beginning of text" box or sometimes you'll end up with other text messages in the game rather than what you want.

    Cool, now you have found the text. Now what? Well, refer to the first image again. You can either 1) stop here and convert the decimal it shows you in the result text found on the bottom of the pop-up window (Result: Text found at Offset 2918779 (Decimal)!) to hexadecimal by using a conversion tool or XSE ... or even a site like the one located by clicking: here. Since XSE will be used a lot and you might have it open anyways like me, you could just use the calculator and just convert it:
    Easiest way to edit text on Pokemon Emerald?


    If you don't want to go through all the converting and hey, maybe you want to save the offset it used to be at in your ini file for future reference then on the pop-up window in A-Text, click the button "Write to INI" to get this:
    Easiest way to edit text on Pokemon Emerald?


    As you can see in the above image, I have already filled out some boxes. Just choose a folder or type something in to create a new one and then also you have to name what the offset you found is and I just gave it something generic and easy to locate in the folder. Click Add to INI but just remember ... if you have HxDen open with your ROM open in the hex editor, after you click Add to INI you'll get this message:
    Easiest way to edit text on Pokemon Emerald?


    If you want to use your ROM in HxDen again, you'll just have to close out A-Text and click Retry in the box shown in the above image and as previously discussed.

    Alright now close out of that pop-up window and navigate to the correct folder and find your new entry. In the below image, you'll find the location of your hexadecimal offset where the text exists in your ROM.
    Easiest way to edit text on Pokemon Emerald?


    There is another method of obtaining the text offset too which is more advanced. I won't be covering it here (in my tba released massive Emerald OneStopShop thread I will).
    Okay so now we need to find where in the ROM that offset is. So go ahead and close out of A-Text and open your ROM in HxDen. Assuming you know by now how to rearrange to get a pointer, 2C897B becomes 7B 89 2C 08.
    So in HxDen, use the shortcut command CTRL + F or on the top menu bar go to Search --> Find. HxDen has a default search for text string data type. Just click the dropdown menu and choose Hex-values (since that's what we're working with). Enter your pointer which is 7B 89 2C 08 (as previously discussed) and then click OK to search (pro tip: make sure Search direction is selected to All or you might get confused on why it isn't popping up if you are for some reason in the higher offsets of the ROM).
    Easiest way to edit text on Pokemon Emerald?


    Okay, great. We have found where in the ROM the offset is that the pointer exists that goes to where the text we want to replace is at ... ugh. Well now we have to replace that pointer with a new pointer ... one that aims towards our new text. So in order to do that, first off, open up XSE 1.1.1 and freespacefinder. Create a text message much like how I've done below (to whatever suits your needs) and then find a free space offset like I did below in the FSF program. Then compile your script at the offset you chose:
    (Huge note: If you do not include a "\p" at the end of your text like I did in the below image then you'll get a run-on textbox which isn't good. Here is an example of what it will do:
    Easiest way to edit text on Pokemon Emerald?
    )
    Easiest way to edit text on Pokemon Emerald?


    As you can see the offset compiled to a different one. This being because FSF found FF bytes ... without using #freespacebyte 0xFF in your script, XSE will compile to the nearest free space filled with 00 after the offset you listed. It so happens that the ROM is expanded and the first available came out to be 1000303 as listed in the picture.
    So if you're using an expanded ROM and you saved your script to an expanded offset, rearrange it like me: 1000303 --> 03 03 00 09.
    If you had your ROM search for free space in 00, then rearrange it as such (for the remainder of this example I'll use a non-expanded offset that I compiled to): 2E9803 --> 03 98 2E 08.

    Now take your pointer (mine is 03 98 2E 08 as previously listed) and insert it at the space in HxDen we found the pointer to the old text. DO NOT CTRL+V OR PASTE INSERT. You MUST CTRL+B or Paste Write (which can be found under Edit --> Paste Write).
    Easiest way to edit text on Pokemon Emerald?


    Now save your file (CTRL + S or go to File --> Save). Open your ROM and see your new text in effect!
    Easiest way to edit text on Pokemon Emerald?


    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    I hope this was helpful! I know this was helpful and if you have any additional questions, feel free to ask here or VM. Enjoy your newfound knowledge.
     

    Kelton2

    Yes, That One
  • 30
    Posts
    10
    Years
    • Seen Aug 19, 2015
    Here is a quick tutorial on how to edit any text in the game to anything you want ... while also being safe about it. Using A-Text is outdated and will most likely damage your ROM over time if and when you mess up. However, COMMA, A-Text can be useful for finding the text to-be-changed so let's get started:

    First, download XSE 1.1.1 and A-Text. I assume since you talked about A-Text that you already have it installed and don't need to go over how to install it (since there are those pesky .OCX files that will prevent you from using until you've installed).
    To download XSE 1.1.1, click: here.
    You'll also need a hex editor. I prefer and use HxDen. You can download it by clicking: here.
    You'll need freespacefinder also to find an offset to compile to. Download by clicking: here.

    Now open your ROM in A-Text. (Note: You can't have your ROM opened in A-Text and HxDen if you save to the ini file at any point so if HxDen says the file is being used by something else, just close out of A-Text and reopen it once you have clicked Retry on HxDen and it'll work)
    Easiest way to edit text on Pokemon Emerald?

    The OCX files are preventing A-Text from working (can you help with that)?

    In the above image, I clicked the big Search button shown in the left column menu of A-Text. For this example, I will be editing the very first message of the game. In search, you can either type the entire text you want it to search or just part of it like I have done. It is case sensitive so if you type "hi! sorry" instead of "Hi! Sorry" you won't find anything. This is because all A-Text is doing is taking what you input and converting it to hex and then locating any bytes in the ROM that match those bytes. If nothing comes up, then it's because you messed something up. For example in hex a lowercase h is DC and an uppercase H is C2. If you don't know what hex is, you'll find out soon enough. Also, I recommend checkboxing the "Go to beginning of text" box or sometimes you'll end up with other text messages in the game rather than what you want.

    Cool, now you have found the text. Now what? Well, refer to the first image again. You can either 1) stop here and convert the decimal it shows you in the result text found on the bottom of the pop-up window (Result: Text found at Offset 2918779 (Decimal)!) to hexadecimal by using a conversion tool or XSE ... or even a site like the one located by clicking: here. Since XSE will be used a lot and you might have it open anyways like me, you could just use the calculator and just convert it:
    Easiest way to edit text on Pokemon Emerald?


    If you don't want to go through all the converting and hey, maybe you want to save the offset it used to be at in your ini file for future reference then on the pop-up window in A-Text, click the button "Write to INI" to get this:
    Easiest way to edit text on Pokemon Emerald?


    As you can see in the above image, I have already filled out some boxes. Just choose a folder or type something in to create a new one and then also you have to name what the offset you found is and I just gave it something generic and easy to locate in the folder. Click Add to INI but just remember ... if you have HxDen open with your ROM open in the hex editor, after you click Add to INI you'll get this message:
    Easiest way to edit text on Pokemon Emerald?


    If you want to use your ROM in HxDen again, you'll just have to close out A-Text and click Retry in the box shown in the above image and as previously discussed.

    Alright now close out of that pop-up window and navigate to the correct folder and find your new entry. In the below image, you'll find the location of your hexadecimal offset where the text exists in your ROM.
    Easiest way to edit text on Pokemon Emerald?


    There is another method of obtaining the text offset too which is more advanced. I won't be covering it here (in my tba released massive Emerald OneStopShop thread I will).
    Okay so now we need to find where in the ROM that offset is. So go ahead and close out of A-Text and open your ROM in HxDen. Assuming you know by now how to rearrange to get a pointer, 2C897B becomes 7B 89 2C 08.
    So in HxDen, use the shortcut command CTRL + F or on the top menu bar go to Search --> Find. HxDen has a default search for text string data type. Just click the dropdown menu and choose Hex-values (since that's what we're working with). Enter your pointer which is 7B 89 2C 08 (as previously discussed) and then click OK to search (pro tip: make sure Search direction is selected to All or you might get confused on why it isn't popping up if you are for some reason in the higher offsets of the ROM).
    Easiest way to edit text on Pokemon Emerald?


    Okay, great. We have found where in the ROM the offset is that the pointer exists that goes to where the text we want to replace is at ... ugh. Well now we have to replace that pointer with a new pointer ... one that aims towards our new text. So in order to do that, first off, open up XSE 1.1.1 and freespacefinder. Create a text message much like how I've done below (to whatever suits your needs) and then find a free space offset like I did below in the FSF program. Then compile your script at the offset you chose:
    (Huge note: If you do not include a "\p" at the end of your text like I did in the below image then you'll get a run-on textbox which isn't good. Here is an example of what it will do:
    Easiest way to edit text on Pokemon Emerald?
    )
    Easiest way to edit text on Pokemon Emerald?


    As you can see the offset compiled to a different one. This being because FSF found FF bytes ... without using #freespacebyte 0xFF in your script, XSE will compile to the nearest free space filled with 00 after the offset you listed. It so happens that the ROM is expanded and the first available came out to be 1000303 as listed in the picture.
    So if you're using an expanded ROM and you saved your script to an expanded offset, rearrange it like me: 1000303 --> 03 03 00 09.
    If you had your ROM search for free space in 00, then rearrange it as such (for the remainder of this example I'll use a non-expanded offset that I compiled to): 2E9803 --> 03 98 2E 08.

    Now take your pointer (mine is 03 98 2E 08 as previously listed) and insert it at the space in HxDen we found the pointer to the old text. DO NOT CTRL+V OR PASTE INSERT. You MUST CTRL+B or Paste Write (which can be found under Edit --> Paste Write).
    Easiest way to edit text on Pokemon Emerald?


    Now save your file (CTRL + S or go to File --> Save). Open your ROM and see your new text in effect!
    Easiest way to edit text on Pokemon Emerald?


    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    I hope this was helpful! I know this was helpful and if you have any additional questions, feel free to ask here or VM. Enjoy your newfound knowledge.
    The OCX files are preventing A-Text from working, can you help with that?
     

    Le pug

    Creator of Pokémon: Discovery / Fat Kid
  • 870
    Posts
    10
    Years
    The OCX files are preventing A-Text from working, can you help with that?

    First off, learn to be a poster in forums :P Never quote big posts. It's unnecessary and makes the thread have excess that isn't needed ... if it is necessary to quote, at least condense or completely remove the message inside the quote.

    TBH after spending a good hour on writing all that and that is the only thing you have to say about it, no I can't help with that. Depending on if you're using Windows 7, 8, 10, Vista, or Mac you'll need to google how to download and install the necessary OCX files. You'll be putting them in SYSWOW64 or System32 depending on which version you're under and then installing them via a cmd function that you can google like everyone who has installed it had to. Google stuff or search the forums before you ask the questions. That's why there are search features in literally every aspect of this site.
     
  • 1
    Posts
    3
    Years
    • Seen Oct 15, 2020
    I don't know if it's necessary to download the OCX files, I ran A-Text as admin and it ran fine after that.
     
    Back
    Top