Get misc data of unit that matches register inputs that isn't crystal/treasure

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

Get misc data of unit that matches register inputs that isn't crystal/treasure 7a3f8: 0007a3f8 - 0007a4f0


0007a3f8: 27bdffb8 addiu r29,r29,0xffb8			
0007a3fc: 3c03800a lui r3,0x800a			
0007a400: 8c638a54 lw r3,-0x75ac(r3)			Load Misc Unit Display Data 
0007a404: 00000000 nop
0007a408: 10600023 beq r3,r0,0x0007a498			Branch if Misc Unit Display Data  == 0x0
0007a40c: 00003821 addu r7,r0,r0
0007a410: 340900ff ori r9,r0,0x00ff			r9 = (0xFF) 255
0007a414: 03a04021 addu r8,r29,r0
0007a418: 9062007c lbu r2,0x007c(r3)			Load Unit's X Coordinate initialized to ENTD (current location?)
0007a41c: 00000000 nop
0007a420: 14440019 bne r2,r4,0x0007a488			Branch if Unit's X Coordinate initialized to ENTD (current location?) != 0x0
0007a424: 00000000 nop
0007a428: 9062007d lbu r2,0x007d(r3)			Load Unit's Y Coordinate
0007a42c: 00000000 nop
0007a430: 14450015 bne r2,r5,0x0007a488			Branch if Unit's Y Coordinate != 0x0
0007a434: 00000000 nop
0007a438: 9062007e lbu r2,0x007e(r3)			Load Unit's Map Level (0 = Floor 1, 1 = Floor 2)
0007a43c: 00000000 nop
0007a440: 14460011 bne r2,r6,0x0007a488			Branch if Unit's Map Level (0 = Floor 1, 1 = Floor 2) != 0x0
0007a444: 00000000 nop
0007a448: 8c620134 lw r2,0x0134(r3)			Load Pointer to Unit's Data
0007a44c: 00000000 nop
0007a450: 1040000d beq r2,r0,0x0007a488			Branch if Pointer to Unit's Data,  == 0x0
0007a454: 00000000 nop
0007a458: 90420001 lbu r2,0x0001(r2)			Load Pointer to Unit's Data
0007a45c: 00000000 nop
0007a460: 10490009 beq r2,r9,0x0007a488			Branch if  == FF (255)
0007a464: 00000000 nop
0007a468: 8c620144 lw r2,0x0144(r3)			Load Status Flags 5 (word)
0007a46c: 00000000 nop
0007a470: 30420009 andi r2,r2,0x0009			Status Flags 5 (word), Status Flags 6,  & 0x9
0007a474: 10400004 beq r2,r0,0x0007a488			Branch if Status Flags 5 (word), Status Flags 6,  & 0x9 == 0x0
0007a478: 00000000 nop
0007a47c: ad030000 sw r3,0x0000(r8)			Store Misc Unit Display Data  into 0x0
0007a480: 25080004 addiu r8,r8,0x0004
0007a484: 24e70001 addiu r7,r7,0x0001
0007a488: 8c630000 lw r3,0x0000(r3)			Load Pointer to previous unit's misc data (00000000 means this is the first)
0007a48c: 00000000 nop
0007a490: 1460ffe1 bne r3,r0,0x0007a418			Branch if Pointer to previous unit's misc data (00000000 means this is the first),  != 0x0
0007a494: 00000000 nop
0007a498: 10e00013 beq r7,r0,0x0007a4e8			Branch if 0x1 == 0x0
0007a49c: 00001021 addu r2,r0,r0
0007a4a0: 18e0000d blez r7,0x0007a4d8
0007a4a4: 00002021 addu r4,r0,r0
0007a4a8: 3c068009 lui r6,0x8009			
0007a4ac: 8cc66118 lw r6,0x6118(r6)			Load Casting units ID? (mimic?), ability CT resolution
0007a4b0: 03a02821 addu r5,r29,r0
0007a4b4: 8ca30000 lw r3,0x0000(r5)			Load Pointer to previous unit's misc data (00000000 means this is the first)
0007a4b8: 00000000 nop
0007a4bc: 90620004 lbu r2,0x0004(r3)			Load Status Flags 5 (word)
0007a4c0: 00000000 nop
0007a4c4: 10460007 beq r2,r6,0x0007a4e4			Branch if  == Casting units ID? (mimic?), ability CT resolution
0007a4c8: 24840001 addiu r4,r4,0x0001
0007a4cc: 0087102a slt r2,r4,r7			Set if 0x1 < 0x1
0007a4d0: 1440fff8 bne r2,r0,0x0007a4b4			Branch if so
0007a4d4: 24a50004 addiu r5,r5,0x0004
0007a4d8: 8fa20000 lw r2,0x0000(r29)			Load Stack + 0x0
0007a4dc: 0801e93a j 0x0007a4e8			
0007a4e0: 00000000 nop
0007a4e4: 00601021 addu r2,r3,r0
0007a4e8: 27bd0048 addiu r29,r29,0x0048			
0007a4ec: 03e00008 jr r31			Jump to Address
0007a4f0: 00000000 nop