001b06d0 - 001b0814
Jump to navigation
Jump to search
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)