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

FireRed: Fixing the trainer's facing

NarutoActor

The rocks cry out to me
1,974
Posts
15
Years
  • Hello all, have you guys ever noticed that when you get in to a trainer battle you don't face them? You just go straight in to a battle. This doesn't occur in R/S/E. The theory is that GameFreak, was making FR seem more like the original R/B.

    Well now thanks to the work of Jambo51, we have a fix.
    Below are 3 attachments, 2 asm files(Binary), and a script. This hack changes the script that loads before a trainer battle. It also changes special 0x37.

    Alright, now open a hex editor, and-
    Insert the TFH.asm into free space
    Insert the SSH.asm into free space

    Go to 0x81C0A
    Copy 0xA(10) Amount of Bytes and replace with:
    01 49 08 47 00 00 XX XX XX 08

    The XX's is the location of the SSH.asm routine that was inserted earlier. (+1)

    In the Script replace the YY's With the pointer to the TFH routine (+1)
    Compile the script, and record it's location.
    Reverse the location so it can be pointed to in hex.

    Now go to these three locations:
    0x1a4ebd, 0x1a4ee4 and 0x1a4f15

    Replace the pointer there with a pointer to the New script.

    There you go, if you are going to be using this for your hack make sure to have this in your credits.

    Jambo51-Trainer Facing fix
    NarutoActor-Trainer Facing Tutorial.

    With out that in your credits, you may not use this hack.
     

    Pokepal17

    More cowbell~
    1,519
    Posts
    15
    Years
  • Nice to see that someone finally figured this out and posted it. :3
    However, I think you should add a few screens for visual aid, especially for people like me who are visual learners.
     

    NarutoActor

    The rocks cry out to me
    1,974
    Posts
    15
    Years
  • Really, I thought it was pretty self explanatory, and it only takes a few minutes. Just open a hex editor and follow those steps.
     

    colcolstyles

    Yours truly
    1,588
    Posts
    15
    Years
  • Do you mind posting the custom code (like, include it in the post instead of just attaching it)? This thread is kinda skimpy at the moment and it offers no explanation of why it works (if it even does; I haven't tested it). Also, perhaps you could disassemble the routines at those addresses and post them here, too? I'm interested in the project but not to the point where I'm willing to fire up Fusion just to look at some routines with no background. :\
     

    Quilava's Master

    Shattered Dreams '13
    694
    Posts
    16
    Years
    • Seen Aug 14, 2023
    There's a gltich. When you battle someone who uses "trainerbattle 0x1" i.e gym leaders your character faces right no matter which direction you talk to them from.

    Edit: fixed it by only placing a pointer to the script @ 0x1a4ebd. I'm unsure if there are any unforseen errors created by not placing the pointer at the other two locations but so far so good.
     
    Last edited:
    35
    Posts
    16
    Years
    • Seen Jun 17, 2013
    I have try it on a Firered (English) Rom and it works.
    I have researched the Offsets for the German Rom (Feuerrot) and changed it in all three Scripts.
    But my Hero is facing in the wrong direction. So, what is my mistake?

    So here the change to the german offsets:
    The change in the SSH.asm file
    storeloc: .word 0x03005548
    place: .word 0x083C7248
    return: .word 0x08081C17

    The change in the TFH(1).asm file
    storeloc: .word 0x03005548
    playerloc: .word 0x02036E38
    lastresult: .word 0x020370D0

    The change in the Facing(1).rbc file
    #dynamic 0x800000

    #org @main
    callasm 0x8XXXXXX
    compare LASTRESULT 0x0
    if 0x1 call @down
    compare LASTRESULT 0x1
    if 0x1 call @up
    compare LASTRESULT 0x2
    if 0x1 call @left
    compare LASTRESULT 0x3
    if 0x1 call @right
    goto 0x81A4FC7

    On XXXXXX i have to put the offset to the TFH routine (+1).


    On 081B6E where I have to insert this 01 49 08 47 00 00 YY YY YY 08
    YY stands for the pointer for the Offset where I have inserted the SSH ASM.
    And here the three offsets for changing the pointers.
    1A7B71
    1A7B98
    1A7BC9

    Did I make a mistake?
    I hope you can help me.

    Maybe I found the wrong offsets for the german rom, but I am sure that this are the right offsets. But the script doesn´t work.

    And I have a question. Which of both asm scripts reads the direction to the trainer? Maybe this could be the reason why my hero is facing to the wrong direction

    OK THERE ARE A LOT OF DIFFERENTS BETWEEN THE SCRIPT OF THE GERMAN AND THE ENGLISH ROM. I HOPE THERE WOULD BE A PERSON WHO CAN CHANGE BOTH ASM SCRIPTS FOR USING FOR THE GERMAN ROM AND THE BATTLESCRIPT,TOO. I TRIED TO CHANGE SOME DIFFERENTS, BUT IT DOESN´T WORK. HERE THE OFFSETS:
    1A7B71<--1a4ebd
    1A7B98<--1a4ee4
    1A7BC9<--1a4f15
    1A7B9C<--1a4ee8
    1A4FBA--> 1A7C76
    1A4F20--> 1A7BD4
    1A4F19--> 1A7BCD
    1A4FC7--> 1A7C81
    1A4FC5--> 1A7C7F
    1A501A--> 1A7CD4
    1A5017--> 1A7CD1
    1A5019--> 1A7CD3

    I hope there is a person which can changes the three scripts which are needed to insert in the rom for the german rom. I don´t succed. Maybe this can help you:
    hxxp://www.n-roms.de/gba/index.php?action=details&id=256
     
    Last edited:

    Crocky

    SuperScarlet!
    97
    Posts
    15
    Years
    • Seen Jul 23, 2020
    What program do I use to go to 0x81C0A, 0x1a4ebd, 0x1a4ee4 and 0x1a4f15? I use THUMB Editor & Assembler to insert the ASM.
     
    15
    Posts
    4
    Years
    • Seen Sep 21, 2023
    The links are totally down. Can anyone re-upload the files or create another thread explaining how to apply this script with new hacking tools or even better, share a patch that works for both FR and LG 1.0? I really want to use this fix, I've tried to find somewhere else but I can't seem to find a clear or straight answer.
     
    31
    Posts
    3
    Years
  • I have try it on a Firered (English) Rom and it works.
    I have researched the Offsets for the German Rom (Feuerrot) and changed it in all three Scripts.
    But my Hero is facing in the wrong direction. So, what is my mistake?

    So here the change to the german offsets:
    The change in the SSH.asm file
    storeloc: .word 0x03005548
    place: .word 0x083C7248
    return: .word 0x08081C17

    The change in the TFH(1).asm file
    storeloc: .word 0x03005548
    playerloc: .word 0x02036E38
    lastresult: .word 0x020370D0

    The change in the Facing(1).rbc file
    #dynamic 0x800000

    #org @main
    callasm 0x8XXXXXX
    compare LASTRESULT 0x0
    if 0x1 call @down
    compare LASTRESULT 0x1
    if 0x1 call @up
    compare LASTRESULT 0x2
    if 0x1 call @left
    compare LASTRESULT 0x3
    if 0x1 call @right
    goto 0x81A4FC7

    On XXXXXX i have to put the offset to the TFH routine (+1).


    On 081B6E where I have to insert this 01 49 08 47 00 00 YY YY YY 08
    YY stands for the pointer for the Offset where I have inserted the SSH ASM.
    And here the three offsets for changing the pointers.
    1A7B71
    1A7B98
    1A7BC9

    Did I make a mistake?
    I hope you can help me.

    Maybe I found the wrong offsets for the german rom, but I am sure that this are the right offsets. But the script doesn´t work.

    And I have a question. Which of both asm scripts reads the direction to the trainer? Maybe this could be the reason why my hero is facing to the wrong direction

    OK THERE ARE A LOT OF DIFFERENTS BETWEEN THE SCRIPT OF THE GERMAN AND THE ENGLISH ROM. I HOPE THERE WOULD BE A PERSON WHO CAN CHANGE BOTH ASM SCRIPTS FOR USING FOR THE GERMAN ROM AND THE BATTLESCRIPT,TOO. I TRIED TO CHANGE SOME DIFFERENTS, BUT IT DOESN´T WORK. HERE THE OFFSETS:
    1A7B71<--1a4ebd
    1A7B98<--1a4ee4
    1A7BC9<--1a4f15
    1A7B9C<--1a4ee8
    1A4FBA--> 1A7C76
    1A4F20--> 1A7BD4
    1A4F19--> 1A7BCD
    1A4FC7--> 1A7C81
    1A4FC5--> 1A7C7F
    1A501A--> 1A7CD4
    1A5017--> 1A7CD1
    1A5019--> 1A7CD3

    I hope there is a person which can changes the three scripts which are needed to insert in the rom for the german rom. I don´t succed. Maybe this can help you:
    hxxp://www.n-roms.de/gba/index.php?action=details&id=256

    Hi sir can please post the code for USA/English Pokemon Fire Red,,,,because the download link is not working anywore...thanks sir in advance!!!
     
    Back
    Top