Difference between revisions of "Run Script Variable Command (Alternative)"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with " Jumped to from subroutines of steal routine - Calculate party inventory? 0014a018: 27bdffd0 addiu r29,r29,0xffd0 0014a01c: afb20018 sw r18,0x0018(r29) 0014a020: 00809021 a...")
 
m (man I can't be bothered finishing this lmao)
Line 2: Line 2:
 
  0014a018: 27bdffd0 addiu r29,r29,0xffd0
 
  0014a018: 27bdffd0 addiu r29,r29,0xffd0
 
  0014a01c: afb20018 sw r18,0x0018(r29)
 
  0014a01c: afb20018 sw r18,0x0018(r29)
  0014a020: 00809021 addu r18,r4,r0
+
  0014a020: 00809021 addu r18,r4,r0 // r18 = primary input
 
  0014a024: afb3001c sw r19,0x001c(r29)
 
  0014a024: afb3001c sw r19,0x001c(r29)
  0014a028: 00a09821 addu r19,r5,r0
+
  0014a028: 00a09821 addu r19,r5,r0 // r19 = secondary input
 
  0014a02c: afb00010 sw r16,0x0010(r29)
 
  0014a02c: afb00010 sw r16,0x0010(r29)
  0014a030: 00c08021 addu r16,r6,r0
+
  0014a030: 00c08021 addu r16,r6,r0 // r16 = tertiary input
 
  0014a034: 340200be ori r2,r0,0x00be re = be
 
  0014a034: 340200be ori r2,r0,0x00be re = be
 
  0014a038: afbf002c sw r31,0x002c(r29)
 
  0014a038: afbf002c sw r31,0x002c(r29)
Line 12: Line 12:
 
  0014a040: afb50024 sw r21,0x0024(r29)
 
  0014a040: afb50024 sw r21,0x0024(r29)
 
  0014a044: afb40020 sw r20,0x0020(r29)
 
  0014a044: afb40020 sw r20,0x0020(r29)
  0014a048: 1242001d beq r18,r2,0x0014a0c0 checks a bunch of flags
+
  0014a048: 1242001d beq r18,r2,0x0014a0c0 checks a bunch of flags //branch if primary input is 0xbe
 
  0014a04c: afb10014 sw r17,0x0014(r29)
 
  0014a04c: afb10014 sw r17,0x0014(r29)
  0014a050: 32420001 andi r2,r18,0x0001
+
  0014a050: 32420001 andi r2,r18,0x0001
  0014a054: 14400003 bne r2,r0,0x0014a064
+
  0014a054: 14400003 bne r2,r0,0x0014a064 // branch if primary input is an odd number
  0014a058: 34020021 ori r2,r0,0x0021
+
  0014a058: 34020021 ori r2,r0,0x0021 // r2 = 0x21
 
  0014a05c: 08052830 j 0x0014a0c0
 
  0014a05c: 08052830 j 0x0014a0c0
  0014a060: 02008821 addu r17,r16,r0
+
  0014a060: 02008821 addu r17,r16,r0 // r17 = tertiary input
  0014a064: 16020005 bne r16,r2,0x0014a07c
+
  0014a064: 16020005 bne r16,r2,0x0014a07c // branch if tertiary input is not 0x21
 
  0014a068: 00000000 nop
 
  0014a068: 00000000 nop
  0014a06c: 0c052923 jal 0x0014a48c
+
  0014a06c: 0c052923 jal 0x0014a48c // no idea :pensive: seems to be a really odd rng or multiplication call
  0014a070: 2416ffff addiu r22,r0,0xffff
+
  0014a070: 2416ffff addiu r22,r0,0xffff // r22 = -1
 
  0014a074: 08052831 j 0x0014a0c4
 
  0014a074: 08052831 j 0x0014a0c4
  0014a078: 00408821 addu r17,r2,r0
+
  0014a078: 00408821 addu r17,r2,r0 // r17 = value of that above nonsense
  0014a07c: 0c0528bb jal 0x0014a2ec
+
  0014a07c: 0c0528bb jal 0x0014a2ec // [[0014a2ec - 0014a398]]
  0014a080: 02002021 addu r4,r16,r0
+
  0014a080: 02002021 addu r4,r16,r0 // input = tertiary input
  0014a084: 02002021 addu r4,r16,r0
+
  0014a084: 02002021 addu r4,r16,r0 // input = tertiary input
  0014a088: 0c0528e7 jal 0x0014a39c
+
  0014a088: 0c0528e7 jal 0x0014a39c // [[0014a39c - 0014a3f4]]
  0014a08c: 00408821 addu r17,r2,r0
+
  0014a08c: 00408821 addu r17,r2,r0 // r17 = output of above (0x0005771c + tertiary * 4)
  0014a090: 00402821 addu r5,r2,r0
+
  0014a090: 00402821 addu r5,r2,r0 // r5 = output of above
  0014a094: 04a00009 bltz r5,0x0014a0bc
+
  0014a094: 04a00009 bltz r5,0x0014a0bc // branch if result was -1
 
  0014a098: 2a020360 slti r2,r16,0x0360
 
  0014a098: 2a020360 slti r2,r16,0x0360
 
  0014a09c: 14400002 bne r2,r0,0x0014a0a8
 
  0014a09c: 14400002 bne r2,r0,0x0014a0a8

Revision as of 09:23, 1 January 2022

Jumped to from subroutines of steal routine - Calculate party inventory?
0014a018: 27bdffd0 addiu r29,r29,0xffd0
0014a01c: afb20018 sw r18,0x0018(r29)
0014a020: 00809021 addu r18,r4,r0					// r18 = primary input
0014a024: afb3001c sw r19,0x001c(r29)
0014a028: 00a09821 addu r19,r5,r0					// r19 = secondary input
0014a02c: afb00010 sw r16,0x0010(r29)
0014a030: 00c08021 addu r16,r6,r0					// r16 = tertiary input
0014a034: 340200be ori r2,r0,0x00be		re = be
0014a038: afbf002c sw r31,0x002c(r29)
0014a03c: afb60028 sw r22,0x0028(r29)
0014a040: afb50024 sw r21,0x0024(r29)
0014a044: afb40020 sw r20,0x0020(r29)
0014a048: 1242001d beq r18,r2,0x0014a0c0	checks a bunch of flags	//branch if primary input is 0xbe
0014a04c: afb10014 sw r17,0x0014(r29)
0014a050: 32420001 andi r2,r18,0x0001
0014a054: 14400003 bne r2,r0,0x0014a064				// branch if primary input is an odd number
0014a058: 34020021 ori r2,r0,0x0021					// r2 = 0x21
0014a05c: 08052830 j 0x0014a0c0
0014a060: 02008821 addu r17,r16,r0					// r17 = tertiary input
0014a064: 16020005 bne r16,r2,0x0014a07c				// branch if tertiary input is not 0x21
0014a068: 00000000 nop
0014a06c: 0c052923 jal 0x0014a48c					// no idea :pensive: seems to be a really odd rng or multiplication call
0014a070: 2416ffff addiu r22,r0,0xffff					// r22 = -1
0014a074: 08052831 j 0x0014a0c4
0014a078: 00408821 addu r17,r2,r0					// r17 = value of that above nonsense
0014a07c: 0c0528bb jal 0x0014a2ec					// 0014a2ec - 0014a398
0014a080: 02002021 addu r4,r16,r0					// input = tertiary input
0014a084: 02002021 addu r4,r16,r0					// input = tertiary input
0014a088: 0c0528e7 jal 0x0014a39c					// 0014a39c - 0014a3f4
0014a08c: 00408821 addu r17,r2,r0					// r17 = output of above (0x0005771c + tertiary * 4)
0014a090: 00402821 addu r5,r2,r0					// r5 = output of above
0014a094: 04a00009 bltz r5,0x0014a0bc					// branch if result was -1
0014a098: 2a020360 slti r2,r16,0x0360
0014a09c: 14400002 bne r2,r0,0x0014a0a8
0014a0a0: 34040001 ori r4,r0,0x0001
0014a0a4: 3404000f ori r4,r0,0x000f
0014a0a8: 8e230000 lw r3,0x0000(r17)
0014a0ac: 00a41004 sllv r2,r4,r5
0014a0b0: 00431024 and r2,r2,r3
0014a0b4: 08052830 j 0x0014a0c0
0014a0b8: 00a28806 srlv r17,r2,r5
0014a0bc: 8e310000 lw r17,0x0000(r17)
0014a0c0: 2416ffff addiu r22,r0,0xffff
0014a0c4: 0c0528bb jal 0x0014a2ec
0014a0c8: 02602021 addu r4,r19,r0
0014a0cc: 02602021 addu r4,r19,r0
0014a0d0: 0c0528e7 jal 0x0014a39c
0014a0d4: 0040a821 addu r21,r2,r0
0014a0d8: 0040a021 addu r20,r2,r0
0014a0dc: 0680000a bltz r20,0x0014a108
0014a0e0: 2a620360 slti r2,r19,0x0360
0014a0e4: 14400002 bne r2,r0,0x0014a0f0
0014a0e8: 34040001 ori r4,r0,0x0001
0014a0ec: 3404000f ori r4,r0,0x000f
0014a0f0: 02841004 sllv r2,r4,r20
0014a0f4: 8ea30000 lw r3,0x0000(r21)
0014a0f8: 0002b027 nor r22,r0,r2
0014a0fc: 00431024 and r2,r2,r3
0014a100: 08052843 j 0x0014a10c
0014a104: 02828006 srlv r16,r2,r20
0014a108: 8eb00000 lw r16,0x0000(r21)
0014a10c: 340200be ori r2,r0,0x00be
0014a110: 16420003 bne r18,r2,0x0014a120
0014a114: 2a4200b2 slti r2,r18,0x00b2
0014a118: 0805286e j 0x0014a1b8
0014a11c: 00008021 addu r16,r0,r0
0014a120: 10400003 beq r2,r0,0x0014a130
0014a124: 2a4200b4 slti r2,r18,0x00b4
0014a128: 0805286e j 0x0014a1b8
0014a12c: 02118021 addu r16,r16,r17
0014a130: 10400003 beq r2,r0,0x0014a140
0014a134: 2a4200b6 slti r2,r18,0x00b6
0014a138: 0805286e j 0x0014a1b8
0014a13c: 02118023 subu r16,r16,r17
0014a140: 10400004 beq r2,r0,0x0014a154
0014a144: 02110018 mult r16,r17
0014a148: 00008012 mflo r16
0014a14c: 0805286e j 0x0014a1b8
0014a150: 00000000 nop
0014a154: 2a4200b8 slti r2,r18,0x00b8
0014a158: 10400009 beq r2,r0,0x0014a180
0014a15c: 00000000 nop
0014a160: 16200003 bne r17,r0,0x0014a170
0014a164: 00000000 nop
0014a168: 0c053256 jal 0x0014c958
0014a16c: 00000000 nop
0014a170: 0211001a div r16,r17
0014a174: 00008012 mflo r16
0014a178: 0805286e j 0x0014a1b8
0014a17c: 00000000 nop
0014a180: 2a4200ba slti r2,r18,0x00ba
0014a184: 10400005 beq r2,r0,0x0014a19c
0014a188: 2a4200bc slti r2,r18,0x00bc
0014a18c: 0211001a div r16,r17
0014a190: 00008010 mfhi r16
0014a194: 0805286e j 0x0014a1b8
0014a198: 00000000 nop
0014a19c: 10400003 beq r2,r0,0x0014a1ac
0014a1a0: 2a4200be slti r2,r18,0x00be
0014a1a4: 0805286e j 0x0014a1b8
0014a1a8: 02118024 and r16,r16,r17
0014a1ac: 10400002 beq r2,r0,0x0014a1b8
0014a1b0: 00000000 nop
0014a1b4: 02118025 or r16,r16,r17
0014a1b8: 3c028016 lui r2,0x8016
0014a1bc: 904260a3 lbu r2,0x60a3(r2)
0014a1c0: 00000000 nop
0014a1c4: 1440002d bne r2,r0,0x0014a27c
0014a1c8: 2a6203c0 slti r2,r19,0x03c0
0014a1cc: 1440000a bne r2,r0,0x0014a1f8
0014a1d0: 34020001 ori r2,r0,0x0001
0014a1d4: 3c018016 lui r1,0x8016
0014a1d8: a02260a3 sb r2,0x60a3(r1)
0014a1dc: 0c04ed64 jal 0x0013b590
0014a1e0: 02602021 addu r4,r19,r0
0014a1e4: 2c42000c sltiu r2,r2,0x000c
0014a1e8: 3c018016 lui r1,0x8016
0014a1ec: a02060a3 sb r0,0x60a3(r1)
0014a1f0: 10400033 beq r2,r0,0x0014a2c0
0014a1f4: 00000000 nop
0014a1f8: 3c028016 lui r2,0x8016
0014a1fc: 904260a3 lbu r2,0x60a3(r2)
0014a200: 00000000 nop
0014a204: 1440001d bne r2,r0,0x0014a27c
0014a208: 34020001 ori r2,r0,0x0001
0014a20c: 3c018016 lui r1,0x8016
0014a210: a02260a3 sb r2,0x60a3(r1)
0014a214: 0c04ed64 jal 0x0013b590
0014a218: 340401fc ori r4,r0,0x01fc
0014a21c: 3c018016 lui r1,0x8016
0014a220: a02060a3 sb r0,0x60a3(r1)
0014a224: 10400015 beq r2,r0,0x0014a27c
0014a228: 2662ff90 addiu r2,r19,0xff90
0014a22c: 2c420020 sltiu r2,r2,0x0020
0014a230: 14400012 bne r2,r0,0x0014a27c
0014a234: 2662fe04 addiu r2,r19,0xfe04
0014a238: 2c420004 sltiu r2,r2,0x0004
0014a23c: 1440000f bne r2,r0,0x0014a27c
0014a240: 34020066 ori r2,r0,0x0066
0014a244: 1262000d beq r19,r2,0x0014a27c
0014a248: 2662ffce addiu r2,r19,0xffce
0014a24c: 2c420008 sltiu r2,r2,0x0008
0014a250: 1440000a bne r2,r0,0x0014a27c
0014a254: 2a62002c slti r2,r19,0x002c
0014a258: 14400008 bne r2,r0,0x0014a27c
0014a25c: 34020030 ori r2,r0,0x0030
0014a260: 12620006 beq r19,r2,0x0014a27c
0014a264: 2662ffaa addiu r2,r19,0xffaa
0014a268: 2c420005 sltiu r2,r2,0x0005
0014a26c: 14400003 bne r2,r0,0x0014a27c
0014a270: 34020053 ori r2,r0,0x0053
0014a274: 16620012 bne r19,r2,0x0014a2c0
0014a278: 00000000 nop
0014a27c: 0680000b bltz r20,0x0014a2ac
0014a280: 2a620360 slti r2,r19,0x0360
0014a284: 14400002 bne r2,r0,0x0014a290
0014a288: 34040001 ori r4,r0,0x0001
0014a28c: 3404000f ori r4,r0,0x000f
0014a290: 02048024 and r16,r16,r4
0014a294: 8ea20000 lw r2,0x0000(r21)
0014a298: 02908004 sllv r16,r16,r20
0014a29c: 02c21024 and r2,r22,r2
0014a2a0: 02021025 or r2,r16,r2
0014a2a4: 080528b0 j 0x0014a2c0
0014a2a8: aea20000 sw r2,0x0000(r21)
0014a2ac: 34020019 ori r2,r0,0x0019
0014a2b0: 16620003 bne r19,r2,0x0014a2c0
0014a2b4: aeb00000 sw r16,0x0000(r21)
0014a2b8: 3c018016 lui r1,0x8016
0014a2bc: ac305ef4 sw r16,0x5ef4(r1)
0014a2c0: 8fbf002c lw r31,0x002c(r29)
0014a2c4: 8fb60028 lw r22,0x0028(r29)
0014a2c8: 8fb50024 lw r21,0x0024(r29)
0014a2cc: 8fb40020 lw r20,0x0020(r29)
0014a2d0: 8fb3001c lw r19,0x001c(r29)
0014a2d4: 8fb20018 lw r18,0x0018(r29)
0014a2d8: 8fb10014 lw r17,0x0014(r29)
0014a2dc: 8fb00010 lw r16,0x0010(r29)
0014a2e0: 27bd0030 addiu r29,r29,0x0030
0014a2e4: 03e00008 jr r31
0014a2e8: 00000000 nop