Mark Unit's VRAM Slot as Unoccupied

From Final Fantasy Hacktics Wiki
Revision as of 04:56, 7 October 2022 by Talcall (talk | contribs)
Jump to navigation Jump to search

00085ba0: 00004021 addu r8,r0,r0
00085ba4: 340900ff ori r9,r0,0x00ff
00085ba8: 3c06800a lui r6,0x800a
00085bac: 24c677c4 addiu r6,r6,0x77c4			#unit ID to animate?
00085bb0: 00003821 addu r7,r0,r0
00085bb4: 8cc50000 lw r5,0x0000(r6)			#0x800a77c4 and 0x800aed28
00085bb8: 00000000 nop
00085bbc: 24a2ff02 addiu r2,r5,0xff02			#r2 = r5 - 0xfe
00085bc0: 2c420002 sltiu r2,r2,0x0002			#true if r5 is either fe or ff
00085bc4: 1440000b bne r2,r0,0x00085bf4		#end if so
00085bc8: 25080001 addiu r8,r8,0x0001			#counter + 1
00085bcc: 90830004 lbu r3,0x0004(r4)			#Load unit misc ID
00085bd0: 30a2001f andi r2,r5,0x001f
00085bd4: 14430007 bne r2,r3,0x00085bf4		#branch if unit ID to animate does not match 0x800a77c4
00085bd8: 30a20040 andi r2,r5,0x0040
00085bdc: 14400005 bne r2,r0,0x00085bf4		#branch if flag 0x40 is checked?
00085be0: 00000000 nop
00085be4: acc90000 sw r9,0x0000(r6)			#store unit no longer exists (if 0x40 not checked)
00085be8: 3c01800a lui r1,0x800a
00085bec: 00270821 addu r1,r1,r7
00085bf0: ac2077cc sw r0,0x77cc(r1)			#clear 0x800a77cc + loop counter * 0x7564
00085bf4: 24c67564 addiu r6,r6,0x7564			#next unit?
00085bf8: 29020002 slti r2,r8,0x0002			#repeat only once more
00085bfc: 1440ffed bne r2,r0,0x00085bb4		#perform routine twice
00085c00: 24e77564 addiu r7,r7,0x7564			#0x0000, 0x7564 for loops
00085c04: 03e00008 jr r31
00085c08: 00000000 nop