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.
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. :\
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
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
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.
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:
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: