Difference between revisions of "Able to move/act checks (Menu)"
Jump to navigation
Jump to search
RetroTypes (talk | contribs) m |
m (Nyzer moved page Able to move/act checks (Menu?) to Able to move/act checks (Menu): Fucking question marks) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
− | + | '''BATTLE.BIN''' - Able_to_move/act_checks_(Menu%3F) | |
− | 00183d10: 27bdffe8 addiu r29,r29, | + | --------------------------------------------------------------------------------------- |
+ | 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) | 00183d14: afb00010 sw r16,0x0010(r29) | ||
00183d18: afbf0014 sw r31,0x0014(r29) | 00183d18: afbf0014 sw r31,0x0014(r29) | ||
− | 00183d1c: 0c0604c3 jal 0x0018130c | + | 00183d1c: 0c0604c3 jal 0x0018130c |{{f/jal|Weapon Guard Usability|Weapon Guard Usability}} {{f/std|<nowiki>returns r2 = 0x00 if unit can act/react</nowiki>}} |
− | 00183d20: 00808021 addu r16,r4,r0 | + | 00183d20: 00808021 addu r16,r4,r0 |{{f/adr|Unit battle data pointer}} |
− | 00183d24: 9204005c lbu r4,0x005c(r16) | + | 00183d24: 9204005c lbu r4,0x005c(r16) |{{f/load|Load Current Status 5}} |
− | 00183d28: 92030187 lbu r3,0x0187(r16) | + | 00183d28: 92030187 lbu r3,0x0187(r16) |{{f/load|Load Movement Taken}} |
− | 00183d2c: 92050188 lbu r5,0x0188(r16) | + | 00183d2c: 92050188 lbu r5,0x0188(r16) |{{f/load|Load Action Taken}} |
− | 00183d30: 30840008 andi r4,r4,0x0008 | + | 00183d30: 30840008 andi r4,r4,0x0008 |{{f/std|check [Don't move]}} |
− | 00183d34: 00642025 or r4,r3,r4 | + | 00183d34: 00642025 or r4,r3,r4 |{{f/std|Movement Taken/disallowed flag}} |
− | 00183d38: 00a23025 or r6,r5,r2 | + | 00183d38: 00a23025 or r6,r5,r2 |{{f/std|Action Taken/disallowed flag}} |
− | 00183d3c: 00001021 addu r2,r0,r0 | + | 00183d3c: 00001021 addu r2,r0,r0 |{{f/std|default returned value}} |
− | 00183d40: 00651825 or r3,r3,r5 | + | 00183d40: 00651825 or r3,r3,r5 |{{f/std|Action/Movement Taken}} |
− | 00183d44: 10800005 beq r4,r0,0x00183d5c | + | 00183d44: 10800005 beq r4,r0,0x00183d5c {{f/Cond|If Unit can't move}} |
− | 00183d48: 00602821 addu r5,r3,r0 | + | 00183d48: 00602821 addu r5,r3,r0 |{{f/std|Action/Movement Taken flag}} |
− | 00183d4c: 30c300ff andi r3,r6,0x00ff | + | 00183d4c: 30c300ff andi r3,r6,0x00ff | |
− | 00183d50: 10600002 beq r3,r0,0x00183d5c | + | 00183d50: 10600002 beq r3,r0,0x00183d5c {{f/Cond|If unit can't act}} |
− | 00183d54: 00000000 nop | + | 00183d54: 00000000 nop | |
− | 00183d58: 0005102b sltu r2,r0,r5 | + | 00183d58: 0005102b sltu r2,r0,r5 |{{f/std|<nowiki>r2 = 0x1 if unit has moved/acted </nowiki>}} |
− | 00183d5c: 8fbf0014 lw r31,0x0014(r29) | + | 00183d5c: 8fbf0014 lw r31,0x0014(r29) END |
00183d60: 8fb00010 lw r16,0x0010(r29) | 00183d60: 8fb00010 lw r16,0x0010(r29) | ||
00183d64: 27bd0018 addiu r29,r29,0x0018 | 00183d64: 27bd0018 addiu r29,r29,0x0018 | ||
00183d68: 03e00008 jr r31 | 00183d68: 03e00008 jr r31 | ||
00183d6c: 00000000 nop | 00183d6c: 00000000 nop | ||
− | + | ===Return location=== | |
− | + | '''Battle.bin''' | |
− | == Return | + | 00182e30: [[In_between_turn_control_routine]] |
− | + | 00183c48: [[Set_move/act_flags]] | |
− | |||
− |
Latest revision as of 02:05, 10 October 2024
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