Difference between revisions of "Store hardcoded AI stuff (blood suck, frog, berserk abilities)"
Jump to navigation
Jump to search
(Created page with "<font face='Courier New'> 00199d20: 27bdffd0 addiu r29,r29,0xffd0 00199d24: afb00010 sw r16,0x0010(r29) 00199d28: 00008021 addu r16,r0,r0 00199d2c: afb20018 sw r18,0x001...") |
m ({{f/std|Initialize counter}}) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | + | '''BATTLE.BIN : ''' : - Store hardcoded AI stuff (blood suck, frog, berserk abilities) | |
− | + | ------------------------------------------------------------------------------------------ | |
− | 00199d20: 27bdffd0 addiu r29,r29, | + | 00199d20: 27bdffd0 addiu r29,r29,-0x0030 | |
− | 00199d24: afb00010 sw r16,0x0010(r29) | + | 00199d24: afb00010 sw r16,0x0010(r29) | |
− | 00199d28: 00008021 addu r16,r0,r0 | + | 00199d28: 00008021 addu r16,r0,r0 | |
− | 00199d2c: afb20018 sw r18,0x0018(r29) | + | 00199d2c: afb20018 sw r18,0x0018(r29) | |
− | 00199d30: 00009021 addu r18,r0,r0 | + | 00199d30: 00009021 addu r18,r0,r0 | |
− | 00199d34: afb3001c sw r19,0x001c(r29) | + | 00199d34: afb3001c sw r19,0x001c(r29) | |
− | 00199d38: 00009821 addu r19,r0,r0 | + | 00199d38: 00009821 addu r19,r0,r0 | |
− | 00199d3c: afb50024 sw r21,0x0024(r29) | + | 00199d3c: afb50024 sw r21,0x0024(r29) | |
− | 00199d40: 341500ff ori r21,r0,0x00ff | + | 00199d40: 341500ff ori r21,r0,0x00ff | |
− | 00199d44: afb10014 sw r17,0x0014(r29) | + | 00199d44: afb10014 sw r17,0x0014(r29) | |
− | 00199d48: 00008821 addu r17,r0,r0 | + | 00199d48: 00008821 addu r17,r0,r0 | |
− | 00199d4c: afb40020 sw r20,0x0020(r29) | + | 00199d4c: afb40020 sw r20,0x0020(r29) | |
− | 00199d50: 3c14801a lui r20,0x801a | + | 00199d50: 3c14801a lui r20,0x801a | |
− | 00199d54: 2694f3c4 addiu r20,r20, | + | 00199d54: 2694f3c4 addiu r20,r20,-0x0c3c |{{f/adr|AI Data pointer}} {{f/std| 8019f3c4}} |
− | 00199d58: 3c028019 lui r2,0x8019 | + | 00199d58: 3c028019 lui r2,0x8019 | |
− | 00199d5c: 24423924 addiu r2,r2,0x3924 | + | 00199d5c: 24423924 addiu r2,r2,0x3924 |{{f/adr|AI Extended Status data pointer }} {{f/std| 80193924}} |
− | 00199d60: 3c01801a lui r1,0x801a | + | 00199d60: 3c01801a lui r1,0x801a | |
− | 00199d64: ac22f3c0 sw r2,-0x0c40(r1) | + | 00199d64: ac22f3c0 sw r2,-0x0c40(r1) |{{f/store|Store pointer at 8019f3c0}} |
− | 00199d68: 340200a7 ori r2,r0,0x00a7 | + | 00199d68: 340200a7 ori r2,r0,0x00a7 | |
− | 00199d6c: 3c01801a lui r1,0x801a | + | 00199d6c: 3c01801a lui r1,0x801a | |
− | 00199d70: a0220b36 sb r2,0x0b36(r1) | + | 00199d70: a0220b36 sb r2,0x0b36(r1) |{{f/store|store bloodsuck skillset}} {{f/std|801a0b36}} |
− | 00199d74: 340200c8 ori r2,r0,0x00c8 | + | 00199d74: 340200c8 ori r2,r0,0x00c8 | |
− | 00199d78: 3c04800e lui r4,0x800e | + | 00199d78: 3c04800e lui r4,0x800e | |
− | 00199d7c: 90844e9c lbu r4,0x4e9c(r4) | + | 00199d7c: 90844e9c lbu r4,0x4e9c(r4) |{{f/load|Map max x}} |
− | 00199d80: 3c05800e lui r5,0x800e | + | 00199d80: 3c05800e lui r5,0x800e | |
− | 00199d84: 90a54ea0 lbu r5,0x4ea0(r5) | + | 00199d84: 90a54ea0 lbu r5,0x4ea0(r5) |{{f/load|Map max Y}} |
− | 00199d88: 34030084 ori r3,r0,0x0084 | + | 00199d88: 34030084 ori r3,r0,0x0084 | |
− | 00199d8c: 3c01801a lui r1,0x801a | + | 00199d8c: 3c01801a lui r1,0x801a | |
− | 00199d90: a4220b34 sh r2,0x0b34(r1) | + | 00199d90: a4220b34 sh r2,0x0b34(r1) |{{f/store|Store Blood Suck Ability ID (0x00c8)}} {{f/std|801a0b34}} |
− | 00199d94: 340200a9 ori r2,r0,0x00a9 | + | 00199d94: 340200a9 ori r2,r0,0x00a9 | |
− | 00199d98: 3c01801a lui r1,0x801a | + | 00199d98: 3c01801a lui r1,0x801a | |
− | 00199d9c: a0220b3a sb r2,0x0b3a(r1) | + | 00199d9c: a0220b3a sb r2,0x0b3a(r1) |{{f/store|Store Empty skillset (0xA9)}} {{f/std| 801a0b3a}} {{f/std|for Frog ? }} |
− | 00199da0: 3402016f ori r2,r0,0x016f | + | 00199da0: 3402016f ori r2,r0,0x016f | |
− | 00199da4: afbf0028 sw r31,0x0028(r29) | + | 00199da4: afbf0028 sw r31,0x0028(r29) | |
− | 00199da8: 3c01801a lui r1,0x801a | + | 00199da8: 3c01801a lui r1,0x801a | |
− | 00199dac: ac34f3ac sw r20,-0x0c54(r1) | + | 00199dac: ac34f3ac sw r20,-0x0c54(r1) |{{f/store|Store AI data pointer}} |
− | 00199db0: 3c01801a lui r1,0x801a | + | 00199db0: 3c01801a lui r1,0x801a | |
− | 00199db4: a0200d7b sb r0,0x0d7b(r1) | + | 00199db4: a0200d7b sb r0,0x0d7b(r1) |{{f/store|Reset 801a0d7b - AI 0x19b7 (Decision state)}} |
− | 00199db8: 3c01801a lui r1,0x801a | + | 00199db8: 3c01801a lui r1,0x801a | |
− | 00199dbc: a0200bdc sb r0,0x0bdc(r1) | + | 00199dbc: a0200bdc sb r0,0x0bdc(r1) |{{f/store|Reset 801a0dbc - AI 0x1818 }} |
− | 00199dc0: 3c01801a lui r1,0x801a | + | 00199dc0: 3c01801a lui r1,0x801a | |
− | 00199dc4: a0200bc7 sb r0,0x0bc7(r1) | + | 00199dc4: a0200bc7 sb r0,0x0bc7(r1) |{{f/store|Reset 801a0bc7 - AI 0x1803}} |
− | 00199dc8: 3c01801a lui r1,0x801a | + | 00199dc8: 3c01801a lui r1,0x801a | |
− | 00199dcc: a0230b37 sb r3,0x0b37(r1) | + | 00199dcc: a0230b37 sb r3,0x0b37(r1) |{{f/store|Store bloodsuck usage type (0x84)}} |
− | 00199dd0: 3c01801a lui r1,0x801a | + | 00199dd0: 3c01801a lui r1,0x801a | |
− | 00199dd4: a4220b38 sh r2,0x0b38(r1) | + | 00199dd4: a4220b38 sh r2,0x0b38(r1) |{{f/store|Store frog ability ID (0x16f)}} |
− | 00199dd8: 3c01801a lui r1,0x801a | + | 00199dd8: 3c01801a lui r1,0x801a | |
− | 00199ddc: a0230b3b sb r3,0x0b3b(r1) | + | 00199ddc: a0230b3b sb r3,0x0b3b(r1) |{{f/store|Store Frog usage type (0x84)}} |
− | 00199de0: 3c01801a lui r1,0x801a | + | 00199de0: 3c01801a lui r1,0x801a | |
− | 00199de4: a02001db sb r0,0x01db(r1) | + | 00199de4: a02001db sb r0,0x01db(r1) |{{f/store|Reset 801a01db - AI 0x0e17}} |
− | 00199de8: 3c01801a lui r1,0x801a | + | 00199de8: 3c01801a lui r1,0x801a | |
− | 00199dec: a02401fe sb r4,0x01fe(r1) | + | 00199dec: a02401fe sb r4,0x01fe(r1) |{{f/store|Store map max x}} |
− | 00199df0: 3c01801a lui r1,0x801a | + | 00199df0: 3c01801a lui r1,0x801a | |
− | 00199df4: a02501ff sb r5,0x01ff(r1) | + | 00199df4: a02501ff sb r5,0x01ff(r1) |{{f/store|Store map max y}} |
− | 00199df8: 02901821 addu r3,r20,r16 | + | {{f/bloop|LOOP - Do all units}} |
− | 00199dfc: a075198c sb r21,0x198c(r3) | + | 00199df8: 02901821 addu r3,r20,r16 |{{f/adr|Dynamic AI pointer - 1 byte per Unit iteration}} |
− | 00199e00: 3c018019 lui r1,0x8019 | + | 00199dfc: a075198c sb r21,0x198c(r3) |{{f/store|Store 0xff unit battle id}} |
− | 00199e04: 00310821 addu r1,r1,r17 | + | 00199e00: 3c018019 lui r1,0x8019 | |
− | 00199e08: 902208cd lbu r2,0x08cd(r1) | + | 00199e04: 00310821 addu r1,r1,r17 |{{f/adr|Part of Dynamic pointer to Unit battle data - +0x1c0 bytes per unit iteration}} |
− | 00199e0c: 00000000 nop | + | 00199e08: 902208cd lbu r2,0x08cd(r1) |{{f/load|This Unit battle id}} |
− | 00199e10: 10550008 beq r2,r21,0x00199e34 | + | 00199e0c: 00000000 nop | |
− | 00199e14: 02002021 addu r4,r16,r0 | + | 00199e10: 10550008 beq r2,r21,0x00199e34 {{f/Cond|If Unit exists (not 0xff)}} |
− | 00199e18: 0c0667b2 jal 0x00199ec8 | + | 00199e14: 02002021 addu r4,r16,r0 |{{f/std|Send Unit ID}} |
− | 00199e1c: a072198c sb r18,0x198c(r3) | + | 00199e18: 0c0667b2 jal 0x00199ec8 |{{f/jal|Usable_Ability_Setting/ENTD_AI_Calculations|Usable_Ability_Setting/ENTD_AI_Calculations}} |
− | 00199e20: 3c018019 lui r1,0x8019 | + | 00199e1c: a072198c sb r18,0x198c(r3) |{{f/store|store Unit ID}} |
− | 00199e24: 00310821 addu r1,r1,r17 | + | 00199e20: 3c018019 lui r1,0x8019 | |
− | 00199e28: 942208f6 lhu r2,0x08f6(r1) | + | 00199e24: 00310821 addu r1,r1,r17 |{{f/adr|Part of Dynamic pointer to Unit battle data - +0x1c0 bytes per unit iteration}} |
− | 00199e2c: 26520001 addiu r18,r18,0x0001 | + | 00199e28: 942208f6 lhu r2,0x08f6(r1) |{{f/load|Unit max hp (0x2A)}} |
− | 00199e30: 02629821 addu r19,r19,r2 | + | 00199e2c: 26520001 addiu r18,r18,0x0001 |{{f/std|Existing Unit counter +1}} |
− | 00199e34: 26100001 addiu r16,r16,0x0001 | + | 00199e30: 02629821 addu r19,r19,r2 |{{f/std|add max hp (of all units ??)}} |
− | 00199e38: 2a020015 slti r2,r16,0x0015 | + | 00199e34: 26100001 addiu r16,r16,0x0001 |{{f/std|Loop Counter + 1}} |
− | 00199e3c: 1440ffee bne r2,r0,0x00199df8 | + | 00199e38: 2a020015 slti r2,r16,0x0015 | |
− | 00199e40: 263101c0 addiu r17,r17,0x01c0 | + | 00199e3c: 1440ffee bne r2,r0,0x00199df8 {{f/Cond|Loop 0x15 Times}} |
− | 00199e44: 1240000c beq r18,r0,0x00199e78 | + | 00199e40: 263101c0 addiu r17,r17,0x01c0 |{{f/std|Offset of Unit battle data}} |
− | 00199e48: 340300ff ori r3,r0,0x00ff | + | 00199e44: 1240000c beq r18,r0,0x00199e78 {{f/Cond|If No Units found : Avoid average HP math}} |
− | 00199e4c: 0272001a div r19,r18 | + | 00199e48: 340300ff ori r3,r0,0x00ff | |
− | 00199e50: 00001812 mflo r3 | + | 00199e4c: 0272001a div r19,r18 |{{f/std|All max hp / nb of units}} |
− | 00199e54: 00000000 nop | + | 00199e50: 00001812 mflo r3 |{{f/std|<nowiki>r3 = average hp of units</nowiki>}} |
− | 00199e58: 28620100 slti r2,r3,0x0100 | + | 00199e54: 00000000 nop | |
− | 00199e5c: 14400004 bne r2,r0,0x00199e70 | + | 00199e58: 28620100 slti r2,r3,0x0100 | |
− | 00199e60: 00000000 nop | + | 00199e5c: 14400004 bne r2,r0,0x00199e70 {{f/Cond|If Average HP > 256}} |
− | 00199e64: 340200ff ori r2,r0,0x00ff | + | 00199e60: 00000000 nop | |
− | 00199e68: 0806679d j 0x00199e74 | + | 00199e64: 340200ff ori r2,r0,0x00ff |{{f/std|cap at 256}} |
− | 00199e6c: a2820e17 sb r2,0x0e17(r20) | + | 00199e68: 0806679d j 0x00199e74 | |
− | 00199e70: a2830e17 sb r3,0x0e17(r20) | + | 00199e6c: a2820e17 sb r2,0x0e17(r20) |{{f/store|store average max hp of team members}} |
− | 00199e74: 340300ff ori r3,r0,0x00ff | + | '''Else : Average HP < 256''' |
− | 00199e78: 34100003 ori r16,r0,0x0003 | + | 00199e70: a2830e17 sb r3,0x0e17(r20) |{{f/store|store average max hp of team members}} |
− | 00199e7c: 2682000c addiu r2,r20,0x000c | + | 00199e74: 340300ff ori r3,r0,0x00ff | |
− | 00199e80: a043181c sb r3,0x181c(r2) | + | 00199e78: 34100003 ori r16,r0,0x0003 |{{f/std|Initialize counter}} |
− | 00199e84: 2610ffff addiu r16,r16,0xffff | + | 00199e7c: 2682000c addiu r2,r20,0x000c |{{f/adr|Dynamic Pointer to AI + 0x0c}} |
− | 00199e88: 0601fffd bgez r16,0x00199e80 | + | {{f/bloop|LOOP - 4 times}} |
− | 00199e8c: 2442fffc addiu r2,r2, | + | 00199e80: a043181c sb r3,0x181c(r2) |{{f/store|Store 0xff at 0x181c Table (3 entries)}} |
− | 00199e90: 3402017f ori r2,r0,0x017f | + | 00199e84: 2610ffff addiu r16,r16,0xffff |{{f/std|Counter -1}} |
− | 00199e94: a6820e14 sh r2,0x0e14(r20) | + | 00199e88: 0601fffd bgez r16,0x00199e80 {{f/eloop|<nowiki>LOOP while counter is >=0</nowiki>}} |
− | 00199e98: 34020001 ori r2,r0,0x0001 | + | 00199e8c: 2442fffc addiu r2,r2,-0x0004 |{{f/std|Dynamic offset - 0x04}} |
− | 00199e9c: a2820e16 sb r2,0x0e16(r20) | + | 00199e90: 3402017f ori r2,r0,0x017f | |
+ | 00199e94: a6820e14 sh r2,0x0e14(r20) |{{f/store|Store 0x017f at AI 0x0e14}} {{f/std|Initialize acting Unit choosen Throw Ability ID}} | ||
+ | 00199e98: 34020001 ori r2,r0,0x0001 | | ||
+ | 00199e9c: a2820e16 sb r2,0x0e16(r20) |{{f/store|Store 0x01 at AI 0x0e16}} {{f/std|Initialize ID of best weapon to throw}} | ||
00199ea0: 8fbf0028 lw r31,0x0028(r29) | 00199ea0: 8fbf0028 lw r31,0x0028(r29) | ||
00199ea4: 8fb50024 lw r21,0x0024(r29) | 00199ea4: 8fb50024 lw r21,0x0024(r29) | ||
Line 107: | Line 110: | ||
00199ec0: 03e00008 jr r31 | 00199ec0: 03e00008 jr r31 | ||
00199ec4: 00000000 nop | 00199ec4: 00000000 nop | ||
− | + | ===Return locations=== | |
+ | '''BATTLE.BIN''' | ||
+ | 00078674: [[[[000785ac_-_000787d8]]]] | ||
+ | 0008ec50: [[[[0008ea6c_-_0008ec6c]]]] | ||
+ | 0008ef04: [[[[0008ec70_-_0008ef20]]]] |
Latest revision as of 21:18, 24 March 2024
BATTLE.BIN : : - Store hardcoded AI stuff (blood suck, frog, berserk abilities) ------------------------------------------------------------------------------------------ 00199d20: 27bdffd0 addiu r29,r29,-0x0030 | 00199d24: afb00010 sw r16,0x0010(r29) | 00199d28: 00008021 addu r16,r0,r0 | 00199d2c: afb20018 sw r18,0x0018(r29) | 00199d30: 00009021 addu r18,r0,r0 | 00199d34: afb3001c sw r19,0x001c(r29) | 00199d38: 00009821 addu r19,r0,r0 | 00199d3c: afb50024 sw r21,0x0024(r29) | 00199d40: 341500ff ori r21,r0,0x00ff | 00199d44: afb10014 sw r17,0x0014(r29) | 00199d48: 00008821 addu r17,r0,r0 | 00199d4c: afb40020 sw r20,0x0020(r29) | 00199d50: 3c14801a lui r20,0x801a | 00199d54: 2694f3c4 addiu r20,r20,-0x0c3c |AI Data pointer 8019f3c4 00199d58: 3c028019 lui r2,0x8019 | 00199d5c: 24423924 addiu r2,r2,0x3924 |AI Extended Status data pointer 80193924 00199d60: 3c01801a lui r1,0x801a | 00199d64: ac22f3c0 sw r2,-0x0c40(r1) |Store pointer at 8019f3c0 00199d68: 340200a7 ori r2,r0,0x00a7 | 00199d6c: 3c01801a lui r1,0x801a | 00199d70: a0220b36 sb r2,0x0b36(r1) |store bloodsuck skillset 801a0b36 00199d74: 340200c8 ori r2,r0,0x00c8 | 00199d78: 3c04800e lui r4,0x800e | 00199d7c: 90844e9c lbu r4,0x4e9c(r4) |Map max x 00199d80: 3c05800e lui r5,0x800e | 00199d84: 90a54ea0 lbu r5,0x4ea0(r5) |Map max Y 00199d88: 34030084 ori r3,r0,0x0084 | 00199d8c: 3c01801a lui r1,0x801a | 00199d90: a4220b34 sh r2,0x0b34(r1) |Store Blood Suck Ability ID (0x00c8) 801a0b34 00199d94: 340200a9 ori r2,r0,0x00a9 | 00199d98: 3c01801a lui r1,0x801a | 00199d9c: a0220b3a sb r2,0x0b3a(r1) |Store Empty skillset (0xA9) 801a0b3a for Frog ? 00199da0: 3402016f ori r2,r0,0x016f | 00199da4: afbf0028 sw r31,0x0028(r29) | 00199da8: 3c01801a lui r1,0x801a | 00199dac: ac34f3ac sw r20,-0x0c54(r1) |Store AI data pointer 00199db0: 3c01801a lui r1,0x801a | 00199db4: a0200d7b sb r0,0x0d7b(r1) |Reset 801a0d7b - AI 0x19b7 (Decision state) 00199db8: 3c01801a lui r1,0x801a | 00199dbc: a0200bdc sb r0,0x0bdc(r1) |Reset 801a0dbc - AI 0x1818 00199dc0: 3c01801a lui r1,0x801a | 00199dc4: a0200bc7 sb r0,0x0bc7(r1) |Reset 801a0bc7 - AI 0x1803 00199dc8: 3c01801a lui r1,0x801a | 00199dcc: a0230b37 sb r3,0x0b37(r1) |Store bloodsuck usage type (0x84) 00199dd0: 3c01801a lui r1,0x801a | 00199dd4: a4220b38 sh r2,0x0b38(r1) |Store frog ability ID (0x16f) 00199dd8: 3c01801a lui r1,0x801a | 00199ddc: a0230b3b sb r3,0x0b3b(r1) |Store Frog usage type (0x84) 00199de0: 3c01801a lui r1,0x801a | 00199de4: a02001db sb r0,0x01db(r1) |Reset 801a01db - AI 0x0e17 00199de8: 3c01801a lui r1,0x801a | 00199dec: a02401fe sb r4,0x01fe(r1) |Store map max x 00199df0: 3c01801a lui r1,0x801a | 00199df4: a02501ff sb r5,0x01ff(r1) |Store map max y @LOOP - Do all units 00199df8: 02901821 addu r3,r20,r16 |Dynamic AI pointer - 1 byte per Unit iteration 00199dfc: a075198c sb r21,0x198c(r3) |Store 0xff unit battle id 00199e00: 3c018019 lui r1,0x8019 | 00199e04: 00310821 addu r1,r1,r17 |Part of Dynamic pointer to Unit battle data - +0x1c0 bytes per unit iteration 00199e08: 902208cd lbu r2,0x08cd(r1) |This Unit battle id 00199e0c: 00000000 nop | 00199e10: 10550008 beq r2,r21,0x00199e34 #If Unit exists (not 0xff) 00199e14: 02002021 addu r4,r16,r0 |Send Unit ID 00199e18: 0c0667b2 jal 0x00199ec8 |-->Usable_Ability_Setting/ENTD_AI_Calculations 00199e1c: a072198c sb r18,0x198c(r3) |store Unit ID 00199e20: 3c018019 lui r1,0x8019 | 00199e24: 00310821 addu r1,r1,r17 |Part of Dynamic pointer to Unit battle data - +0x1c0 bytes per unit iteration 00199e28: 942208f6 lhu r2,0x08f6(r1) |Unit max hp (0x2A) 00199e2c: 26520001 addiu r18,r18,0x0001 |Existing Unit counter +1 00199e30: 02629821 addu r19,r19,r2 |add max hp (of all units ??) 00199e34: 26100001 addiu r16,r16,0x0001 |Loop Counter + 1 00199e38: 2a020015 slti r2,r16,0x0015 | 00199e3c: 1440ffee bne r2,r0,0x00199df8 #Loop 0x15 Times 00199e40: 263101c0 addiu r17,r17,0x01c0 |Offset of Unit battle data 00199e44: 1240000c beq r18,r0,0x00199e78 #If No Units found : Avoid average HP math 00199e48: 340300ff ori r3,r0,0x00ff | 00199e4c: 0272001a div r19,r18 |All max hp / nb of units 00199e50: 00001812 mflo r3 |r3 = average hp of units 00199e54: 00000000 nop | 00199e58: 28620100 slti r2,r3,0x0100 | 00199e5c: 14400004 bne r2,r0,0x00199e70 #If Average HP > 256 00199e60: 00000000 nop | 00199e64: 340200ff ori r2,r0,0x00ff |cap at 256 00199e68: 0806679d j 0x00199e74 | 00199e6c: a2820e17 sb r2,0x0e17(r20) |store average max hp of team members Else : Average HP < 256 00199e70: a2830e17 sb r3,0x0e17(r20) |store average max hp of team members 00199e74: 340300ff ori r3,r0,0x00ff | 00199e78: 34100003 ori r16,r0,0x0003 |Initialize counter 00199e7c: 2682000c addiu r2,r20,0x000c |Dynamic Pointer to AI + 0x0c @LOOP - 4 times 00199e80: a043181c sb r3,0x181c(r2) |Store 0xff at 0x181c Table (3 entries) 00199e84: 2610ffff addiu r16,r16,0xffff |Counter -1 00199e88: 0601fffd bgez r16,0x00199e80 Λ LOOP while counter is >=0 00199e8c: 2442fffc addiu r2,r2,-0x0004 |Dynamic offset - 0x04 00199e90: 3402017f ori r2,r0,0x017f | 00199e94: a6820e14 sh r2,0x0e14(r20) |Store 0x017f at AI 0x0e14 Initialize acting Unit choosen Throw Ability ID 00199e98: 34020001 ori r2,r0,0x0001 | 00199e9c: a2820e16 sb r2,0x0e16(r20) |Store 0x01 at AI 0x0e16 Initialize ID of best weapon to throw 00199ea0: 8fbf0028 lw r31,0x0028(r29) 00199ea4: 8fb50024 lw r21,0x0024(r29) 00199ea8: 8fb40020 lw r20,0x0020(r29) 00199eac: 8fb3001c lw r19,0x001c(r29) 00199eb0: 8fb20018 lw r18,0x0018(r29) 00199eb4: 8fb10014 lw r17,0x0014(r29) 00199eb8: 8fb00010 lw r16,0x0010(r29) 00199ebc: 27bd0030 addiu r29,r29,0x0030 00199ec0: 03e00008 jr r31 00199ec4: 00000000 nop
Return locations
BATTLE.BIN 00078674: [[000785ac_-_000787d8]] 0008ec50: [[0008ea6c_-_0008ec6c]] 0008ef04: [[0008ec70_-_0008ef20]]