Difference between revisions of "Find Positive Priority Target within 3 Range (0019689c)"
Jump to navigation
Jump to search
(Uploaded the correct routine) |
m |
||
Line 1: | Line 1: | ||
− | 0019689c: 3c03801a lui r3,0x801a | + | 0019689c: 3c03801a lui r3,0x801a |
− | 001968a0: 8c6301f8 lw r3,0x01f8(r3) Acting Unit's AI Decision Pointer | + | 001968a0: 8c6301f8 lw r3,0x01f8(r3) Acting Unit's AI Decision Pointer |
− | 001968a4: 27bdffe8 addiu r29,r29,0xffe8 | + | 001968a4: 27bdffe8 addiu r29,r29,0xffe8 |
− | 001968a8: afbf0010 sw r31,0x0010(r29) | + | 001968a8: afbf0010 sw r31,0x0010(r29) |
− | 001968ac: 90620005 lbu r2,0x0005(r3) Load Main Target ID | + | 001968ac: 90620005 lbu r2,0x0005(r3) Load Main Target ID |
− | 001968b0: 00000000 nop | + | 001968b0: 00000000 nop |
− | 001968b4: 00021100 sll r2,r2,0x04 | + | 001968b4: 00021100 sll r2,r2,0x04 |
− | 001968b8: 3c01801a lui r1,0x801a | + | 001968b8: 3c01801a lui r1,0x801a |
− | 001968bc: 00220821 addu r1,r1,r2 | + | 001968bc: 00220821 addu r1,r1,r2 |
− | 001968c0: 90220bf8 lbu r2,0x0bf8(r1) Load Enemy Flag | + | 001968c0: 90220bf8 lbu r2,0x0bf8(r1) Load Enemy Flag |
− | 001968c4: 00000000 nop | + | 001968c4: 00000000 nop |
− | 001968c8: 10400009 beq r2,r0,0x001968f0 Branch if Ally | + | 001968c8: 10400009 beq r2,r0,0x001968f0 Branch if Ally |
− | 001968cc: 00000000 nop | + | 001968cc: 00000000 nop |
− | 001968d0: 90620006 lbu r2,0x0006(r3) Load AI Targeting Flags | + | 001968d0: 90620006 lbu r2,0x0006(r3) Load AI Targeting Flags |
− | 001968d4: 00000000 nop | + | 001968d4: 00000000 nop |
− | 001968d8: 30420001 andi r2,r2,0x0001 | + | 001968d8: 30420001 andi r2,r2,0x0001 |
− | 001968dc: 10400004 beq r2,r0,0x001968f0 Branch if unit has indirect/arcing attack? | + | 001968dc: 10400004 beq r2,r0,0x001968f0 Branch if unit has indirect/arcing attack? |
− | 001968e0: 28820003 slti r2,r4,0x0003 | + | 001968e0: 28820003 slti r2,r4,0x0003 |
− | 001968e4: 10400002 beq r2,r0,0x001968f0 Branch if Range is greater or equal than 3 | + | 001968e4: 10400002 beq r2,r0,0x001968f0 Branch if Range is greater or equal than 3 |
− | 001968e8: 00000000 nop | + | 001968e8: 00000000 nop |
− | 001968ec: 34040003 ori r4,r0,0x0003 Always look for targets at least in 3 range or greater | + | 001968ec: 34040003 ori r4,r0,0x0003 Always look for targets at least in 3 range or greater |
− | 001968f0: 0c065a42 jal 0x00196908 Get Positive Priority | + | 001968f0: 0c065a42 jal 0x00196908 Get Positive Priority |
− | 001968f4: 00000000 nop | + | 001968f4: 00000000 nop |
− | 001968f8: 8fbf0010 lw r31,0x0010(r29) | + | 001968f8: 8fbf0010 lw r31,0x0010(r29) |
− | 001968fc: 27bd0018 addiu r29,r29,0x0018 | + | 001968fc: 27bd0018 addiu r29,r29,0x0018 |
− | 00196900: 03e00008 jr r31 | + | 00196900: 03e00008 jr r31 |
− | 00196904: 00000000 nop | + | 00196904: 00000000 nop |
Revision as of 00:44, 9 March 2017
0019689c: 3c03801a lui r3,0x801a 001968a0: 8c6301f8 lw r3,0x01f8(r3) Acting Unit's AI Decision Pointer 001968a4: 27bdffe8 addiu r29,r29,0xffe8 001968a8: afbf0010 sw r31,0x0010(r29)
001968ac: 90620005 lbu r2,0x0005(r3) Load Main Target ID 001968b0: 00000000 nop 001968b4: 00021100 sll r2,r2,0x04 001968b8: 3c01801a lui r1,0x801a 001968bc: 00220821 addu r1,r1,r2 001968c0: 90220bf8 lbu r2,0x0bf8(r1) Load Enemy Flag 001968c4: 00000000 nop 001968c8: 10400009 beq r2,r0,0x001968f0 Branch if Ally 001968cc: 00000000 nop
001968d0: 90620006 lbu r2,0x0006(r3) Load AI Targeting Flags 001968d4: 00000000 nop 001968d8: 30420001 andi r2,r2,0x0001 001968dc: 10400004 beq r2,r0,0x001968f0 Branch if unit has indirect/arcing attack?
001968e0: 28820003 slti r2,r4,0x0003 001968e4: 10400002 beq r2,r0,0x001968f0 Branch if Range is greater or equal than 3 001968e8: 00000000 nop 001968ec: 34040003 ori r4,r0,0x0003 Always look for targets at least in 3 range or greater
001968f0: 0c065a42 jal 0x00196908 Get Positive Priority 001968f4: 00000000 nop 001968f8: 8fbf0010 lw r31,0x0010(r29) 001968fc: 27bd0018 addiu r29,r29,0x0018 00196900: 03e00008 jr r31 00196904: 00000000 nop