Ability Menu

From Final Fantasy Hacktics Wiki
Revision as of 05:50, 15 October 2024 by Nyzer (talk | contribs) (Created page with "<font face='Courier New'> 0011dc98: 3c038019 lui r3,0x8019 0011dc9c: 8c63ba1c lw r3,-0x45e4(r3) 0011dca0: 27bdffd8 addiu r29,r29,0xffd8 0011dca4: afb00018 sw r16,0x0018(...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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