Difference between revisions of "AI Target Priority Super Routine (001999c8)"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 001999c8: 3c02801a lui r2,0x801a 001999cc: 90420d7b lbu r2,0x0d7b(r2) 001999d0: 27bdffc8 addiu r29,r29,0xffc8 001999d4: afb3002c sw r19,0x002c(...")
 
Line 14: Line 14:
 
  001999f4: afb00020 sw r16,0x0020(r29)
 
  001999f4: afb00020 sw r16,0x0020(r29)
 
  001999f8: 3c10801a lui r16,0x801a
 
  001999f8: 3c10801a lui r16,0x801a
  001999fc: 9210f3dc lbu r16,-0x0c24(r16)
+
  001999fc: 9210f3dc lbu r16,-0x0c24(r16) load acting unit X
 
  00199a00: 3c11801a lui r17,0x801a
 
  00199a00: 3c11801a lui r17,0x801a
  00199a04: 9231f3de lbu r17,-0x0c22(r17)
+
  00199a04: 9231f3de lbu r17,-0x0c22(r17) load acting unit Y
 
  00199a08: 3c02801a lui r2,0x801a
 
  00199a08: 3c02801a lui r2,0x801a
  00199a0c: 904201f1 lbu r2,0x01f1(r2)
+
  00199a0c: 904201f1 lbu r2,0x01f1(r2) ??
 
  00199a10: 3c12801a lui r18,0x801a
 
  00199a10: 3c12801a lui r18,0x801a
  00199a14: 9252f3dd lbu r18,-0x0c23(r18)
+
  00199a14: 9252f3dd lbu r18,-0x0c23(r18) load map level
  00199a18: 000218c0 sll r3,r2,0x03
+
  00199a18: 000218c0 sll r3,r2,0x03 ??*8
  00199a1c: 00621821 addu r3,r3,r2
+
  00199a1c: 00621821 addu r3,r3,r2 ??*9
  00199a20: 000318c0 sll r3,r3,0x03
+
  00199a20: 000318c0 sll r3,r3,0x03 ??*72
 
  00199a24: 00731821 addu r3,r3,r19
 
  00199a24: 00731821 addu r3,r3,r19
 
  00199a28: 24630a74 addiu r3,r3,0x0a74
 
  00199a28: 24630a74 addiu r3,r3,0x0a74
  00199a2c: 001210c0 sll r2,r18,0x03
+
  00199a2c: 001210c0 sll r2,r18,0x03 maplevel*8
  00199a30: 00521021 addu r2,r2,r18
+
  00199a30: 00521021 addu r2,r2,r18 maplevel*9
  00199a34: 00021080 sll r2,r2,0x02
+
  00199a34: 00021080 sll r2,r2,0x02 maplevel*36
  00199a38: 00431021 addu r2,r2,r3
+
  00199a38: 00431021 addu r2,r2,r3 maplevel*36 + r3 address
  00199a3c: 00111840 sll r3,r17,0x01
+
  00199a3c: 00111840 sll r3,r17,0x01 Y coordinate*2
 
  00199a40: 00621821 addu r3,r3,r2
 
  00199a40: 00621821 addu r3,r3,r2
  00199a44: 94740000 lhu r20,0x0000(r3)
+
  00199a44: 94740000 lhu r20,0x0000(r3)
  00199a48: 080666bc j 0x00199af0
+
  00199a48: 080666bc j 0x00199af0
 
  00199a4c: 00000000 nop
 
  00199a4c: 00000000 nop
 
  00199a50: 080666dd j 0x00199b74
 
  00199a50: 080666dd j 0x00199b74
Line 73: Line 73:
 
  00199ae0: a2700018 sb r16,0x0018(r19)
 
  00199ae0: a2700018 sb r16,0x0018(r19)
 
  00199ae4: a271001a sb r17,0x001a(r19)
 
  00199ae4: a271001a sb r17,0x001a(r19)
  00199ae8: 0c066ec8 jal 0x0019bb20
+
  00199ae8: 0c066ec8 jal 0x0019bb20                 [[0019bb20 - 0019bbb8]]
 
  00199aec: a2720019 sb r18,0x0019(r19)
 
  00199aec: a2720019 sb r18,0x0019(r19)
  00199af0: 0c0674df jal 0x0019d37c
+
  00199af0: 0c0674df jal 0x0019d37c                 [[AI End of turn, in between turn, etc.]]
 
  00199af4: 00000000 nop
 
  00199af4: 00000000 nop
 
  00199af8: 2403ffff addiu r3,r0,0xffff
 
  00199af8: 2403ffff addiu r3,r0,0xffff
Line 105: Line 105:
 
  00199b60: 1440ffc2 bne r2,r0,0x00199a6c
 
  00199b60: 1440ffc2 bne r2,r0,0x00199a6c
 
  00199b64: 00000000 nop
 
  00199b64: 00000000 nop
  00199b68: 0c067c96 jal 0x0019f258
+
  00199b68: 0c067c96 jal 0x0019f258                   [[Store units coordinates]]
 
  00199b6c: 26640e30 addiu r4,r19,0x0e30
 
  00199b6c: 26640e30 addiu r4,r19,0x0e30
 
  00199b70: 00001021 addu r2,r0,r0
 
  00199b70: 00001021 addu r2,r0,r0

Revision as of 14:42, 11 June 2016

001999c8: 3c02801a lui r2,0x801a
001999cc: 90420d7b lbu r2,0x0d7b(r2)
001999d0: 27bdffc8 addiu r29,r29,0xffc8
001999d4: afb3002c sw r19,0x002c(r29)
001999d8: 3c13801a lui r19,0x801a
001999dc: 2673f3c4 addiu r19,r19,0xf3c4
001999e0: afbf0034 sw r31,0x0034(r29)
001999e4: afb40030 sw r20,0x0030(r29)
001999e8: afb20028 sw r18,0x0028(r29)
001999ec: afb10024 sw r17,0x0024(r29)
001999f0: 10400019 beq r2,r0,0x00199a58
001999f4: afb00020 sw r16,0x0020(r29)
001999f8: 3c10801a lui r16,0x801a
001999fc: 9210f3dc lbu r16,-0x0c24(r16)		load acting unit X
00199a00: 3c11801a lui r17,0x801a
00199a04: 9231f3de lbu r17,-0x0c22(r17)		load acting unit Y
00199a08: 3c02801a lui r2,0x801a
00199a0c: 904201f1 lbu r2,0x01f1(r2)		??
00199a10: 3c12801a lui r18,0x801a
00199a14: 9252f3dd lbu r18,-0x0c23(r18)		load map level
00199a18: 000218c0 sll r3,r2,0x03			??*8
00199a1c: 00621821 addu r3,r3,r2			??*9
00199a20: 000318c0 sll r3,r3,0x03			??*72
00199a24: 00731821 addu r3,r3,r19
00199a28: 24630a74 addiu r3,r3,0x0a74
00199a2c: 001210c0 sll r2,r18,0x03			maplevel*8
00199a30: 00521021 addu r2,r2,r18			maplevel*9
00199a34: 00021080 sll r2,r2,0x02			maplevel*36
00199a38: 00431021 addu r2,r2,r3			maplevel*36 + r3 address
00199a3c: 00111840 sll r3,r17,0x01			Y coordinate*2
00199a40: 00621821 addu r3,r3,r2
00199a44: 94740000 lhu r20,0x0000(r3)		
00199a48: 080666bc j 0x00199af0				
00199a4c: 00000000 nop
00199a50: 080666dd j 0x00199b74
00199a54: 2402ffff addiu r2,r0,0xffff
00199a58: 00009021 addu r18,r0,r0
00199a5c: 3c01801a lui r1,0x801a
00199a60: a020f3d8 sb r0,-0x0c28(r1)
00199a64: 3c01801a lui r1,0x801a
00199a68: a020f3e1 sb r0,-0x0c1f(r1)
00199a6c: 92620e3b lbu r2,0x0e3b(r19)
00199a70: 00000000 nop
00199a74: 18400038 blez r2,0x00199b58
00199a78: 00008821 addu r17,r0,r0
00199a7c: 92620e2d lbu r2,0x0e2d(r19)
00199a80: 00000000 nop
00199a84: 000218c0 sll r3,r2,0x03
00199a88: 00621821 addu r3,r3,r2
00199a8c: 000318c0 sll r3,r3,0x03
00199a90: 00731821 addu r3,r3,r19
00199a94: 24630a74 addiu r3,r3,0x0a74
00199a98: 001210c0 sll r2,r18,0x03
00199a9c: 00521021 addu r2,r2,r18
00199aa0: 00021080 sll r2,r2,0x02
00199aa4: 00431021 addu r2,r2,r3
00199aa8: 00111840 sll r3,r17,0x01
00199aac: 00621821 addu r3,r3,r2
00199ab0: 94740000 lhu r20,0x0000(r3)
00199ab4: 00000000 nop
00199ab8: 12800022 beq r20,r0,0x00199b44
00199abc: 00000000 nop
00199ac0: 92620e3a lbu r2,0x0e3a(r19)
00199ac4: 00000000 nop
00199ac8: 1840001e blez r2,0x00199b44
00199acc: 00008021 addu r16,r0,r0
00199ad0: 02141004 sllv r2,r20,r16
00199ad4: 30428000 andi r2,r2,0x8000
00199ad8: 10400015 beq r2,r0,0x00199b30
00199adc: 00000000 nop
00199ae0: a2700018 sb r16,0x0018(r19)
00199ae4: a271001a sb r17,0x001a(r19)
00199ae8: 0c066ec8 jal 0x0019bb20                  0019bb20 - 0019bbb8
00199aec: a2720019 sb r18,0x0019(r19)
00199af0: 0c0674df jal 0x0019d37c                  AI End of turn, in between turn, etc.
00199af4: 00000000 nop
00199af8: 2403ffff addiu r3,r0,0xffff
00199afc: 1043ffd4 beq r2,r3,0x00199a50
00199b00: 001210c0 sll r2,r18,0x03
00199b04: 00521021 addu r2,r2,r18
00199b08: 00021180 sll r2,r2,0x06
00199b0c: 00531021 addu r2,r2,r19
00199b10: 244205f4 addiu r2,r2,0x05f4
00199b14: 00111940 sll r3,r17,0x05
00199b18: 00621821 addu r3,r3,r2
00199b1c: 00102040 sll r4,r16,0x01
00199b20: 96620032 lhu r2,0x0032(r19)
00199b24: 00832021 addu r4,r4,r3
00199b28: 00021023 subu r2,r0,r2
00199b2c: a4820000 sh r2,0x0000(r4)
00199b30: 92620e3a lbu r2,0x0e3a(r19)
00199b34: 26100001 addiu r16,r16,0x0001
00199b38: 0202102a slt r2,r16,r2
00199b3c: 1440ffe5 bne r2,r0,0x00199ad4
00199b40: 02141004 sllv r2,r20,r16
00199b44: 92620e3b lbu r2,0x0e3b(r19)
00199b48: 26310001 addiu r17,r17,0x0001
00199b4c: 0222102a slt r2,r17,r2
00199b50: 1440ffca bne r2,r0,0x00199a7c
00199b54: 00000000 nop
00199b58: 26520001 addiu r18,r18,0x0001
00199b5c: 2a420002 slti r2,r18,0x0002
00199b60: 1440ffc2 bne r2,r0,0x00199a6c
00199b64: 00000000 nop
00199b68: 0c067c96 jal 0x0019f258                   Store units coordinates
00199b6c: 26640e30 addiu r4,r19,0x0e30
00199b70: 00001021 addu r2,r0,r0
00199b74: 8fbf0034 lw r31,0x0034(r29)
00199b78: 8fb40030 lw r20,0x0030(r29)
00199b7c: 8fb3002c lw r19,0x002c(r29)
00199b80: 8fb20028 lw r18,0x0028(r29)
00199b84: 8fb10024 lw r17,0x0024(r29)
00199b88: 8fb00020 lw r16,0x0020(r29)
00199b8c: 27bd0038 addiu r29,r29,0x0038
00199b90: 03e00008 jr r31
00199b94: 00000000 nop