Find Positive Priority Target within 3 Range (0019689c)
Jump to navigation
Jump to search
0019638c: 34020001 ori r2,r0,0x0001 00196390: 3c01801a lui r1,0x801a 00196394: a02201f1 sb r2,0x01f1(r1) 00196398: 3c02801a lui r2,0x801a 0019639c: 90420d7b lbu r2,0x0d7b(r2) 001963a0: 27bdffe0 addiu r29,r29,0xffe0 001963a4: afb10014 sw r17,0x0014(r29) 001963a8: 3c11801a lui r17,0x801a 001963ac: 8e3101f8 lw r17,0x01f8(r17) load decision data 001963b0: afb00010 sw r16,0x0010(r29) 001963b4: 3c10801a lui r16,0x801a 001963b8: 2610f3c4 addiu r16,r16,0xf3c4 001963bc: afbf001c sw r31,0x001c(r29) 001963c0: 10400008 beq r2,r0,0x001963e4 001963c4: afb20018 sw r18,0x0018(r29) 001963c8: 3c02801a lui r2,0x801a 001963cc: 90420035 lbu r2,0x0035(r2) 001963d0: 00000000 nop 001963d4: 1040001a beq r2,r0,0x00196440 001963d8: 00000000 nop 001963dc: 080659a0 j 0x00196680 001963e0: 00000000 nop 001963e4: 92220004 lbu r2,0x0004(r17) 001963e8: 00000000 nop 001963ec: 30420040 andi r2,r2,0x0040 001963f0: 10400013 beq r2,r0,0x00196440 branch if not focus on target 001963f4: 00000000 nop 001963f8: 92230005 lbu r3,0x0005(r17) load main target ID 001963fc: 3c02801a lui r2,0x801a 00196400: 904201f2 lbu r2,0x01f2(r2) load acting units ID 00196404: 00000000 nop 00196408: 10620009 beq r3,r2,0x00196430 branch if self 0019640c: 260403b4 addiu r4,r16,0x03b4 00196410: 00031100 sll r2,r3,0x04 00196414: 00501021 addu r2,r2,r16 00196418: 90421833 lbu r2,0x1833(r2) load target type 0019641c: 00000000 nop 00196420: 00021102 srl r2,r2,0x04 00196424: 30420001 andi r2,r2,0x0001 00196428: 10400005 beq r2,r0,0x00196440 branch if able to be targeted 0019642c: 00000000 nop 00196430: 0c066ade jal 0x0019ab78 word nulling 00196434: 34050240 ori r5,r0,0x0240 00196438: 0806594e j 0x00196538 0019643c: 00000000 nop 00196440: 0c06653e jal 0x001994f8 see if able to move to target 00196444: 02202021 addu r4,r17,r0 00196448: 2403ffff addiu r3,r0,0xffff 0019644c: 14430003 bne r2,r3,0x0019645c 00196450: 2402ffff addiu r2,r0,0xffff 00196454: 08065a20 j 0x00196880 00196458: a2000c71 sb r0,0x0c71(r16) 0019645c: 92220007 lbu r2,0x0007(r17) load type of target flags 00196460: 00000000 nop 00196464: 30420003 andi r2,r2,0x0003 00196468: 10400033 beq r2,r0,0x00196538 branch if not low hp/mp unit 0019646c: 00000000 nop 00196470: 8e0217f8 lw r2,0x17f8(r16) load acting units data 00196474: 00000000 nop 00196478: 9042005c lbu r2,0x005c(r2) load status 0019647c: 00000000 nop 00196480: 30420001 andi r2,r2,0x0001 00196484: 1440002c bne r2,r0,0x00196538 branch if death sentence 00196488: 00000000 nop 0019648c: 3c01801a lui r1,0x801a 00196490: ac20f370 sw r0,-0x0c90(r1)
00196494: 3c04801a lui r4,0x801a 00196498: 8c84f370 lw r4,-0x0c90(r4) 0019649c: 3c038019 lui r3,0x8019 001964a0: 246308cc addiu r3,r3,0x08cc 001964a4: 000410c0 sll r2,r4,0x03 001964a8: 00441023 subu r2,r2,r4 001964ac: 00021180 sll r2,r2,0x06 001964b0: 00432821 addu r5,r2,r3 001964b4: 90a30001 lbu r3,0x0001(r5) load unit iD 001964b8: 340200ff ori r2,r0,0x00ff 001964bc: 10620015 beq r3,r2,0x00196514 branch if = 0xff 001964c0: 00000000 nop 001964c4: 90a20058 lbu r2,0x0058(r5) 001964c8: 00000000 nop 001964cc: 30420040 andi r2,r2,0x0040 001964d0: 10400010 beq r2,r0,0x00196514 branch if not crystal 001964d4: 00000000 nop 001964d8: 0c067ca9 jal 0x0019f2a4 transfer unit coordinates to AI 001964dc: 26050c74 addiu r5,r16,0x0c74 001964e0: 92030c75 lbu r3,0x0c75(r16) Load map level 001964e4: 92040c74 lbu r4,0x0c74(r16) Load X coordinate 001964e8: 000310c0 sll r2,r3,0x03 *8 001964ec: 00431021 addu r2,r2,r3 *9 001964f0: 00021140 sll r2,r2,0x05 *120 001964f4: 00501021 addu r2,r2,r16 001964f8: 92030c76 lbu r3,0x0c76(r16) Load Y coordinate 001964fc: 244203b4 addiu r2,r2,0x03b4 00196500: 00031900 sll r3,r3,0x04 Y coordinate*16 00196504: 00621821 addu r3,r3,r2 00196508: 00641821 addu r3,r3,r4 +X coordinate 0019650c: 34020001 ori r2,r0,0x0001 00196510: a0620000 sb r2,0x0000(r3) Store 0x01 in panel data 00196514: 3c02801a lui r2,0x801a 00196518: 8c42f370 lw r2,-0x0c90(r2) 0019651c: 00000000 nop 00196520: 24420001 addiu r2,r2,0x0001 00196524: 3c01801a lui r1,0x801a 00196528: ac22f370 sw r2,-0x0c90(r1) 0019652c: 28420015 slti r2,r2,0x0015 00196530: 1440ffd8 bne r2,r0,0x00196494 Do for each unit 00196534: 00000000 nop if death sentence 00196538: 92020e31 lbu r2,0x0e31(r16) load map level 0019653c: 92040e30 lbu r4,0x0e30(r16) load x coordinate 00196540: 000218c0 sll r3,r2,0x03 00196544: 00621821 addu r3,r3,r2 00196548: 00031940 sll r3,r3,0x05 0019654c: 00701821 addu r3,r3,r16 00196550: 92020e32 lbu r2,0x0e32(r16) load Y coordinate 00196554: 246303b4 addiu r3,r3,0x03b4 00196558: 00021100 sll r2,r2,0x04 0019655c: 00431021 addu r2,r2,r3 00196560: 00441021 addu r2,r2,r4 00196564: 90420000 lbu r2,0x0000(r2) load panel value 00196568: 3c01801a lui r1,0x801a 0019656c: ac22f374 sw r2,-0x0c8c(r1) store panel value 00196570: 0c0658a8 jal 0x001962a0 00196574: 00000000 nop 00196578: 3c04801a lui r4,0x801a 0019657c: 8c84f374 lw r4,-0x0c8c(r4) load panel value 00196580: 3c01801a lui r1,0x801a 00196584: ac22f36c sw r2,-0x0c94(r1) 19f36c 00196588: 3c01801a lui r1,0x801a 0019658c: ac20f378 sw r0,-0x0c88(r1) 00196590: 0044102a slt r2,r2,r4 00196594: 10400006 beq r2,r0,0x001965b0 branch if ?? 00196598: 34120001 ori r18,r0,0x0001 0019659c: 92220006 lbu r2,0x0006(r17) 001965a0: 00000000 nop 001965a4: 30420008 andi r2,r2,0x0008 001965a8: 10400030 beq r2,r0,0x0019666c branch if not charging ability 001965ac: 00000000 nop 001965b0: 3c01801a lui r1,0x801a 001965b4: ac32f368 sw r18,-0x0c98(r1) 001965b8: 92220004 lbu r2,0x0004(r17) 001965bc: 00000000 nop 001965c0: 30420020 andi r2,r2,0x0020 001965c4: 10400024 beq r2,r0,0x00196658 branch if stay near X/Y location AI 001965c8: 00000000 nop 001965cc: 0c0674a5 jal 0x0019d294 001965d0: 02202021 addu r4,r17,r0 001965d4: 92030e2e lbu r3,0x0e2e(r16) load acting unit id 001965d8: 00402021 addu r4,r2,r0 001965dc: 3c01801a lui r1,0x801a 001965e0: ac24f370 sw r4,-0x0c90(r1) store unit ID 001965e4: 10830003 beq r4,r3,0x001965f4 branch if calculated ID is acting unit 001965e8: 34020015 ori r2,r0,0x0015 001965ec: 1482001a bne r4,r2,0x00196658 branch if not end of unit counter? 001965f0: 00000000 nop 001965f4: 92230001 lbu r3,0x0001(r17) load map level flag 001965f8: 92240000 lbu r4,0x0000(r17) load X coordinate 001965fc: 000310c0 sll r2,r3,0x03 00196600: 00431021 addu r2,r2,r3 00196604: 00021080 sll r2,r2,0x02 00196608: 92230002 lbu r3,0x0002(r17) load Y coordinate 0019660c: 00501021 addu r2,r2,r16 00196610: 00031840 sll r3,r3,0x01 00196614: 00431021 addu r2,r2,r3 00196618: 34038000 ori r3,r0,0x8000 0019661c: 94420a74 lhu r2,0x0a74(r2) 00196620: 00831807 srav r3,r3,r4 00196624: 00431024 and r2,r2,r3 00196628: 1040000b beq r2,r0,0x00196658 0019662c: 00000000 nop 00196630: 92020e2d lbu r2,0x0e2d(r16) 00196634: 8e230000 lw r3,0x0000(r17) 00196638: 00021080 sll r2,r2,0x02 0019663c: 00501021 addu r2,r2,r16 00196640: 0c0664e8 jal 0x001993a0 00196644: ac430cc4 sw r3,0x0cc4(r2) 00196648: 3c01801a lui r1,0x801a 0019664c: ac32f378 sw r18,-0x0c88(r1) 00196650: 080659a0 j 0x00196680 00196654: 00000000 nop
00196658: 92020e38 lbu r2,0x0e38(r16) 0019665c: 3c04801a lui r4,0x801a 00196660: 8c84f374 lw r4,-0x0c8c(r4) 00196664: 0806599e j 0x00196678 00196668: 00442021 addu r4,r2,r4
0019666c: 3c01801a lui r1,0x801a 00196670: ac20f368 sw r0,-0x0c98(r1) 00196674: 2484ffff addiu r4,r4,0xffff 00196678: 0c065ab7 jal 0x00196adc 0019667c: 00000000 nop 00196680: 0c066672 jal 0x001999c8 00196684: 00000000 nop 00196688: 2403ffff addiu r3,r0,0xffff 0019668c: 14430004 bne r2,r3,0x001966a0 00196690: 34020001 ori r2,r0,0x0001 00196694: a2020c71 sb r2,0x0c71(r16) 00196698: 08065a20 j 0x00196880 0019669c: 2402ffff addiu r2,r0,0xffff 001966a0: 3c02801a lui r2,0x801a 001966a4: 8c42f378 lw r2,-0x0c88(r2) 001966a8: 00000000 nop 001966ac: 14400029 bne r2,r0,0x00196754 001966b0: 00000000 nop 001966b4: 3c02801a lui r2,0x801a 001966b8: 8c42f368 lw r2,-0x0c98(r2) 001966bc: 00000000 nop 001966c0: 10400006 beq r2,r0,0x001966dc 001966c4: 3c047fff lui r4,0x7fff 001966c8: 3484ffff ori r4,r4,0xffff 001966cc: 0c065a4f jal 0x0019693c some map checks 001966d0: 00002821 addu r5,r0,r0 001966d4: 080659d5 j 0x00196754 001966d8: 00000000 nop 001966dc: 92020e39 lbu r2,0x0e39(r16) load acting units team 001966e0: 00000000 nop 001966e4: 10400017 beq r2,r0,0x00196744 branch if ? player team? 001966e8: 00000000 nop 001966ec: 0c0088c3 jal 0x0002230c Random 001966f0: 00000000 nop 001966f4: 3c039249 lui r3,0x9249 001966f8: 34632493 ori r3,r3,0x2493 001966fc: 00430018 mult r2,r3 00196700: 000227c3 sra r4,r2,0x1f 00196704: 00001810 mfhi r3 00196708: 00621821 addu r3,r3,r2 0019670c: 00031883 sra r3,r3,0x02 00196710: 00641823 subu r3,r3,r4 00196714: 000320c0 sll r4,r3,0x03 00196718: 00832023 subu r4,r4,r3 0019671c: 14440009 bne r2,r4,0x00196744 00196720: 00000000 nop 00196724: 3c02801a lui r2,0x801a 00196728: 8c42f36c lw r2,-0x0c94(r2) 0019672c: 00000000 nop 00196730: 00021fc2 srl r3,r2,0x1f 00196734: 00431021 addu r2,r2,r3 00196738: 00021043 sra r2,r2,0x01 0019673c: 3c01801a lui r1,0x801a 00196740: ac22f36c sw r2,-0x0c94(r1) 00196744: 3c04801a lui r4,0x801a 00196748: 8c84f36c lw r4,-0x0c94(r4) 0019674c: 0c065a42 jal 0x00196908 00196750: 00000000 nop 00196754: 92030e3b lbu r3,0x0e3b(r16) map max y 00196758: 34020002 ori r2,r0,0x0002 0019675c: a2020e2d sb r2,0x0e2d(r16) ?? 00196760: 3c01801a lui r1,0x801a 00196764: ac20f370 sw r0,-0x0c90(r1) 00196768: 10600015 beq r3,r0,0x001967c0 0019676c: 00000000 nop 00196770: 3c05801a lui r5,0x801a 00196774: 8ca5f370 lw r5,-0x0c90(r5) 00196778: 00000000 nop 0019677c: 00051040 sll r2,r5,0x01 00196780: 00501021 addu r2,r2,r16 00196784: 94430a74 lhu r3,0x0a74(r2) 00196788: 94460abc lhu r6,0x0abc(r2) 0019678c: 94440a98 lhu r4,0x0a98(r2) 00196790: 94470ae0 lhu r7,0x0ae0(r2) 00196794: 00661826 xor r3,r3,r6 00196798: 00872026 xor r4,r4,r7 0019679c: a4430b04 sh r3,0x0b04(r2) 001967a0: a4440b28 sh r4,0x0b28(r2) 001967a4: 92020e3b lbu r2,0x0e3b(r16) 001967a8: 24a50001 addiu r5,r5,0x0001 001967ac: 3c01801a lui r1,0x801a 001967b0: ac25f370 sw r5,-0x0c90(r1) 001967b4: 00a2282a slt r5,r5,r2 001967b8: 14a0ffed bne r5,r0,0x00196770 001967bc: 00000000 nop 001967c0: 8e020cc8 lw r2,0x0cc8(r16) 001967c4: 8e0317f8 lw r3,0x17f8(r16) 001967c8: a2000e2d sb r0,0x0e2d(r16) 001967cc: ae020ccc sw r2,0x0ccc(r16) 001967d0: 90620188 lbu r2,0x0188(r3) act flag? 001967d4: 00000000 nop 001967d8: 14400016 bne r2,r0,0x00196834 branch if able to act 001967dc: 00000000 nop 001967e0: 92220004 lbu r2,0x0004(r17) 001967e4: 00000000 nop 001967e8: 30420040 andi r2,r2,0x0040 001967ec: 10400011 beq r2,r0,0x00196834 branch if not focus on unit 001967f0: 00000000 nop 001967f4: 3c02801a lui r2,0x801a 001967f8: 8c42f368 lw r2,-0x0c98(r2) 001967fc: 00000000 nop 00196800: 1040000c beq r2,r0,0x00196834 00196804: 00000000 nop 00196808: 92220006 lbu r2,0x0006(r17) 0019680c: 00000000 nop 00196810: 30420008 andi r2,r2,0x0008 00196814: 14400007 bne r2,r0,0x00196834 branch if charging ability 00196818: 00000000 nop 0019681c: 3c04801a lui r4,0x801a 00196820: 8c84f374 lw r4,-0x0c8c(r4) 00196824: 0c065a27 jal 0x0019689c 00196828: 2484ffff addiu r4,r4,0xffff 0019682c: 08065a11 j 0x00196844 00196830: 00001021 addu r2,r0,r0
00196834: 8e020cc8 lw r2,0x0cc8(r16) 00196838: 00000000 nop 0019683c: ae020cc4 sw r2,0x0cc4(r16) 00196840: 00001021 addu r2,r0,r0 00196844: 92040e31 lbu r4,0x0e31(r16) 00196848: 92050e32 lbu r5,0x0e32(r16) 0019684c: 92060e30 lbu r6,0x0e30(r16) 00196850: 000418c0 sll r3,r4,0x03 00196854: 00641821 addu r3,r3,r4 00196858: 00031880 sll r3,r3,0x02 0019685c: 00701821 addu r3,r3,r16 00196860: 24630abc addiu r3,r3,0x0abc 00196864: 00052840 sll r5,r5,0x01 00196868: 00a32821 addu r5,r5,r3 0019686c: 34048000 ori r4,r0,0x8000 00196870: 94a30000 lhu r3,0x0000(r5) 00196874: 00c42007 srav r4,r4,r6 00196878: 00641825 or r3,r3,r4 0019687c: a4a30000 sh r3,0x0000(r5) 00196880: 8fbf001c lw r31,0x001c(r29) 00196884: 8fb20018 lw r18,0x0018(r29) 00196888: 8fb10014 lw r17,0x0014(r29) 0019688c: 8fb00010 lw r16,0x0010(r29) 00196890: 27bd0020 addiu r29,r29,0x0020 00196894: 03e00008 jr r31 00196898: 00000000 nop