Post-Action Display Setup

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
Post-Action Display Setup
000803e4: 27bdffe8 addiu r29,r29,0xffe8
000803e8: 00803021 addu r6,r4,r0		Unit's Misc Data Pointer
000803ec: afbf0010 sw r31,0x0010(r29)
000803f0: 8cc502c4 lw r5,0x02c4(r6)		Load Numerical Display Pointer 1
000803f4: 8cc402c8 lw r4,0x02c8(r6)		Load Numerical Display Pointer 2
000803f8: 8cc302cc lw r3,0x02cc(r6)		Load Numerical Display Pointer 3
000803fc: 3402001f ori r2,r0,0x001f		r2 = 0x1f
00080400: a4620004 sh r2,0x0004(r3)		Ram Spritesheet ID = Frame.bin
00080404: a4820004 sh r2,0x0004(r4)		Ram Spritesheet ID = Frame.bin
00080408: a4a20004 sh r2,0x0004(r5)		Ram Spritesheet ID = Frame.bin
0008040c: 8cc40134 lw r4,0x0134(r6)		Unit's Data Pointer
00080410: 00000000 nop
00080414: 9082018c lbu r2,0x018c(r4)		Load Unit's Hit Flag
00080418: 00000000 nop
0008041c: 104000f4 beq r2,r0,0x 000807f0		Branch if attack Missed
00080420: 248a018c addiu r10,r4,0x018c		r10 = Unit's Current Action Data Pointer
00080424: 908201b1 lbu r2,0x01b1(r4)		Load Unit's Attack Type
00080428: 00000000 nop
0008042c: 30420080 andi r2,r2,0x0080
00080430: 10400005 beq r2,r0,0x 00080448		Branch if Attack Type != HP Damage
00080434: 00000000 nop
00080438: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
0008043c: 00000000 nop
00080440: 34420001 ori r2,r2,0x0001		Enable HP Damage
00080444: acc201b8 sw r2,0x01b8(r6)		Store Display Flags
00080448: 908201b1 lbu r2,0x01b1(r4)		Load Unit's Attack Type
0008044c: 00000000 nop
00080450: 30420040 andi r2,r2,0x0040
00080454: 10400005 beq r2,r0,0x 0008046c		Branch if Attack Type != HP Recovery
00080458: 00000000 nop
0008045c: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
00080460: 00000000 nop
00080464: 34420002 ori r2,r2,0x0002		Enable HP Healing
00080468: acc201b8 sw r2,0x01b8(r6)		Store Display Flags
0008046c: 908201b1 lbu r2,0x01b1(r4)		Load Unit's Attack Type
00080470: 00000000 nop
00080474: 30420020 andi r2,r2,0x0020
00080478: 10400005 beq r2,r0,0x 00080490		Branch if Attack Type != MP Damage
0008047c: 00000000 nop
00080480: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
00080484: 00000000 nop
00080488: 34420004 ori r2,r2,0x0004		Enable MP Damage
0008048c: acc201b8 sw r2,0x01b8(r6)		Store Display Flags
00080490: 908201b1 lbu r2,0x01b1(r4)		Load Unit's Attack Type
00080494: 00000000 nop
00080498: 30420010 andi r2,r2,0x0010
0008049c: 10400005 beq r2,r0,0x 000804b4		Branch if Attack Type != MP Healing
000804a0: 00000000 nop
000804a4: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
000804a8: 00000000 nop
000804ac: 34420008 ori r2,r2,0x0008		Enable MP Healing
000804b0: acc201b8 sw r2,0x01b8(r6)		Store Display Flags
000804b4: 908201b1 lbu r2,0x01b1(r4)		Load Unit's Attack Type
000804b8: 00000000 nop
000804bc: 30420001 andi r2,r2,0x0001
000804c0: 1040006d beq r2,r0,0x 00080678		Branch if Attack Type != 0x1
000804c4: 00000000 nop
000804c8: 9082019e lbu r2,0x019e(r4)		Load SP Change
000804cc: 00000000 nop
000804d0: 1040000d beq r2,r0,0x 00080508		Branch if SP Change = 0
000804d4: 00000000 nop
000804d8: 9082019e lbu r2,0x019e(r4)		Load SP Change
000804dc: 00000000 nop
000804e0: 30420080 andi r2,r2,0x0080
000804e4: 10400004 beq r2,r0,0x 000804f8		Branch if SP Bonus Flag is disabled
000804e8: 00000000 nop
000804ec: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
000804f0: 08020141 j 0x 00080504
000804f4: 34420020 ori r2,r2,0x0020		Enable SP Bonus
000804f8: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
000804fc: 00000000 nop
00080500: 34420010 ori r2,r2,0x0010		Enable SP Damage
00080504: acc201b8 sw r2,0x01b8(r6)		Store Display Flags
00080508: 91430013 lbu r3,0x0013(r10)		Load CT Change
0008050c: 00000000 nop
00080510: 10600019 beq r3,r0,0x 00080578		Branch if CT Change = 0
00080514: 340200ff ori r2,r0,0x00ff
00080518: 14620005 bne r3,r2,0x 00080530		Branch if CT Change != 0xff
0008051c: 00000000 nop
00080520: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
00080524: 3c030010 lui r3,0x0010
00080528: 0802015d j 0x 00080574
0008052c: 00431025 or r2,r2,r3			Enable "Quick"
00080530: 3402007f ori r2,r0,0x007f
00080534: 14620004 bne r3,r2,0x 00080548		Branch if CT Change != 0x7f
00080538: 3c030020 lui r3,0x0020
0008053c: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
00080540: 0802015d j 0x 00080574
00080544: 00431025 or r2,r2,r3			Enable "CT0"
00080548: 91420013 lbu r2,0x0013(r10)		Load CT Change
0008054c: 00000000 nop
00080550: 30420080 andi r2,r2,0x0080
00080554: 10400004 beq r2,r0,0x 00080568		Branch if Bonus Flag is disabled
00080558: 00000000 nop
0008055c: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
00080560: 0802015d j 0x 00080574
00080564: 34420080 ori r2,r2,0x0080		Enable CT Bonus
00080568: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
0008056c: 00000000 nop
00080570: 34420040 ori r2,r2,0x0040		Enable CT Damage
00080574: acc201b8 sw r2,0x01b8(r6)		Store Display Flags
00080578: 91420014 lbu r2,0x0014(r10)		Load PA Change
0008057c: 00000000 nop
00080580: 1040000d beq r2,r0,0x 000805b8		Branch if PA Change = 0
00080584: 00000000 nop
00080588: 91420014 lbu r2,0x0014(r10)		Load PA Change
0008058c: 00000000 nop
00080590: 30420080 andi r2,r2,0x0080
00080594: 10400004 beq r2,r0,0x 000805a8		Branch if Bonus Flag is disabled
00080598: 00000000 nop
0008059c: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
000805a0: 0802016d j 0x 000805b4
000805a4: 34422000 ori r2,r2,0x2000		Enable PA Bonus
000805a8: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
000805ac: 00000000 nop
000805b0: 34421000 ori r2,r2,0x1000		Enable PA Damage
000805b4: acc201b8 sw r2,0x01b8(r6)		Store Display Flags
000805b8: 91420015 lbu r2,0x0015(r10)		Load MA Change
000805bc: 00000000 nop
000805c0: 1040000d beq r2,r0,0x 000805f8		Branch if MA Change = 0
000805c4: 00000000 nop
000805c8: 91420015 lbu r2,0x0015(r10)		Load MA Change
000805cc: 00000000 nop
000805d0: 30420080 andi r2,r2,0x0080
000805d4: 10400004 beq r2,r0,0x 000805e8		Branch if Bonus Flag is disabled
000805d8: 00000000 nop
000805dc: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
000805e0: 0802017d j 0x 000805f4
000805e4: 34428000 ori r2,r2,0x8000		Enable MA Bonus
000805e8: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
000805ec: 00000000 nop
000805f0: 34424000 ori r2,r2,0x4000		Enable MA Damage
000805f4: acc201b8 sw r2,0x01b8(r6)		Store Display Flags
000805f8: 91420016 lbu r2,0x0016(r10)		Load Brave Change
000805fc: 00000000 nop
00080600: 1040000d beq r2,r0,0x 00080638		Branch if Brave Change = 0
00080604: 00000000 nop
00080608: 91420016 lbu r2,0x0016(r10)		Load Brave Change
0008060c: 00000000 nop
00080610: 30420080 andi r2,r2,0x0080
00080614: 10400004 beq r2,r0,0x 00080628		Branch if Bonus Flag is disabled
00080618: 00000000 nop
0008061c: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
00080620: 0802018d j 0x 00080634
00080624: 34420200 ori r2,r2,0x0200		Enable Brave Bonus
00080628: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
0008062c: 00000000 nop
00080630: 34420100 ori r2,r2,0x0100		Enable Brave Damage
00080634: acc201b8 sw r2,0x01b8(r6)		Store Display Flags
00080638: 91420017 lbu r2,0x0017(r10)		Load Faith Change
0008063c: 00000000 nop
00080640: 1040000d beq r2,r0,0x 00080678		Branch if Faith Change = 0
00080644: 00000000 nop
00080648: 91420017 lbu r2,0x0017(r10)		Loaf Faith Change
0008064c: 00000000 nop
00080650: 30420080 andi r2,r2,0x0080
00080654: 10400004 beq r2,r0,0x 00080668		Branch if Bonus Flag = 0
00080658: 00000000 nop
0008065c: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
00080660: 0802019d j 0x 00080674
00080664: 34420800 ori r2,r2,0x0800		Enable Faith Bonus
00080668: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
0008066c: 00000000 nop
00080670: 34420400 ori r2,r2,0x0400		Enable Faith Damage
00080674: acc201b8 sw r2,0x01b8(r6)		Store Display Flags
00080678: 95420010 lhu r2,0x0010(r10)		Load Special Flags
0008067c: 00000000 nop
00080680: 30420080 andi r2,r2,0x0080
00080684: 10400005 beq r2,r0,0x 0008069c		Branch if not +"1Lv."
00080688: 3c030002 lui r3,0x0002
0008068c: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
00080690: 00000000 nop
00080694: 00431025 or r2,r2,r3			Enable +"1Lv."
00080698: acc201b8 sw r2,0x01b8(r6)		Store Display Flags
0008069c: 95420010 lhu r2,0x0010(r10)		Load Special Flags
000806a0: 00000000 nop
000806a4: 30420100 andi r2,r2,0x0100
000806a8: 10400005 beq r2,r0,0x 000806c0		Branch if not -"1Lv."
000806ac: 3c030001 lui r3,0x0001
000806b0: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
000806b4: 00000000 nop
000806b8: 00431025 or r2,r2,r3			Enable -"1Lv."
000806bc: acc201b8 sw r2,0x01b8(r6)		Store Display Flags
000806c0: 95420010 lhu r2,0x0010(r10)		Load Special Flags
000806c4: 00000000 nop
000806c8: 30420010 andi r2,r2,0x0010
000806cc: 10400005 beq r2,r0,0x 000806e4		Branch if an Item isn't Stolen
000806d0: 3c030004 lui r3,0x0004
000806d4: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
000806d8: 00000000 nop
000806dc: 00431025 or r2,r2,r3			Enable "Stolen"
000806e0: acc201b8 sw r2,0x01b8(r6)		Store Display Flags
000806e4: 95420010 lhu r2,0x0010(r10)		Load Special Flags
000806e8: 00000000 nop
000806ec: 30421004 andi r2,r2,0x1004
000806f0: 10400005 beq r2,r0,0x 00080708		Branch if an item/katana? isn't broken
000806f4: 3c030008 lui r3,0x0008
000806f8: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
000806fc: 00000000 nop
00080700: 00431025 or r2,r2,r3			Enable "Broken"
00080704: acc201b8 sw r2,0x01b8(r6)		Store Display Flags
00080708: 91420025 lbu r2,0x0025(r10)		Load Unit's Attack Type
0008070c: 00000000 nop
00080710: 30420008 andi r2,r2,0x0008
00080714: 1040005d beq r2,r0,0x 0008088c		Branch if Attack Type != Status Change?
00080718: 00004821 addu r9,r0,r0		Byte Counter = 0
0008071c: a0c001b7 sb r0,0x01b7(r6)		Store Inflicted/Removed Status Counter = 0
00080720: 340c0080 ori r12,r0,0x0080		Current Bit Start = 0x80
00080724: 3c0b8009 lui r11,0x8009
00080728: 256b3d18 addiu r11,r11,0x3d18		r11 = Status ID? Pointer
0008072c: 00003821 addu r7,r0,r0		Bit Counter = 0
00080730: 01494021 addu r8,r10,r9		r8 = Current Status Pointer
00080734: 01602821 addu r5,r11,r0		r5 = Status ID? Pointer
00080738: 90c401b7 lbu r4,0x01b7(r6)		Load Inflicted/Removed Status Counter
0008073c: 00000000 nop
00080740: 2c82001b sltiu r2,r4,0x001b
00080744: 10400020 beq r2,r0,0x 000807c8		Branch if I/R Status Counter >= 0x1b
00080748: 00ec1807 srav r3,r12,r7		Current Bit = Current Bit Start / 2^Bit Counter
0008074c: 9102001b lbu r2,0x001b(r8)		Load Status Infliction Byte
00080750: 00000000 nop
00080754: 00431024 and r2,r2,r3
00080758: 10400007 beq r2,r0,0x 00080778		Branch if Current Status isn't present
0008075c: 00c41021 addu r2,r6,r4
00080760: 90a30000 lbu r3,0x0000(r5)		Load Current Status Display ID
00080764: 00000000 nop
00080768: 10600017 beq r3,r0,0x 000807c8		Branch if ID = 0
0008076c: a04301bc sb r3,0x01bc(r2)		Store I/R Status ID
00080770: 080201ee j 0x 000807b8
00080774: 00000000 nop
00080778: 91020020 lbu r2,0x0020(r8)		Load Removed Status Byte
0008077c: 00000000 nop
00080780: 00431024 and r2,r2,r3
00080784: 10400010 beq r2,r0,0x 000807c8		Branch if Current Status isn't present
00080788: 00c41021 addu r2,r6,r4		
0008078c: 90a30000 lbu r3,0x0000(r5)		Load Current Status Display ID
00080790: 00000000 nop
00080794: 1060000c beq r3,r0,0x 000807c8		Branch if ID = 0
00080798: a04301bc sb r3,0x01bc(r2)		Store I/R Status ID
0008079c: 90c201b7 lbu r2,0x01b7(r6)		Load Inflicted/Removed Status Counter
000807a0: 00000000 nop
000807a4: 00c21021 addu r2,r6,r2
000807a8: 904301bc lbu r3,0x01bc(r2)		Load Inflicted/Removed Status ID
000807ac: 00000000 nop
000807b0: 34630080 ori r3,r3,0x0080		Enable Removal Flag
000807b4: a04301bc sb r3,0x01bc(r2)		Store I/R Status ID
000807b8: 90c201b7 lbu r2,0x01b7(r6)		Load Inflicted/Removed Status Counter
000807bc: 00000000 nop
000807c0: 24420001 addiu r2,r2,0x0001		I/R Status Counter ++
000807c4: a0c201b7 sb r2,0x01b7(r6)		Store I/R Status Counter
000807c8: 24e70001 addiu r7,r7,0x0001		Bit Counter ++
000807cc: 28e20008 slti r2,r7,0x0008
000807d0: 1440ffd9 bne r2,r0,0x 00080738		Branch if Bit Counter < 8
000807d4: 24a50001 addiu r5,r5,0x0001		Status Display ID Counter ++
000807d8: 25290001 addiu r9,r9,0x0001		Byte Counter ++
000807dc: 29220005 slti r2,r9,0x0005
000807e0: 1440ffd2 bne r2,r0,0x 0008072c		Branch if Byte Counter < 5
000807e4: 256b0008 addiu r11,r11,0x0008		Status Display ID Pointer += 8
000807e8: 08020223 j 0x 0008088c
000807ec: 00000000 nop
000807f0: 9083018e lbu r3,0x018e(r4)		Load Evade Type
000807f4: 00000000 nop
000807f8: 10600024 beq r3,r0,0x 0008088c		Branch if Attack Hit
000807fc: 00000000 nop
00080800: 9082018e lbu r2,0x018e(r4)		Load Evade Type
00080804: 00000000 nop
00080808: 2442ffff addiu r2,r2,0xffff
0008080c: 2c420002 sltiu r2,r2,0x0002
00080810: 14400007 bne r2,r0,0x 00080830		Branch if Evade Type = Guarded
00080814: 34020003 ori r2,r0,0x0003
00080818: 10620005 beq r3,r2,0x 00080830		Branch if Evade Type = 0x3
0008081c: 34020007 ori r2,r0,0x0007
00080820: 10620003 beq r3,r2,0x 00080830		Branch if Evade Type = 0x7
00080824: 3402000b ori r2,r0,0x000b
00080828: 14620009 bne r3,r2,0x 00080850		Branch if Evade Type != Blade Grasp?
0008082c: 3402000d ori r2,r0,0x000d
00080830: 91420018 lbu r2,0x0018(r10)		Load Status Change?
00080834: 34030001 ori r3,r0,0x0001
00080838: 30420003 andi r2,r2,0x0003
0008083c: 1043000f beq r2,r3,0x 0008087c		Branch if Status Change? = 0x1
00080840: 3c030080 lui r3,0x0080
00080844: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
00080848: 08020222 j 0x 00080888
0008084c: 00431025 or r2,r2,r3			Enable "Guarded"
00080850: 14620004 bne r3,r2,0x 00080864		Branch if Evade Type != 0xd
00080854: 34020008 ori r2,r0,0x0008
00080858: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
0008085c: 08020221 j 0x 00080884
00080860: 3c030100 lui r3,0x0100		Enable "Caught"
00080864: 10620009 beq r3,r2,0x 0008088c		Branch if Evade Type = 0x8
00080868: 00000000 nop
0008086c: 10600007 beq r3,r0,0x 0008088c		Branch if Evade Type = Hit
00080870: 34020009 ori r2,r0,0x0009
00080874: 10620005 beq r3,r2,0x 0008088c		Branch if Evade Type = Reflected?
00080878: 00000000 nop
0008087c: 8cc201b8 lw r2,0x01b8(r6)		Load Display Flags
00080880: 3c030040 lui r3,0x0040
00080884: 00431025 or r2,r2,r3			Enable "Missed!"
00080888: acc201b8 sw r2,0x01b8(r6)		Store new Evade Flags
0008088c: 90c202bc lbu r2,0x02bc(r6)		Load ?
00080890: 00000000 nop
00080894: 14400004 bne r2,r0,0x 000808a8		Branch if ? != 0
00080898: 00000000 nop
0008089c: a4c002c2 sh r0,0x02c2(r6)		? = 0
000808a0: 0c01fd7e jal 0x0007f5f8		Post-Action Display Data
000808a4: 00c02021 addu r4,r6,r0		r4 = Unit Misc Data Pointer
000808a8: 8fbf0010 lw r31,0x0010(r29)
000808ac: 27bd0018 addiu r29,r29,0x0018
000808b0: 03e00008 jr r31
000808b4: 00000000 nop