• 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] Difficulty with Move Names (PokeRed)

  • 25
    Posts
    3
    Years
    • She/Her
    • Seen May 22, 2024
    Listing under battle, but more to do with move names.

    Making a Rom Hack of Pokemon Red and Blue using Pokered Assembly and bits of code from Shin Pokered. Currently having trouble with move names. When the pokemon learns a new move past move 200, it's name shows up as a TM. The move itself generally works fine. I tried editing the TM macros a la Shin Pokered, but this causes the game to crash upon learning a new move. Any ideas what to do from here? I'm hoping this won't require me to make heavy constant, data, and engine edits...
     
  • 536
    Posts
    4
    Years
    • Seen yesterday
    Listing under battle, but more to do with move names.

    Making a Rom Hack of Pokemon Red and Blue using Pokered Assembly and bits of code from Shin Pokered. Currently having trouble with move names. When the pokemon learns a new move past move 200, it's name shows up as a TM. The move itself generally works fine. I tried editing the TM macros a la Shin Pokered, but this causes the game to crash upon learning a new move. Any ideas what to do from here? I'm hoping this won't require me to make heavy constant, data, and engine edits...

    I think I know what's going on here. You are trying to add moves in excess of the value of constant HM_01. As a result, you are running into a minor coding oversight left by Gamefreak. Please direct your attention to the GetName:: function in the home.asm file. You will probably notice the comment "BUG: This applies to all names instead of just items." followed by something like "cp HM_01" on a proceeding line. What this is doing is testing how the main argument of the function, held in register A, relates to the constant value HM_01. What this ends up doing is that if the value in A is < HM_01 then the function defaults to returning the item-list name of the machine that matches the argument. Even if you really wanted the name of a move or something else. This was never an issue during Pokemon's development because no other name lists had over 195 entries.

    Please see the attached side-by-side text report for a possible fix.
     

    Attachments

    • Report.txt
      5.8 KB · Views: 7
  • 25
    Posts
    3
    Years
    • She/Her
    • Seen May 22, 2024
    So funny thing, I literally just fixed this. You were right, it was absolutely the GetName TM Macro. My current fix is as follows.

    Spoiler:


    I'm a bit worried about TM names generating properly, but I'm playtesting now. If the fix doesn't work, I'll look to your solution.

    Thanks again for all the help!
     
    Last edited:
    Back
    Top