001b0cf0 - 001b0f04

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

< BATTLE.BIN

001b0cf0: 27bdffc0 addiu r29,r29,0xffc0
001b0cf4: afb20028 sw r18,0x0028(r29)
001b0cf8: 00809021 addu r18,r4,r0
001b0cfc: afb50034 sw r21,0x0034(r29)
001b0d00: 00a0a821 addu r21,r5,r0 	 	 	#palette ID?
001b0d04: 00122840 sll r5,r18,0x01 	 	 	#input 1 * 2
001b0d08: 00b21021 addu r2,r5,r18 	 	 	#? * 3
001b0d0c: 000210c0 sll r2,r2,0x03 	 	 	#? * 0x18
001b0d10: 00521023 subu r2,r2,r18 	 	 	#? * 0x17
001b0d14: 3c06801c lui r6,0x801c
001b0d18: 8cc6c098 lw r6,-0x3f68(r6) 	 	 	#effect target data
001b0d1c: 00022040 sll r4,r2,0x01 	 	 	#? * 0x2e
001b0d20: afbf0038 sw r31,0x0038(r29)
001b0d24: afb40030 sw r20,0x0030(r29)
001b0d28: afb3002c sw r19,0x002c(r29)
001b0d2c: afb10024 sw r17,0x0024(r29)
001b0d30: afb00020 sw r16,0x0020(r29)
001b0d34: 3c01801c lui r1,0x801c
001b0d38: 00240821 addu r1,r1,r4
001b0d3c: 90238568 lbu r3,-0x7a98(r1) 	 	 	#0x801b8560 table? (at 68)
001b0d40: 84c2002c lh r2,0x002c(r6) 	 	 	#0 unless otherwise...?
001b0d44: 00000000 nop
001b0d48: 0043102a slt r2,r2,r3
001b0d4c: 10400064 beq r2,r0,0x001b0ee0 	 	#end if exceeded some value?
001b0d50: 00000000 nop
001b0d54: 84c3000c lh r3,0x000c(r6) 	 	 	#?
001b0d58: 3c01801c lui r1,0x801c
001b0d5c: 00240821 addu r1,r1,r4
001b0d60: 90228566 lbu r2,-0x7a9a(r1) 			#
001b0d64: 00000000 nop
001b0d68: 0062102a slt r2,r3,r2
001b0d6c: 1440005c bne r2,r0,0x001b0ee0
001b0d70: 00000000 nop
001b0d74: 3c01801c lui r1,0x801c
001b0d78: 00240821 addu r1,r1,r4
001b0d7c: 90228567 lbu r2,-0x7a99(r1)
001b0d80: 00000000 nop
001b0d84: 0062102a slt r2,r3,r2
001b0d88: 10400055 beq r2,r0,0x001b0ee0
001b0d8c: 00000000 nop
001b0d90: 3c01801c lui r1,0x801c
001b0d94: 00240821 addu r1,r1,r4
001b0d98: 9022858e lbu r2,-0x7a72(r1)
001b0d9c: 00000000 nop
001b0da0: 1840004f blez r2,0x001b0ee0			#= 0 check
001b0da4: 00008821 addu r17,r0,r0
001b0da8: 00a0a021 addu r20,r5,r0			#input 1 * 2
001b0dac: 00809821 addu r19,r4,r0			#input 1 * 0x2e
001b0db0: 00b21021 addu r2,r5,r18			#input 1 * 3
001b0db4: 000210c0 sll r2,r2,0x03
001b0db8: 00521023 subu r2,r2,r18
001b0dbc: 00021040 sll r2,r2,0x01			#input 1 * 0x2e
001b0dc0: 3c01801c lui r1,0x801c
001b0dc4: 00220821 addu r1,r1,r2
001b0dc8: 90228568 lbu r2,-0x7a98(r1)
001b0dcc: 00000000 nop
001b0dd0: 1840000d blez r2,0x001b0e08			#= 0 check
001b0dd4: 00008021 addu r16,r0,r0
001b0dd8: 3c04801c lui r4,0x801c
001b0ddc: 8c84c098 lw r4,-0x3f68(r4)			#effect target data
001b0de0: 00401821 addu r3,r2,r0
001b0de4: 00901021 addu r2,r4,r16			#data table + index
001b0de8: 90420030 lbu r2,0x0030(r2)			#load 0x30+ as indexed
001b0dec: 00000000 nop
001b0df0: 10400005 beq r2,r0,0x001b0e08		#branch if 0
001b0df4: 00000000 nop
001b0df8: 26100001 addiu r16,r16,0x0001
001b0dfc: 0203102a slt r2,r16,r3			#loop as many times as 801b8568*?
001b0e00: 1440fff9 bne r2,r0,0x001b0de8
001b0e04: 00901021 addu r2,r4,r16
001b0e08: 0c06b6cf jal 0x001adb3c			#001adb3c - 001adc20
001b0e0c: 00000000 nop
001b0e10: 3c03801c lui r3,0x801c
001b0e14: 8c63c098 lw r3,-0x3f68(r3)
001b0e18: 00000000 nop
001b0e1c: 00701821 addu r3,r3,r16
001b0e20: a0620030 sb r2,0x0030(r3)			#store 801bc0d0* at 0x30+ target effect data
001b0e24: 304200ff andi r2,r2,0x00ff
001b0e28: 1040002d beq r2,r0,0x001b0ee0		#end if 0
001b0e2c: 00000000 nop
001b0e30: 3c02801c lui r2,0x801c
001b0e34: 8c42c098 lw r2,-0x3f68(r2)			#effect target data
001b0e38: 3c04801c lui r4,0x801c
001b0e3c: 24848564 addiu r4,r4,0x8564			#effect motion data?
001b0e40: 00501021 addu r2,r2,r16
001b0e44: 90420030 lbu r2,0x0030(r2)			#stored 801bc0d0*
001b0e48: 02642021 addu r4,r19,r4			#motion data + ? * 0x2e
001b0e4c: 00028040 sll r16,r2,0x01			#? * 2
001b0e50: 02028021 addu r16,r16,r2			#? * 3
001b0e54: 00101100 sll r2,r16,0x04
001b0e58: 02028021 addu r16,r16,r2
001b0e5c: 00108080 sll r16,r16,0x02			#? * 0xCC
001b0e60: 3c02801c lui r2,0x801c
001b0e64: 24429278 addiu r2,r2,0x9278
001b0e68: 02028021 addu r16,r16,r2			#801b9278 + 0xCC * ?
001b0e6c: 0c069fd7 jal 0x001a7f5c			001a7f5c - 001a8668 - biggun, graphics calculating routine?
001b0e70: 26050098 addiu r5,r16,0x0098			#parse + 0x98
001b0e74: 02402021 addu r4,r18,r0
001b0e78: 26a57ac0 addiu r5,r21,0x7ac0			#palette + VRAM nonsense
001b0e7c: 30a5ffff andi r5,r5,0xffff
001b0e80: 02003021 addu r6,r16,r0
001b0e84: 0c06c322 jal 0x001b0c88			#001b0c88 - 001b0cec - some palette shit lol
001b0e88: a6020094 sh r2,0x0094(r16)			#store return in ? + 0x94 (some kind of randomised motion?)
001b0e8c: 3c03801c lui r3,0x801c
001b0e90: 8c63c098 lw r3,-0x3f68(r3)			#effect target data
001b0e94: 00000000 nop
001b0e98: 9462002c lhu r2,0x002c(r3)			#
001b0e9c: 00000000 nop
001b0ea0: 24420001 addiu r2,r2,0x0001
001b0ea4: a462002c sh r2,0x002c(r3)			#increment and store
001b0ea8: 00021400 sll r2,r2,0x10
001b0eac: 3c01801c lui r1,0x801c
001b0eb0: 00330821 addu r1,r1,r19
001b0eb4: 90238568 lbu r3,-0x7a98(r1)
001b0eb8: 00021403 sra r2,r2,0x10
001b0ebc: 10430008 beq r2,r3,0x001b0ee0		#end if equals limit
001b0ec0: 26310001 addiu r17,r17,0x0001
001b0ec4: 3c01801c lui r1,0x801c
001b0ec8: 00330821 addu r1,r1,r19
001b0ecc: 9022858e lbu r2,-0x7a72(r1)
001b0ed0: 00000000 nop
001b0ed4: 0222102a slt r2,r17,r2
001b0ed8: 1440ffb5 bne r2,r0,0x001b0db0		#loop while counter is still less than ?
001b0edc: 02802821 addu r5,r20,r0
001b0ee0: 8fbf0038 lw r31,0x0038(r29)
001b0ee4: 8fb50034 lw r21,0x0034(r29)
001b0ee8: 8fb40030 lw r20,0x0030(r29)
001b0eec: 8fb3002c lw r19,0x002c(r29)
001b0ef0: 8fb20028 lw r18,0x0028(r29)
001b0ef4: 8fb10024 lw r17,0x0024(r29)
001b0ef8: 8fb00020 lw r16,0x0020(r29)
001b0efc: 27bd0040 addiu r29,r29,0x0040
001b0f00: 03e00008 jr r31
001b0f04: 00000000 nop

Return Locations

Battle.Bin
001b1b54: 001b1aec - 001b1c00
001b28b8: 001b284c - 001b2964
001b29d8: 001b2970 - 001b2a84
001b2b48: 001b2a88 - 001b2bf8
001b2c78: 001b2c0c - 001b2d24
001b2d98: 001b2d28 - 001b2e5c
001b3888: 001b3820 - 001b3934
001b4168: 001b40f8 - 001b4230