Difference between revisions of "001b06d0 - 001b0814"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m
m
 
Line 7: Line 7:
 
  001b06dc: afb20050 sw r18,0x0050(r29)
 
  001b06dc: afb20050 sw r18,0x0050(r29)
 
  001b06e0: 309200ff andi r18,r4,0x00ff
 
  001b06e0: 309200ff andi r18,r4,0x00ff
  001b06e4: 02402021 addu r4,r18,r0
+
  001b06e4: 02402021 addu r4,r18,r0                 r4 = Attacker ID
 
  001b06e8: afbf0058 sw r31,0x0058(r29)
 
  001b06e8: afbf0058 sw r31,0x0058(r29)
 
  001b06ec: afb30054 sw r19,0x0054(r29)
 
  001b06ec: afb30054 sw r19,0x0054(r29)
Line 14: Line 14:
 
  001b06f8: 3c105555 lui r16,0x5555
 
  001b06f8: 3c105555 lui r16,0x5555
 
  001b06fc: 36105556 ori r16,r16,0x5556
 
  001b06fc: 36105556 ori r16,r16,0x5556
  001b0700: 00021040 sll r2,r2,0x01
+
  001b0700: 00021040 sll r2,r2,0x01                 For normal units, Unit Height = 0x24
  001b0704: 00500018 mult r2,r16
+
  001b0704: 00500018 mult r2,r16                   (Attacker Unit Height * 1) / 3
 
  001b0708: 323100ff andi r17,r17,0x00ff
 
  001b0708: 323100ff andi r17,r17,0x00ff
  001b070c: 02202021 addu r4,r17,r0
+
  001b070c: 02202021 addu r4,r17,r0                 r4 = Target ID
 
  001b0710: 000217c3 sra r2,r2,0x1f
 
  001b0710: 000217c3 sra r2,r2,0x1f
  001b0714: 00001810 mfhi r3
+
  001b0714: 00001810 mfhi r3                       For normal units, r3 = 0x0C
 
  001b0718: 0c023727 jal 0x0008dc9c                [[Find_Unit%27s_Misc_Data_Pointer_and_Load_Spritesheet_Value]]
 
  001b0718: 0c023727 jal 0x0008dc9c                [[Find_Unit%27s_Misc_Data_Pointer_and_Load_Spritesheet_Value]]
  001b071c: 00629823 subu r19,r3,r2
+
  001b071c: 00629823 subu r19,r3,r2                 r19 = Attacker Unit Height - (Attacker Unit Height / 3) (0x18 for normal units)
  001b0720: 00021040 sll r2,r2,0x01
+
  001b0720: 00021040 sll r2,r2,0x01                 r2 = Target Unit Height * 2
  001b0724: 00500018 mult r2,r16
+
  001b0724: 00500018 mult r2,r16                   (Target Unit Height * 2) / 3
 
  001b0728: 000217c3 sra r2,r2,0x1f
 
  001b0728: 000217c3 sra r2,r2,0x1f
 
  001b072c: 00001810 mfhi r3
 
  001b072c: 00001810 mfhi r3
  001b0730: 00628023 subu r16,r3,r2
+
  001b0730: 00628023 subu r16,r3,r2                 r16 = Target Unit Height - (Target Unit Height / 3)
 
  001b0734: 16000002 bne r16,r0,0x001b0740
 
  001b0734: 16000002 bne r16,r0,0x001b0740
 
  001b0738: 02402021 addu r4,r18,r0
 
  001b0738: 02402021 addu r4,r18,r0
 
  001b073c: 3410000c ori r16,r0,0x000c
 
  001b073c: 3410000c ori r16,r0,0x000c
 
  001b0740: 02202821 addu r5,r17,r0
 
  001b0740: 02202821 addu r5,r17,r0
  001b0744: 0c06bddc jal 0x001af770                [[001af770_-_001af8b0]]
+
  001b0744: 0c06bddc jal 0x001af770                [[001af770_-_001af8b0]] - List targeting data of all valid units
 
  001b0748: 27a60040 addiu r6,r29,0x0040
 
  001b0748: 27a60040 addiu r6,r29,0x0040
 
  001b074c: 02402021 addu r4,r18,r0
 
  001b074c: 02402021 addu r4,r18,r0
  001b0750: 0c02311a jal 0x0008c468                [[0008c468_-_0008c514]] - Set unit X mod Y mod and heigh
+
  001b0750: 0c02311a jal 0x0008c468                [[0008c468_-_0008c514]] - Set unit X mod Y mod and height
 
  001b0754: 27a50010 addiu r5,r29,0x0010
 
  001b0754: 27a50010 addiu r5,r29,0x0010
 
  001b0758: 02202021 addu r4,r17,r0
 
  001b0758: 02202021 addu r4,r17,r0
Line 40: Line 40:
 
  001b0760: 27a50018 addiu r5,r29,0x0018
 
  001b0760: 27a50018 addiu r5,r29,0x0018
 
  001b0764: 00531023 subu r2,r2,r19
 
  001b0764: 00531023 subu r2,r2,r19
  001b0768: 0c02311a jal 0x0008c468                [[0008c468_-_0008c514]] - Set unit X mod Y mod and heigh
+
  001b0768: 0c02311a jal 0x0008c468                [[0008c468_-_0008c514]] - Set unit X mod Y mod and height
 
  001b076c: a7a20012 sh r2,0x0012(r29)
 
  001b076c: a7a20012 sh r2,0x0012(r29)
 
  001b0770: 87a70018 lh r7,0x0018(r29)
 
  001b0770: 87a70018 lh r7,0x0018(r29)
Line 74: Line 74:
 
  001b07e8: 8fa70040 lw r7,0x0040(r29)
 
  001b07e8: 8fa70040 lw r7,0x0040(r29)
 
  001b07ec: 27a60044 addiu r6,r29,0x0044
 
  001b07ec: 27a60044 addiu r6,r29,0x0044
  001b07f0: 0c06c137 jal 0x001b04dc                          [[001b04dc_-_001b06cc]] - Trajectory related
+
  001b07f0: 0c06c137 jal 0x001b04dc                          [[001b04dc_-_001b06cc]] - Direct Trajectory calculator
 
  001b07f4: afa20044 sw r2,0x0044(r29)
 
  001b07f4: afa20044 sw r2,0x0044(r29)
 
  001b07f8: 8fbf0058 lw r31,0x0058(r29)
 
  001b07f8: 8fbf0058 lw r31,0x0058(r29)

Latest revision as of 08:41, 23 April 2024

Parameters : r4 = Attacker ID
             r5 = Target ID
