Difference between revisions of "0019db80 - 0019dca8"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 0019d37c: 3c02801a lui r2,0x801a 0019d380: 90420d7b lbu r2,0x0d7b(r2) 0019d384: 27bdffe0 addiu r29,r29,0xffe0 0019d388: afb20018 sw r18,0x0018(...")
 
(Replaced with the correct routine)
Line 1: Line 1:
 
<font face='Courier New'>
 
<font face='Courier New'>
 
   
 
   
  0019d37c: 3c02801a lui r2,0x801a
+
  0019db80: 3c03801a lui r3,0x801a
  0019d380: 90420d7b lbu r2,0x0d7b(r2)
+
0019db84: 8c63f3dc lw r3,-0x0c24(r3)
  0019d384: 27bdffe0 addiu r29,r29,0xffe0
+
0019db88: 3c02801a lui r2,0x801a
  0019d388: afb20018 sw r18,0x0018(r29)
+
  0019db8c: 8c4201f4 lw r2,0x01f4(r2)
  0019d38c: 3c12801a lui r18,0x801a
+
  0019db90: 27bdffe8 addiu r29,r29,0xffe8
  0019d390: 2652f3c4 addiu r18,r18,0xf3c4
+
  0019db94: afb00010 sw r16,0x0010(r29)
  0019d394: afbf001c sw r31,0x001c(r29)
+
  0019db98: 3c10801a lui r16,0x801a
  0019d398: afb10014 sw r17,0x0014(r29)
+
  0019db9c: 2610f3c4 addiu r16,r16,0xf3c4
  0019d39c: 1040000f beq r2,r0,0x0019d3dc branch if able to act
+
  0019dba0: 1062003d beq r3,r2,0x0019dc98
  0019d3a0: afb00010 sw r16,0x0010(r29)
+
  0019dba4: afbf0014 sw r31,0x0014(r29)
if unable to act
+
  0019dba8: 0c067c96 jal 0x0019f258
  0019d3a4: 3c02801a lui r2,0x801a
+
  0019dbac: 26040018 addiu r4,r16,0x0018
  0019d3a8: 904202b2 lbu r2,0x02b2(r2)
+
  0019dbb0: 3c03801a lui r3,0x801a
  0019d3ac: 00000000 nop
+
  0019dbb4: 90630083 lbu r3,0x0083(r3)
  0019d3b0: 1040000a beq r2,r0,0x0019d3dc
+
  0019dbb8: 34020001 ori r2,r0,0x0001
  0019d3b4: 00000000 nop
+
  0019dbbc: 1462001b bne r3,r2,0x0019dc2c
  0019d3b8: 0c0678de jal 0x0019e378 transfer AI data to unit data
+
  0019dbc0: 00000000 nop
0019d3bc: 34040001 ori r4,r0,0x0001
+
  0019dbc4: 3c03801a lui r3,0x801a
0019d3c0: 3c03801a lui r3,0x801a
+
  0019dbc8: 8c630bbc lw r3,0x0bbc(r3)
  0019d3c4: 906302b2 lbu r3,0x02b2(r3)
+
  0019dbcc: 00000000 nop
  0019d3c8: 34020001 ori r2,r0,0x0001
+
  0019dbd0: 9462002a lhu r2,0x002a(r3)
  0019d3cc: 10620062 beq r3,r2,0x0019d558
+
  0019dbd4: 00000000 nop
  0019d3d0: 34020002 ori r2,r0,0x0002
+
  0019dbd8: a4620028 sh r2,0x0028(r3)
  0019d3d4: 106200b7 beq r3,r2,0x0019d6b4
+
  0019dbdc: 3c03801a lui r3,0x801a
  0019d3d8: 00000000 nop
+
  0019dbe0: 8c630bbc lw r3,0x0bbc(r3)
  if able to act
+
  0019dbe4: 00000000 nop
  0019d3dc: 0c0076ea jal 0x0001dba8 GPU manipulations?
+
  0019dbe8: 9462002e lhu r2,0x002e(r3)
  0019d3e0: 34040001 ori r4,r0,0x0001
+
  0019dbec: 00000000 nop
  0019d3e4: 284201b9 slti r2,r2,0x01b9 set if returned value < 0x1b9
+
  0019dbf0: a462002c sh r2,0x002c(r3)
  0019d3e8: 14400004 bne r2,r0,0x0019d3fc branch if so
+
  0019dbf4: 3c03801a lui r3,0x801a
  0019d3ec: 00000000 nop
+
  0019dbf8: 8c630bbc lw r3,0x0bbc(r3)
  0019d3f0: a2400eee sb r0,0x0eee(r18)
+
  0019dbfc: 00000000 nop
  0019d3f4: 080676d9 j 0x0019db64 jump to end, return r2 = 0xffff
+
  0019dc00: 9062005a lbu r2,0x005a(r3)
  0019d3f8: 2402ffff addiu r2,r0,0xffff
+
  0019dc04: 00000000 nop
  0019d3fc: 0c067858 jal 0x0019e160 transfer unit data to AI data (status CT)
+
  0019dc08: 304200fe andi r2,r2,0x00fe
  0019d400: 00002021 addu r4,r0,r0
+
  0019dc0c: a062005a sb r2,0x005a(r3)
  0019d404: a24019bc sb r0,0x19bc(r18) clear ??
+
  0019dc10: 3c03801a lui r3,0x801a
  0019d408: 34110014 ori r17,r0,0x0014
+
  0019dc14: 8c630bbc lw r3,0x0bbc(r3)
  0019d40c: 26420014 addiu r2,r18,0x0014
+
  0019dc18: 00000000 nop
  0019d410: a0400e18 sb r0,0x0e18(r2)
+
  0019dc1c: 906201bd lbu r2,0x01bd(r3)
  0019d414: 2631ffff addiu r17,r17,0xffff
+
  0019dc20: 00000000 nop
  0019d418: 0621fffd bgez r17,0x0019d410
+
  0019dc24: 304200fe andi r2,r2,0x00fe
  0019d41c: 2442ffff addiu r2,r2,0xffff set some data = 0
+
  0019dc28: a06201bd sb r2,0x01bd(r3)
  0019d420: 92430014 lbu r3,0x0014(r18) load targeting byte?
+
  0019dc2c: 3c02801a lui r2,0x801a
  0019d424: 340200ff ori r2,r0,0x00ff
+
  0019dc30: 90420083 lbu r2,0x0083(r2)
  0019d428: a6400032 sh r0,0x0032(r18)
+
  0019dc34: 00000000 nop
  0019d42c: 10600017 beq r3,r0,0x0019d48c branch if no target?
+
0019dc38: 10400014 beq r2,r0,0x0019dc8c
  0019d430: a2420031 sb r2,0x0031(r18) store base hit = 0xff?
+
  0019dc3c: 00000000 nop
  0019d434: 9243001d lbu r3,0x001d(r18) load skillset of last attack
+
0019dc40: 3c02801a lui r2,0x801a
  0019d438: 00000000 nop
+
  0019dc44: 8c420bbc lw r2,0x0bbc(r2)
  0019d43c: 10600029 beq r3,r0,0x0019d4e4 branch if attack?
+
0019dc48: 00000000 nop
  0019d440: 34020002 ori r2,r0,0x0002
+
0019dc4c: 9042005a lbu r2,0x005a(r2)
  0019d444: 1062002a beq r3,r2,0x0019d4f0 branch if defend? equip change?
+
  0019dc50: 00000000 nop
  0019d448: 00000000 nop
+
  0019dc54: 30420001 andi r2,r2,0x0001
  0019d44c: 2650001c addiu r16,r18,0x001c
+
  0019dc58: 1440000c bne r2,r0,0x0019dc8c
  0019d450: 0c05f0f7 jal 0x0017c3dc call attack preparation (AT list preview)
+
  0019dc5c: 34020011 ori r2,r0,0x0011
  0019d454: 02002021 addu r4,r16,r0
+
  0019dc60: 3c03801a lui r3,0x801a
  0019d458: 34030001 ori r3,r0,0x0001
+
  0019dc64: 90630d7a lbu r3,0x0d7a(r3)
  0019d45c: 14430005 bne r2,r3,0x0019d474
+
  0019dc68: 00000000 nop
  0019d460: 00000000 nop
+
  0019dc6c: 10620007 beq r3,r2,0x0019dc8c
  0019d464: 0c06772f jal 0x0019dcbc
+
  0019dc70: 00000000 nop
  0019d468: 02002021 addu r4,r16,r0
+
0019dc74: 3c02801a lui r2,0x801a
  0019d46c: 104001b9 beq r2,r0,0x0019db54
+
  0019dc78: 9442f3f6 lhu r2,-0x0c0a(r2)
  0019d470: 00000000 nop
+
  0019dc7c: 00000000 nop
0019d474: 8e4317f8 lw r3,0x17f8(r18) load acting units data
+
  0019dc80: 24420002 addiu r2,r2,0x0002
  0019d478: 34020001 ori r2,r0,0x0001
+
  0019dc84: 3c01801a lui r1,0x801a
  0019d47c: 0c0676e0 jal 0x0019db80
+
  0019dc88: a422f3f6 sh r2,-0x0c0a(r1)
0019d480: a0620188 sb r2,0x0188(r3)
+
  0019dc8c: 8e0317f8 lw r3,0x17f8(r16)
  0019d484: 08067538 j 0x0019d4e0
+
  0019dc90: 34020001 ori r2,r0,0x0001
  0019d488: 00000000 nop
+
  0019dc94: a0620187 sb r2,0x0187(r3)
  0019d48c: 0c0676e0 jal 0x0019db80
+
  0019dc98: 8fbf0014 lw r31,0x0014(r29)
  0019d490: 00000000 nop
+
  0019dc9c: 8fb00010 lw r16,0x0010(r29)
  0019d494: 9243001d lbu r3,0x001d(r18)
+
  0019dca0: 27bd0018 addiu r29,r29,0x0018
0019d498: 00000000 nop
+
  0019dca4: 03e00008 jr r31
0019d49c: 10600011 beq r3,r0,0x0019d4e4
+
  0019dca8: 00000000 nop
0019d4a0: 34020002 ori r2,r0,0x0002
+
 
0019d4a4: 10620012 beq r3,r2,0x0019d4f0
 
0019d4a8: 00000000 nop
 
0019d4ac: 2650001c addiu r16,r18,0x001c
 
0019d4b0: 0c05f0f7 jal 0x0017c3dc call attack preparation (AT list preview)
 
0019d4b4: 02002021 addu r4,r16,r0
 
0019d4b8: 34030001 ori r3,r0,0x0001
 
0019d4bc: 14430005 bne r2,r3,0x0019d4d4
 
0019d4c0: 00000000 nop
 
0019d4c4: 0c06772f jal 0x0019dcbc
 
0019d4c8: 02002021 addu r4,r16,r0
 
0019d4cc: 104001a1 beq r2,r0,0x0019db54
 
0019d4d0: 00000000 nop
 
0019d4d4: 8e4317f8 lw r3,0x17f8(r18)
 
0019d4d8: 34020001 ori r2,r0,0x0001
 
0019d4dc: a0620188 sb r2,0x0188(r3)
 
0019d4e0: 9243001d lbu r3,0x001d(r18)
 
0019d4e4: 34020002 ori r2,r0,0x0002
 
0019d4e8: 14620009 bne r3,r2,0x0019d510
 
0019d4ec: 00000000 nop
 
0019d4f0: 92440e2e lbu r4,0x0e2e(r18)
 
0019d4f4: 0c060f80 jal 0x00183e00 enable/disable acting statuses
 
0019d4f8: 00000000 nop
 
0019d4fc: 8e4317f8 lw r3,0x17f8(r18)
 
0019d500: 34020064 ori r2,r0,0x0064
 
0019d504: a2420031 sb r2,0x0031(r18)
 
0019d508: 34020001 ori r2,r0,0x0001
 
0019d50c: a0620188 sb r2,0x0188(r3)
 
0019d510: 9242001d lbu r2,0x001d(r18)
 
0019d514: 00000000 nop
 
0019d518: 14400002 bne r2,r0,0x0019d524
 
0019d51c: 34020064 ori r2,r0,0x0064
 
0019d520: a2420031 sb r2,0x0031(r18)
 
0019d524: 92440e2e lbu r4,0x0e2e(r18)
 
0019d528: 0c060f1b jal 0x00183c6c End of Turn
 
0019d52c: 00000000 nop
 
0019d530: 3c028019 lui r2,0x8019
 
0019d534: 8c42f518 lw r2,-0x0ae8(r2) load in between turn control variable
 
0019d538: 3c038019 lui r3,0x8019
 
0019d53c: 8c63f51c lw r3,-0x0ae4(r3) load menu control variable?
 
0019d540: 3c048019 lui r4,0x8019
 
0019d544: 8c84f520 lw r4,-0x0ae0(r4) load active units ID?
 
0019d548: a6400eec sh r0,0x0eec(r18)
 
0019d54c: ae420ee0 sw r2,0x0ee0(r18)
 
0019d550: ae430ee4 sw r3,0x0ee4(r18)
 
0019d554: ae440ee8 sw r4,0x0ee8(r18)
 
0019d558: 0c0076ea jal 0x0001dba8
 
0019d55c: 34040001 ori r4,r0,0x0001
 
0019d560: 28420139 slti r2,r2,0x0139
 
0019d564: 1040016c beq r2,r0,0x0019db18
 
0019d568: 00000000 nop
 
0019d56c: 96420eec lhu r2,0x0eec(r18)
 
0019d570: 00000000 nop
 
0019d574: 24420001 addiu r2,r2,0x0001
 
0019d578: a6420eec sh r2,0x0eec(r18)
 
0019d57c: 96420eec lhu r2,0x0eec(r18)
 
0019d580: 00000000 nop
 
0019d584: 2c420100 sltiu r2,r2,0x0100
 
0019d588: 10400041 beq r2,r0,0x0019d690
 
0019d58c: 00000000 nop
 
0019d590: 0c0609fc jal 0x001827f0 in between turn routine
 
0019d594: 00002021 addu r4,r0,r0
 
0019d598: 00408821 addu r17,r2,r0
 
0019d59c: 3225ff00 andi r5,r17,0xff00
 
0019d5a0: 323100ff andi r17,r17,0x00ff
 
0019d5a4: 001110c0 sll r2,r17,0x03
 
0019d5a8: 00511023 subu r2,r2,r17
 
0019d5ac: 00021180 sll r2,r2,0x06
 
0019d5b0: 3c038019 lui r3,0x8019
 
0019d5b4: 246308cc addiu r3,r3,0x08cc
 
0019d5b8: 00438021 addu r16,r2,r3
 
0019d5bc: 3402ff00 ori r2,r0,0xff00
 
0019d5c0: 10a20033 beq r5,r2,0x0019d690
 
0019d5c4: 34020300 ori r2,r0,0x0300
 
0019d5c8: 14a20005 bne r5,r2,0x0019d5e0
 
0019d5cc: 34020200 ori r2,r0,0x0200
 
0019d5d0: 0c062f82 jal 0x0018be08 action hardcoding
 
0019d5d4: 02202021 addu r4,r17,r0
 
0019d5d8: 08067590 j 0x0019d640
 
0019d5dc: 00008821 addu r17,r0,r0
 
0019d5e0: 14a2000d bne r5,r2,0x0019d618
 
0019d5e4: 34020100 ori r2,r0,0x0100
 
0019d5e8: 0c06772f jal 0x0019dcbc
 
0019d5ec: 2604016e addiu r4,r16,0x016e
 
0019d5f0: 1040014f beq r2,r0,0x0019db30
 
0019d5f4: 340200ff ori r2,r0,0x00ff
 
0019d5f8: a202015d sb r2,0x015d(r16) store no ability CT
 
0019d5fc: 92020058 lbu r2,0x0058(r16) load statii
 
0019d600: 920301bb lbu r3,0x01bb(r16) load status infliction
 
0019d604: 304200f6 andi r2,r2,0x00f6 remove performing/charging
 
0019d608: 306300f6 andi r3,r3,0x00f6 remove performing/charging
 
0019d60c: a2020058 sb r2,0x0058(r16) store new status
 
0019d610: 0806758f j 0x0019d63c
 
0019d614: a20301bb sb r3,0x01bb(r16) store new status infliction
 
0019d618: 14a20008 bne r5,r2,0x0019d63c
 
0019d61c: 00002021 addu r4,r0,r0
 
0019d620: 0c067c57 jal 0x0019f15c
 
0019d624: 02202821 addu r5,r17,r0
 
0019d628: 10400003 beq r2,r0,0x0019d638
 
0019d62c: 02511821 addu r3,r18,r17
 
0019d630: 34020001 ori r2,r0,0x0001
 
0019d634: a0620e18 sb r2,0x0e18(r3)
 
0019d638: a2000186 sb r0,0x0186(r16) store turn over
 
0019d63c: 00008821 addu r17,r0,r0
 
0019d640: 340400ff ori r4,r0,0x00ff
 
0019d644: 3c038019 lui r3,0x8019
 
0019d648: 246308cc addiu r3,r3,0x08cc
 
0019d64c: 00608021 addu r16,r3,r0
 
0019d650: 92020001 lbu r2,0x0001(r16) load unit ID
 
0019d654: 00000000 nop
 
0019d658: 10440006 beq r2,r4,0x0019d674 branch if doesn't exist
 
0019d65c: 00000000 nop
 
0019d660: 92020058 lbu r2,0x0058(r16) load status
 
0019d664: 00000000 nop
 
0019d668: 30420009 andi r2,r2,0x0009
 
0019d66c: 14400006 bne r2,r0,0x0019d688 branch if charging/performing
 
0019d670: 34020015 ori r2,r0,0x0015
 
0019d674: 26310001 addiu r17,r17,0x0001
 
0019d678: 2a220015 slti r2,r17,0x0015
 
0019d67c: 1440fff3 bne r2,r0,0x0019d64c branch if counter < 0x15
 
0019d680: 260301c0 addiu r3,r16,0x01c0 next unit
 
0019d684: 34020015 ori r2,r0,0x0015
 
0019d688: 1622ffb3 bne r17,r2,0x0019d558 branch if coutner != 0x15
 
0019d68c: 00000000 nop
 
0019d690: 8e420ee0 lw r2,0x0ee0(r18)
 
0019d694: 8e430ee4 lw r3,0x0ee4(r18)
 
0019d698: 8e440ee8 lw r4,0x0ee8(r18)
 
0019d69c: 3c018019 lui r1,0x8019
 
0019d6a0: ac22f518 sw r2,-0x0ae8(r1)
 
0019d6a4: 3c018019 lui r1,0x8019
 
0019d6a8: ac23f51c sw r3,-0x0ae4(r1)
 
0019d6ac: 3c018019 lui r1,0x8019
 
0019d6b0: ac24f520 sw r4,-0x0ae0(r1)
 
0019d6b4: 0c0076ea jal 0x0001dba8
 
0019d6b8: 34040001 ori r4,r0,0x0001
 
0019d6bc: 284201b9 slti r2,r2,0x01b9
 
0019d6c0: 14400005 bne r2,r0,0x0019d6d8
 
0019d6c4: 3c030100 lui r3,0x0100
 
0019d6c8: 0c067858 jal 0x0019e160
 
0019d6cc: 34040001 ori r4,r0,0x0001
 
0019d6d0: 080676c9 j 0x0019db24
 
0019d6d4: 34020002 ori r2,r0,0x0002
 
0019d6d8: 8e420cb4 lw r2,0x0cb4(r18)
 
0019d6dc: 00000000 nop
 
0019d6e0: 00431024 and r2,r2,r3
 
0019d6e4: 10400048 beq r2,r0,0x0019d808
 
0019d6e8: 00008821 addu r17,r0,r0
 
0019d6ec: 00003021 addu r6,r0,r0
 
0019d6f0: 3405182c ori r5,r0,0x182c
 
0019d6f4: 02452021 addu r4,r18,r5 r4 = AI decision data
 
0019d6f8: 3c028019 lui r2,0x8019
 
0019d6fc: 244208cc addiu r2,r2,0x08cc
 
0019d700: 90830004 lbu r3,0x0004(r4) load AI settings?
 
0019d704: 00c28021 addu r16,r6,r2
 
0019d708: 306300f8 andi r3,r3,0x00f8 remove 01,02,04
 
0019d70c: a0830004 sb r3,0x0004(r4) store new flags
 
0019d710: 92020058 lbu r2,0x0058(r16) load status
 
0019d714: 00000000 nop
 
0019d718: 30420020 andi r2,r2,0x0020
 
0019d71c: 10400007 beq r2,r0,0x0019d73c branch if not dead
 
0019d720: 00000000 nop
 
0019d724: 9202005a lbu r2,0x005a(r16) load status
 
0019d728: 00000000 nop
 
0019d72c: 30420020 andi r2,r2,0x0020
 
0019d730: 14400002 bne r2,r0,0x0019d73c branch if reraise
 
0019d734: 34620001 ori r2,r3,0x0001 add 0x01 flag
 
0019d738: a0820004 sb r2,0x0004(r4) store new AI setting
 
0019d73c: 92020059 lbu r2,0x0059(r16)
 
0019d740: 00000000 nop
 
0019d744: 30420080 andi r2,r2,0x0080
 
0019d748: 10400005 beq r2,r0,0x0019d760 branch if not petrified
 
0019d74c: 00000000 nop
 
0019d750: 90820004 lbu r2,0x0004(r4) load AI settings
 
0019d754: 00000000 nop
 
0019d758: 34420002 ori r2,r2,0x0002 add 0x02
 
0019d75c: a0820004 sb r2,0x0004(r4) store new
 
0019d760: 92020058 lbu r2,0x0058(r16)
 
0019d764: 00000000 nop
 
0019d768: 30420004 andi r2,r2,0x0004
 
0019d76c: 10400005 beq r2,r0,0x0019d784 branch if not jumping
 
0019d770: 00000000 nop
 
0019d774: 90820004 lbu r2,0x0004(r4)
 
0019d778: 00000000 nop
 
0019d77c: 34420004 ori r2,r2,0x0004
 
0019d780: a0820004 sb r2,0x0004(r4) store new AI settings
 
0019d784: 90830004 lbu r3,0x0004(r4)
 
0019d788: 00000000 nop
 
0019d78c: 30620080 andi r2,r3,0x0080
 
0019d790: 14400016 bne r2,r0,0x0019d7ec branch if charging/performing
 
0019d794: 00000000 nop
 
0019d798: 92020059 lbu r2,0x0059(r16)
 
0019d79c: 00000000 nop
 
0019d7a0: 30420080 andi r2,r2,0x0080
 
0019d7a4: 14400011 bne r2,r0,0x0019d7ec branch if petrified
 
0019d7a8: 00000000 nop
 
0019d7ac: 92020058 lbu r2,0x0058(r16)
 
0019d7b0: 00000000 nop
 
0019d7b4: 30420020 andi r2,r2,0x0020
 
0019d7b8: 10400006 beq r2,r0,0x0019d7d4 branch if not dead
 
0019d7bc: 00000000 nop
 
0019d7c0: 9202005a lbu r2,0x005a(r16)
 
0019d7c4: 00000000 nop
 
0019d7c8: 30420020 andi r2,r2,0x0020
 
0019d7cc: 10400007 beq r2,r0,0x0019d7ec branch if not reraise
 
0019d7d0: 00000000 nop
 
0019d7d4: 9202005c lbu r2,0x005c(r16)
 
0019d7d8: 00000000 nop
 
0019d7dc: 30420001 andi r2,r2,0x0001
 
0019d7e0: 14400002 bne r2,r0,0x0019d7ec branch if death-sentenced
 
0019d7e4: 34620080 ori r2,r3,0x0080 add charging/performing flag?
 
0019d7e8: a0820004 sb r2,0x0004(r4) store new flags
 
0019d7ec: 24c601c0 addiu r6,r6,0x01c0
 
0019d7f0: 26310001 addiu r17,r17,0x0001
 
0019d7f4: 2a220015 slti r2,r17,0x0015
 
0019d7f8: 1440ffbe bne r2,r0,0x0019d6f4 perform for all units
 
0019d7fc: 24a50010 addiu r5,r5,0x0010
 
0019d800: 080676d5 j 0x0019db54
 
0019d804: 00000000 nop
 
0019d808: 0c06772b jal 0x0019dcac
 
0019d80c: 00000000 nop
 
0019d810: 3c0c8019 lui r12,0x8019
 
0019d814: 258c3de0 addiu r12,r12,0x3de0
 
0019d818: 3c0d801a lui r13,0x801a
 
0019d81c: 8dadf3c0 lw r13,-0x0c40(r13)
 
0019d820: 02404821 addu r9,r18,r0
 
0019d824: 02405021 addu r10,r18,r0
 
0019d828: 00005821 addu r11,r0,r0
 
0019d82c: 9145198c lbu r5,0x198c(r10) load units battle ID?
 
0019d830: 340200ff ori r2,r0,0x00ff
 
0019d834: 10a2009c beq r5,r2,0x0019daa8 branch if doesn't exist
 
0019d838: 00002821 addu r5,r0,r0
 
0019d83c: 3c028019 lui r2,0x8019
 
0019d840: 244208cc addiu r2,r2,0x08cc
 
0019d844: 01628021 addu r16,r11,r2 r16 = unit data
 
0019d848: 01204021 addu r8,r9,r0
 
0019d84c: 00003021 addu r6,r0,r0
 
0019d850: 96070028 lhu r7,0x0028(r16) load current HP
 
0019d854: 9602002a lhu r2,0x002a(r16) load max HP
 
0019d858: 000739c0 sll r7,r7,0x07 current HP*128
 
0019d85c: 00e2001a div r7,r2 current HP*128/maxHP
 
0019d860: 00003812 mflo r7
 
0019d864: 04a10002 bgez r5,0x0019d870
 
0019d868: 00a01021 addu r2,r5,r0
 
0019d86c: 24a20007 addiu r2,r5,0x0007
 
0019d870: 000210c3 sra r2,r2,0x03
 
0019d874: 02021821 addu r3,r16,r2
 
0019d878: 90630058 lbu r3,0x0058(r3) load status
 
0019d87c: 000210c0 sll r2,r2,0x03 status*8
 
0019d880: 00a21023 subu r2,r5,r2 status*8-(0 or 7)
 
0019d884: 00431804 sllv r3,r3,r2
 
0019d888: 30630080 andi r3,r3,0x0080
 
0019d88c: 1060003b beq r3,r0,0x0019d97c branch if ?? status not present
 
0019d890: 00000000 nop
 
0019d894: 92020059 lbu r2,0x0059(r16) load status
 
0019d898: 3c01801a lui r1,0x801a
 
0019d89c: 00260821 addu r1,r1,r6
 
0019d8a0: 8424f308 lh r4,-0x0cf8(r1) load ??
 
0019d8a4: 30420014 andi r2,r2,0x0014
 
0019d8a8: 14400006 bne r2,r0,0x0019d8c4
 
0019d8ac: 00000000 nop
 
0019d8b0: 9202005c lbu r2,0x005c(r16) load status
 
0019d8b4: 00000000 nop
 
0019d8b8: 30420020 andi r2,r2,0x0020
 
0019d8bc: 10400003 beq r2,r0,0x0019d8cc branch if not charmed
 
0019d8c0: 24a3fff6 addiu r3,r5,0xfff6
 
0019d8c4: 0481002d bgez r4,0x0019d97c
 
0019d8c8: 24a3fff6 addiu r3,r5,0xfff6
 
0019d8cc: 2c62001c sltiu r2,r3,0x001c
 
0019d8d0: 10400029 beq r2,r0,0x0019d978
 
0019d8d4: 00031080 sll r2,r3,0x02
 
0019d8d8: 004c1021 addu r2,r2,r12
 
0019d8dc: 8c420000 lw r2,0x0000(r2)
 
0019d8e0: 00000000 nop
 
0019d8e4: 00400008 jr r2
 
0019d8e8: 00000000 nop
 
0019d8ec: 91021839 lbu r2,0x1839(r8)
 
0019d8f0: 08067641 j 0x0019d904
 
0019d8f4: 00820018 mult r4,r2
 
0019d8f8: 91021838 lbu r2,0x1838(r8)
 
0019d8fc: 00000000 nop
 
0019d900: 00820018 mult r4,r2
 
0019d904: 00001012 mflo r2
 
0019d908: 0441001b bgez r2,0x0019d978
 
0019d90c: 00022083 sra r4,r2,0x02
 
0019d910: 24420003 addiu r2,r2,0x0003
 
0019d914: 0806765e j 0x0019d978
 
0019d918: 00022083 sra r4,r2,0x02
 
0019d91c: 9202005b lbu r2,0x005b(r16) load status
 
0019d920: 00000000 nop
 
0019d924: 30420006 andi r2,r2,0x0006
 
0019d928: 14400006 bne r2,r0,0x0019d944 branch if slow/stop
 
0019d92c: 000417c2 srl r2,r4,0x1f
 
0019d930: 9202005c lbu r2,0x005c(r16) load status
 
0019d934: 00000000 nop
 
0019d938: 3042001c andi r2,r2,0x001c
 
0019d93c: 1040000e beq r2,r0,0x0019d978 branch if not sleep/don't move/act
 
0019d940: 000417c2 srl r2,r4,0x1f
 
0019d944: 00821021 addu r2,r4,r2
 
0019d948: 0806765e j 0x0019d978
 
0019d94c: 00022043 sra r4,r2,0x01
 
0019d950: 92020059 lbu r2,0x0059(r16) load
 
0019d954: 00000000 nop
 
0019d958: 30420014 andi r2,r2,0x0014
 
0019d95c: 14400007 bne r2,r0,0x0019d97c branch if confuse/blood suck
 
0019d960: 00000000 nop
 
0019d964: 9202005c lbu r2,0x005c(r16)
 
0019d968: 00000000 nop
 
0019d96c: 30420020 andi r2,r2,0x0020
 
0019d970: 14400002 bne r2,r0,0x0019d97c branch if charm
 
0019d974: 00000000 nop
 
0019d978: 00e43821 addu r7,r7,r4
 
0019d97c: 24a50001 addiu r5,r5,0x0001
 
0019d980: 28a20028 slti r2,r5,0x0028
 
0019d984: 1440ffb7 bne r2,r0,0x0019d864 some status check loop
 
0019d988: 24c60002 addiu r6,r6,0x0002
 
0019d98c: 92020006 lbu r2,0x0006(r16) load gender
 
0019d990: 00000000 nop
 
0019d994: 30420020 andi r2,r2,0x0020
 
0019d998: 14400010 bne r2,r0,0x0019d9dc branch if monster
 
0019d99c: 00000000 nop
 
0019d9a0: 9142198c lbu r2,0x198c(r10) load unit battle ID?
 
0019d9a4: 00002821 addu r5,r0,r0
 
0019d9a8: 00021180 sll r2,r2,0x06
 
0019d9ac: 004d3021 addu r6,r2,r13 r6 = unit AI extended status data
 
0019d9b0: 02051021 addu r2,r16,r5 r2 = unit data
 
0019d9b4: 00c51821 addu r3,r6,r5 r3 = unit AI extended status data
 
0019d9b8: 9044001a lbu r4,0x001a(r2) load Head slot equipment
 
0019d9bc: 90620036 lbu r2,0x0036(r3) load helmet
 
0019d9c0: 00000000 nop
 
0019d9c4: 14820002 bne r4,r2,0x0019d9d0 branch if AI information incorrect?
 
0019d9c8: 24a50001 addiu r5,r5,0x0001
 
0019d9cc: 24e70033 addiu r7,r7,0x0033 r7 += 0x33 if information matches
 
0019d9d0: 28a20007 slti r2,r5,0x0007
 
0019d9d4: 1440fff7 bne r2,r0,0x0019d9b4
 
0019d9d8: 02051021 addu r2,r16,r5
 
0019d9dc: 9604002e lhu r4,0x002e(r16) load max MP
 
0019d9e0: 00000000 nop
 
0019d9e4: 10800014 beq r4,r0,0x0019da38 branch if unit has no MP
 
0019d9e8: 00000000 nop
 
0019d9ec: 9606002c lhu r6,0x002c(r16) load current MP
 
0019d9f0: 91231836 lbu r3,0x1836(r9)
 
0019d9f4: 00c01021 addu r2,r6,r0
 
0019d9f8: 00063180 sll r6,r6,0x06
 
0019d9fc: 0043102b sltu r2,r2,r3
 
0019da00: 00c4001a div r6,r4
 
0019da04: 00003012 mflo r6
 
0019da08: 10400002 beq r2,r0,0x0019da14
 
0019da0c: 00000000 nop
 
0019da10: 00063042 srl r6,r6,0x01
 
0019da14: 91221837 lbu r2,0x1837(r9)
 
0019da18: 00000000 nop
 
0019da1c: 00c20018 mult r6,r2
 
0019da20: 00001012 mflo r2
 
0019da24: 04410003 bgez r2,0x0019da34
 
0019da28: 00023083 sra r6,r2,0x02
 
0019da2c: 24420003 addiu r2,r2,0x0003
 
0019da30: 00023083 sra r6,r2,0x02
 
0019da34: 00e63821 addu r7,r7,r6
 
0019da38: 92020005 lbu r2,0x0005(r16) load ENTD flags
 
0019da3c: 00000000 nop
 
0019da40: 000210c2 srl r2,r2,0x03 flags / 3
 
0019da44: 30420006 andi r2,r2,0x0006 r2 = team #
 
0019da48: 3c018019 lui r1,0x8019
 
0019da4c: 00220821 addu r1,r1,r2
 
0019da50: 9426f5f4 lhu r6,-0x0a0c(r1) Load golem Amount
 
0019da54: 92430e17 lbu r3,0x0e17(r18) load golem amount? (byte)
 
0019da58: 00c02821 addu r5,r6,r0
 
0019da5c: 000631c0 sll r6,r6,0x07 golem amount*128
 
0019da60: 00c3001a div r6,r3 golem amount*128/golem amount
 
0019da64: 00001812 mflo r3
 
0019da68: 00521021 addu r2,r2,r18
 
0019da6c: 94420e3c lhu r2,0x0e3c(r2) load golem amount
 
0019da70: 00000000 nop
 
0019da74: 00a2282b sltu r5,r5,r2 set if golem amount <  golem amount?
 
0019da78: 10a00002 beq r5,r0,0x0019da84
 
0019da7c: 00e33821 addu r7,r7,r3
 
0019da80: 24e7ffff addiu r7,r7,0xffff
 
0019da84: 91221834 lbu r2,0x1834(r9)
 
0019da88: 00000000 nop
 
0019da8c: 10400002 beq r2,r0,0x0019da98
 
0019da90: 00000000 nop
 
0019da94: 00073823 subu r7,r0,r7
 
0019da98: 96420032 lhu r2,0x0032(r18)
 
0019da9c: 00000000 nop
 
0019daa0: 00471021 addu r2,r2,r7
 
0019daa4: a6420032 sh r2,0x0032(r18)
 
0019daa8: 25290010 addiu r9,r9,0x0010
 
0019daac: 254a0001 addiu r10,r10,0x0001
 
0019dab0: 26310001 addiu r17,r17,0x0001
 
0019dab4: 2a220015 slti r2,r17,0x0015
 
0019dab8: 1440ff5c bne r2,r0,0x0019d82c
 
0019dabc: 256b01c0 addiu r11,r11,0x01c0
 
0019dac0: 92420000 lbu r2,0x0000(r18)
 
0019dac4: 3c018006 lui r1,0x8006
 
0019dac8: 00220821 addu r1,r1,r2
 
0019dacc: 90235cb4 lbu r3,0x5cb4(r1) load action menu byte
 
0019dad0: 34020002 ori r2,r0,0x0002
 
0019dad4: 1462000b bne r3,r2,0x0019db04 branch if not weapon inventory
 
0019dad8: 3402017e ori r2,r0,0x017e
 
0019dadc: 86430002 lh r3,0x0002(r18) load ability ID
 
0019dae0: 00000000 nop
 
0019dae4: 10620007 beq r3,r2,0x0019db04 branch if ability = throw shuriken
 
0019dae8: 34020189 ori r2,r0,0x0189
 
0019daec: 10620005 beq r3,r2,0x0019db04 branch if ability = throw ball
 
0019daf0: 00000000 nop
 
0019daf4: 92420031 lbu r2,0x0031(r18) load base hit%
 
0019daf8: 00000000 nop
 
0019dafc: 00021042 srl r2,r2,0x01 base hit/2
 
0019db00: a2420031 sb r2,0x0031(r18) store new base hit%
 
0019db04: 0c0678de jal 0x0019e378 transfer AI data to unit data
 
0019db08: 00002021 addu r4,r0,r0
 
0019db0c: a24019b7 sb r0,0x19b7(r18)
 
0019db10: 080676d9 j 0x0019db64 jump to end, return r2 = 0x01
 
0019db14: 34020001 ori r2,r0,0x0001
 
0019db18: 0c067858 jal 0x0019e160 transfer unit data to AI data
 
0019db1c: 34040001 ori r4,r0,0x0001
 
0019db20: 34020001 ori r2,r0,0x0001
 
0019db24: a2420eee sb r2,0x0eee(r18)
 
0019db28: 080676d9 j 0x0019db64 jump to end, return r2=0xffff
 
0019db2c: 2402ffff addiu r2,r0,0xffff
 
0019db30: 8e420ee0 lw r2,0x0ee0(r18)
 
0019db34: 8e430ee4 lw r3,0x0ee4(r18)
 
0019db38: 8e440ee8 lw r4,0x0ee8(r18)
 
0019db3c: 3c018019 lui r1,0x8019
 
0019db40: ac22f518 sw r2,-0x0ae8(r1)
 
0019db44: 3c018019 lui r1,0x8019
 
0019db48: ac23f51c sw r3,-0x0ae4(r1)
 
0019db4c: 3c018019 lui r1,0x8019
 
0019db50: ac24f520 sw r4,-0x0ae0(r1)
 
0019db54: 0c0678de jal 0x0019e378 Transfer AI data to Unit Data
 
0019db58: 00002021 addu r4,r0,r0
 
0019db5c: a24019b7 sb r0,0x19b7(r18)
 
0019db60: 00001021 addu r2,r0,r0 return r2 = 0x00
 
0019db64: 8fbf001c lw r31,0x001c(r29)
 
0019db68: 8fb20018 lw r18,0x0018(r29)
 
0019db6c: 8fb10014 lw r17,0x0014(r29)
 
0019db70: 8fb00010 lw r16,0x0010(r29)
 
0019db74: 27bd0020 addiu r29,r29,0x0020
 
0019db78: 03e00008 jr r31
 
0019db7c: 00000000 nop
 
 
</font>
 
</font>

Revision as of 16:16, 10 November 2019

0019db80: 3c03801a lui r3,0x801a
0019db84: 8c63f3dc lw r3,-0x0c24(r3)
0019db88: 3c02801a lui r2,0x801a
0019db8c: 8c4201f4 lw r2,0x01f4(r2)
0019db90: 27bdffe8 addiu r29,r29,0xffe8
0019db94: afb00010 sw r16,0x0010(r29)
0019db98: 3c10801a lui r16,0x801a
0019db9c: 2610f3c4 addiu r16,r16,0xf3c4
0019dba0: 1062003d beq r3,r2,0x0019dc98
0019dba4: afbf0014 sw r31,0x0014(r29)
0019dba8: 0c067c96 jal 0x0019f258
0019dbac: 26040018 addiu r4,r16,0x0018
0019dbb0: 3c03801a lui r3,0x801a
0019dbb4: 90630083 lbu r3,0x0083(r3)
0019dbb8: 34020001 ori r2,r0,0x0001
0019dbbc: 1462001b bne r3,r2,0x0019dc2c
0019dbc0: 00000000 nop
0019dbc4: 3c03801a lui r3,0x801a
0019dbc8: 8c630bbc lw r3,0x0bbc(r3)
0019dbcc: 00000000 nop
0019dbd0: 9462002a lhu r2,0x002a(r3)
0019dbd4: 00000000 nop
0019dbd8: a4620028 sh r2,0x0028(r3)
0019dbdc: 3c03801a lui r3,0x801a
0019dbe0: 8c630bbc lw r3,0x0bbc(r3)
0019dbe4: 00000000 nop
0019dbe8: 9462002e lhu r2,0x002e(r3)
0019dbec: 00000000 nop
0019dbf0: a462002c sh r2,0x002c(r3)
0019dbf4: 3c03801a lui r3,0x801a
0019dbf8: 8c630bbc lw r3,0x0bbc(r3)
0019dbfc: 00000000 nop
0019dc00: 9062005a lbu r2,0x005a(r3)
0019dc04: 00000000 nop
0019dc08: 304200fe andi r2,r2,0x00fe
0019dc0c: a062005a sb r2,0x005a(r3)
0019dc10: 3c03801a lui r3,0x801a
0019dc14: 8c630bbc lw r3,0x0bbc(r3)
0019dc18: 00000000 nop
0019dc1c: 906201bd lbu r2,0x01bd(r3)
0019dc20: 00000000 nop
0019dc24: 304200fe andi r2,r2,0x00fe
0019dc28: a06201bd sb r2,0x01bd(r3)
0019dc2c: 3c02801a lui r2,0x801a
0019dc30: 90420083 lbu r2,0x0083(r2)
0019dc34: 00000000 nop
0019dc38: 10400014 beq r2,r0,0x0019dc8c
0019dc3c: 00000000 nop
0019dc40: 3c02801a lui r2,0x801a
0019dc44: 8c420bbc lw r2,0x0bbc(r2)
0019dc48: 00000000 nop
0019dc4c: 9042005a lbu r2,0x005a(r2)
0019dc50: 00000000 nop
0019dc54: 30420001 andi r2,r2,0x0001
0019dc58: 1440000c bne r2,r0,0x0019dc8c
0019dc5c: 34020011 ori r2,r0,0x0011
0019dc60: 3c03801a lui r3,0x801a
0019dc64: 90630d7a lbu r3,0x0d7a(r3)
0019dc68: 00000000 nop
0019dc6c: 10620007 beq r3,r2,0x0019dc8c
0019dc70: 00000000 nop
0019dc74: 3c02801a lui r2,0x801a
0019dc78: 9442f3f6 lhu r2,-0x0c0a(r2)
0019dc7c: 00000000 nop
0019dc80: 24420002 addiu r2,r2,0x0002
0019dc84: 3c01801a lui r1,0x801a
0019dc88: a422f3f6 sh r2,-0x0c0a(r1)
0019dc8c: 8e0317f8 lw r3,0x17f8(r16)
0019dc90: 34020001 ori r2,r0,0x0001
0019dc94: a0620187 sb r2,0x0187(r3)
0019dc98: 8fbf0014 lw r31,0x0014(r29)
0019dc9c: 8fb00010 lw r16,0x0010(r29)
0019dca0: 27bd0018 addiu r29,r29,0x0018
0019dca4: 03e00008 jr r31
0019dca8: 00000000 nop