Store Coordinate,Mount,Animation Data

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

Store Coordinate,Mount,Animation Data 6bbfc: 0006bbfc - 0006bce0

	0017fddc: Set Rider/Mount's X/Y Data
	0007a6e4: Find Current Misc Unit Data Pointer (external ID)?
	0017fddc: Set Rider/Mount's X/Y Data
	00081b0c: Store some coordinate data
	0007d3f4: 0007d3f4 - 0007d474
	000683e4: Transfer Unit's X/Y/Map Level
	00082eec: Set Animation based on status

0006bbfc: 27bdffe0 addiu r29,r29,0xffe0			
0006bc00: afb00018 sw r16,0x0018(r29)			Store 0x0 onto Stack
0006bc04: 00808021 addu r16,r4,r0                      r16 = Misc Unit Data Pointer
0006bc08: afbf001c sw r31,0x001c(r29)			Store 0x0 onto Stack
0006bc0c: 8e040134 lw r4,0x0134(r16)			Load Unit's Data Pointer
0006bc10: 00000000 nop
0006bc14: 10800025 beq r4,r0,0x0006bcac			Branch if Pointer to Unit's Data,  == 0x0
0006bc18: 00000000 nop
0006bc1c: 86020070 lh r2,0x0070(r16)			Load Current Facing? (/ 0x400 = facing)
0006bc20: 9084018a lbu r4,0x018a(r4)			Load Pointer to Unit's Data
0006bc24: 9205007c lbu r5,0x007c(r16)			Load Unit's X Coordinate initialized to ENTD (current location?)
0006bc28: 9206007d lbu r6,0x007d(r16)			Load Unit's Y Coordinate
0006bc2c: 9207007e lbu r7,0x007e(r16)			Load Unit's Map Level (0 = Floor 1, 1 = Floor 2)
0006bc30: 04410002 bgez r2,0x0006bc3c
0006bc34: 00000000 nop
0006bc38: 244203ff addiu r2,r2,0x03ff
0006bc3c: 00021282 srl r2,r2,0x0a			Shift right 10 bits (/0x400) (/1024)r2 = 0x3FF >> A * 0xA (10)
0006bc40: 304200ff andi r2,r2,0x00ff			Mask second byte
0006bc44: 0c05ff77 jal 0x0017fddc			Set Rider/Mount's X/Y Data
0006bc48: afa20010 sw r2,0x0010(r29)			Store 0x3FF >> A onto Stack
0006bc4c: 92020130 lbu r2,0x0130(r16)			Load Mount/Rider Value
0006bc50: 00000000 nop
0006bc54: 10400015 beq r2,r0,0x0006bcac			Branch if Mount/Rider Value == 0x0
0006bc58: 00000000 nop
0006bc5c: 92040004 lbu r4,0x0004(r16)			Load Unit Misc ID?
0006bc60: 0c01e9b9 jal 0x0007a6e4			Find Current Misc Unit Data Pointer (external ID)?
0006bc64: 00000000 nop
0006bc68: 8e030134 lw r3,0x0134(r16)			Load Pointer to Unit's Data
0006bc6c: 00000000 nop
0006bc70: 1060000e beq r3,r0,0x0006bcac			Branch if Pointer to Unit's Data,  == 0x0
0006bc74: 00000000 nop
0006bc78: 8c420134 lw r2,0x0134(r2)			Load Pointer to Unit's Data
0006bc7c: 86030070 lh r3,0x0070(r16)			Load Current Facing? (/ 0x400 = facing)
0006bc80: 9205007c lbu r5,0x007c(r16)			Load Unit's X Coordinate initialized to ENTD (current location?)
0006bc84: 9206007d lbu r6,0x007d(r16)			Load Unit's Y Coordinate
0006bc88: 9207007e lbu r7,0x007e(r16)			Load Unit's Map Level (0 = Floor 1, 1 = Floor 2)
0006bc8c: 9044018a lbu r4,0x018a(r2)			Load Unit Misc ID?
0006bc90: 04610003 bgez r3,0x0006bca0
0006bc94: 00031282 srl r2,r3,0x0a			Shift right 10 bits (/0x400) (/1024)r2 = Current Facing? (/ 0x400 = facing),  * 0xA (10)
0006bc98: 246303ff addiu r3,r3,0x03ff
0006bc9c: 00031282 srl r2,r3,0x0a			Shift right 10 bits (/0x400) (/1024)r2 = 0x3FF * 0xA (10)
0006bca0: 304200ff andi r2,r2,0x00ff			Mask second byte
0006bca4: 0c05ff77 jal 0x0017fddc			Set Rider/Mount's X/Y Data
0006bca8: afa20010 sw r2,0x0010(r29)			Store 0x3FF >> A onto Stack
0006bcac: 0c0206c3 jal 0x00081b0c			Store some coordinate data
0006bcb0: 02002021 addu r4,r16,r0
0006bcb4: 0c01f4fd jal 0x0007d3f4			0007d3f4 - 0007d474
0006bcb8: 02002021 addu r4,r16,r0
0006bcbc: 0c01a0f9 jal 0x000683e4			Transfer Unit's X/Y/Map Level
0006bcc0: 02002021 addu r4,r16,r0
0006bcc4: a200009c sb r0,0x009c(r16)			Store Use 0x9d - 0x9f coordinates for initialization?
0006bcc8: 0c020bbb jal 0x00082eec			Set Animation based on status
0006bccc: 02002021 addu r4,r16,r0
0006bcd0: 8fbf001c lw r31,0x001c(r29)			Load Stack + 0x1C
0006bcd4: 8fb00018 lw r16,0x0018(r29)			Load Stack + 0x18
0006bcd8: 27bd0020 addiu r29,r29,0x0020			
0006bcdc: 03e00008 jr r31			Jump to Address
0006bce0: 00000000 nop