I made some code for it.
You can get the assembled code for it here: https://dl.dropbox.com/u/24219056/TFH.bin
Insert that ASM, and note down the location.
Now, put this script somewhere in your ROM, remembering to change the callasm to point to the TFH.bin ASM you just inserted, and also remember to increment the location by 1. So if you inserted the ASM at 0x800000, the pointer to it in the script would be callasm 0x8800001 (That is not a typo, it needs that extra 8 in front of it so it knows to get it from the ROM):
#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
#org @down
applymovement 0xFF @lookdown
waitmovement 0xFF
return
#org @up
applymovement 0xFF @lookup
waitmovement 0xFF
return
#org @left
applymovement 0xFF @lookleft
waitmovement 0xFF
return
#org @right
applymovement 0xFF @lookright
waitmovement 0xFF
return
#org @lookdown
#raw 0x0
#raw 0xFE
#org @lookup
#raw 0x1
#raw 0xFE
#org @lookleft
#raw 0x2
#raw 0xFE
#org @lookright
#raw 0x3
#raw 0xFE
Then, go to 0x1A4EBD and 0x1A4F15, and change those pointers to point to your new script. That's all you need.
You can get the assembled code for it here: https://dl.dropbox.com/u/24219056/TFH.bin
Insert that ASM, and note down the location.
Now, put this script somewhere in your ROM, remembering to change the callasm to point to the TFH.bin ASM you just inserted, and also remember to increment the location by 1. So if you inserted the ASM at 0x800000, the pointer to it in the script would be callasm 0x8800001 (That is not a typo, it needs that extra 8 in front of it so it knows to get it from the ROM):
#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
#org @down
applymovement 0xFF @lookdown
waitmovement 0xFF
return
#org @up
applymovement 0xFF @lookup
waitmovement 0xFF
return
#org @left
applymovement 0xFF @lookleft
waitmovement 0xFF
return
#org @right
applymovement 0xFF @lookright
waitmovement 0xFF
return
#org @lookdown
#raw 0x0
#raw 0xFE
#org @lookup
#raw 0x1
#raw 0xFE
#org @lookleft
#raw 0x2
#raw 0xFE
#org @lookright
#raw 0x3
#raw 0xFE
Then, go to 0x1A4EBD and 0x1A4F15, and change those pointers to point to your new script. That's all you need.