Able to move/act checks (Menu)
Revision as of 02:05, 10 October 2024 by Nyzer (talk | contribs) (Nyzer moved page Able to move/act checks (Menu?) to Able to move/act checks (Menu): Fucking question marks)
BATTLE.BIN - Able_to_move/act_checks_(Menu%3F) --------------------------------------------------------------------------------------- Parameter : r4 = Unit pointer Returns : r2 = 0x00 r2 = 0x01 if Unit has acted/moved and can't do anything else --------------------------------------------------------------------------------------- 00183d10: 27bdffe8 addiu r29,r29,-0x0018 00183d14: afb00010 sw r16,0x0010(r29) 00183d18: afbf0014 sw r31,0x0014(r29) 00183d1c: 0c0604c3 jal 0x0018130c |-->Weapon Guard Usability returns r2 = 0x00 if unit can act/react 00183d20: 00808021 addu r16,r4,r0 |Unit battle data pointer 00183d24: 9204005c lbu r4,0x005c(r16) |Load Current Status 5 00183d28: 92030187 lbu r3,0x0187(r16) |Load Movement Taken 00183d2c: 92050188 lbu r5,0x0188(r16) |Load Action Taken 00183d30: 30840008 andi r4,r4,0x0008 |check [Don't move] 00183d34: 00642025 or r4,r3,r4 |Movement Taken/disallowed flag 00183d38: 00a23025 or r6,r5,r2 |Action Taken/disallowed flag 00183d3c: 00001021 addu r2,r0,r0 |default returned value 00183d40: 00651825 or r3,r3,r5 |Action/Movement Taken 00183d44: 10800005 beq r4,r0,0x00183d5c #If Unit can't move 00183d48: 00602821 addu r5,r3,r0 |Action/Movement Taken flag 00183d4c: 30c300ff andi r3,r6,0x00ff | 00183d50: 10600002 beq r3,r0,0x00183d5c #If unit can't act 00183d54: 00000000 nop | 00183d58: 0005102b sltu r2,r0,r5 |r2 = 0x1 if unit has moved/acted 00183d5c: 8fbf0014 lw r31,0x0014(r29) END 00183d60: 8fb00010 lw r16,0x0010(r29) 00183d64: 27bd0018 addiu r29,r29,0x0018 00183d68: 03e00008 jr r31 00183d6c: 00000000 nop
Return location
Battle.bin 00182e30: In_between_turn_control_routine 00183c48: Set_move/act_flags