Big routine before display data

From Final Fantasy Hacktics Wiki
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: