Store Coordinate,Mount,Animation Data
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