001a9bb0 - 001a9f40

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

001a9bb0: 27bdffb8 addiu r29,r29,0xffb8
001a9bb4: afbe0040 sw r30,0x0040(r29)
001a9bb8: 3c1e801c lui r30,0x801c
001a9bbc: 8fde8a4c lw r30,-0x75b4(r30)			#load 4th motion data word
001a9bc0: afb7003c sw r23,0x003c(r29)
001a9bc4: 3c17801c lui r23,0x801c
001a9bc8: 8ef78a40 lw r23,-0x75c0(r23)			#load 1st motion data word
001a9bcc: afb60038 sw r22,0x0038(r29)
001a9bd0: 3c16801c lui r22,0x801c
001a9bd4: 8ed68a44 lw r22,-0x75bc(r22)			#load 2nd motion data word
001a9bd8: afb3002c sw r19,0x002c(r29)
001a9bdc: 00809821 addu r19,r4,r0			#0xd0* pointer (scratchpad effect data?)
001a9be0: afb50034 sw r21,0x0034(r29)
001a9be4: 3c15801c lui r21,0x801c
001a9be8: 8eb58a48 lw r21,-0x75b8(r21)			#load 3rd motion data word
001a9bec: 02605821 addu r11,r19,r0
001a9bf0: afbf0044 sw r31,0x0044(r29)
001a9bf4: afb40030 sw r20,0x0030(r29)
001a9bf8: afb20028 sw r18,0x0028(r29)
001a9bfc: afb10024 sw r17,0x0024(r29)
001a9c00: 126000c3 beq r19,r0,0x001a9f10		#end if 0xd0* pointer = 0
001a9c04: afb00020 sw r16,0x0020(r29)
001a9c08: 3c148102 lui r20,0x8102
001a9c0c: 36940409 ori r20,r20,0x0409			#81020409
001a9c10: 85630008 lh r3,0x0008(r11)			#8*
001a9c14: 8d620018 lw r2,0x0018(r11)			#18*
001a9c18: 007e8823 subu r17,r3,r30			#8* - motion_4
001a9c1c: 02220018 mult r17,r2				#18* x (8* - motion_4)
001a9c20: 8d620024 lw r2,0x0024(r11)			#24*
001a9c24: 00004012 mflo r8
001a9c28: 00021300 sll r2,r2,0x0c			#24* << c					// 0xc shifts is equivalent to times 4096 (decimal), which makes me think, position mod?
001a9c2c: 01024021 addu r8,r8,r2			#24* << c + 18* x (8* - motion_4)
001a9c30: 0103001a div r8,r3				#24* << c + 18* x (8* - motion_4) / 8*
001a9c34: 00004012 mflo r8
001a9c38: 8562000a lh r2,0x000a(r11)			#a*
001a9c3c: 00000000 nop
001a9c40: 02e20018 mult r23,r2				#a* x motion_1
001a9c44: 00005012 mflo r10
001a9c48: 8d62001c lw r2,0x001c(r11)			#1c*
001a9c4c: 00000000 nop
001a9c50: 02220018 mult r17,r2				#1c* x (8* - motion_4)
001a9c54: 85630008 lh r3,0x0008(r11)			#8*
001a9c58: 8d620028 lw r2,0x0028(r11)			#28*
001a9c5c: 00003812 mflo r7
001a9c60: 00021300 sll r2,r2,0x0c			#28* << c
001a9c64: 00e23821 addu r7,r7,r2			#28* << c + 1c* x (8* - motion_4)
001a9c68: 00e3001a div r7,r3				#28* << c + 1c* x (8* - motion_4) / 8*
001a9c6c: 00003812 mflo r7
001a9c70: 8562000a lh r2,0x000a(r11)			#a*
001a9c74: 00000000 nop
001a9c78: 02c20018 mult r22,r2				#a* x motion_2
001a9c7c: 00004812 mflo r9
001a9c80: 8d620020 lw r2,0x0020(r11)			#20*
001a9c84: 00000000 nop
001a9c88: 02220018 mult r17,r2				#20* x (8* - motion_4)
001a9c8c: 85630008 lh r3,0x0008(r11)			#8*
001a9c90: 8d62002c lw r2,0x002c(r11)			#2c*
001a9c94: 00003012 mflo r6
001a9c98: 00021300 sll r2,r2,0x0c
001a9c9c: 00c23021 addu r6,r6,r2
001a9ca0: 00c3001a div r6,r3				#2c* << c + 20* x (8* - motion_4) / 8*
001a9ca4: 00003012 mflo r6
001a9ca8: 25700008 addiu r16,r11,0x0008
001a9cac: 8d730004 lw r19,0x0004(r11)			#ptr. to last frame's data?
001a9cb0: 8564000a lh r4,0x000a(r11)			#a*
001a9cb4: 8d650020 lw r5,0x0020(r11)			#20*
001a9cb8: 000a5303 sra r10,r10,0x0c			#a* x motion_1
001a9cbc: 010a4021 addu r8,r8,r10			#24* << c + 18* x (8* - motion_4) / 8* + a* x motion_1
001a9cc0: 8571004a lh r17,0x004a(r11)			#4a*
001a9cc4: 8d62000c lw r2,0x000c(r11)			#c*
001a9cc8: 8d630018 lw r3,0x0018(r11)			#18*
001a9ccc: 02a40018 mult r21,r4				#a* x motion_3
001a9cd0: 8d64001c lw r4,0x001c(r11)			#1c*
001a9cd4: 00094b03 sra r9,r9,0x0c			#a* x motion_2 << c
001a9cd8: ad680018 sw r8,0x0018(r11)
001a9cdc: 00431021 addu r2,r2,r3
001a9ce0: ad62000c sw r2,0x000c(r11)
001a9ce4: 8d620010 lw r2,0x0010(r11)
001a9ce8: 8d630014 lw r3,0x0014(r11)
001a9cec: 00441021 addu r2,r2,r4
001a9cf0: 00651821 addu r3,r3,r5
001a9cf4: ad620010 sw r2,0x0010(r11)
001a9cf8: ad630014 sw r3,0x0014(r11)
001a9cfc: 00e93821 addu r7,r7,r9
001a9d00: 00001012 mflo r2
001a9d04: 00021303 sra r2,r2,0x0c
001a9d08: ad67001c sw r7,0x001c(r11)
001a9d0c: 00c23021 addu r6,r6,r2
001a9d10: 12200071 beq r17,r0,0x001a9ed8
001a9d14: ad660020 sw r6,0x0020(r11)
001a9d18: 91630045 lbu r3,0x0045(r11)
001a9d1c: 2402ffff addiu r2,r0,0xffff
001a9d20: 2463ffff addiu r3,r3,0xffff
001a9d24: 1062000b beq r3,r2,0x001a9d54
001a9d28: 00031080 sll r2,r3,0x02
001a9d2c: 00431021 addu r2,r2,r3
001a9d30: 00021140 sll r2,r2,0x05
001a9d34: 3c03801c lui r3,0x801c
001a9d38: 8c63bf7c lw r3,-0x4084(r3)
001a9d3c: 85640050 lh r4,0x0050(r11)
001a9d40: 00431021 addu r2,r2,r3
001a9d44: 00441021 addu r2,r2,r4
001a9d48: 90420004 lbu r2,0x0004(r2)
001a9d4c: 0806a756 j 0x001a9d58
001a9d50: 2452ff80 addiu r18,r2,0xff80
001a9d54: 2412ff80 addiu r18,r0,0xff80
001a9d58: 8e020004 lw r2,0x0004(r16)
001a9d5c: 8564003c lh r4,0x003c(r11)
001a9d60: 00021303 sra r2,r2,0x0c
001a9d64: 00822023 subu r4,r4,r2
001a9d68: afa40010 sw r4,0x0010(r29)
001a9d6c: 8e020008 lw r2,0x0008(r16)
001a9d70: 8563003e lh r3,0x003e(r11)
001a9d74: 00021303 sra r2,r2,0x0c
001a9d78: 00622823 subu r5,r3,r2
001a9d7c: afa50014 sw r5,0x0014(r29)
001a9d80: 8e02000c lw r2,0x000c(r16)
001a9d84: 85630040 lh r3,0x0040(r11)
001a9d88: 00021303 sra r2,r2,0x0c
001a9d8c: 00621823 subu r3,r3,r2
001a9d90: 14800005 bne r4,r0,0x001a9da8
001a9d94: afa30018 sw r3,0x0018(r29)
001a9d98: 14a00003 bne r5,r0,0x001a9da8
001a9d9c: 00000000 nop
001a9da0: 10600016 beq r3,r0,0x001a9dfc
001a9da4: 00000000 nop
001a9da8: 27a40010 addiu r4,r29,0x0010
001a9dac: 0c00701a jal 0x0001c068
001a9db0: 00802821 addu r5,r4,r0
001a9db4: 8fa20010 lw r2,0x0010(r29)
001a9db8: 00000000 nop
001a9dbc: 02220018 mult r17,r2
001a9dc0: 00002012 mflo r4
001a9dc4: 8fa20014 lw r2,0x0014(r29)
001a9dc8: 00000000 nop
001a9dcc: 02220018 mult r17,r2
001a9dd0: 00001812 mflo r3
001a9dd4: 8fa20018 lw r2,0x0018(r29)
001a9dd8: 00000000 nop
001a9ddc: 02220018 mult r17,r2
001a9de0: 00042303 sra r4,r4,0x0c
001a9de4: afa40010 sw r4,0x0010(r29)
001a9de8: 00031b03 sra r3,r3,0x0c
001a9dec: afa30014 sw r3,0x0014(r29)
001a9df0: 00001012 mflo r2
001a9df4: 00021303 sra r2,r2,0x0c
001a9df8: afa20018 sw r2,0x0018(r29)
001a9dfc: 8e020028 lw r2,0x0028(r16)
001a9e00: 8fa40010 lw r4,0x0010(r29)
001a9e04: 00000000 nop
001a9e08: 00441023 subu r2,r2,r4
001a9e0c: 00520018 mult r2,r18
001a9e10: 00001812 mflo r3
001a9e14: 00000000 nop
001a9e18: 00000000 nop
001a9e1c: 00740018 mult r3,r20
001a9e20: 00001010 mfhi r2
001a9e24: 00431021 addu r2,r2,r3
001a9e28: 00021183 sra r2,r2,0x06
001a9e2c: 00031fc3 sra r3,r3,0x1f
001a9e30: 00431023 subu r2,r2,r3
001a9e34: 8e03001c lw r3,0x001c(r16)
001a9e38: 00441021 addu r2,r2,r4
001a9e3c: 00431021 addu r2,r2,r3
001a9e40: ae02001c sw r2,0x001c(r16)
001a9e44: 8e02002c lw r2,0x002c(r16)
001a9e48: 8fa40014 lw r4,0x0014(r29)
001a9e4c: 00000000 nop
001a9e50: 00441023 subu r2,r2,r4
001a9e54: 00520018 mult r2,r18
001a9e58: 00001812 mflo r3
001a9e5c: 00000000 nop
001a9e60: 00000000 nop
001a9e64: 00740018 mult r3,r20
001a9e68: 00001010 mfhi r2
001a9e6c: 00431021 addu r2,r2,r3
001a9e70: 00021183 sra r2,r2,0x06
001a9e74: 00031fc3 sra r3,r3,0x1f
001a9e78: 00431023 subu r2,r2,r3
001a9e7c: 8e030020 lw r3,0x0020(r16)
001a9e80: 00441021 addu r2,r2,r4
001a9e84: 00431021 addu r2,r2,r3
001a9e88: ae020020 sw r2,0x0020(r16)
001a9e8c: 8e020030 lw r2,0x0030(r16)
001a9e90: 8fa40018 lw r4,0x0018(r29)
001a9e94: 00000000 nop
001a9e98: 00441023 subu r2,r2,r4
001a9e9c: 00520018 mult r2,r18
001a9ea0: 00001812 mflo r3
001a9ea4: 00000000 nop
001a9ea8: 00000000 nop
001a9eac: 00740018 mult r3,r20
001a9eb0: 00001010 mfhi r2
001a9eb4: 00431021 addu r2,r2,r3
001a9eb8: 00021183 sra r2,r2,0x06
001a9ebc: 00031fc3 sra r3,r3,0x1f
001a9ec0: 00431023 subu r2,r2,r3
001a9ec4: 8e030024 lw r3,0x0024(r16)
001a9ec8: 00441021 addu r2,r2,r4
001a9ecc: 00431021 addu r2,r2,r3
001a9ed0: 0806a7c2 j 0x001a9f08
001a9ed4: ae020024 sw r2,0x0024(r16)
001a9ed8: 8d620024 lw r2,0x0024(r11)
001a9edc: 8d630030 lw r3,0x0030(r11)
001a9ee0: 8d640034 lw r4,0x0034(r11)
001a9ee4: 8d650038 lw r5,0x0038(r11)
001a9ee8: 00431021 addu r2,r2,r3
001a9eec: ad620024 sw r2,0x0024(r11)
001a9ef0: 8d620028 lw r2,0x0028(r11)
001a9ef4: 8d63002c lw r3,0x002c(r11)
001a9ef8: 00441021 addu r2,r2,r4
001a9efc: 00651821 addu r3,r3,r5
001a9f00: ad620028 sw r2,0x0028(r11)
001a9f04: ad63002c sw r3,0x002c(r11)
001a9f08: 1660ff41 bne r19,r0,0x001a9c10
001a9f0c: 02605821 addu r11,r19,r0
001a9f10: 8fbf0044 lw r31,0x0044(r29)
001a9f14: 8fbe0040 lw r30,0x0040(r29)
001a9f18: 8fb7003c lw r23,0x003c(r29)
001a9f1c: 8fb60038 lw r22,0x0038(r29)
001a9f20: 8fb50034 lw r21,0x0034(r29)
001a9f24: 8fb40030 lw r20,0x0030(r29)
001a9f28: 8fb3002c lw r19,0x002c(r29)
001a9f2c: 8fb20028 lw r18,0x0028(r29)
001a9f30: 8fb10024 lw r17,0x0024(r29)
001a9f34: 8fb00020 lw r16,0x0020(r29)
001a9f38: 27bd0048 addiu r29,r29,0x0048
001a9f3c: 03e00008 jr r31
001a9f40: 00000000 nop