Post Action Display Routine
Jump to navigation
Jump to search
Post-Action Display Data 0007f5f8: 27bdffa0 addiu r29,r29,0xffa0 0007f5fc: afb60050 sw r22,0x0050(r29) 0007f600: 0080b021 addu r22,r4,r0 r22 = Unit Misc Data Pointer 0007f604: afb40048 sw r20,0x0048(r29) 0007f608: afbf005c sw r31,0x005c(r29) 0007f60c: afbe0058 sw r30,0x0058(r29) 0007f610: afb70054 sw r23,0x0054(r29) 0007f614: afb5004c sw r21,0x004c(r29) 0007f618: afb30044 sw r19,0x0044(r29) 0007f61c: afb20040 sw r18,0x0040(r29) 0007f620: afb1003c sw r17,0x003c(r29) 0007f624: afb00038 sw r16,0x0038(r29) 0007f628: 8ec301b8 lw r3,0x01b8(r22) Load Display Flags 0007f62c: 8ec50134 lw r5,0x0134(r22) Load Unit's Data Pointer 0007f630: 3062ffff andi r2,r3,0xffff 0007f634: 10400048 beq r2,r0,0x0007f758 Branch if there are no Display Flags in the lower halfword 0007f638: 26d402bc addiu r20,r22,0x02bc r20 = Pointer to ? 0007f63c: 94a20190 lhu r2,0x0190(r5) Load Unit's HP Damage 0007f640: 3c018009 lui r1,0x8009 0007f644: a42262d4 sh r2,0x62d4(r1) Store Unit's HP Damage 0007f648: 94a20192 lhu r2,0x0192(r5) Load Unit's HP Healing 0007f64c: 3c018009 lui r1,0x8009 0007f650: a42262d6 sh r2,0x62d6(r1) Store Unit's HP Healing 0007f654: 94a20194 lhu r2,0x0194(r5) Load Unit's MP Damage 0007f658: 3c018009 lui r1,0x8009 0007f65c: a42262d8 sh r2,0x62d8(r1) Store Unit's MP Damage 0007f660: 94a20196 lhu r2,0x0196(r5) Load Unit's MP Healing 0007f664: 3c018009 lui r1,0x8009 0007f668: a42262da sh r2,0x62da(r1) Store Unit's MP Healing 0007f66c: 90a2019e lbu r2,0x019e(r5) Load Unit's SP Change 0007f670: 00000000 nop 0007f674: 3042007f andi r2,r2,0x007f Disable negative flag 0007f678: 304200ff andi r2,r2,0x00ff ...wut (useless line) 0007f67c: 3c018009 lui r1,0x8009 0007f680: a42262de sh r2,0x62de(r1) Store SP Bonus 0007f684: 3c018009 lui r1,0x8009 0007f688: a42262dc sh r2,0x62dc(r1) Store SP Damage 0007f68c: 90a2019f lbu r2,0x019f(r5) Load CT Change 0007f690: 00000000 nop 0007f694: 3042007f andi r2,r2,0x007f 0007f698: 304200ff andi r2,r2,0x00ff 0007f69c: 3c018009 lui r1,0x8009 0007f6a0: a42262e2 sh r2,0x62e2(r1) Store CT Bonus 0007f6a4: 3c018009 lui r1,0x8009 0007f6a8: a42262e0 sh r2,0x62e0(r1) Store CT Damage 0007f6ac: 90a201a2 lbu r2,0x01a2(r5) Load Brave Change 0007f6b0: 00000000 nop 0007f6b4: 3042007f andi r2,r2,0x007f 0007f6b8: 304200ff andi r2,r2,0x00ff 0007f6bc: 3c018009 lui r1,0x8009 0007f6c0: a42262e6 sh r2,0x62e6(r1) Store Brave Bonus 0007f6c4: 3c018009 lui r1,0x8009 0007f6c8: a42262e4 sh r2,0x62e4(r1) Store Brave Damage 0007f6cc: 90a201a3 lbu r2,0x01a3(r5) Load Faith Change 0007f6d0: 00000000 nop 0007f6d4: 3042007f andi r2,r2,0x007f 0007f6d8: 304200ff andi r2,r2,0x00ff 0007f6dc: 3c018009 lui r1,0x8009 0007f6e0: a42262ea sh r2,0x62ea(r1) Store Faith Bonus 0007f6e4: 3c018009 lui r1,0x8009 0007f6e8: a42262e8 sh r2,0x62e8(r1) Store Faith Damage 0007f6ec: 90a201a0 lbu r2,0x01a0(r5) Load PA Change 0007f6f0: 34040001 ori r4,r0,0x0001 Display Type = 1 0007f6f4: 3042007f andi r2,r2,0x007f 0007f6f8: 304200ff andi r2,r2,0x00ff 0007f6fc: 3c018009 lui r1,0x8009 0007f700: a42262ee sh r2,0x62ee(r1) Store PA Bonus 0007f704: 3c018009 lui r1,0x8009 0007f708: a42262ec sh r2,0x62ec(r1) Store PA Damage 0007f70c: 90a201a1 lbu r2,0x01a1(r5) Load MA Change 0007f710: 00001821 addu r3,r0,r0 Counter = 0 0007f714: 3042007f andi r2,r2,0x007f 0007f718: 304200ff andi r2,r2,0x00ff 0007f71c: 3c018009 lui r1,0x8009 0007f720: a42262f2 sh r2,0x62f2(r1) Store MA Bonus 0007f724: 3c018009 lui r1,0x8009 0007f728: a42262f0 sh r2,0x62f0(r1) Store MA Damage 0007f72c: 8ec501b8 lw r5,0x01b8(r22) Load Display Flags 0007f730: 00000000 nop 0007f734: 00851024 and r2,r4,r5 0007f738: 14400066 bne r2,r0,0x0007f8d4 Branch if Displaying one of the above 0007f73c: 00031040 sll r2,r3,0x01 Counter * 2 0007f740: 24630001 addiu r3,r3,0x0001 Counter ++ 0007f744: 28620010 slti r2,r3,0x0010 0007f748: 1440fff9 bne r2,r0,0x0007f730 Branch if Display Counter < 0x10 0007f74c: 00042040 sll r4,r4,0x01 Display Type * 2 0007f750: 0801fe43 j 0x0007f90c 0007f754: 00000000 nop 0007f758: 3c020001 lui r2,0x0001 0007f75c: 00621024 and r2,r3,r2 0007f760: 10400005 beq r2,r0,0x0007f778 Branch if not displaying -"1Lv." 0007f764: 3c02fffe lui r2,0xfffe 0007f768: 3442ffff ori r2,r2,0xffff Disable -"1Lv." Flag 0007f76c: 8ec301b8 lw r3,0x01b8(r22) Load Display Flags 0007f770: 0801fe1d j 0x0007f874 0007f774: 34040080 ori r4,r0,0x0080 Display Type = -"1Lv." 0007f778: 3c020002 lui r2,0x0002 0007f77c: 00621024 and r2,r3,r2 0007f780: 10400005 beq r2,r0,0x0007f798 Branch if not displaying +"1Lv." 0007f784: 3c02fffd lui r2,0xfffd 0007f788: 3442ffff ori r2,r2,0xffff Disable +"1Lv." Flag 0007f78c: 8ec301b8 lw r3,0x01b8(r22) Load Display Flags 0007f790: 0801fe1d j 0x0007f874 0007f794: 34040090 ori r4,r0,0x0090 Display Type = +"1Lv." 0007f798: 3c020004 lui r2,0x0004 0007f79c: 00621024 and r2,r3,r2 0007f7a0: 10400005 beq r2,r0,0x0007f7b8 Branch if not displaying "Stolen" 0007f7a4: 3c02fffb lui r2,0xfffb 0007f7a8: 3442ffff ori r2,r2,0xffff Disable "Stolen" Flag 0007f7ac: 8ec301b8 lw r3,0x01b8(r22) Load Display Flags 0007f7b0: 0801fe1d j 0x0007f874 0007f7b4: 340400a0 ori r4,r0,0x00a0 Display Type = "Stolen" 0007f7b8: 3c020008 lui r2,0x0008 0007f7bc: 00621024 and r2,r3,r2 0007f7c0: 10400005 beq r2,r0,0x0007f7d8 Branch if not displaying "Broken" 0007f7c4: 3c02fff7 lui r2,0xfff7 0007f7c8: 3442ffff ori r2,r2,0xffff Disable "Broken" Flag 0007f7cc: 8ec301b8 lw r3,0x01b8(r22) Load Display Flags 0007f7d0: 0801fe1d j 0x0007f874 0007f7d4: 340400b0 ori r4,r0,0x00b0 Display Type = "Broken" 0007f7d8: 3c020010 lui r2,0x0010 0007f7dc: 00621024 and r2,r3,r2 0007f7e0: 10400005 beq r2,r0,0x0007f7f8 Branch if not displaying "Quick" 0007f7e4: 3c02ffef lui r2,0xffef 0007f7e8: 3442ffff ori r2,r2,0xffff Disable "Quick" Flag 0007f7ec: 8ec301b8 lw r3,0x01b8(r22) Load Display Flags 0007f7f0: 0801fe1d j 0x0007f874 0007f7f4: 340400c0 ori r4,r0,0x00c0 Display Type = "Quick" 0007f7f8: 3c020020 lui r2,0x0020 0007f7fc: 00621024 and r2,r3,r2 0007f800: 10400005 beq r2,r0,0x0007f818 Branch if not displaying "CT0" 0007f804: 3c02ffdf lui r2,0xffdf 0007f808: 3442ffff ori r2,r2,0xffff Disable "CT0" Flag 0007f80c: 8ec301b8 lw r3,0x01b8(r22) Load Display Flags 0007f810: 0801fe1d j 0x0007f874 0007f814: 340400d0 ori r4,r0,0x00d0 Display Type = "CT0" 0007f818: 3c020040 lui r2,0x0040 0007f81c: 00621024 and r2,r3,r2 0007f820: 10400005 beq r2,r0,0x0007f838 Branch if not displaying "Missed!" 0007f824: 3c02ffbf lui r2,0xffbf 0007f828: 3442ffff ori r2,r2,0xffff Disable "Missed!" Flag 0007f82c: 8ec301b8 lw r3,0x01b8(r22) Load Display Flags 0007f830: 0801fe1d j 0x0007f874 0007f834: 34040010 ori r4,r0,0x0010 Display Type = "Missed!" 0007f838: 3c020080 lui r2,0x0080 0007f83c: 00621024 and r2,r3,r2 0007f840: 10400005 beq r2,r0,0x0007f858 Branch if not displaying "Guarded" 0007f844: 3c02ff7f lui r2,0xff7f 0007f848: 3442ffff ori r2,r2,0xffff Disable "Guarded" Flag 0007f84c: 8ec301b8 lw r3,0x01b8(r22) Load Display Flags 0007f850: 0801fe1d j 0x0007f874 0007f854: 34040020 ori r4,r0,0x0020 Display Type = "Guarded" 0007f858: 3c020100 lui r2,0x0100 0007f85c: 00621024 and r2,r3,r2 0007f860: 10400008 beq r2,r0,0x0007f884 Branch if not displaying "Caught" 0007f864: 3c02feff lui r2,0xfeff 0007f868: 3442ffff ori r2,r2,0xffff Disable "Caught" Flag 0007f86c: 8ec301b8 lw r3,0x01b8(r22) Load Display Flags 0007f870: 34040030 ori r4,r0,0x0030 Display Type = "Caught" 0007f874: a6c402be sh r4,0x02be(r22) Store new Display Type 0007f878: 00621824 and r3,r3,r2 Disable Display Flag 0007f87c: 0801fe43 j 0x0007f90c 0007f880: aec301b8 sw r3,0x01b8(r22) Store new Display Flags 0007f884: 92c201b7 lbu r2,0x01b7(r22) Load Inflicted/Removed Status Counter 0007f888: 00000000 nop 0007f88c: 104002c8 beq r2,r0,0x000803b0 Branch if I/R Counter = 0 0007f890: 00001021 addu r2,r0,r0 r2 = 0 (fail?) 0007f894: 92c201b7 lbu r2,0x01b7(r22) Load Inflicted/Removed Status Counter 0007f898: 00000000 nop 0007f89c: 2442ffff addiu r2,r2,0xffff Counter -- 0007f8a0: a2c201b7 sb r2,0x01b7(r22) Store new I/R Status Counter 0007f8a4: 92c201b7 lbu r2,0x01b7(r22) Load Inflicted/Removed Status Counter 0007f8a8: 00000000 nop 0007f8ac: 02c21021 addu r2,r22,r2 0007f8b0: 905101bc lbu r17,0x01bc(r2) Load Inflicted/Removed Status ID 0007f8b4: 00000000 nop 0007f8b8: 32220080 andi r2,r17,0x0080 0007f8bc: 14400002 bne r2,r0,0x0007f8c8 Branch if Status is being removed 0007f8c0: 34020070 ori r2,r0,0x0070 Display Type = Status Removal 0007f8c4: 34020060 ori r2,r0,0x0060 Display Type = Status Infliction 0007f8c8: a6820002 sh r2,0x0002(r20) Store Display Type 0007f8cc: 0801fe43 j 0x0007f90c 0007f8d0: 3231007f andi r17,r17,0x007f r17 = Status ID without Removal Flag 0007f8d4: 3c018009 lui r1,0x8009 0007f8d8: 00220821 addu r1,r1,r2 0007f8dc: 942262d4 lhu r2,0x62d4(r1) Load Display Value 0007f8e0: 00000000 nop 0007f8e4: a6820004 sh r2,0x0004(r20) Store Number to Display 0007f8e8: 3c018009 lui r1,0x8009 0007f8ec: 00230821 addu r1,r1,r3 0007f8f0: 90223d08 lbu r2,0x3d08(r1) Load Display Type 0007f8f4: 00000000 nop 0007f8f8: a6820002 sh r2,0x0002(r20) Store Display Type 0007f8fc: 8ec301b8 lw r3,0x01b8(r22) Load Display Flags 0007f900: 00041027 nor r2,r0,r4 0007f904: 00431024 and r2,r2,r3 Disable Display Type's Flag 0007f908: aec201b8 sw r2,0x01b8(r22) Store new Display Flags 0007f90c: 8ec20134 lw r2,0x0134(r22) Load Unit's Data Pointer 0007f910: 00000000 nop 0007f914: 9042018d lbu r2,0x018d(r2) Load ? Limit 0007f918: 00000000 nop 0007f91c: 10400004 beq r2,r0,0x0007f930 Branch if ? Limit = 0 0007f920: 00000000 nop 0007f924: 96820002 lhu r2,0x0002(r20) Load Display Type 0007f928: 0801fe4f j 0x0007f93c 0007f92c: 34420200 ori r2,r2,0x0200 Enable ? 0007f930: 96820002 lhu r2,0x0002(r20) Load Display Type 0007f934: 00000000 nop 0007f938: 3042fdff andi r2,r2,0xfdff Disable ? 0007f93c: a6820002 sh r2,0x0002(r20) Store new Display Type 0007f940: 96820006 lhu r2,0x0006(r20) Load ? 0007f944: 34030001 ori r3,r0,0x0001 r3 = 1 0007f948: 2c420016 sltiu r2,r2,0x0016 0007f94c: 14400003 bne r2,r0,0x0007f95c Branch if ? < 0x16 0007f950: a2830000 sb r3,0x0000(r20) Store ? = 1 0007f954: 34020015 ori r2,r0,0x0015 r2 = 0x15 0007f958: a6820006 sh r2,0x0006(r20) Store new ? 0007f95c: 96820002 lhu r2,0x0002(r20) Load Display Type 0007f960: 00000000 nop 0007f964: 304301ff andi r3,r2,0x01ff 0007f968: 2c6200d1 sltiu r2,r3,0x00d1 0007f96c: 1040001a beq r2,r0,0x0007f9d8 Branch if Display Type >= 0xd1 0007f970: 00031080 sll r2,r3,0x02 Type * 4 0007f974: 3c018006 lui r1,0x8006 0007f978: 00220821 addu r1,r1,r2 0007f97c: 8c227838 lw r2,0x7838(r1) Load Type's Code Pointer 0007f980: 00000000 nop 0007f984: 00400008 jr r2 0007f988: 00000000 nop
*HP Damage, SP Damage, CT Damage, Brave Damage, Faith Damage, PA Damage, MA Damage, Status Infliction, -"1Lv.", "Stolen", "Broken", "Quick", "CT0"* 0007f98c: 34080080 ori r8,r0,0x0080 Green = 128 0007f990: 34070080 ori r7,r0,0x0080 Blue = 128 0007f994: 0801fe76 j 0x0007f9d8 0007f998: 34060080 ori r6,r0,0x0080 Red = 128 *MP Damage* 0007f99c: 34060078 ori r6,r0,0x0078 Red = 120 0007f9a0: 3407003c ori r7,r0,0x003c Blue = 60 0007f9a4: 0801fe76 j 0x0007f9d8 0007f9a8: 340800dc ori r8,r0,0x00dc Green = 220
*HP Healing, SP Bonus, CT Bonus, Brave Bonus, Faith Bonus, PA Bonus, MA Bonus, Status Removal, +"1Lv."* 0007f9ac: 34060028 ori r6,r0,0x0028 Red = 40 0007f9b0: 3407008c ori r7,r0,0x008c Blue = 140 0007f9b4: 0801fe76 j 0x0007f9d8 0007f9b8: 340800dc ori r8,r0,0x00dc Green = 220 *MP Healing* 0007f9bc: 3406004e ori r6,r0,0x004e Red = 78 0007f9c0: 3407008c ori r7,r0,0x008c Blue = 140 0007f9c4: 0801fe76 j 0x0007f9d8 0007f9c8: 3408001e ori r8,r0,0x001e Green = 30
*"Missed!", "Guarded", "Caught"* 0007f9cc: 340600be ori r6,r0,0x00be Red = 190 0007f9d0: 34070028 ori r7,r0,0x0028 Blue = 40 0007f9d4: 3408000a ori r8,r0,0x000a Green = 10
*Default* 0007f9d8: 8e830010 lw r3,0x0010(r20) Load Numerical Display Pointer 3 0007f9dc: 8e840008 lw r4,0x0008(r20) Load Numerical Display Pointer 2 0007f9e0: 8e82000c lw r2,0x000c(r20) Load Numerical Display Pointer 1 0007f9e4: a0660000 sb r6,0x0000(r3) Store Red Values 0007f9e8: a0460000 sb r6,0x0000(r2) 0007f9ec: a0860000 sb r6,0x0000(r4) 0007f9f0: 8e830010 lw r3,0x0010(r20) Reload pointers >_> 0007f9f4: 8e840008 lw r4,0x0008(r20) 0007f9f8: 8e82000c lw r2,0x000c(r20) 0007f9fc: a0670001 sb r7,0x0001(r3) Store Blue Values 0007fa00: a0470001 sb r7,0x0001(r2) 0007fa04: a0870001 sb r7,0x0001(r4) 0007fa08: 8e840008 lw r4,0x0008(r20) Reload Pointers <_< 0007fa0c: 8e83000c lw r3,0x000c(r20) 0007fa10: 8e820010 lw r2,0x0010(r20) 0007fa14: 3c051062 lui r5,0x1062 0007fa18: a0480002 sb r8,0x0002(r2) Store Green Value 0007fa1c: a0680002 sb r8,0x0002(r3) 0007fa20: a0880002 sb r8,0x0002(r4) 0007fa24: 96840004 lhu r4,0x0004(r20) Load Number to Display 0007fa28: 34a54dd3 ori r5,r5,0x4dd3 0007fa2c: 00850019 multu r4,r5 Number * 0.064 0007fa30: 00001010 mfhi r2 0007fa34: 00021182 srl r2,r2,0x06 Number / 1000 0007fa38: 3042ffff andi r2,r2,0xffff 0007fa3c: 10400005 beq r2,r0,0x0007fa54 Branch if Number doesn't have 1000's digit 0007fa40: 34020009 ori r2,r0,0x0009 r2 = 9 0007fa44: afa20030 sw r2,0x0030(r29) Store Hundreds = 9 0007fa48: afa2002c sw r2,0x002c(r29) Store Tens = 9 0007fa4c: 0801feb7 j 0x0007fadc 0007fa50: afa20028 sw r2,0x0028(r29) Store Ones = 9 0007fa54: 3c05cccc lui r5,0xcccc 0007fa58: 34a5cccd ori r5,r5,0xcccd 0007fa5c: 00850019 multu r4,r5 Number * 0.8 0007fa60: 00001810 mfhi r3 0007fa64: 000318c2 srl r3,r3,0x03 Number / 10 0007fa68: 00031080 sll r2,r3,0x02 Number / 10 * 4 0007fa6c: 00431021 addu r2,r2,r3 Number / 10 * 5 0007fa70: 00021040 sll r2,r2,0x01 Number / 10 * 10 0007fa74: 00821023 subu r2,r4,r2 Number MOD 10 0007fa78: 3042ffff andi r2,r2,0xffff 0007fa7c: afa20028 sw r2,0x0028(r29) Store Ones Digit 0007fa80: 96820004 lhu r2,0x0004(r20) Load Number to Display 0007fa84: 00000000 nop 0007fa88: 00450019 multu r2,r5 Number * 0.8 0007fa8c: 00002010 mfhi r4 0007fa90: 000420c2 srl r4,r4,0x03 Number / 10 0007fa94: 3084ffff andi r4,r4,0xffff 0007fa98: 00850019 multu r4,r5 Number / 10 * 0.8 0007fa9c: 3c0551eb lui r5,0x51eb 0007faa0: 00001810 mfhi r3 0007faa4: 000318c2 srl r3,r3,0x03 Number / 100 0007faa8: 00031080 sll r2,r3,0x02 Number / 100 * 4 0007faac: 00431021 addu r2,r2,r3 Number / 100 * 5 0007fab0: 00021040 sll r2,r2,0x01 Number / 100 * 10 0007fab4: 00822023 subu r4,r4,r2 (Number / 10) MOD 10 0007fab8: 3084ffff andi r4,r4,0xffff 0007fabc: afa4002c sw r4,0x002c(r29) Store Tens Digit 0007fac0: 96820004 lhu r2,0x0004(r20) Load Number to Display 0007fac4: 34a5851f ori r5,r5,0x851f 0007fac8: 00450019 multu r2,r5 Number * 0.32 0007facc: 00001010 mfhi r2 0007fad0: 00021142 srl r2,r2,0x05 Number / 100 0007fad4: 3042ffff andi r2,r2,0xffff 0007fad8: afa20030 sw r2,0x0030(r29) Store Hundreds Digit 0007fadc: 00002821 addu r5,r0,r0 Section Counter = 0 0007fae0: 00003021 addu r6,r0,r0 X Shift = 0 0007fae4: 8e900008 lw r16,0x0008(r20) Load Numerical Display Pointer 1 0007fae8: 8e97000c lw r23,0x000c(r20) Load Numerical Display Pointer 2 0007faec: 8e950010 lw r21,0x0010(r20) Load Numerical Display Pointer 3 0007faf0: 2407ffe0 addiu r7,r0,0xffe0 Y Shift = -0x20 0007faf4: afa00010 sw r0,0x0010(r29) Store X Load Location = 0 0007faf8: afa00014 sw r0,0x0014(r29) Store Y Load Location = 0 0007fafc: afa00018 sw r0,0x0018(r29) Store Image Width = 0 0007fb00: afa0001c sw r0,0x001c(r29) Store Image Height = 0 0007fb04: afa00020 sw r0,0x0020(r29) Store Y Load Location Byte 2? = 0 0007fb08: 0c01ed3b jal 0x0007b4ec Store Display Data 0007fb0c: 02002021 addu r4,r16,r0 r4 = Numerical Display Pointer 1 0007fb10: 02e02021 addu r4,r23,r0 r4 = Numerical Display Pointer 2 0007fb14: 00002821 addu r5,r0,r0 Section Counter = 0 0007fb18: 00003021 addu r6,r0,r0 X Shift = 0 0007fb1c: 2407ffe0 addiu r7,r0,0xffe0 Y Shift = -0x20 0007fb20: afa00010 sw r0,0x0010(r29) Store X Load Location = 0 0007fb24: afa00014 sw r0,0x0014(r29) Store Y Load Location = 0 0007fb28: afa00018 sw r0,0x0018(r29) Store Image Width = 0 0007fb2c: afa0001c sw r0,0x001c(r29) Store Image Height = 0 0007fb30: 0c01ed3b jal 0x0007b4ec Store Display Data 0007fb34: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 0007fb38: 96840002 lhu r4,0x0002(r20) Load Display Type 0007fb3c: 34080060 ori r8,r0,0x0060 r8 = 0x60 0007fb40: 308301ff andi r3,r4,0x01ff 0007fb44: 10680174 beq r3,r8,0x00080118 Branch if Display Type = Status Infliction 0007fb48: 28620061 slti r2,r3,0x0061 0007fb4c: 10400017 beq r2,r0,0x0007fbac Branch if Display Type >= 0x61 0007fb50: 28620010 slti r2,r3,0x0010 0007fb54: 10400007 beq r2,r0,0x0007fb74 Branch if Display Type >= 0x10 0007fb58: 28620004 slti r2,r3,0x0004 0007fb5c: 104000b6 beq r2,r0,0x0007fe38 Branch if Display Type >= 0x04 0007fb60: 00000000 nop 0007fb64: 0460020b bltz r3,0x00080394 Branch if Display Type is negative 0007fb68: 00000000 nop 0007fb6c: 0801ff0b j 0x0007fc2c (HP/MP Damage/Healing) 0007fb70: 00000000 nop
*Display Type >= 0x10* 0007fb74: 34020020 ori r2,r0,0x0020 0007fb78: 10620150 beq r3,r2,0x000800bc Branch if Display Type = "Guarded" 0007fb7c: 28620021 slti r2,r3,0x0021 0007fb80: 10400005 beq r2,r0,0x0007fb98 Branch if Display Type >= 0x21 0007fb84: 34020010 ori r2,r0,0x0010 0007fb88: 10620140 beq r3,r2,0x0008008c Branch if Display Type = "Missed" 0007fb8c: 02a02021 addu r4,r21,r0 r4 = Numerical Display Pointer 3 0007fb90: 080200e5 j 0x00080394 0007fb94: 00000000 nop
*Display Type >= 0x21* 0007fb98: 34020030 ori r2,r0,0x0030 0007fb9c: 10620153 beq r3,r2,0x000800ec Branch if Display Type = "Caught" 0007fba0: 02a02021 addu r4,r21,r0 r4 = Numerical Display Pointer 3 0007fba4: 080200e5 j 0x00080394 0007fba8: 00000000 nop'
*Display Type >= 0x61* 0007fbac: 340200a0 ori r2,r0,0x00a0 0007fbb0: 106201a8 beq r3,r2,0x00080254 Branch if Display Type = "Stolen" 0007fbb4: 286200a1 slti r2,r3,0x00a1 0007fbb8: 1040000e beq r2,r0,0x0007fbf4 Branch if Display Type >= 0xa1 0007fbbc: 34020080 ori r2,r0,0x0080 0007fbc0: 1062016d beq r3,r2,0x00080178 Branch if Display Type = -"1Lv." 0007fbc4: 28620081 slti r2,r3,0x0081 0007fbc8: 10400005 beq r2,r0,0x0007fbe0 Branch if Display Type >= 0x81 0007fbcc: 34020070 ori r2,r0,0x0070 0007fbd0: 10620152 beq r3,r2,0x0008011c Branch if Display Type = Status Removal 0007fbd4: 322200ff andi r2,r17,0x00ff r2 = Status ID 0007fbd8: 080200e5 j 0x00080394 0007fbdc: 00000000 nop
- Display Type >= 0x81*
0007fbe0: 34020090 ori r2,r0,0x0090 0007fbe4: 10620181 beq r3,r2,0x000801ec Branch if Display Type = +"1Lv." 0007fbe8: 02e02021 addu r4,r23,r0 r4 = Numerical Display Pointer 2 0007fbec: 080200e5 j 0x00080394 0007fbf0: 00000000 nop
*Display Type >= 0xa1* 0007fbf4: 340200c0 ori r2,r0,0x00c0 0007fbf8: 106201b9 beq r3,r2,0x000802e0 Branch if Display Type = "Quick" 0007fbfc: 286200c1 slti r2,r3,0x00c1 0007fc00: 10400005 beq r2,r0,0x0007fc18 Branch if Display Type >= 0xc1 0007fc04: 340200b0 ori r2,r0,0x00b0 0007fc08: 106201a4 beq r3,r2,0x0008029c Branch if Display Type = "Broken" 0007fc0c: 02a02021 addu r4,r21,r0 r4 = Numerical Display Pointer 3 0007fc10: 080200e5 j 0x00080394 0007fc14: 00000000 nop
*Display Type >= 0xc1* 0007fc18: 340200d0 ori r2,r0,0x00d0 0007fc1c: 106201c2 beq r3,r2,0x00080328 Branch if Display Type = "CT0" 0007fc20: 02e02021 addu r4,r23,r0 r4 = Numerical Display Pointer 2 0007fc24: 080200e5 j 0x00080394 0007fc28: 00000000 nop
*Display Type = HP/MP Damage/Healing* 0007fc2c: 96820002 lhu r2,0x0002(r20) Load Display Type 0007fc30: 00000000 nop 0007fc34: 30420001 andi r2,r2,0x0001 0007fc38: 14400002 bne r2,r0,0x0007fc44 Branch if Display Type is for Healing 0007fc3c: 241effe0 addiu r30,r0,0xffe0 r30 = -0x20 0007fc40: 341e0010 ori r30,r0,0x0010 r30 = 0x10 0007fc44: 02e02021 addu r4,r23,r0 r4 = Numerical Data Pointer 2 0007fc48: 00002821 addu r5,r0,r0 Section Counter = 0 0007fc4c: 2406fff2 addiu r6,r0,0xfff2 X Shift = -0xe 0007fc50: 001e1400 sll r2,r30,0x10 0007fc54: 00029c03 sra r19,r2,0x10 0007fc58: 02603821 addu r7,r19,r0 Y Shift = -0x20 or 0x10 0007fc5c: afa00010 sw r0,0x0010(r29) Store X Load Location = 0 0007fc60: afa00014 sw r0,0x0014(r29) Store Y Load Location = 0 0007fc64: afa00018 sw r0,0x0018(r29) Store Image Width = 0 0007fc68: afa0001c sw r0,0x001c(r29) Store Image Height = 0 0007fc6c: 0c01ed3b jal 0x0007b4ec Store Display Data 0007fc70: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 0007fc74: 02a02021 addu r4,r21,r0 r4 = Numerical Display Section 3 0007fc78: 00002821 addu r5,r0,r0 Section Counter = 0 0007fc7c: 2406ffeb addiu r6,r0,0xffeb X Shift = -0x15 0007fc80: 02603821 addu r7,r19,r0 Y Shift = -0x20 or 0x10 0007fc84: afa00010 sw r0,0x0010(r29) Store X Load Location = 0 0007fc88: afa00014 sw r0,0x0014(r29) Store Y Load Location = 0 0007fc8c: afa00018 sw r0,0x0018(r29) Store Image Width = 0 0007fc90: afa0001c sw r0,0x001c(r29) Store Image Height = 0 0007fc94: 0c01ed3b jal 0x0007b4ec Store Display Data 0007fc98: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 0007fc9c: 8fa30030 lw r3,0x0030(r29) Load Hundreds Digit 0007fca0: 8fa2002c lw r2,0x002c(r29) Load Tens Digit 0007fca4: 00000000 nop 0007fca8: 00621025 or r2,r3,r2 Hundreds + Tens 0007fcac: 14400012 bne r2,r0,0x0007fcf8 Branch if Number >= 10 0007fcb0: 02002021 addu r4,r16,r0 r4 = Numerical Display Pointer 1 0007fcb4: 00002821 addu r5,r0,r0 Section Counter = 0 0007fcb8: 2406ffeb addiu r6,r0,0xffeb X Shift = -0x15 0007fcbc: 02603821 addu r7,r19,r0 Y Shift = -0x20 or 0x10 0007fcc0: 8fa20028 lw r2,0x0028(r29) Load Ones Digit 0007fcc4: 34030030 ori r3,r0,0x0030 0007fcc8: afa30014 sw r3,0x0014(r29) Store Y Load Location = 0x30 0007fccc: 34030008 ori r3,r0,0x0008 0007fcd0: afa30018 sw r3,0x0018(r29) Store Image Width = 0x8 0007fcd4: 34030010 ori r3,r0,0x0010 0007fcd8: afa3001c sw r3,0x001c(r29) Store Image Height = 0x10 0007fcdc: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 0007fce0: 000210c0 sll r2,r2,0x03 Digit * 8 0007fce4: 244200a8 addiu r2,r2,0x00a8 X Load Location = 0xa8 + Digit * 8 0007fce8: 00021400 sll r2,r2,0x10 0007fcec: 00021403 sra r2,r2,0x10 0007fcf0: 080200e3 j 0x0008038c (Store display data) 0007fcf4: afa20010 sw r2,0x0010(r29) Store X Load Location 0007fcf8: 14600021 bne r3,r0,0x0007fd80 Branch if Number >= 100 0007fcfc: 00002821 addu r5,r0,r0 Section Counter = 0 0007fd00: 02002021 addu r4,r16,r0 r4 = Numerical Data Pointer 1 0007fd04: 2406fff2 addiu r6,r0,0xfff2 X Shift = -0xe 0007fd08: 02603821 addu r7,r19,r0 Y Shift = -0x20 or 0x10 0007fd0c: 34120030 ori r18,r0,0x0030 0007fd10: 34110008 ori r17,r0,0x0008 0007fd14: 8fa20028 lw r2,0x0028(r29) Load Ones Digit 0007fd18: 34100010 ori r16,r0,0x0010 0007fd1c: afb20014 sw r18,0x0014(r29) Store Y Load Location = 0x30 0007fd20: afb10018 sw r17,0x0018(r29) Store Image Width = 0x8 0007fd24: afb0001c sw r16,0x001c(r29) Store Image Height = 0x10 0007fd28: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 0007fd2c: 000210c0 sll r2,r2,0x03 Digit * 8 0007fd30: 244200a8 addiu r2,r2,0x00a8 X Load Location = 0xa8 + Digit * 8 0007fd34: 00021400 sll r2,r2,0x10 0007fd38: 00021403 sra r2,r2,0x10 0007fd3c: 0c01ed3b jal 0x0007b4ec Store Display Data 0007fd40: afa20010 sw r2,0x0010(r29) Store X Load Location 0007fd44: 02e02021 addu r4,r23,r0 r4 = Numerical Display Pointer 2 0007fd48: 00002821 addu r5,r0,r0 Section Counter = 0 0007fd4c: 2406ffeb addiu r6,r0,0xffeb X Shift = -0x15 0007fd50: 8fa2002c lw r2,0x002c(r29) Load Tens Digit 0007fd54: 02603821 addu r7,r19,r0 Y Shift = -0x20 or 0x10 0007fd58: afb20014 sw r18,0x0014(r29) Store Y Load Location = 0x30 0007fd5c: afb10018 sw r17,0x0018(r29) Store Image Width = 0x8 0007fd60: afb0001c sw r16,0x001c(r29) Store Image Width = 0x10 0007fd64: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 0007fd68: 000210c0 sll r2,r2,0x03 Digit * 8 0007fd6c: 244200a8 addiu r2,r2,0x00a8 X Load Location = 0xa8 + Digit * 8 0007fd70: 00021400 sll r2,r2,0x10 0007fd74: 00021403 sra r2,r2,0x10 0007fd78: 080200e3 j 0x0008038c (store display data) 0007fd7c: afa20010 sw r2,0x0010(r29) Store X Load Location 0007fd80: 2406fff9 addiu r6,r0,0xfff9 X Shift = -0x7 0007fd84: 02603821 addu r7,r19,r0 Y Shift = -0x20 or 0x10 0007fd88: 34120030 ori r18,r0,0x0030 0007fd8c: 34110008 ori r17,r0,0x0008 0007fd90: 8fa20028 lw r2,0x0028(r29) Load Ones Digit 0007fd94: 34100010 ori r16,r0,0x0010 0007fd98: afb20014 sw r18,0x0014(r29) Store Y Load Location = 0x30 0007fd9c: afb10018 sw r17,0x0018(r29) Store Image Width = 0x8 0007fda0: afb0001c sw r16,0x001c(r29) Store Image Height = 0x10 0007fda4: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 0007fda8: 000210c0 sll r2,r2,0x03 Digit * 8 0007fdac: 244200a8 addiu r2,r2,0x00a8 X Load Location = 0xa8 + Digit * 8 0007fdb0: 00021400 sll r2,r2,0x10 0007fdb4: 00021403 sra r2,r2,0x10 0007fdb8: 0c01ed3b jal 0x0007b4ec Store Display Data 0007fdbc: afa20010 sw r2,0x0010(r29) Store X Load Location 0007fdc0: 02e02021 addu r4,r23,r0 r4 = Numerical Display Pointer 2 0007fdc4: 00002821 addu r5,r0,r0 Section Counter = 0 0007fdc8: 2406fff2 addiu r6,r0,0xfff2 X Shift = -0xe 0007fdcc: 8fa2002c lw r2,0x002c(r29) Load Tens Digit 0007fdd0: 02603821 addu r7,r19,r0 Y Shift = -0x20 or 0x10 0007fdd4: afb20014 sw r18,0x0014(r29) Store Y Load Location = 0x30 0007fdd8: afb10018 sw r17,0x0018(r29) Store Image Width = 0x8 0007fddc: afb0001c sw r16,0x001c(r29) Store Image Height = 0x10 0007fde0: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 0007fde4: 000210c0 sll r2,r2,0x03 Digit * 8 0007fde8: 244200a8 addiu r2,r2,0x00a8 X Load Location = 0xa8 + Digit * 8 0007fdec: 00021400 sll r2,r2,0x10 0007fdf0: 00021403 sra r2,r2,0x10 0007fdf4: 0c01ed3b jal 0x0007b4ec Store Display Data 0007fdf8: afa20010 sw r2,0x0010(r29) Store X Load Location 0007fdfc: 02a02021 addu r4,r21,r0 r4 = Numerical Display Pointer 3 0007fe00: 00002821 addu r5,r0,r0 Section Counter = 0 0007fe04: 2406ffeb addiu r6,r0,0xffeb X Shift = -0x15 0007fe08: 8fa20030 lw r2,0x0030(r29) Load Hundreds Digit 0007fe0c: 02603821 addu r7,r19,r0 Y Shift = -0x20 or 0x10 0007fe10: afb20014 sw r18,0x0014(r29) Store Y Load Location = 0x30 0007fe14: afb10018 sw r17,0x0018(r29) Store Image Width = 0x8 0007fe18: afb0001c sw r16,0x001c(r29) Store Image Height = 0x10 0007fe1c: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 0007fe20: 000210c0 sll r2,r2,0x03 Digit * 8 0007fe24: 244200a8 addiu r2,r2,0x00a8 X Load Location = 0xa8 + Digit * 8 0007fe28: 00021400 sll r2,r2,0x10 0007fe2c: 00021403 sra r2,r2,0x10 0007fe30: 080200e3 j 0x0008038c (Store Display Data) 0007fe34: afa20010 sw r2,0x0010(r29) Store X Load Location
*Display Type >= 0x04* 0007fe38: 30820001 andi r2,r4,0x0001 0007fe3c: 14400002 bne r2,r0,0x0007fe48 Branch if Display Type is for a Bonus 0007fe40: 241effe0 addiu r30,r0,0xffe0 Y Shift = -0x20 0007fe44: 341e0010 ori r30,r0,0x0010 Y Shift = 0x10 0007fe48: 8fa2002c lw r2,0x002c(r29) Load Tens Digit 0007fe4c: 00000000 nop 0007fe50: 1440000d bne r2,r0,0x0007fe88 Branch if Number >= 10 0007fe54: 02002021 addu r4,r16,r0 r4 = Numerical Display Pointer 1 0007fe58: 00002821 addu r5,r0,r0 Section Counter = 0 0007fe5c: 2406fff2 addiu r6,r0,0xfff2 X Shift = -0xe 0007fe60: 001e3c00 sll r7,r30,0x10 0007fe64: 00073c03 sra r7,r7,0x10 Y Shift = -0x20 or 0x10 0007fe68: 8fa20028 lw r2,0x0028(r29) Load Ones Digit 0007fe6c: 34030030 ori r3,r0,0x0030 0007fe70: afa30014 sw r3,0x0014(r29) Store Y Load Location = 0x30 0007fe74: 34030008 ori r3,r0,0x0008 0007fe78: afa30018 sw r3,0x0018(r29) Store Image Width = 0x8 0007fe7c: 34030010 ori r3,r0,0x0010 0007fe80: 0801ffbd j 0x0007fef4 (finish setting up and store display data) 0007fe84: afa3001c sw r3,0x001c(r29) Store Image Height = 0x10 0007fe88: 00002821 addu r5,r0,r0 Section Counter = 0 0007fe8c: 2406fff2 addiu r6,r0,0xfff2 X Shift = -0xe 0007fe90: 001e8400 sll r16,r30,0x10 0007fe94: 00108403 sra r16,r16,0x10 0007fe98: 02003821 addu r7,r16,r0 Y Shift = -0x20 or 0x10 0007fe9c: 34130030 ori r19,r0,0x0030 0007fea0: 34120008 ori r18,r0,0x0008 0007fea4: 8fa20028 lw r2,0x0028(r29) Load Ones Digit 0007fea8: 34110010 ori r17,r0,0x0010 0007feac: afb30014 sw r19,0x0014(r29) Store Y Load Location = 0x30 0007feb0: afb20018 sw r18,0x0018(r29) Store Image Width = 0x8 0007feb4: afb1001c sw r17,0x001c(r29) Store Image Height = 0x10 0007feb8: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 0007febc: 000210c0 sll r2,r2,0x03 Digit * 8 0007fec0: 244200a8 addiu r2,r2,0x00a8 X Load Location = 0xa8 + Digit * 8 0007fec4: 00021400 sll r2,r2,0x10 0007fec8: 00021403 sra r2,r2,0x10 0007fecc: 0c01ed3b jal 0x0007b4ec Store Display Data 0007fed0: afa20010 sw r2,0x0010(r29) Store X Load Location 0007fed4: 02e02021 addu r4,r23,r0 r4 = Numerical Display Pointer 2 0007fed8: 00002821 addu r5,r0,r0 Section Counter = 0 0007fedc: 2406ffeb addiu r6,r0,0xffeb X Shift = -0x15 0007fee0: 8fa2002c lw r2,0x002c(r29) Load Tens Digit 0007fee4: 02003821 addu r7,r16,r0 Y Shift = -0x20 or 0x10 0007fee8: afb30014 sw r19,0x0014(r29) Store Y Load Location = 0x30 0007feec: afb20018 sw r18,0x0018(r29) Store Image Width = 0x08 0007fef0: afb1001c sw r17,0x001c(r29) Store Image Height = 0x10 0007fef4: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 0007fef8: 000210c0 sll r2,r2,0x03 Digit * 8 0007fefc: 244200a8 addiu r2,r2,0x00a8 X Load Location = 0xa8 + Digit * 8 0007ff00: 00021400 sll r2,r2,0x10 0007ff04: 00021403 sra r2,r2,0x10 0007ff08: 0c01ed3b jal 0x0007b4ec Store Display Data 0007ff0c: afa20010 sw r2,0x0010(r29) Store X Load Location 0007ff10: 96820002 lhu r2,0x0002(r20) Load Display Type 0007ff14: 00000000 nop 0007ff18: 3042000e andi r2,r2,0x000e (X Bonus = X Damage; makes every other pointer useless) 0007ff1c: 2443fffc addiu r3,r2,0xfffc Display Type - 4 (gets 0-a ID) 0007ff20: 2c62000b sltiu r2,r3,0x000b 0007ff24: 1040011b beq r2,r0,0x00080394 Branch if Display Type >= 0xb (negative error checking) 0007ff28: 00031080 sll r2,r3,0x02 (Display Type - 4) * 4 0007ff2c: 3c018006 lui r1,0x8006 0007ff30: 00220821 addu r1,r1,r2 0007ff34: 8c227b80 lw r2,0x7b80(r1) Load Display Type's Code Pointer 0007ff38: 00000000 nop 0007ff3c: 00400008 jr r2 0007ff40: 00000000 nop
*Display Type = SP Damage/Bonus* 0007ff44: 02a02021 addu r4,r21,r0 r4 = Numerical Display Pointer 3 0007ff48: 00002821 addu r5,r0,r0 Section Counter = 0 0007ff4c: 2406fff9 addiu r6,r0,0xfff9 X Shift = -0x7 0007ff50: 001e3c00 sll r7,r30,0x10 0007ff54: 00073c03 sra r7,r7,0x10 Y Shift = -0x20 or 0x10 0007ff58: 3402009c ori r2,r0,0x009c 0007ff5c: afa20010 sw r2,0x0010(r29) Store X Load Location = 0x9c 0007ff60: 340200c2 ori r2,r0,0x00c2 ("Speed" image) 0007ff64: afa20014 sw r2,0x0014(r29) Store Y Load Location = 0xc2 0007ff68: 34020018 ori r2,r0,0x0018 0007ff6c: afa20018 sw r2,0x0018(r29) Store Image Width = 0x18 0007ff70: 3402000a ori r2,r0,0x000a 0007ff74: 080200e2 j 0x00080388 (Store Display Data) 0007ff78: afa2001c sw r2,0x001c(r29) Store Image Height = 0xa
*Display Type = CT Damage/Bonus* 0007ff7c: 02a02021 addu r4,r21,r0 r4 = Numerical Display Pointer 3 0007ff80: 00002821 addu r5,r0,r0 Section Counter = 0 0007ff84: 2406fff9 addiu r6,r0,0xfff9 X Shift = -0x7 0007ff88: 001e3c00 sll r7,r30,0x10 0007ff8c: 00073c03 sra r7,r7,0x10 Y Shift = -0x20 or 0x10 0007ff90: 340200c2 ori r2,r0,0x00c2 ("CT" image) 0007ff94: afa20010 sw r2,0x0010(r29) Store X Load Location = 0xc2 0007ff98: afa20014 sw r2,0x0014(r29) Store Y Load Location = 0xc2 0007ff9c: 3402000e ori r2,r0,0x000e 0007ffa0: afa20018 sw r2,0x0018(r29) Store Image Width = 0xe 0007ffa4: 3402000a ori r2,r0,0x000a 0007ffa8: 080200e2 j 0x00080388 (Store Display Data) 0007ffac: afa2001c sw r2,0x001c(r29) Store Image Height = 0xa
*Display Type = Brave Damage/Bonus* 0007ffb0: 02a02021 addu r4,r21,r0 r4 = Numerical Display Pointer 3 0007ffb4: 00002821 addu r5,r0,r0 Section Counter = 0 0007ffb8: 2406fff9 addiu r6,r0,0xfff9 X Shift = -0x7 0007ffbc: 001e3c00 sll r7,r30,0x10 0007ffc0: 00073c03 sra r7,r7,0x10 Y Shift = -0x20 or 0x10 0007ffc4: 340200a8 ori r2,r0,0x00a8 0007ffc8: afa20010 sw r2,0x0010(r29) Store X Load Location = 0xa8 0007ffcc: 340200b8 ori r2,r0,0x00b8 ("Br" image) 0007ffd0: afa20014 sw r2,0x0014(r29) Store Y Load Location = 0xb8 0007ffd4: 3402000b ori r2,r0,0x000b 0007ffd8: afa20018 sw r2,0x0018(r29) Store Image Width = 0xb 0007ffdc: 3402000a ori r2,r0,0x000a 0007ffe0: 080200e2 j 0x00080388 (Store Display Data) 0007ffe4: afa2001c sw r2,0x001c(r29) Store Image Height = 0xa
*Display Type = Faith Damage/Bonus* 0007ffe8: 02a02021 addu r4,r21,r0 r4 = Numerical Display Pointer 3 0007ffec: 00002821 addu r5,r0,r0 Section Counter = 0 0007fff0: 2406fff9 addiu r6,r0,0xfff9 X Shift = -0x7 0007fff4: 001e3c00 sll r7,r30,0x10 0007fff8: 00073c03 sra r7,r7,0x10 Y Shift = -0x20 or 0x10 0007fffc: 3402009c ori r2,r0,0x009c 00080000: afa20010 sw r2,0x0010(r29) Store X Load Location = 0x9c 00080004: 340200b8 ori r2,r0,0x00b8 ("Fa" image) 00080008: afa20014 sw r2,0x0014(r29) Store Y Load Location = 0xb8 0008000c: 3402000c ori r2,r0,0x000c 00080010: afa20018 sw r2,0x0018(r29) Store Image Width = 0xc 00080014: 3402000a ori r2,r0,0x000a 00080018: 080200e2 j 0x00080388 (Store Display Data) 0008001c: afa2001c sw r2,0x001c(r29) Store Image Height = 0xa
*Display Type = PA Damage/Bonus* 00080020: 02a02021 addu r4,r21,r0 r4 = Numerical Display Pointer 3 00080024: 00002821 addu r5,r0,r0 Section Counter = 0 00080028: 2406fff9 addiu r6,r0,0xfff9 X Shift = -0x7 0008002c: 001e3c00 sll r7,r30,0x10 00080030: 00073c03 sra r7,r7,0x10 Y Shift = -0x20 or 0x10 00080034: 34020040 ori r2,r0,0x0040 00080038: afa20010 sw r2,0x0010(r29) Store X Load Location = 0x40 0008003c: 3402000c ori r2,r0,0x000c (Sword icon) 00080040: afa20018 sw r2,0x0018(r29) Store Image Width = 0xc 00080044: 3402000d ori r2,r0,0x000d 00080048: afa00014 sw r0,0x0014(r29) Store Y Load Location = 0 0008004c: 080200e2 j 0x00080388 (Store Display Data) 00080050: afa2001c sw r2,0x001c(r29) Store Image Height = 0xd
*Display Type = MA Damage/Bonus* 00080054: 02a02021 addu r4,r21,r0 r4 = Numerical Display Pointer 3 00080058: 00002821 addu r5,r0,r0 Section Counter = 0 0008005c: 2406fff9 addiu r6,r0,0xfff9 X Shift = -0x7 00080060: 001e3c00 sll r7,r30,0x10 00080064: 00073c03 sra r7,r7,0x10 Y Shift = -0x20 or 0x10 00080068: 34020040 ori r2,r0,0x0040 0008006c: afa20010 sw r2,0x0010(r29) Store X Load Location = 0x40 00080070: 3402000d ori r2,r0,0x000d (Rod icon) 00080074: afa20014 sw r2,0x0014(r29) Store Y Load Location = 0xd 00080078: 3402000b ori r2,r0,0x000b 0008007c: afa20018 sw r2,0x0018(r29) Store Image Width = 0xb 00080080: 3402000a ori r2,r0,0x000a 00080084: 080200e2 j 0x00080388 (Store Display Data) 00080088: afa2001c sw r2,0x001c(r29) Store Image Height = 0xa
*Display Type = "Missed!"* 0008008c: 00002821 addu r5,r0,r0 Section Counter = 0 00080090: 2406ffeb addiu r6,r0,0xffeb X Shift = -0x15 00080094: 2407ffe0 addiu r7,r0,0xffe0 Y Shift = -0x20 00080098: 340200be ori r2,r0,0x00be 0008009c: afa20010 sw r2,0x0010(r29) Store X Load Location = 0xbe 000800a0: 34020048 ori r2,r0,0x0048 ("Missed!" image) 000800a4: afa20014 sw r2,0x0014(r29) Store Y Load Location = 0x48 000800a8: 3402001b ori r2,r0,0x001b 000800ac: afa20018 sw r2,0x0018(r29) Store Image Width = 0x1b 000800b0: 34020008 ori r2,r0,0x0008 000800b4: 080200e2 j 0x00080388 (Store Display Data) 000800b8: afa2001c sw r2,0x001c(r29) Store Image Height = 0x8
*Display Type = "Guarded"* 000800bc: 02a02021 addu r4,r21,r0 r4 = Numerical Display Pointer 3 000800c0: 00002821 addu r5,r0,r0 Section Counter = 0 000800c4: 2406ffeb addiu r6,r0,0xffeb X Shift = -0x15 000800c8: 2407ffe0 addiu r7,r0,0xffe0 Y Shift = -0x20 000800cc: 340200b8 ori r2,r0,0x00b8 000800d0: afa20010 sw r2,0x0010(r29) Store X Load Location = 0xb8 000800d4: 3402001e ori r2,r0,0x001e ("Guarded" image) 000800d8: afa20018 sw r2,0x0018(r29) Store Image Width = 0x1e 000800dc: 34020008 ori r2,r0,0x0008 000800e0: afa80014 sw r8,0x0014(r29) Store Y Load Location = 0x60 000800e4: 080200e2 j 0x00080388 (Store Display Data) 000800e8: afa2001c sw r2,0x001c(r29) Store Image Hight = 0x8
*Display Type = "Caught"* 000800ec: 00002821 addu r5,r0,r0 Section Counter = 0 000800f0: 2406ffeb addiu r6,r0,0xffeb X Shift = -0x15 000800f4: 2407ffe0 addiu r7,r0,0xffe0 Y Shift = -0x20 000800f8: 340200e6 ori r2,r0,0x00e6 000800fc: afa20014 sw r2,0x0014(r29) Store Y Load Location = 0xe6 00080100: 3402001a ori r2,r0,0x001a ("Caught" image) 00080104: afa20018 sw r2,0x0018(r29) Store Image Width = 0x1a 00080108: 3402000a ori r2,r0,0x000a 0008010c: afa30010 sw r3,0x0010(r29) Store X Load Location = 0x30 00080110: 080200e2 j 0x00080388 00080114: afa2001c sw r2,0x001c(r29) Store Image Height = 0xa
*Display Type = Status Infliction* 00080118: 322200ff andi r2,r17,0x00ff r2 = Status ID *Display Type = Status Removal* 0008011c: 00021080 sll r2,r2,0x02 Status ID * 4 00080120: 3c018015 lui r1,0x8015 00080124: 00220821 addu r1,r1,r2 00080128: 9023cf68 lbu r3,-0x3098(r1) Load X Load Location 0008012c: 02a02021 addu r4,r21,r0 00080130: afa30010 sw r3,0x0010(r29) Store X Load Location 00080134: 3c018015 lui r1,0x8015 00080138: 00220821 addu r1,r1,r2 0008013c: 9023cf69 lbu r3,-0x3097(r1) Load Y Load Location 00080140: 00002821 addu r5,r0,r0 Section Counter = 0 00080144: afa30014 sw r3,0x0014(r29) Store Y Load Location 00080148: 3c018015 lui r1,0x8015 0008014c: 00220821 addu r1,r1,r2 00080150: 9023cf6a lbu r3,-0x3096(r1) Load Image Width 00080154: 2406ffeb addiu r6,r0,0xffeb X Shift = -0x15 00080158: afa30018 sw r3,0x0018(r29) Store Image Width 0008015c: 3c018015 lui r1,0x8015 00080160: 00220821 addu r1,r1,r2 00080164: 9022cf6b lbu r2,-0x3095(r1) Load Image Height 00080168: 2407ffe0 addiu r7,r0,0xffe0 Y Shift = -0x20 0008016c: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 00080170: 080200e3 j 0x0008038c (Store Display Data) 00080174: afa2001c sw r2,0x001c(r29) Store Image Height *Display Type = -"1Lv."* 00080178: 02e02021 addu r4,r23,r0 r4 = Numerical Display Pointer 2 0008017c: 00002821 addu r5,r0,r0 Section Counter = 0 00080180: 2406fff9 addiu r6,r0,0xfff9 X Shift = -0x7 00080184: 34070010 ori r7,r0,0x0010 Y Shift = 0x10 00080188: 340200b0 ori r2,r0,0x00b0 0008018c: afa20010 sw r2,0x0010(r29) Store X Load Location = 0xb0 00080190: 34020030 ori r2,r0,0x0030 00080194: afa20014 sw r2,0x0014(r29) Store Y Load Location = 0x30 00080198: 34020008 ori r2,r0,0x0008 ("1") 0008019c: afa20018 sw r2,0x0018(r29) Store Image Width = 0x8 000801a0: 34020010 ori r2,r0,0x0010 000801a4: afa2001c sw r2,0x001c(r29) Store Image Height = 0x10 000801a8: 0c01ed3b jal 0x0007b4ec Store Display Data 000801ac: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 000801b0: 02a02021 addu r4,r21,r0 r4 = Numerical Display Pointer 3 000801b4: 00002821 addu r5,r0,r0 Section Counter = 0 000801b8: 00003021 addu r6,r0,r0 X Shift = 0 000801bc: 34070010 ori r7,r0,0x0010 Y Shift = 0x10 000801c0: 340200b4 ori r2,r0,0x00b4 000801c4: afa20010 sw r2,0x0010(r29) Store X Load Location = 0xb4 000801c8: 340200c1 ori r2,r0,0x00c1 ("Lv.") 000801cc: afa20014 sw r2,0x0014(r29) Store Y Load Location = 0xc1 000801d0: 3402000e ori r2,r0,0x000e 000801d4: afa20018 sw r2,0x0018(r29) Store Image Width = 0xe 000801d8: 3402000a ori r2,r0,0x000a 000801dc: afa2001c sw r2,0x001c(r29) Store Image Height = 0xa 000801e0: 0c01ed3b jal 0x0007b4ec Store Display Data 000801e4: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0
***BUG - This basically runs through and loads the same values again, with the only difference being the Y shift, so -"1Lv." uses the Y shift of the +"1Lv."*** 000801e8: 02e02021 addu r4,r23,r0 r4 = Numerical Data Pointer 2 *Display Type = +"1Lv."* 000801ec: 00002821 addu r5,r0,r0 Section Counter = 0 000801f0: 2406fff9 addiu r6,r0,0xfff9 X Shift = -0x7 000801f4: 2407ffe0 addiu r7,r0,0xffe0 Y Shift = -0x20 000801f8: 340200b0 ori r2,r0,0x00b0 000801fc: afa20010 sw r2,0x0010(r29) Store X Load Location = 0xb0 00080200: 34020030 ori r2,r0,0x0030 ("1") 00080204: afa20014 sw r2,0x0014(r29) Store Y Load Location = 0x30 00080208: 34020008 ori r2,r0,0x0008 0008020c: afa20018 sw r2,0x0018(r29) Store Image Width = 0x8 00080210: 34020010 ori r2,r0,0x0010 00080214: afa2001c sw r2,0x001c(r29) Store Image Height = 0x10 00080218: 0c01ed3b jal 0x0007b4ec Store Display Data 0008021c: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 00080220: 02a02021 addu r4,r21,r0 r4 = Numerical Display Pointer 3 00080224: 00002821 addu r5,r0,r0 Section Counter = 0 00080228: 00003021 addu r6,r0,r0 X Shift = 0 0008022c: 2407ffe0 addiu r7,r0,0xffe0 Y Shift = -0x20 00080230: 340200b4 ori r2,r0,0x00b4 00080234: afa20010 sw r2,0x0010(r29) Store X Load Location = 0xb4 00080238: 340200c1 ori r2,r0,0x00c1 ("Lv.") 0008023c: afa20014 sw r2,0x0014(r29) Store Y Load Location = 0xc1 00080240: 3402000e ori r2,r0,0x000e 00080244: afa20018 sw r2,0x0018(r29) Store Image Width = 0xe 00080248: 3402000a ori r2,r0,0x000a 0008024c: 080200e2 j 0x00080388 (Store Display Data) 00080250: afa2001c sw r2,0x001c(r29) Store Image Height = 0xa
*Display Type = "Stolen"* 00080254: 02a02021 addu r4,r21,r0 r4 = Numerical Display Pointer 3 00080258: 00002821 addu r5,r0,r0 Section Counter = 0 0008025c: 2406ffeb addiu r6,r0,0xffeb X Shift = -0x15 00080260: 3c028015 lui r2,0x8015 ("Stolen") 00080264: 9042cfd8 lbu r2,-0x3028(r2) Load X Load Location 00080268: 3c038015 lui r3,0x8015 0008026c: 9063cfd9 lbu r3,-0x3027(r3) Load Y Load Location 00080270: 3c088015 lui r8,0x8015 00080274: 9108cfda lbu r8,-0x3026(r8) Load Image Width 00080278: 3c098015 lui r9,0x8015 0008027c: 9129cfdb lbu r9,-0x3025(r9) Load Image Height 00080280: 2407ffe0 addiu r7,r0,0xffe0 Y Shift = -0x20 00080284: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 00080288: afa20010 sw r2,0x0010(r29) Store X Load Location 0008028c: afa30014 sw r3,0x0014(r29) Store Y Load Location 00080290: afa80018 sw r8,0x0018(r29) Store Image Width 00080294: 080200e3 j 0x0008038c (Store Display Data) 00080298: afa9001c sw r9,0x001c(r29) Store Image Height
*Display Type = "Broken"* 0008029c: 00002821 addu r5,r0,r0 Section Counter = 0 000802a0: 2406ffeb addiu r6,r0,0xffeb X Shift = -0x15 000802a4: 3c028015 lui r2,0x8015 ("Broken") 000802a8: 9042cfdc lbu r2,-0x3024(r2) Load X Load Location 000802ac: 3c038015 lui r3,0x8015 000802b0: 9063cfdd lbu r3,-0x3023(r3) Load Y Load Location 000802b4: 3c088015 lui r8,0x8015 000802b8: 9108cfde lbu r8,-0x3022(r8) Load Image Width 000802bc: 3c098015 lui r9,0x8015 000802c0: 9129cfdf lbu r9,-0x3021(r9) Load Image Height 000802c4: 2407ffe0 addiu r7,r0,0xffe0 Y Shift = -0x20 000802c8: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 000802cc: afa20010 sw r2,0x0010(r29) Store X Load Location 000802d0: afa30014 sw r3,0x0014(r29) Store Y Load Location 000802d4: afa80018 sw r8,0x0018(r29) Store Image Width 000802d8: 080200e3 j 0x0008038c (Store Display Data) 000802dc: afa9001c sw r9,0x001c(r29) Store Image Height
*Display Type = "Quick"* 000802e0: 02a02021 addu r4,r21,r0 r4 = Numeric Display Pointer 3 000802e4: 00002821 addu r5,r0,r0 Section Counter = 0 000802e8: 2406ffeb addiu r6,r0,0xffeb X Shift = -0x15 000802ec: 3c028015 lui r2,0x8015 000802f0: 9042cff8 lbu r2,-0x3008(r2) Load X Load Location 000802f4: 3c038015 lui r3,0x8015 000802f8: 9063cff9 lbu r3,-0x3007(r3) Load Y Load Location 000802fc: 3c088015 lui r8,0x8015 00080300: 9108cffa lbu r8,-0x3006(r8) Load Image Width 00080304: 3c098015 lui r9,0x8015 00080308: 9129cffb lbu r9,-0x3005(r9) Load Image Height 0008030c: 2407ffe0 addiu r7,r0,0xffe0 Y Shift = -0x20 00080310: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 00080314: afa20010 sw r2,0x0010(r29) Store X Load Location 00080318: afa30014 sw r3,0x0014(r29) Store Y Load Location 0008031c: afa80018 sw r8,0x0018(r29) Store Image Width 00080320: 080200e3 j 0x0008038c (Store Display Data) 00080324: afa9001c sw r9,0x001c(r29) Store Image Height
*Display Type = "CT0"* 00080328: 00002821 addu r5,r0,r0 Section Counter = 0 0008032c: 2406fff0 addiu r6,r0,0xfff0 X Shift = -0x10 00080330: 001e8400 sll r16,r30,0x10 00080334: 00108403 sra r16,r16,0x10 00080338: 02003821 addu r7,r16,r0 Y Shift = -0x20 or 0x10? 0008033c: 340200c2 ori r2,r0,0x00c2 "CT" 00080340: afa20010 sw r2,0x0010(r29) Store X Load Location = 0xc2 00080344: afa20014 sw r2,0x0014(r29) Store Y Load Location = 0xc2 00080348: 3402000e ori r2,r0,0x000e 0008034c: 34110008 ori r17,r0,0x0008 00080350: afa20018 sw r2,0x0018(r29) Store Image Width = 0xe 00080354: afb1001c sw r17,0x001c(r29) Store Image Height = 0x8 00080358: 0c01ed3b jal 0x0007b4ec Store Display Data 0008035c: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 00080360: 02a02021 addu r4,r21,r0 r4 = Numeric Display Pointer 3 00080364: 00002821 addu r5,r0,r0 Section Counter = 0 00080368: 00003021 addu r6,r0,r0 X Shift = 0 0008036c: 02003821 addu r7,r16,r0 Y Shift = -0x20 or 0x10? 00080370: 340200a8 ori r2,r0,0x00a8 00080374: afa20010 sw r2,0x0010(r29) Store X Load Location = 0xa8 00080378: 34020034 ori r2,r0,0x0034 ("0") 0008037c: afa20014 sw r2,0x0014(r29) Store Y Load Location = 0x34 00080380: afb10018 sw r17,0x0018(r29) Store Image Width = 8 00080384: afb1001c sw r17,0x001c(r29) Store Image Height = 8 00080388: afa00020 sw r0,0x0020(r29) Store Y Load Location byte 2? = 0 0008038c: 0c01ed3b jal 0x0007b4ec Store Display Data 00080390: 00000000 nop 00080394: 3c048009 lui r4,0x8009 00080398: 24844ba4 addiu r4,r4,0x4ba4 r4 = ? Palette Pointer 0008039c: 34050007 ori r5,r0,0x0007 000803a0: 92c60004 lbu r6,0x0004(r22) Load Unit ID? 000803a4: 0c0249b6 jal 0x000926d8 Get Palette Data 000803a8: 00003821 addu r7,r0,r0 r7 = 0 (Load single Palette) 000803ac: 34020001 ori r2,r0,0x0001 r2 = 1 (success) 000803b0: 8fbf005c lw r31,0x005c(r29) 000803b4: 8fbe0058 lw r30,0x0058(r29) 000803b8: 8fb70054 lw r23,0x0054(r29) 000803bc: 8fb60050 lw r22,0x0050(r29) 000803c0: 8fb5004c lw r21,0x004c(r29) 000803c4: 8fb40048 lw r20,0x0048(r29) 000803c8: 8fb30044 lw r19,0x0044(r29) 000803cc: 8fb20040 lw r18,0x0040(r29) 000803d0: 8fb1003c lw r17,0x003c(r29) 000803d4: 8fb00038 lw r16,0x0038(r29) 000803d8: 27bd0060 addiu r29,r29,0x0060 000803dc: 03e00008 jr r31 000803e0: 00000000 nop
Return Locations
000808a0: 00081764: 00081808: 000888b8: