Set target for mounted unit, move find item/trap
Revision as of 14:36, 30 January 2024 by RetroTypes (talk | contribs)
0017ffc0: 27bdffe0 addiu r29,r29,0xffe0 0017ffc4: afb20018 sw r18,0x0018(r29) 0017ffc8: 00809021 addu r18,r4,r0 0017ffcc: 34070041 ori r7,r0,0x0041 0017ffd0: afbf001c sw r31,0x001c(r29) 0017ffd4: afb10014 sw r17,0x0014(r29) 0017ffd8: afb00010 sw r16,0x0010(r29) 0017ffdc: 92440047 lbu r4,0x0047(r18) 0017ffe0: 96460048 lhu r6,0x0048(r18) 0017ffe4: 92450048 lbu r5,0x0048(r18) 0017ffe8: 0c05f72a jal 0x0017dca8 check if another unit is on the same tile 0017ffec: 000633c2 srl r6,r6,0x0f 0017fff0: 00021027 nor r2,r0,r2 0017fff4: 92430182 lbu r3,0x0182(r18) load mount info 0017fff8: 00028fc2 srl r17,r2,0x1f r17 = unit ID of unit riding/being ridden by this unit 0017fffc: 30620080 andi r2,r3,0x0080 00180000: 10400026 beq r2,r0,0x0018009c branch if not riding unit 00180004: 02408021 addu r16,r18,r0 00180008: 3063001f andi r3,r3,0x001f 0018000c: 000310c0 sll r2,r3,0x03 00180010: 00431023 subu r2,r2,r3 00180014: 00021180 sll r2,r2,0x06 00180018: 3c038019 lui r3,0x8019 0018001c: 246308cc addiu r3,r3,0x08cc get unit data of unit riding this unit 00180020: 00438021 addu r16,r2,r3 00180024: 2604018c addiu r4,r16,0x018c r4 = riding unit's action data pointer 00180028: 3c018019 lui r1,0x8019 0018002c: ac302d98 sw r16,0x2d98(r1) store target's stats address 00180030: 3c018019 lui r1,0x8019 00180034: ac242d90 sw r4,0x2d90(r1) store target's action data address 00180038: 0c062f5d jal 0x0018bd74 current action data nulling 0018003c: 00000000 nop 00180040: 00002021 addu r4,r0,r0 00180044: 3c028019 lui r2,0x8019 00180048: 8c422d90 lw r2,0x2d90(r2) load target action 0018004c: 3c018006 lui r1,0x8006 00180050: 00240821 addu r1,r1,r4 00180054: 902362fd lbu r3,0x62fd(r1) 00180058: 00441021 addu r2,r2,r4 0018005c: 24840001 addiu r4,r4,0x0001 00180060: a0430020 sb r3,0x0020(r2) 00180064: 28820005 slti r2,r4,0x0005 00180068: 1440fff6 bne r2,r0,0x00180044 status checks? 0018006c: 00000000 nop 00180070: 0c0612c9 jal 0x00184b24 validate status changes 00180074: 00002021 addu r4,r0,r0 00180078: 10400008 beq r2,r0,0x0018009c 0018007c: 00002821 addu r5,r0,r0 00180080: 3c038019 lui r3,0x8019 00180084: 8c632d90 lw r3,0x2d90(r3) 00180088: 34020008 ori r2,r0,0x0008 0018008c: a0620025 sb r2,0x0025(r3) store attack = status change 00180090: 9204018a lbu r4,0x018a(r16) load ENTD ID 00180094: 0c06381f jal 0x0018e07c Store current action status to target + remove control + remove ability CT if not charge/jump/perform 00180098: 36310400 ori r17,r17,0x0400 0018009c: 92440047 lbu r4,0x0047(r18) 001800a0: 92450048 lbu r5,0x0048(r18) 001800a4: 96460048 lhu r6,0x0048(r18) 001800a8: 92100095 lbu r16,0x0095(r16) load movement supports 001800ac: 000633c2 srl r6,r6,0x0f 001800b0: 0c0600b2 jal 0x001802c8 Move find item determination routines 001800b4: 32100001 andi r16,r16,0x0001 r16 = Move-Find item check 001800b8: 12000008 beq r16,r0,0x001800dc branch if move find item not active 001800bc: 00401821 addu r3,r2,r0 001800c0: 90620000 lbu r2,0x0000(r3) load Move find item/trap found flag 001800c4: 00000000 nop 001800c8: 30420001 andi r2,r2,0x0001 001800cc: 10400003 beq r2,r0,0x001800dc branch if item not found 001800d0: 00000000 nop 001800d4: 0806003d j 0x001800f4 001800d8: 36310004 ori r17,r17,0x0004 return r17 + 4 001800dc: 90620000 lbu r2,0x0000(r3) load trap found flag 001800e0: 00000000 nop 001800e4: 30420002 andi r2,r2,0x0002 001800e8: 10400003 beq r2,r0,0x001800f8 branch if trap not found 001800ec: 02402021 addu r4,r18,r0 001800f0: 36310008 ori r17,r17,0x0008 return r17 + 8 001800f4: 02402021 addu r4,r18,r0 r4 = unit data 001800f8: 0c06005e jal 0x00180178 remove charging status 001800fc: 00002821 addu r5,r0,r0 00180100: 10400002 beq r2,r0,0x0018010c branch if status not removed? 00180104: 00000000 nop 00180108: 36310010 ori r17,r17,0x0010 return r17 + 10 0018010c: 0c06004d jal 0x00180134 get move-Stat up supports 00180110: 02402021 addu r4,r18,r0 00180114: 02221025 or r2,r17,r2 r2 = movement supports + status removal flags 00180118: 8fbf001c lw r31,0x001c(r29) 0018011c: 8fb20018 lw r18,0x0018(r29) 00180120: 8fb10014 lw r17,0x0014(r29) 00180124: 8fb00010 lw r16,0x0010(r29) 00180128: 27bd0020 addiu r29,r29,0x0020 0018012c: 03e00008 jr r31 00180130: 00000000 nop