001b06d0: 27bdffa0 addiu r29,r29,-0x0060
001b06d4: afb1004c sw r17,0x004c(r29)
001b06d8: 00a08821 addu r17,r5,r0
001b06dc: afb20050 sw r18,0x0050(r29)
001b06e0: 309200ff andi r18,r4,0x00ff
001b06e4: 02402021 addu r4,r18,r0                 r4 = Attacker ID
001b06e8: afbf0058 sw r31,0x0058(r29)
001b06ec: afb30054 sw r19,0x0054(r29)
001b06f0: 0c023727 jal 0x0008dc9c                 Find_Unit's_Misc_Data_Pointer_and_Load_Spritesheet_Value
001b06f4: afb00048 sw r16,0x0048(r29)
001b06f8: 3c105555 lui r16,0x5555
001b06fc: 36105556 ori r16,r16,0x5556
001b0700: 00021040 sll r2,r2,0x01                 For normal units, Unit Height = 0x24
001b0704: 00500018 mult r2,r16                    (Attacker Unit Height * 1) / 3
001b0708: 323100ff andi r17,r17,0x00ff
001b070c: 02202021 addu r4,r17,r0                 r4 = Target ID
001b0710: 000217c3 sra r2,r2,0x1f
001b0714: 00001810 mfhi r3                        For normal units, r3 = 0x0C
001b0718: 0c023727 jal 0x0008dc9c                 Find_Unit's_Misc_Data_Pointer_and_Load_Spritesheet_Value
001b071c: 00629823 subu r19,r3,r2                 r19 = Attacker Unit Height - (Attacker Unit Height / 3) (0x18 for normal units)
001b0720: 00021040 sll r2,r2,0x01                 r2 = Target Unit Height * 2
001b0724: 00500018 mult r2,r16                    (Target Unit Height * 2) / 3
001b0728: 000217c3 sra r2,r2,0x1f
001b072c: 00001810 mfhi r3
001b0730: 00628023 subu r16,r3,r2                 r16 = Target Unit Height - (Target Unit Height / 3)
001b0734: 16000002 bne r16,r0,0x001b0740
001b0738: 02402021 addu r4,r18,r0
001b073c: 3410000c ori r16,r0,0x000c
001b0740: 02202821 addu r5,r17,r0
001b0744: 0c06bddc jal 0x001af770                 001af770_-_001af8b0 - List targeting data of all valid units
001b0748: 27a60040 addiu r6,r29,0x0040
001b074c: 02402021 addu r4,r18,r0
001b0750: 0c02311a jal 0x0008c468                 0008c468_-_0008c514 - Set unit X mod Y mod and height
001b0754: 27a50010 addiu r5,r29,0x0010
001b0758: 02202021 addu r4,r17,r0
001b075c: 97a20012 lhu r2,0x0012(r29)
001b0760: 27a50018 addiu r5,r29,0x0018
001b0764: 00531023 subu r2,r2,r19
001b0768: 0c02311a jal 0x0008c468                 0008c468_-_0008c514 - Set unit X mod Y mod and height
001b076c: a7a20012 sh r2,0x0012(r29)
001b0770: 87a70018 lh r7,0x0018(r29)
001b0774: 87a20010 lh r2,0x0010(r29)
001b0778: 00000000 nop
001b077c: 00e23823 subu r7,r7,r2
001b0780: 00e70018 mult r7,r7
001b0784: 97a6001a lhu r6,0x001a(r29)
001b0788: 87a30012 lh r3,0x0012(r29)
001b078c: 00d03023 subu r6,r6,r16
001b0790: 00061400 sll r2,r6,0x10
001b0794: 00002012 mflo r4
001b0798: 00021403 sra r2,r2,0x10
001b079c: 00431023 subu r2,r2,r3
001b07a0: 00420018 mult r2,r2
001b07a4: 87a50014 lh r5,0x0014(r29)
001b07a8: 87a3001c lh r3,0x001c(r29)
001b07ac: 00004012 mflo r8
001b07b0: 00651823 subu r3,r3,r5
001b07b4: 00000000 nop
001b07b8: 00630018 mult r3,r3
001b07bc: a7a6001a sh r6,0x001a(r29)
001b07c0: afa70028 sw r7,0x0028(r29)
001b07c4: afa2002c sw r2,0x002c(r29)
001b07c8: afa30030 sw r3,0x0030(r29)
001b07cc: 00882021 addu r4,r4,r8
001b07d0: 00001012 mflo r2
001b07d4: 00822021 addu r4,r4,r2
001b07d8: 0c00709a jal 0x0001c268                           Get_Square_root_of_r4_dealing_with_4096
001b07dc: 00042300 sll r4,r4,0x0c
001b07e0: 27a40028 addiu r4,r29,0x0028
001b07e4: 27a50010 addiu r5,r29,0x0010
001b07e8: 8fa70040 lw r7,0x0040(r29)
001b07ec: 27a60044 addiu r6,r29,0x0044
001b07f0: 0c06c137 jal 0x001b04dc                           001b04dc_-_001b06cc - Direct Trajectory calculator
001b07f4: afa20044 sw r2,0x0044(r29)
001b07f8: 8fbf0058 lw r31,0x0058(r29)
001b07fc: 8fb30054 lw r19,0x0054(r29)
001b0800: 8fb20050 lw r18,0x0050(r29)
001b0804: 8fb1004c lw r17,0x004c(r29)
001b0808: 8fb00048 lw r16,0x0048(r29)
001b080c: 27bd0060 addiu r29,r29,0x0060
001b0810: 03e00008 jr r31
001b0814: 00000000 nop

Return locations

Battle.bin
0019d114 : AI_Target_Unit_for_Direct_vs_Arc_Attack_(0019cd9c)