More, as program decipherment advances, we may be understood.
Certainly, turning off animation to map animation and setting "1 or 2" to 1 works.
From here on, you need to set breakpoints in asm's source code and decipher it.
Perhaps it's getting stuck in a strange branch.
It would be better to set a read break point at "1 or 2" address.
I do not understand.
The value of "1 or 2" is ultimately stored in [sp, # 0x20] and should be referenced below.
08057174 4B02 ldr r3, [pc, #0x8] # pointer:08057180 -> 0203E104
08057176 9F08 ldr r7,[sp, #0x20]
08057178 2F01 cmp r7, #0x1
0805717A D124 bne #0x80571c6
0805717C 8019 strh r1, [r3, #0x0]
0805717E E022 b 0x80571c6
If it is not 1, no value is written r1 to 0203E104.
I think 0203E104 holds something 's bool value.
This function is the place to decide battle animation.