Contemporary FE style talk and support commands

My first thought was “someone already made this!” and then the second thought was “oh it was yeti lol”

Should be pretty easy, considering how simple implementing console-style Canto was. Will take a look at it.

3 Likes

Yeah that was my first thought too!

well Supply and Trade already do this so it shouldn’t be too hard

Was this ever figured out? I’d like to be able to do this as well, but I’m not familiar with ASM. If it wasn’t, would someone mind making a patch for it? It’d be awfully useful in hacks with a lot of talk events.

Hmmmm someone remind me to take a look at this while I’m on a hacking roll.

I think this ended up being trickier/more annoying than I had assumed (it must have been if I didn’t finish it lol). These bites might help:

$080181D0 - Setting turn status following an action
    -Tactician character can never be grayed out
    $0801824C - related?

$0801CA50 - After exiting Trade window, what action was/is performed?
    0x00 = Exit action menu
    0x01 = End
    0x02 = Attack
    0x0C = Talk
    0x0D = Support
    0x18 = Trade (items traded)
    0x1A = Trade (no items traded)

This part is easy. (See Unit Menu Options), but the actual functionality part is a pain, for one, because it exits the unit menu code.

holy shit, fuckin’ go team go!

On a related note, is the “supports as events” hack available for FE8 as well? I can’t seem to find it anywhere, but I’m pretty sure this was discussed before.

It is not. And I don’t think I’ll be able to port it. I’m sorry. Lots of other cool stuff coming though!

Okay this was way harder than it had any right to be, but here you go (FE8):

For some reason Support won’t show up if you can Talk instead. Not that it matters now.

For FE8:
EA Installer
TalkFix.dmp
SupportFix.dmp
Source: Talk Support

11 Likes

Oh fuckin’ a

you’re the man now dog

awesome work!!

1 Like

Not sure if anyone else has had this problem, but this doesn’t seem to be working. I installed the hack with free space at 0xB2A620 and the game hangs, then resets. I tried again with free space at 0xB40000 and the game goes to a black screen.

Oh right I forgot to mention it has to be free space near the start of the rom, my bad. Try 1C1EC0 instead.

1 Like

Got it, thanks. Why does it work this way?

I’m using the bl macro to branch to free space and return, but it has a limited range of ±4mb in exchange for being very convenient. Unfortunately I haven’t found a good way to make Event Assembler toss an error if the branch is out of range.

FE7 port :soon: pls

“Contemporary FE style Support Fix” collides with UnitActionRework.
“Contemporary FE style Support Fix” is specifying the position of the Stack.
UnitActionRework does not operate correctly because it changes the placement of Stack.

push {r4-r5}

-ldr r4,[sp,#0x18]   @=0x203a958  //<< here
+ldr r4,=0x203A958                //<< here
mov r5,#0x17        @(bought from armory - guaranteed safe!)
strb r5,[r4,#0x11]
ldr r4,[sp,#0x10]   @pointer to "next routine" - we change this to take us back into the unit menu
ldr r5, [r4,#4]
sub r5, #0x30
str r5, [r4,#4]
ldr r4,=0x202bce9   @mark unit has "moved"
mov r5,#80          @unknown, but likely unused
strb r5,[r4]
ldr r4,=0x8085A54
mov lr,r4
.short 0xf800
pop {r4,r5}
....

Write “ldr r4, =0x203a958” instead of “ldr r4, [sp, #0x14]”.
If it is there, it will operate correctly.
It seems that there is no problem even if “ldr r4, [sp, #0x10]” is left as it is.

There is a problem only for “ldr r4, [sp, #0x14]”.

I encountered this problem with FE8J and ActionRework.
Even after the support conversation, UnitActionID was not replaced from 0xF to 0x17, so for every reason, we pressed the B button to generate an infinite support conversation.

I fix the code.

FE8J

FE8U

1 Like