Acting Unit's Data Setup
Jump to navigation
Jump to search
BATTLE.BIN : Acting Unit's Data Setup ------------------------------------------------------------------------------------------ Parameters : Nothing Returns : Nothing ------------------------------------------------------------------------------------------ 001941f8: 27bdffe8 addiu r29,r29,-0x0018 | 001941fc: 3c03801a lui r3,0x801a | 00194200: 906301f2 lbu r3,0x01f2(r3) |Load Acting Unit ID 8019f3c4 + 0xe2e 00194204: 3c028019 lui r2,0x8019 | 00194208: 244208cc addiu r2,r2,0x08cc |Start of Unit data (Battle stats) pointer 0019420c: afb00010 sw r16,0x0010(r29) | 00194210: 3c10801a lui r16,0x801a | 00194214: 2610f3c4 addiu r16,r16,-0x0c3c |Start of AI data pointer 00194218: afbf0014 sw r31,0x0014(r29) | 0019421c: 000320c0 sll r4,r3,0x03 |ID * 8 00194220: 00832023 subu r4,r4,r3 |ID * 7 00194224: 00042180 sll r4,r4,0x06 |Unit ID * 0x1c0 00194228: 00822021 addu r4,r4,r2 |r4 = Unit's Data Pointer (Battle stats) 0019422c: 00031100 sll r2,r3,0x04 |unit ID * 16 00194230: 2442182c addiu r2,r2,0x182c | 00194234: 00501021 addu r2,r2,r16 |r2 = AI Decision Data Pointer 00194238: 3c01801a lui r1,0x801a | 0019423c: ac240bbc sw r4,0x0bbc(r1) |Store Unit's Data Pointer 8019f3c4 + 0x17f8 / 801a0bbc 00194240: 3c01801a lui r1,0x801a | 00194244: ac2201f8 sw r2,0x01f8(r1) |Store Unit's AI Decision Pointer 8019f3c4 + 0xe34 / 801a01f8 00194248: 90820047 lbu r2,0x0047(r4) |Load Unit's X 0019424c: 3c01801a lui r1,0x801a | 00194250: a02201f4 sb r2,0x01f4(r1) |Store Unit's X 8019f3c4 + 0xe30 / 801a01f4 00194254: 90820048 lbu r2,0x0048(r4) |Load Unit's Y 00194258: 3c01801a lui r1,0x801a | 0019425c: a02201f6 sb r2,0x01f6(r1) |Store Unit's Y 8019f3c4 + 0xe32 / 801a01f6 00194260: 94820048 lhu r2,0x0048(r4) |Load Unit's Y + Map Level 00194264: 00701821 addu r3,r3,r16 |8019f3c4 + Unit offset 00194268: 3c01801a lui r1,0x801a | 0019426c: a02001f7 sb r0,0x01f7(r1) |Nullify 801a01f7 Setting a breakpoint here only point to nullification 00194270: 000213c2 srl r2,r2,0x0f |Focus on Elevation flag 00194274: 3c01801a lui r1,0x801a | 00194278: a02201f5 sb r2,0x01f5(r1) |Store Unit's Map Level 8019f3c4 + 0xe31 / 801a01f5 0019427c: 9062198c lbu r2,0x198c(r3) |Load Unit's Battle ID 00194280: 3c01801a lui r1,0x801a | 00194284: a02201f3 sb r2,0x01f3(r1) |Store Unit's Battle ID 8019f3c4 + 0xe2f / 801a01f3 00194288: 90820005 lbu r2,0x0005(r4) |Load Unit's ENTD Flags 0019428c: 00000000 nop | 00194290: 30420030 andi r2,r2,0x0030 |Check Team 00194294: 3c01801a lui r1,0x801a | 00194298: a02201fd sb r2,0x01fd(r1) |Store Unit's Team 8019f3c4 + 0xe39 / 801a01fd 0019429c: 0c0666e6 jal 0x00199b98 |-->Calculate Clockticks Until Unit Acts Returns r2 as remaining ticks before Turn 001942a0: 00000000 nop | 001942a4: 3c04801a lui r4,0x801a | 001942a8: 8c840bbc lw r4,0x0bbc(r4) |Load Acting Unit's Data Pointer 001942ac: 3c01801a lui r1,0x801a | 001942b0: a0220213 sb r2,0x0213(r1) |Store Unit's Remaining Clockticks 8019f3c4 + 0xe4f / 801a0213 001942b4: 90830182 lbu r3,0x0182(r4) |Load Unit's Mount Info 001942b8: 00000000 nop | 001942bc: 30620080 andi r2,r3,0x0080 |Check [Rider] 001942c0: 10400009 beq r2,r0,0x001942e8 #If Unit is riding a monster 001942c4: 3062001f andi r2,r3,0x001f |r2 = Mount's ID 001942c8: 000218c0 sll r3,r2,0x03 |ID * 8 001942cc: 00621823 subu r3,r3,r2 |ID * 7 001942d0: 00031980 sll r3,r3,0x06 |Mount ID * 0x1c0 001942d4: 3c018019 lui r1,0x8019 | 001942d8: 00230821 addu r1,r1,r3 |Part of Mounted Unit data pointer 001942dc: 90220906 lbu r2,0x0906(r1) |Load Mount's Move 001942e0: 080650bb j 0x001942ec >>Avoid not riding section 001942e4: 00000000 nop | Else : Unit is not riding 001942e8: 9082003a lbu r2,0x003a(r4) |Load Unit's Move 001942ec: 3c01801a lui r1,0x801a | 001942f0: a02201fc sb r2,0x01fc(r1) |Store Unit's Move 8019f3c4 + 0xe38 / 801a01fc 001942f4: 92020e2e lbu r2,0x0e2e(r16) |Load Unit's ID 001942f8: a200001b sb r0,0x001b(r16) |Nullify 8019f3c4 - 0x1b Unknown purpose 001942fc: a202001c sb r2,0x001c(r16) |Store Unit's ID 8019f3c4 -+ 0x1c 00194300: 8fbf0014 lw r31,0x0014(r29) END 00194304: 8fb00010 lw r16,0x0010(r29) 00194308: 27bd0018 addiu r29,r29,0x0018 0019430c: 03e00008 jr r31 00194310: 00000000 nop
Return Locations
BATTLE.BIN 00193f90: Main_AI_action_setup