• 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.

[Battle] How to edit in-battle option texts?

12
Posts
5
Years
    • Seen Mar 25, 2024
    Ekran-Al-nt-s.png


    How to change these texts?
     

    DrFuji

    [I]Heiki Hecchara‌‌[/I]
    1,691
    Posts
    14
    Years
  • If you want to keep the text the same length for something like decapitalization, you can find them at these locations in a hex editor:

    0x3FE72D: Fight
    0x3FE735: Bag
    0x3FE739: Pokemon
    0x3FE743: Run

    That battle text is very interesting as rather having four separate pointers to each option, its actually one long string with a number of commands mixed in. The string of text begins at 0x3FE725 and (after being cleaned up) looks like this in XSE:

    Code:
    \c\h05\h05\c\h04\h0D\h0E\h0FFIGHT\c\h13\h38BAG\nPOKéMON\c\h13\h38RUN

    It looks pretty weird, but everything has a purpose:

    '\c' translates to 0xFC in XSE and tells the game that you're about to do some special text commands. This can range from playing a fanfare, changing the font or pausing the music. If you want to see some of the applications, open XSE's guide and then open 'Practical Classroom > Dialogs' and scroll down.

    '\h' tells XSE that you want to compile the following two numbers/ letters as a pure hexadecimal byte, rather than transcribing them as two separate bytes.

    '\c\h05\h05' is a mystery to me. I tried a number of values for the second \h05 but nothing happened. Hopefully somebody else knows what's going on here.

    '\c\h04\h0D\h0E\h0F' changes the the text colour, background and shadow to dark gray, white and light grey respectively.

    '\c\h13\h38' is essentially an indent. It tells the game to print the next part of the text 56 pixels (0x38 in hexadecimal) to the right. It is the same as '\c\h0D' in XSE's guide.

    '\n' starts a new line like in other scripts.

    That explains what's going on in the large text string, but knowing all of this is really only useful if you want to extend the length of the options or add some extra special text commands like the ones above. Once you have changed the text to what you want, compile it somewhere in the ROM via XSE and write down the pointer it is written to. Change the location you wrote down into a pointer and then overwrite the pointer at 0x32C38. If you don't know what a pointer/ repointing is, check this post out.

    Sorry for being a bit long-winded, but changing the battle option text isn't exactly simple. Hopefully this all works out for you.
     
    Back
    Top