Calculate XYZ, UV, and Palette of Post Action Text
Jump to navigation
Jump to search
000810a4: 27bdfe80 addiu r29,r29,0xfe80 000810a8: afb10164 sw r17,0x0164(r29) 000810ac: 00808821 addu r17,r4,r0 r17 = Unit's Misc Data Pointer 000810b0: afb3016c sw r19,0x016c(r29) 000810b4: 00a09821 addu r19,r5,r0 r19 = Stack Pointer 000810b8: 3c028006 lui r2,0x8006 000810bc: 24427830 addiu r2,r2,0x7830 r2 = Pointer to ? (default floating text position) 000810c0: afbf017c sw r31,0x017c(r29) 000810c4: afb60178 sw r22,0x0178(r29) 000810c8: afb50174 sw r21,0x0174(r29) 000810cc: afb40170 sw r20,0x0170(r29) 000810d0: afb20168 sw r18,0x0168(r29) 000810d4: afb00160 sw r16,0x0160(r29) 000810d8: 88430003 lwl r3,0x0003(r2) Load/Store ? 000810dc: 98430000 lwr r3,0x0000(r2) 000810e0: 88440007 lwl r4,0x0007(r2) 000810e4: 98440004 lwr r4,0x0004(r2) 000810e8: aba3002b swl r3,0x002b(r29) 000810ec: bba30028 swr r3,0x0028(r29) 000810f0: aba4002f swl r4,0x002f(r29) 000810f4: bba4002c swr r4,0x002c(r29) 000810f8: 88430003 lwl r3,0x0003(r2) 000810fc: 98430000 lwr r3,0x0000(r2) 00081100: 88440007 lwl r4,0x0007(r2) 00081104: 98440004 lwr r4,0x0004(r2) 00081108: aba30033 swl r3,0x0033(r29) 0008110c: bba30030 swr r3,0x0030(r29) 00081110: aba40037 swl r4,0x0037(r29) 00081114: bba40034 swr r4,0x0034(r29) 00081118: 88430003 lwl r3,0x0003(r2) 0008111c: 98430000 lwr r3,0x0000(r2) 00081120: 88440007 lwl r4,0x0007(r2) 00081124: 98440004 lwr r4,0x0004(r2) 00081128: aba3003b swl r3,0x003b(r29) (stack gets 00 10 00 10 00 10 00 00 0008112c: bba30038 swr r3,0x0038(r29) stored 3 times) 00081130: aba4003f swl r4,0x003f(r29) 00081134: bba4003c swr r4,0x003c(r29) 00081138: 27a70040 addiu r7,r29,0x0040 r7 = stack pointer + 0x40 (right after above) 0008113c: 3c068006 lui r6,0x8006 00081140: 24c67bac addiu r6,r6,0x7bac r6 = text position data Pointer (describes text bouncing into the field over the unit when damaged. very elaborate) 00081144: 00e61025 or r2,r7,r6 00081148: 30420003 andi r2,r2,0x0003 0008114c: 10400016 beq r2,r0,0x000811a8 Branch if pointers are valid? (don't end with 0x1-0x3) 00081150: 24c80020 addiu r8,r6,0x0020 Limit = ? Pointer + 0x20 00081154: 88c20003 lwl r2,0x0003(r6) Load/Store ? 00081158: 98c20000 lwr r2,0x0000(r6) 0008115c: 88c30007 lwl r3,0x0007(r6) 00081160: 98c30004 lwr r3,0x0004(r6) 00081164: 88c4000b lwl r4,0x000b(r6) 00081168: 98c40008 lwr r4,0x0008(r6) 0008116c: 88c5000f lwl r5,0x000f(r6) 00081170: 98c5000c lwr r5,0x000c(r6) 00081174: a8e20003 swl r2,0x0003(r7) 00081178: b8e20000 swr r2,0x0000(r7) 0008117c: a8e30007 swl r3,0x0007(r7) 00081180: b8e30004 swr r3,0x0004(r7) 00081184: a8e4000b swl r4,0x000b(r7) 00081188: b8e40008 swr r4,0x0008(r7) 0008118c: a8e5000f swl r5,0x000f(r7) 00081190: b8e5000c swr r5,0x000c(r7) 00081194: 24c60010 addiu r6,r6,0x0010 ? Pointer += 0x10 00081198: 14c8ffee bne r6,r8,0x00081154 Branch if all data hasn't been stored 0008119c: 24e70010 addiu r7,r7,0x0010 Stack Pointer += 0x10 000811a0: 08020475 j 0x000811d4 000811a4: 00000000 nop 000811a8: 8cc20000 lw r2,0x0000(r6) Load/Store ? (essentially does the same as above) 000811ac: 8cc30004 lw r3,0x0004(r6) 000811b0: 8cc40008 lw r4,0x0008(r6) 000811b4: 8cc5000c lw r5,0x000c(r6) 000811b8: ace20000 sw r2,0x0000(r7) 000811bc: ace30004 sw r3,0x0004(r7) 000811c0: ace40008 sw r4,0x0008(r7) 000811c4: ace5000c sw r5,0x000c(r7) 000811c8: 24c60010 addiu r6,r6,0x0010 ? Pointer + 0x10 000811cc: 14c8fff6 bne r6,r8,0x000811a8 Branch if all data hasn't been stored 000811d0: 24e70010 addiu r7,r7,0x0010 Stack Pointer + 0x10 000811d4: 88c20003 lwl r2,0x0003(r6) Load/Store ? (0x2a total) 000811d8: 98c20000 lwr r2,0x0000(r6) 000811dc: 88c30007 lwl r3,0x0007(r6) 000811e0: 98c30004 lwr r3,0x0004(r6) 000811e4: 84c40008 lh r4,0x0008(r6) 000811e8: a8e20003 swl r2,0x0003(r7) 000811ec: b8e20000 swr r2,0x0000(r7) 000811f0: a8e30007 swl r3,0x0007(r7) 000811f4: b8e30004 swr r3,0x0004(r7) 000811f8: a4e40008 sh r4,0x0008(r7) 000811fc: 27a70070 addiu r7,r29,0x0070 r7 = Stack Pointer + 0x70 00081200: 3c068006 lui r6,0x8006 00081204: 24c67bd8 addiu r6,r6,0x7bd8 r6 = ? Pointer 00081208: 00e61025 or r2,r7,r6 0008120c: 30420003 andi r2,r2,0x0003 00081210: 10400016 beq r2,r0,0x0008126c Branch if Pointers are valid? 00081214: 24c80020 addiu r8,r6,0x0020 Limit = ? Pointer + 0x20 00081218: 88c20003 lwl r2,0x0003(r6) 0008121c: 98c20000 lwr r2,0x0000(r6) 00081220: 88c30007 lwl r3,0x0007(r6) 00081224: 98c30004 lwr r3,0x0004(r6) 00081228: 88c4000b lwl r4,0x000b(r6) 0008122c: 98c40008 lwr r4,0x0008(r6) 00081230: 88c5000f lwl r5,0x000f(r6) 00081234: 98c5000c lwr r5,0x000c(r6) 00081238: a8e20003 swl r2,0x0003(r7) 0008123c: b8e20000 swr r2,0x0000(r7) 00081240: a8e30007 swl r3,0x0007(r7) 00081244: b8e30004 swr r3,0x0004(r7) 00081248: a8e4000b swl r4,0x000b(r7) 0008124c: b8e40008 swr r4,0x0008(r7) 00081250: a8e5000f swl r5,0x000f(r7) 00081254: b8e5000c swr r5,0x000c(r7) 00081258: 24c60010 addiu r6,r6,0x0010 ? Pointer += 0x10 0008125c: 14c8ffee bne r6,r8,0x00081218 Branch if all data hasn't been stored 00081260: 24e70010 addiu r7,r7,0x0010 Stack Pointer += 0x10 00081264: 080204a6 j 0x00081298 00081268: 00000000 nop 0008126c: 8cc20000 lw r2,0x0000(r6) Load/Store ? 00081270: 8cc30004 lw r3,0x0004(r6) 00081274: 8cc40008 lw r4,0x0008(r6) 00081278: 8cc5000c lw r5,0x000c(r6) 0008127c: ace20000 sw r2,0x0000(r7) 00081280: ace30004 sw r3,0x0004(r7) 00081284: ace40008 sw r4,0x0008(r7) 00081288: ace5000c sw r5,0x000c(r7) 0008128c: 24c60010 addiu r6,r6,0x0010 ? Pointer += 0x10 00081290: 14c8fff6 bne r6,r8,0x0008126c Branch if all data hasn't been stored 00081294: 24e70010 addiu r7,r7,0x0010 Stack Pointer += 0x10 00081298: 88c20003 lwl r2,0x0003(r6) Load/Store ? (0x2a again) 0008129c: 98c20000 lwr r2,0x0000(r6) 000812a0: 88c30007 lwl r3,0x0007(r6) 000812a4: 98c30004 lwr r3,0x0004(r6) 000812a8: 84c40008 lh r4,0x0008(r6) 000812ac: a8e20003 swl r2,0x0003(r7) 000812b0: b8e20000 swr r2,0x0000(r7) 000812b4: a8e30007 swl r3,0x0007(r7) 000812b8: b8e30004 swr r3,0x0004(r7) 000812bc: a4e40008 sh r4,0x0008(r7) 000812c0: 27a700a0 addiu r7,r29,0x00a0 r7 = Stack Pointer + 0xa0 000812c4: 3c068006 lui r6,0x8006 000812c8: 24c67c04 addiu r6,r6,0x7c04 r6 = ? Pointer 000812cc: 00e61025 or r2,r7,r6 000812d0: 30420003 andi r2,r2,0x0003 000812d4: 10400016 beq r2,r0,0x00081330 Branch if Pointers are valid? 000812d8: 24c80020 addiu r8,r6,0x0020 Limit = ? Pointer + 0x20 000812dc: 88c20003 lwl r2,0x0003(r6) 000812e0: 98c20000 lwr r2,0x0000(r6) 000812e4: 88c30007 lwl r3,0x0007(r6) 000812e8: 98c30004 lwr r3,0x0004(r6) 000812ec: 88c4000b lwl r4,0x000b(r6) 000812f0: 98c40008 lwr r4,0x0008(r6) 000812f4: 88c5000f lwl r5,0x000f(r6) 000812f8: 98c5000c lwr r5,0x000c(r6) 000812fc: a8e20003 swl r2,0x0003(r7) 00081300: b8e20000 swr r2,0x0000(r7) 00081304: a8e30007 swl r3,0x0007(r7) 00081308: b8e30004 swr r3,0x0004(r7) 0008130c: a8e4000b swl r4,0x000b(r7) 00081310: b8e40008 swr r4,0x0008(r7) 00081314: a8e5000f swl r5,0x000f(r7) 00081318: b8e5000c swr r5,0x000c(r7) 0008131c: 24c60010 addiu r6,r6,0x0010 ? Pointer += 0x10 00081320: 14c8ffee bne r6,r8,0x000812dc Branch if all data hasn't been stored 00081324: 24e70010 addiu r7,r7,0x0010 Stack Pointer += 0x10 00081328: 080204d7 j 0x0008135c 0008132c: 00000000 nop 00081330: 8cc20000 lw r2,0x0000(r6) Load/Store ? 00081334: 8cc30004 lw r3,0x0004(r6) 00081338: 8cc40008 lw r4,0x0008(r6) 0008133c: 8cc5000c lw r5,0x000c(r6) 00081340: ace20000 sw r2,0x0000(r7) 00081344: ace30004 sw r3,0x0004(r7) 00081348: ace40008 sw r4,0x0008(r7) 0008134c: ace5000c sw r5,0x000c(r7) 00081350: 24c60010 addiu r6,r6,0x0010 ? Pointer += 0x10 00081354: 14c8fff6 bne r6,r8,0x00081330 Branch if all data hasn't been stored 00081358: 24e70010 addiu r7,r7,0x0010 Stack Pointer += 0x10 0008135c: 88c20003 lwl r2,0x0003(r6) Load/Store ? (0x2a) 00081360: 98c20000 lwr r2,0x0000(r6) 00081364: 88c30007 lwl r3,0x0007(r6) 00081368: 98c30004 lwr r3,0x0004(r6) 0008136c: 84c40008 lh r4,0x0008(r6) 00081370: a8e20003 swl r2,0x0003(r7) 00081374: b8e20000 swr r2,0x0000(r7) 00081378: a8e30007 swl r3,0x0007(r7) 0008137c: b8e30004 swr r3,0x0004(r7) 00081380: a4e40008 sh r4,0x0008(r7) 00081384: 27a700d0 addiu r7,r29,0x00d0 r7 = Stack Pointer + 0xd0 00081388: 3c068006 lui r6,0x8006 0008138c: 24c67c30 addiu r6,r6,0x7c30 r6 = ? Pointer 00081390: 00e61025 or r2,r7,r6 00081394: 30420003 andi r2,r2,0x0003 00081398: 10400016 beq r2,r0,0x000813f4 Branch if Pointers are valid? 0008139c: 24c80020 addiu r8,r6,0x0020 Limit = ? Pointer + 0x20 000813a0: 88c20003 lwl r2,0x0003(r6) Load/Store ? 000813a4: 98c20000 lwr r2,0x0000(r6) 000813a8: 88c30007 lwl r3,0x0007(r6) 000813ac: 98c30004 lwr r3,0x0004(r6) 000813b0: 88c4000b lwl r4,0x000b(r6) 000813b4: 98c40008 lwr r4,0x0008(r6) 000813b8: 88c5000f lwl r5,0x000f(r6) 000813bc: 98c5000c lwr r5,0x000c(r6) 000813c0: a8e20003 swl r2,0x0003(r7) 000813c4: b8e20000 swr r2,0x0000(r7) 000813c8: a8e30007 swl r3,0x0007(r7) 000813cc: b8e30004 swr r3,0x0004(r7) 000813d0: a8e4000b swl r4,0x000b(r7) 000813d4: b8e40008 swr r4,0x0008(r7) 000813d8: a8e5000f swl r5,0x000f(r7) 000813dc: b8e5000c swr r5,0x000c(r7) 000813e0: 24c60010 addiu r6,r6,0x0010 ? Pointer += 0x10 000813e4: 14c8ffee bne r6,r8,0x000813a0 Branch if all data hasn't been stored 000813e8: 24e70010 addiu r7,r7,0x0010 Stack Pointer += 0x10 000813ec: 08020508 j 0x00081420 000813f0: 00000000 nop 000813f4: 8cc20000 lw r2,0x0000(r6) Load/Store ? 000813f8: 8cc30004 lw r3,0x0004(r6) 000813fc: 8cc40008 lw r4,0x0008(r6) 00081400: 8cc5000c lw r5,0x000c(r6) 00081404: ace20000 sw r2,0x0000(r7) 00081408: ace30004 sw r3,0x0004(r7) 0008140c: ace40008 sw r4,0x0008(r7) 00081410: ace5000c sw r5,0x000c(r7) 00081414: 24c60010 addiu r6,r6,0x0010 ? Pointer += 0x10 00081418: 14c8fff6 bne r6,r8,0x000813f4 Branch if all data hasn't been stored 0008141c: 24e70010 addiu r7,r7,0x0010 Stack Pointer += 0x10 00081420: 88c20003 lwl r2,0x0003(r6) Load/Store ? (0x2a) 00081424: 98c20000 lwr r2,0x0000(r6) 00081428: 88c30007 lwl r3,0x0007(r6) 0008142c: 98c30004 lwr r3,0x0004(r6) 00081430: 84c40008 lh r4,0x0008(r6) 00081434: a8e20003 swl r2,0x0003(r7) 00081438: b8e20000 swr r2,0x0000(r7) 0008143c: a8e30007 swl r3,0x0007(r7) 00081440: b8e30004 swr r3,0x0004(r7) 00081444: a4e40008 sh r4,0x0008(r7) 00081448: 27a70100 addiu r7,r29,0x0100 r7 = Stack Pointer + 0x100 0008144c: 3c068006 lui r6,0x8006 00081450: 24c67c5c addiu r6,r6,0x7c5c r6 = ? Pointer 00081454: 00e61025 or r2,r7,r6 00081458: 30420003 andi r2,r2,0x0003 0008145c: 10400016 beq r2,r0,0x000814b8 Branch if Pointers are valid? 00081460: 24c80020 addiu r8,r6,0x0020 Limit = ? Pointer + 0x20 00081464: 88c20003 lwl r2,0x0003(r6) Load/Store ? 00081468: 98c20000 lwr r2,0x0000(r6) 0008146c: 88c30007 lwl r3,0x0007(r6) 00081470: 98c30004 lwr r3,0x0004(r6) 00081474: 88c4000b lwl r4,0x000b(r6) 00081478: 98c40008 lwr r4,0x0008(r6) 0008147c: 88c5000f lwl r5,0x000f(r6) 00081480: 98c5000c lwr r5,0x000c(r6) 00081484: a8e20003 swl r2,0x0003(r7) 00081488: b8e20000 swr r2,0x0000(r7) 0008148c: a8e30007 swl r3,0x0007(r7) 00081490: b8e30004 swr r3,0x0004(r7) 00081494: a8e4000b swl r4,0x000b(r7) 00081498: b8e40008 swr r4,0x0008(r7) 0008149c: a8e5000f swl r5,0x000f(r7) 000814a0: b8e5000c swr r5,0x000c(r7) 000814a4: 24c60010 addiu r6,r6,0x0010 ? Pointer += 0x10 000814a8: 14c8ffee bne r6,r8,0x00081464 Branch if all data hasn't been stored 000814ac: 24e70010 addiu r7,r7,0x0010 Stack Pointer += 0x10 000814b0: 08020539 j 0x000814e4 000814b4: 00000000 nop 000814b8: 8cc20000 lw r2,0x0000(r6) Load/Store ? 000814bc: 8cc30004 lw r3,0x0004(r6) 000814c0: 8cc40008 lw r4,0x0008(r6) 000814c4: 8cc5000c lw r5,0x000c(r6) 000814c8: ace20000 sw r2,0x0000(r7) 000814cc: ace30004 sw r3,0x0004(r7) 000814d0: ace40008 sw r4,0x0008(r7) 000814d4: ace5000c sw r5,0x000c(r7) 000814d8: 24c60010 addiu r6,r6,0x0010 ? Pointer += 0x10 000814dc: 14c8fff6 bne r6,r8,0x000814b8 Branch if all data hasn't been stored 000814e0: 24e70010 addiu r7,r7,0x0010 Stack Pointer += 0x10 000814e4: 88c20003 lwl r2,0x0003(r6) Load/Store ? (0x2a) 000814e8: 98c20000 lwr r2,0x0000(r6) 000814ec: 88c30007 lwl r3,0x0007(r6) 000814f0: 98c30004 lwr r3,0x0004(r6) 000814f4: 84c40008 lh r4,0x0008(r6) 000814f8: a8e20003 swl r2,0x0003(r7) 000814fc: b8e20000 swr r2,0x0000(r7) 00081500: a8e30007 swl r3,0x0007(r7) 00081504: b8e30004 swr r3,0x0004(r7) 00081508: a4e40008 sh r4,0x0008(r7) 0008150c: 27a70130 addiu r7,r29,0x0130 r7 = Stack Pointer + 0x130 00081510: 3c068006 lui r6,0x8006 00081514: 24c67c88 addiu r6,r6,0x7c88 r6 = ? Pointer 00081518: 00e61025 or r2,r7,r6 0008151c: 30420003 andi r2,r2,0x0003 00081520: 10400016 beq r2,r0,0x0008157c Branch if Pointers are valid? 00081524: 24c80020 addiu r8,r6,0x0020 Limit = ? Pointer + 0x20 00081528: 88c20003 lwl r2,0x0003(r6) Load/Store ? 0008152c: 98c20000 lwr r2,0x0000(r6) 00081530: 88c30007 lwl r3,0x0007(r6) 00081534: 98c30004 lwr r3,0x0004(r6) 00081538: 88c4000b lwl r4,0x000b(r6) 0008153c: 98c40008 lwr r4,0x0008(r6) 00081540: 88c5000f lwl r5,0x000f(r6) 00081544: 98c5000c lwr r5,0x000c(r6) 00081548: a8e20003 swl r2,0x0003(r7) 0008154c: b8e20000 swr r2,0x0000(r7) 00081550: a8e30007 swl r3,0x0007(r7) 00081554: b8e30004 swr r3,0x0004(r7) 00081558: a8e4000b swl r4,0x000b(r7) 0008155c: b8e40008 swr r4,0x0008(r7) 00081560: a8e5000f swl r5,0x000f(r7) 00081564: b8e5000c swr r5,0x000c(r7) 00081568: 24c60010 addiu r6,r6,0x0010 ? Pointer += 0x10 0008156c: 14c8ffee bne r6,r8,0x00081528 Branch if all data hasn't been stored 00081570: 24e70010 addiu r7,r7,0x0010 Stack Pointer += 0x10 00081574: 0802056a j 0x000815a8 00081578: 00000000 nop 0008157c: 8cc20000 lw r2,0x0000(r6) Load/Store ? 00081580: 8cc30004 lw r3,0x0004(r6) 00081584: 8cc40008 lw r4,0x0008(r6) 00081588: 8cc5000c lw r5,0x000c(r6) 0008158c: ace20000 sw r2,0x0000(r7) 00081590: ace30004 sw r3,0x0004(r7) 00081594: ace40008 sw r4,0x0008(r7) 00081598: ace5000c sw r5,0x000c(r7) 0008159c: 24c60010 addiu r6,r6,0x0010 ? Pointer += 0x10 000815a0: 14c8fff6 bne r6,r8,0x0008157c Branch if all data hasn't been stored 000815a4: 24e70010 addiu r7,r7,0x0010 Stack Pointer += 0x10 000815a8: 88c20003 lwl r2,0x0003(r6) Load/Store ? (0x2a) 000815ac: 98c20000 lwr r2,0x0000(r6) 000815b0: 88c30007 lwl r3,0x0007(r6) 000815b4: 98c30004 lwr r3,0x0004(r6) 000815b8: 84c40008 lh r4,0x0008(r6) 000815bc: a8e20003 swl r2,0x0003(r7) 000815c0: b8e20000 swr r2,0x0000(r7) 000815c4: a8e30007 swl r3,0x0007(r7) 000815c8: b8e30004 swr r3,0x0004(r7) 000815cc: a4e40008 sh r4,0x0008(r7)
- Important note about above: >_>"***
000815d0: 962202c2 lhu r2,0x02c2(r17) Load display type (? actually time remaining on currently displaying attack data?) 000815d4: 3c038004 lui r3,0x8004 000815d8: 94635980 lhu r3,0x5980(r3) Load Animation Speed 000815dc: 8e3402c4 lw r20,0x02c4(r17) Load Numerical Display Pointer 1 000815e0: 8e3502c8 lw r21,0x02c8(r17) Load Numerical Display Pointer 2 000815e4: 8e3602cc lw r22,0x02cc(r17) Load Numerical Display Pointer 3 000815e8: 00431021 addu r2,r2,r3 000815ec: 00401821 addu r3,r2,r0 000815f0: 3070ffff andi r16,r3,0xffff r16 = display type + animation speed 000815f4: 2e020015 sltiu r2,r16,0x0015 000815f8: 10400052 beq r2,r0,0x00081744 Branch if ? + ?2 >= 0x15 000815fc: 263202bc addiu r18,r17,0x02bc r18 = activation flag for numeric display data 00081600: 962402be lhu r4,0x02be(r17) Load Display Type 00081604: 00000000 nop 00081608: 30820200 andi r2,r4,0x0200 0008160c: 10400010 beq r2,r0,0x00081650 Branch if Display Type != ? 00081610: 00108040 sll r16,r16,0x01 ? * 2 00081614: 27a20020 addiu r2,r29,0x0020 r2 = Stack Pointer + 0x20 00081618: 02028021 addu r16,r16,r2 0008161c: 860500b0 lh r5,0x00b0(r16) Load ? from set 4 00081620: 27a40028 addiu r4,r29,0x0028 r4 = Stack Pointer + 0x28 00081624: 00a03021 addu r6,r5,r0 r6 = ? 00081628: 0c010ac7 jal 0x00042b1c 00042b1c - 00042b28 - Store 3 Consecutive Halfwords 0008162c: 00a03821 addu r7,r5,r0 r7 = ? 00081630: 860500e0 lh r5,0x00e0(r16) Load ? from set 5 00081634: 27a40030 addiu r4,r29,0x0030 r4 = Stack Pointer + 0x30 00081638: 00a03021 addu r6,r5,r0 r6 = ? 0008163c: 0c010ac7 jal 0x00042b1c 00042b1c - 00042b28 - Store 3 Consecutive Halfwords 00081640: 00a03821 addu r7,r5,r0 r7 = ? 00081644: 86050110 lh r5,0x0110(r16) Load ? from set 6 00081648: 080205cc j 0x00081730 0008164c: 27a40038 addiu r4,r29,0x0038 r4 = Stack Pointer + 0x38 00081650: 308401ff andi r4,r4,0x01ff 00081654: 34020010 ori r2,r0,0x0010 00081658: 10820025 beq r4,r2,0x000816f0 Branch if Display Type = "Missed!" 0008165c: 28820011 slti r2,r4,0x0011 00081660: 10400005 beq r2,r0,0x00081678 Branch if Display Type >= 0x11 00081664: 00000000 nop 00081668: 04800070 bltz r4,0x0008182c Branch if Display Type < 0 0008166c: 00000000 nop 00081670: 080205ac j 0x000816b0 (Display Type = HP/MP/SP/CT/Br/Fa/PA/MA) 00081674: 3070ffff andi r16,r3,0xffff r16 = ? + ?2 00081678: 34020040 ori r2,r0,0x0040 0008167c: 1082001c beq r4,r2,0x000816f0 Branch if Display Type = Gained Exp 00081680: 28820041 slti r2,r4,0x0041 00081684: 10400005 beq r2,r0,0x0008169c Branch if Display Type >= 0x41 00081688: 34020020 ori r2,r0,0x0020 0008168c: 10820019 beq r4,r2,0x000816f4 Branch if Display Type = "Guarded" 00081690: 3070ffff andi r16,r3,0xffff r16 = ? + ?2 00081694: 0802060b j 0x0008182c (Display Type = "Caught") 00081698: 00000000 nop 0008169c: 34020050 ori r2,r0,0x0050 000816a0: 10820014 beq r4,r2,0x000816f4 Branch if Display Type = Gained JP 000816a4: 3070ffff andi r16,r3,0xffff r16 = ? + ?2 000816a8: 0802060b j 0x0008182c (any other display type) 000816ac: 00000000 nop
- Display Type = HP/MP/SP/CT/Br/Fa/PA/MA*
000816b0: 00108040 sll r16,r16,0x01 ? * 2 000816b4: 27a20020 addiu r2,r29,0x0020 r2 = Stack Pointer 000816b8: 02028021 addu r16,r16,r2 000816bc: 86050020 lh r5,0x0020(r16) Load ? (section 1) 000816c0: 27a40028 addiu r4,r29,0x0028 r4 = Stack Pointer + 0x28 000816c4: 00a03021 addu r6,r5,r0 r6 = ? 000816c8: 0c010ac7 jal 0x00042b1c 00042b1c - 00042b28 - Store 3 consecutive halfwords 000816cc: 00a03821 addu r7,r5,r0 r7 = ? 000816d0: 86050050 lh r5,0x0050(r16) Load ? (section 2) 000816d4: 27a40030 addiu r4,r29,0x0030 r4 = Stack Pointer + 0x30 000816d8: 00a03021 addu r6,r5,r0 r6 = ? 000816dc: 0c010ac7 jal 0x00042b1c 00042b1c - 00042b28 - Store 3 consecutive halfwords 000816e0: 00a03821 addu r7,r5,r0 r7 = ? 000816e4: 86050080 lh r5,0x0080(r16) Load ? (Section 3) 000816e8: 080205cc j 0x00081730 000816ec: 27a40038 addiu r4,r29,0x0038 r4 = Stack Pointer + 0x38
- Display Type = "Missed!", Gained Exp*
000816f0: 3070ffff andi r16,r3,0xffff r16 = ?
- Display Type = "Guarded", Gained JP*
000816f4: 00108040 sll r16,r16,0x01 ? * 2 000816f8: 27a20020 addiu r2,r29,0x0020 r2 = Stack Pointer + 0x20 000816fc: 02028021 addu r16,r16,r2 00081700: 86050050 lh r5,0x0050(r16) Load ? (section 2) 00081704: 27a40028 addiu r4,r29,0x0028 r4 = Stack Pointer + 0x28 00081708: 00a03021 addu r6,r5,r0 r6 = ? 0008170c: 0c010ac7 jal 0x00042b1c 00042b1c - 00042b28 - Store 3 consecutive halfwords 00081710: 00a03821 addu r7,r5,r0 r7 = ? 00081714: 86050050 lh r5,0x0050(r16) Load ? (section 2) 00081718: 27a40030 addiu r4,r29,0x0030 r4 = Stack Pointer + 0x30 0008171c: 00a03021 addu r6,r5,r0 r6 = ? 00081720: 0c010ac7 jal 0x00042b1c 00042b1c - 00042b28 - Store 3 consecutive halfwords 00081724: 00a03821 addu r7,r5,r0 r7 = ? 00081728: 86050050 lh r5,0x0050(r16) Load ? (section 2) 0008172c: 27a40038 addiu r4,r29,0x0038 r4 = Stack Pointer + 0x38 00081730: 00a03021 addu r6,r5,r0 r6 = ? 00081734: 0c010ac7 jal 0x00042b1c 00042b1c - 00042b28 - Store 3 consecutive halfwords 00081738: 00a03821 addu r7,r5,r0 r7 = ? 0008173c: 0802060b j 0x0008182c 00081740: 00000000 nop
- ? >= 0x15* (start to fade?)
00081744: 2e020032 sltiu r2,r16,0x0032 00081748: 1440002c bne r2,r0,0x000817fc Branch if ? < 0x32 0008174c: 3062ffff andi r2,r3,0xffff r2 = ? 00081750: 962202c2 lhu r2,0x02c2(r17) Load ? 00081754: 00000000 nop 00081758: 2c420032 sltiu r2,r2,0x0032 0008175c: 10400027 beq r2,r0,0x000817fc Branch if ? < 0x32 00081760: 3062ffff andi r2,r3,0xffff r2 = ? 00081764: 0c01fd7e jal 0x0007f5f8 Post Action Display Routine 00081768: 02202021 addu r4,r17,r0 r4 = Unit Misc Data Pointer 0008176c: 14400077 bne r2,r0,0x0008194c Branch if section succeeded 00081770: 00000000 nop 00081774: 0c02022e jal 0x000808b8 Set Exp/JP Display Data and get Palette 00081778: 02202021 addu r4,r17,r0 r4 = Unit Misc Data Pointer 0008177c: 14400073 bne r2,r0,0x0008194c Branch if section succeeded 00081780: 34040004 ori r4,r0,0x0004 r4 = 4 00081784: 34050002 ori r5,r0,0x0002 r5 = 2 00081788: 8e2702c4 lw r7,0x02c4(r17) Load Numerical Display Pointer 1 0008178c: 8e2602c8 lw r6,0x02c8(r17) Load Numerical Display Pointer 2 00081790: 8e2302cc lw r3,0x02cc(r17) Load Numerical Display Pointer 3 00081794: 3402003f ori r2,r0,0x003f r2 = 0x3f 00081798: a4620004 sh r2,0x0004(r3) Store Spritesheet ID = 0x3f 0008179c: a4c20004 sh r2,0x0004(r6) Store Spritesheet ID = 0x3f 000817a0: 34060007 ori r6,r0,0x0007 Section ID = 7 000817a4: a4e20004 sh r2,0x0004(r7) Store Spritesheet ID = 0x3f 000817a8: 92270004 lbu r7,0x0004(r17) Load Unit ID? 000817ac: 2402ffe1 addiu r2,r0,0xffe1 r2 = -0x1f 000817b0: afa00010 sw r0,0x0010(r29) Store ? = 0 000817b4: afa20014 sw r2,0x0014(r29) Store Red Mod = -0x1f 000817b8: afa20018 sw r2,0x0018(r29) Store Green Mod = -0x1f 000817bc: 0c023dc4 jal 0x0008f710 Palette Modification 000817c0: afa2001c sw r2,0x001c(r29) Store Blue Mod = -0x1f 000817c4: 02802021 addu r4,r20,r0 000817c8: 00002821 addu r5,r0,r0 000817cc: 0c01ed55 jal 0x0007b554 0007b554 - 0007b588 000817d0: 34060001 ori r6,r0,0x0001 000817d4: 02a02021 addu r4,r21,r0 000817d8: 00002821 addu r5,r0,r0 000817dc: 0c01ed55 jal 0x0007b554 0007b554 - 0007b588 000817e0: 34060001 ori r6,r0,0x0001 000817e4: 02c02021 addu r4,r22,r0 000817e8: 00002821 addu r5,r0,r0 000817ec: 0c01ed55 jal 0x0007b554 0007b554 - 0007b588 000817f0: 34060001 ori r6,r0,0x0001 000817f4: 0802060b j 0x0008182c 000817f8: 00000000 nop 000817fc: 2c42003d sltiu r2,r2,0x003d 00081800: 1440000a bne r2,r0,0x0008182c 00081804: 00000000 nop 00081808: 0c01fd7e jal 0x0007f5f8 Post-Action Display Data 0008180c: 02202021 addu r4,r17,r0 00081810: 1440004e bne r2,r0,0x0008194c 00081814: 00000000 nop 00081818: 0c02022e jal 0x000808b8 Set Exp/JP Display Data and get Palette 0008181c: 02202021 addu r4,r17,r0 00081820: 1440004a bne r2,r0,0x0008194c 00081824: 00000000 nop 00081828: a22002bc sb r0,0x02bc(r17) 0008182c: 96620000 lhu r2,0x0000(r19) 00081830: 00000000 nop 00081834: 24420015 addiu r2,r2,0x0015 00081838: a7a20020 sh r2,0x0020(r29) 0008183c: 96620002 lhu r2,0x0002(r19) 00081840: 00000000 nop 00081844: 2442fff8 addiu r2,r2,0xfff8 00081848: a7a20022 sh r2,0x0022(r29) 0008184c: 96420002 lhu r2,0x0002(r18) 00081850: 00000000 nop 00081854: 304301ff andi r3,r2,0x01ff 00081858: 2c620051 sltiu r2,r3,0x0051 0008185c: 1040000e beq r2,r0,0x00081898 00081860: 00031080 sll r2,r3,0x02 00081864: 3c018006 lui r1,0x8006 00081868: 00220821 addu r1,r1,r2 0008186c: 8c227cb8 lw r2,0x7cb8(r1) 00081870: 00000000 nop 00081874: 00400008 jr r2 00081878: 00000000 nop 0008187c: 96620002 lhu r2,0x0002(r19) 00081880: 08020625 j 0x00081894 00081884: 2442ffd0 addiu r2,r2,0xffd0 00081888: 96620002 lhu r2,0x0002(r19) 0008188c: 00000000 nop 00081890: 2442fff0 addiu r2,r2,0xfff0 00081894: a7a20022 sh r2,0x0022(r29) 00081898: 0c011298 jal 0x00044a60 00044a60 - 00044a78 0008189c: 00000000 nop 000818a0: 02802021 addu r4,r20,r0 000818a4: 00003021 addu r6,r0,r0 000818a8: 27a70020 addiu r7,r29,0x0020 000818ac: 27a30028 addiu r3,r29,0x0028 000818b0: 90850003 lbu r5,0x0003(r4) 000818b4: 24420004 addiu r2,r2,0x0004 000818b8: afa00010 sw r0,0x0010(r29) 000818bc: afa00014 sw r0,0x0014(r29) 000818c0: afa30018 sw r3,0x0018(r29) 000818c4: 0c01ebd1 jal 0x0007af44 0007af44 - 0007b4e8 000818c8: afa2001c sw r2,0x001c(r29) 000818cc: 0c011298 jal 0x00044a60 00044a60 - 00044a78 000818d0: 00000000 nop 000818d4: 02a02021 addu r4,r21,r0 000818d8: 00003021 addu r6,r0,r0 000818dc: 27a70020 addiu r7,r29,0x0020 000818e0: 27a30030 addiu r3,r29,0x0030 000818e4: 90850003 lbu r5,0x0003(r4) 000818e8: 24420004 addiu r2,r2,0x0004 000818ec: afa00010 sw r0,0x0010(r29) 000818f0: afa00014 sw r0,0x0014(r29) 000818f4: afa30018 sw r3,0x0018(r29) 000818f8: 0c01ebd1 jal 0x0007af44 0007af44 - 0007b4e8 000818fc: afa2001c sw r2,0x001c(r29) 00081900: 0c011298 jal 0x00044a60 00044a60 - 00044a78 00081904: 00000000 nop 00081908: 02c02021 addu r4,r22,r0 0008190c: 00003021 addu r6,r0,r0 00081910: 27a70020 addiu r7,r29,0x0020 00081914: 27a30038 addiu r3,r29,0x0038 00081918: 90850003 lbu r5,0x0003(r4) 0008191c: 24420004 addiu r2,r2,0x0004 00081920: afa00010 sw r0,0x0010(r29) 00081924: afa00014 sw r0,0x0014(r29) 00081928: afa30018 sw r3,0x0018(r29) 0008192c: 0c01ebd1 jal 0x0007af44 0007af44 - 0007b4e8 00081930: afa2001c sw r2,0x001c(r29) 00081934: 96420006 lhu r2,0x0006(r18) 00081938: 3c038004 lui r3,0x8004 0008193c: 94635980 lhu r3,0x5980(r3) 00081940: 00000000 nop 00081944: 00431021 addu r2,r2,r3 00081948: a6420006 sh r2,0x0006(r18) 0008194c: 8fbf017c lw r31,0x017c(r29) 00081950: 8fb60178 lw r22,0x0178(r29) 00081954: 8fb50174 lw r21,0x0174(r29) 00081958: 8fb40170 lw r20,0x0170(r29) 0008195c: 8fb3016c lw r19,0x016c(r29) 00081960: 8fb20168 lw r18,0x0168(r29) 00081964: 8fb10164 lw r17,0x0164(r29) 00081968: 8fb00160 lw r16,0x0160(r29) 0008196c: 27bd0180 addiu r29,r29,0x0180 00081970: 03e00008 jr r31 00081974: 00000000 nop