Ability Menu
Jump to navigation
Jump to search
0011dc98: 3c038019 lui r3,0x8019 0011dc9c: 8c63ba1c lw r3,-0x45e4(r3) 0011dca0: 27bdffd8 addiu r29,r29,0xffd8 0011dca4: afb00018 sw r16,0x0018(r29) 0011dca8: 34100012 ori r16,r0,0x0012 0011dcac: afbf0020 sw r31,0x0020(r29) 0011dcb0: 10700004 beq r3,r16,0x0011dcc4 0011dcb4: afb1001c sw r17,0x001c(r29) 0011dcb8: 34020016 ori r2,r0,0x0016 0011dcbc: 1462002b bne r3,r2,0x0011dd6c 0011dcc0: 34020013 ori r2,r0,0x0013 0011dcc4: 3c028019 lui r2,0x8019 0011dcc8: 8042bade lb r2,-0x4522(r2) 0011dccc: 00000000 nop 0011dcd0: 14400010 bne r2,r0,0x0011dd14 0011dcd4: 00000000 nop 0011dcd8: 3c028019 lui r2,0x8019 0011dcdc: 9042ba27 lbu r2,-0x45d9(r2) 0011dce0: 3c01801d lui r1,0x801d 0011dce4: a020d80c sb r0,-0x27f4(r1) 0011dce8: 3c018019 lui r1,0x8019 0011dcec: a020ba27 sb r0,-0x45d9(r1) 0011dcf0: 3c01801d lui r1,0x801d 0011dcf4: a022851c sb r2,-0x7ae4(r1) 0011dcf8: 0c04a966 jal 0x0012a598 0011dcfc: 34040009 ori r4,r0,0x0009 0011dd00: 34020001 ori r2,r0,0x0001 0011dd04: 3c018019 lui r1,0x8019 0011dd08: a022bade sb r2,-0x4522(r1) 0011dd0c: 3c018019 lui r1,0x8019 0011dd10: a020d0a8 sb r0,-0x2f58(r1) 0011dd14: 3c028019 lui r2,0x8019 0011dd18: 8c42ba1c lw r2,-0x45e4(r2) 0011dd1c: 00000000 nop 0011dd20: 14500005 bne r2,r16,0x0011dd38 0011dd24: 00000000 nop 0011dd28: 0c045dce jal 0x00117738 0011dd2c: 34040001 ori r4,r0,0x0001 0011dd30: 08047750 j 0x0011dd40 0011dd34: 00000000 nop 0011dd38: 0c045f16 jal 0x00117c58 0011dd3c: 00000000 nop 0011dd40: 3c018019 lui r1,0x8019 0011dd44: a022bade sb r2,-0x4522(r1) 0011dd48: 3c028019 lui r2,0x8019 0011dd4c: 8042bade lb r2,-0x4522(r2) 0011dd50: 00000000 nop 0011dd54: 144000d1 bne r2,r0,0x0011e09c 0011dd58: 34020002 ori r2,r0,0x0002 0011dd5c: 3c018019 lui r1,0x8019 0011dd60: ac22ba1c sw r2,-0x45e4(r1) 0011dd64: 08047827 j 0x0011e09c 0011dd68: 00000000 nop 0011dd6c: 1462000c bne r3,r2,0x0011dda0 0011dd70: 00000000 nop 0011dd74: 0c045e68 jal 0x001179a0 0011dd78: 34040001 ori r4,r0,0x0001 0011dd7c: 3c018019 lui r1,0x8019 0011dd80: a022bade sb r2,-0x4522(r1) 0011dd84: 00021600 sll r2,r2,0x18 0011dd88: 144000c4 bne r2,r0,0x0011e09c 0011dd8c: 00000000 nop 0011dd90: 3c018019 lui r1,0x8019 0011dd94: ac20ba1c sw r0,-0x45e4(r1) 0011dd98: 08047827 j 0x0011e09c 0011dd9c: 00000000 nop 0011dda0: 3c028019 lui r2,0x8019 0011dda4: 8042bade lb r2,-0x4522(r2) 0011dda8: 00000000 nop 0011ddac: 14400008 bne r2,r0,0x0011ddd0 0011ddb0: 00000000 nop 0011ddb4: 0c0462cf jal 0x00118b3c 0011ddb8: 00000000 nop 0011ddbc: 340200ff ori r2,r0,0x00ff 0011ddc0: 3c018019 lui r1,0x8019 0011ddc4: a420d0ec sh r0,-0x2f14(r1) 0011ddc8: 3c018019 lui r1,0x8019 0011ddcc: a022d0f1 sb r2,-0x2f0f(r1) 0011ddd0: 3c028019 lui r2,0x8019 0011ddd4: 8c42ba1c lw r2,-0x45e4(r2) 0011ddd8: 00000000 nop 0011dddc: 2842000c slti r2,r2,0x000c 0011dde0: 10400005 beq r2,r0,0x0011ddf8 0011dde4: 00000000 nop 0011dde8: 3c048019 lui r4,0x8019 0011ddec: 8484ba20 lh r4,-0x45e0(r4) 0011ddf0: 0c045f5e jal 0x00117d78 0011ddf4: 00000000 nop 0011ddf8: 3c028019 lui r2,0x8019 0011ddfc: 9042d0f1 lbu r2,-0x2f0f(r2) 0011de00: 3c048019 lui r4,0x8019 0011de04: 8484ba20 lh r4,-0x45e0(r4) 0011de08: 00000000 nop 0011de0c: 10440015 beq r2,r4,0x0011de64 0011de10: 00000000 nop 0011de14: 0c049550 jal 0x00125540 # Lock Equipment And Abilities 0011de18: 00000000 nop 0011de1c: 00408021 addu r16,r2,r0 0011de20: 3c038019 lui r3,0x8019 0011de24: 9063ba20 lbu r3,-0x45e0(r3) 0011de28: 2402fffa addiu r2,r0,0xfffa # r2 = -5. Value used for Mime, to block Set and Remove but allow Learn. 0011de2c: 3c018019 lui r1,0x8019 0011de30: a023d0f1 sb r3,-0x2f0f(r1) 0011de34: 16020003 bne r16,r2,0x0011de44 # Branch if not a Mime. 0011de38: 34020001 ori r2,r0,0x0001 # r2 = 1. Value used for a normal human unit. 0011de3c: 08047794 j 0x0011de50 # Jump to 0x8011DE50 with r2 set to 0xD80D 0011de40: 2402d80d addiu r2,r0,0xd80d # r2 = 0xD80D: Message ID showing Set and Remove in grey, but black Learn. 0011de44: 16020002 bne r16,r2,0x0011de50 # Branch if not allowing full item and ability options. 0011de48: 2402d80c addiu r2,r0,0xd80c # r2 = 0xD80C. Message ID showing Set, Remove, and Learn in grey. 0011de4c: 2402d80b addiu r2,r0,0xd80b # r2 = 0xD80B. Message ID showing Set, Remove, and Learn in black. 0011de50: 3c018019 lui r1,0x8019 0011de54: a422d0d0 sh r2,-0x2f30(r1) 0011de58: 34020001 ori r2,r0,0x0001 0011de5c: 3c018019 lui r1,0x8019 0011de60: a422e0b0 sh r2,-0x1f50(r1) 0011de64: 3c028019 lui r2,0x8019 0011de68: 8c42ba1c lw r2,-0x45e4(r2) 0011de6c: 34030002 ori r3,r0,0x0002 0011de70: 14430052 bne r2,r3,0x0011dfbc 0011de74: 00000000 nop 0011de78: 3c058019 lui r5,0x8019 0011de7c: 24a5d0b4 addiu r5,r5,0xd0b4 0011de80: 0c04aade jal 0x0012ab78 0011de84: 3404000f ori r4,r0,0x000f 0011de88: 34030002 ori r3,r0,0x0002 0011de8c: 3c018019 lui r1,0x8019 0011de90: a022bade sb r2,-0x4522(r1) 0011de94: 00021600 sll r2,r2,0x18 0011de98: 3c018019 lui r1,0x8019 0011de9c: a023ba24 sb r3,-0x45dc(r1) 0011dea0: 1440000e bne r2,r0,0x0011dedc 0011dea4: 00000000 nop 0011dea8: 0c0455d4 jal 0x00115750 0011deac: 00002021 addu r4,r0,r0 0011deb0: 3c02801d lui r2,0x801d 0011deb4: 9042851c lbu r2,-0x7ae4(r2) 0011deb8: 3c048019 lui r4,0x8019 0011debc: 9084bae9 lbu r4,-0x4517(r4) 0011dec0: 34030013 ori r3,r0,0x0013 0011dec4: 3c018019 lui r1,0x8019 0011dec8: ac23ba1c sw r3,-0x45e4(r1) 0011decc: 3c018019 lui r1,0x8019 0011ded0: a022ba27 sb r2,-0x45d9(r1) 0011ded4: 3c018019 lui r1,0x8019 0011ded8: a024ba25 sb r4,-0x45db(r1) 0011dedc: 3c11801d lui r17,0x801d 0011dee0: 2631d738 addiu r17,r17,0xd738 0011dee4: 86230000 lh r3,0x0000(r17) 0011dee8: 2402ffff addiu r2,r0,0xffff 0011deec: 1062006b beq r3,r2,0x0011e09c 0011def0: 00000000 nop 0011def4: 3c048019 lui r4,0x8019 0011def8: 8484ba20 lh r4,-0x45e0(r4) 0011defc: 0c049550 jal 0x00125540 # Lock Equipment and Abilities 0011df00: 00000000 nop 0011df04: 00408021 addu r16,r2,r0 # r16 = Result 0011df08: 2402fffa addiu r2,r0,0xfffa # r2 = -5 (Mime). Set and Remove blocked, but Learn allowed. 0011df0c: 16020005 bne r16,r2,0x0011df24 # Branch if not Mime outcome. 0011df10: 00001821 addu r3,r0,r0 # r3 = 0 by default (locked?) 0011df14: 86220000 lh r2,0x0000(r17) # Load the selected menu option from 0x801CD738 0011df18: 00000000 nop 0011df1c: 38420002 xori r2,r2,0x0002 # Flip the 0x02 flag. Set becomes 0x02, Remove 0x01, and Learn 0x00. 0011df20: 2c430001 sltiu r3,r2,0x0001 # r3 = 0x01 if Learn was selected as a Mime. 0011df24: 34020001 ori r2,r0,0x0001 # r2 = 0x01. 0011df28: 16020002 bne r16,r2,0x0011df34 # Branch if the Result was not 0x01 (nothing locked). 0011df2c: 00000000 nop 0011df30: 34030001 ori r3,r0,0x0001 # r3 = 0x01 if nothing was locked. 0011df34: 1060001a beq r3,r0,0x0011dfa0 # Branch if Mime Learn was selected or nothing was locked. 0011df38: 34030001 ori r3,r0,0x0001 # r3 = 0x01 (why?) (no seriously what the fuck is this section of code) 0011df3c: 86220000 lh r2,0x0000(r17) # Load the selected menu option 0011df40: 3c018019 lui r1,0x8019 0011df44: a023bacc sb r3,-0x4534(r1) # Save 0x01 to 0x8018BACC 0011df48: 3403000c ori r3,r0,0x000c # r3 = 0x0C 0011df4c: 2442000a addiu r2,r2,0x000a # r2 = Selected menu option + 0x0A 0011df50: 3c018019 lui r1,0x8019 0011df54: ac22ba1c sw r2,-0x45e4(r1) # Save selected menu option + 0x0A to 0x8018BA1C 0011df58: 1043000d beq r2,r3,0x0011df90 # Branch if selected menu option + 0x0A = 0x0C. (Learn?) 0011df5c: 00000000 nop 0011df60: 3c058012 lui r5,0x8012 0011df64: 24a5dc70 addiu r5,r5,0xdc70 0011df68: 0c03ff5c jal 0x000ffd70 0011df6c: 3404000e ori r4,r0,0x000e 0011df70: 34040004 ori r4,r0,0x0004 0011df74: 0c04ae4c jal 0x0012b930 0011df78: 00002821 addu r5,r0,r0 0011df7c: 34040005 ori r4,r0,0x0005 0011df80: 0c04ae4c jal 0x0012b930 0011df84: 00002821 addu r5,r0,r0 0011df88: 080477eb j 0x0011dfac 0011df8c: 00000000 nop 0011df90: 0c04aabd jal 0x0012aaf4 0011df94: 3404000f ori r4,r0,0x000f 0011df98: 080477eb j 0x0011dfac 0011df9c: 00000000 nop 0011dfa0: 34020005 ori r2,r0,0x0005 0011dfa4: 3c018019 lui r1,0x8019 0011dfa8: a022bacc sb r2,-0x4534(r1) 0011dfac: 0c045022 jal 0x00114088 0011dfb0: 00000000 nop 0011dfb4: 08047827 j 0x0011e09c 0011dfb8: 00000000 nop 0011dfbc: 3c028019 lui r2,0x8019 0011dfc0: 9042d0f0 lbu r2,-0x2f10(r2) 0011dfc4: 00000000 nop 0011dfc8: 14400019 bne r2,r0,0x0011e030 0011dfcc: 00000000 nop 0011dfd0: 3c018019 lui r1,0x8019 0011dfd4: ac23ba1c sw r3,-0x45e4(r1) 0011dfd8: 0c03ff84 jal 0x000ffe10 0011dfdc: 3404000e ori r4,r0,0x000e 0011dfe0: 00002021 addu r4,r0,r0 0011dfe4: 3c028019 lui r2,0x8019 0011dfe8: 8442ba20 lh r2,-0x45e0(r2) 0011dfec: 3c05801d lui r5,0x801d 0011dff0: 24a5d5ec addiu r5,r5,0xd5ec 0011dff4: 00021080 sll r2,r2,0x02 0011dff8: 3c01801d lui r1,0x801d 0011dffc: 00220821 addu r1,r1,r2 0011e000: 8c22d5ec lw r2,-0x2a14(r1) 0011e004: 00000000 nop 0011e008: 8450002c lh r16,0x002c(r2) 0011e00c: 0c04843a jal 0x001210e8 0011e010: 00003021 addu r6,r0,r0 0011e014: 0c049611 jal 0x00125844 0011e018: 02002021 addu r4,r16,r0 0011e01c: 3c018019 lui r1,0x8019 0011e020: a422ba20 sh r2,-0x45e0(r1) 0011e024: 34020001 ori r2,r0,0x0001 0011e028: 3c018019 lui r1,0x8019 0011e02c: a022d0f0 sb r2,-0x2f10(r1) 0011e030: 3c038019 lui r3,0x8019 0011e034: 8c63ba1c lw r3,-0x45e4(r3) 0011e038: 3402000a ori r2,r0,0x000a 0011e03c: 14620008 bne r3,r2,0x0011e060 0011e040: 3402000b ori r2,r0,0x000b 0011e044: 0c04798c jal 0x0011e630 0011e048: 00000000 nop 0011e04c: 3c018019 lui r1,0x8019 0011e050: a022d0f0 sb r2,-0x2f10(r1) 0011e054: 3c038019 lui r3,0x8019 0011e058: 8c63ba1c lw r3,-0x45e4(r3) 0011e05c: 3402000b ori r2,r0,0x000b 0011e060: 14620005 bne r3,r2,0x0011e078 0011e064: 00000000 nop 0011e068: 0c04782d jal 0x0011e0b4 0011e06c: 00000000 nop 0011e070: 3c018019 lui r1,0x8019 0011e074: a022d0f0 sb r2,-0x2f10(r1) 0011e078: 3c038019 lui r3,0x8019 0011e07c: 8c63ba1c lw r3,-0x45e4(r3) 0011e080: 3402000c ori r2,r0,0x000c 0011e084: 14620005 bne r3,r2,0x0011e09c 0011e088: 00000000 nop 0011e08c: 0c047b46 jal 0x0011ed18 0011e090: 00000000 nop 0011e094: 3c018019 lui r1,0x8019 0011e098: a022d0f0 sb r2,-0x2f10(r1) 0011e09c: 8fbf0020 lw r31,0x0020(r29) 0011e0a0: 8fb1001c lw r17,0x001c(r29) 0011e0a4: 8fb00018 lw r16,0x0018(r29) 0011e0a8: 27bd0028 addiu r29,r29,0x0028 0011e0ac: 03e00008 jr r31 0011e0b0: 00000000 nop