Golem Secondary Effect

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

< BATTLE.BIN

001b1aec: 3c04801c lui r4,0x801c
001b1af0: 8c84c098 lw r4,-0x3f68(r4) 	 	 	#current effect target data
001b1af4: 27bdffb8 addiu r29,r29,0xffb8
001b1af8: afbf0040 sw r31,0x0040(r29)
001b1afc: 8c830008 lw r3,0x0008(r4) 	 	 	#current secondary effect stage
001b1b00: 34050002 ori r5,r0,0x0002
001b1b04: 10650012 beq r3,r5,0x001b1b50 	 	#branch if engaging
001b1b08: 2c620003 sltiu r2,r3,0x0003
001b1b0c: 10400005 beq r2,r0,0x001b1b24 	 	#branch if finishing or greater
001b1b10: 34020001 ori r2,r0,0x0001
001b1b14: 10620008 beq r3,r2,0x001b1b38 	 	#branch if initialising
001b1b18: 00c01021 addu r2,r6,r0
001b1b1c: 0806c6fd j 0x001b1bf4
001b1b20: 00000000 nop
001b1b24: 34020003 ori r2,r0,0x0003
001b1b28: 1062000c beq r3,r2,0x001b1b5c 	 	#branch if finishing
001b1b2c: 00c01021 addu r2,r6,r0 
001b1b30: 0806c6fd j 0x001b1bf4 	 	 	#otherwise throw error lol
001b1b34: 00000000 nop
Initialising Golem graphic:
001b1b38: 34060001 ori r6,r0,0x0001
001b1b3c: a480002c sh r0,0x002c(r4)
001b1b40: a480000c sh r0,0x000c(r4)
001b1b44: a480002e sh r0,0x002e(r4)
001b1b48: 0806c6fc j 0x001b1bf0
001b1b4c: ac850008 sw r5,0x0008(r4) 	 	 	#set effect stage to engaging
Engaging golem graphic:
001b1b50: 34040010 ori r4,r0,0x0010
001b1b54: 0c06c33c jal 0x001b0cf0 	 	 	#001b0cf0 - 001b0f04
001b1b58: 3405000d ori r5,r0,0x000d 	 	 	#graphic palette ID?
001b1b5c: 0c06a689 jal 0x001a9a24 	 	 	#001a9a24 - 001a9a38 moves 801b8a4c to 801b8a5c
001b1b60: 00000000 nop 
001b1b64: 0c06a66b jal 0x001a99ac 	 	 	#001a99ac - 001a99b8 stores r4 at 801b8a4c (effect motion data?)
001b1b68: 34040230 ori r4,r0,0x0230
001b1b6c: 34021000 ori r2,r0,0x1000
001b1b70: afa00030 sw r0,0x0030(r29)
001b1b74: afa00028 sw r0,0x0028(r29)
001b1b78: 0c06a66f jal 0x001a99bc 	 	 	#001a99bc - 001a99ec copy some data from 801b8a40 to 801b8a50
001b1b7c: afa2002c sw r2,0x002c(r29)
001b1b80: 0c06a661 jal 0x001a9984 	 	 	#Store first section of on hit effects data store data at 801b8a40
001b1b84: 27a40028 addiu r4,r29,0x0028 	 	#parse stack + 0x28
001b1b88: 0c06c3c2 jal 0x001b0f08 	 	 	#001b0f08 - 001b0fe8 calculates motion data with what's given?
001b1b8c: 34040010 ori r4,r0,0x0010 	 	 	#
001b1b90: 0c06a68f jal 0x001a9a3c 	 	 	#001a9a3c - 001a9a50 moves 801b8a5c to 801b8a4c
001b1b94: 00000000 nop
001b1b98: 0c06a67c jal 0x001a99f0 	 	 	#001a99f0 - 001a9a20 copy some data from 801b8a50 to 801b8a40
001b1b9c: 00000000 nop
001b1ba0: 3c05801c lui r5,0x801c
001b1ba4: 8ca5c098 lw r5,-0x3f68(r5) 	 	 	#effect target data
001b1ba8: 00000000 nop
001b1bac: 84a4002e lh r4,0x002e(r5) 	 	 	#?
001b1bb0: 94a3000c lhu r3,0x000c(r5) 	 	 	#
001b1bb4: 38820001 xori r2,r4,0x0001 	 	 	#flip 0x1 bitflag
001b1bb8: 0002302b sltu r6,r0,r2 	 	 	#true if originally 1
001b1bbc: 24630001 addiu r3,r3,0x0001 	 	 	#0xc* + 1
001b1bc0: 84a2002c lh r2,0x002c(r5) 	 	 	#?
001b1bc4: 00000000 nop
001b1bc8: 14400009 bne r2,r0,0x001b1bf0 	 	#end if not 0
001b1bcc: a4a3000c sh r3,0x000c(r5) 	 	 	#store new 0xC*
001b1bd0: 00031400 sll r2,r3,0x10
001b1bd4: 3c03801c lui r3,0x801c
001b1bd8: 90638846 lbu r3,-0x77ba(r3)
001b1bdc: 00021403 sra r2,r2,0x10 	 	 	#0xC*
001b1be0: 0062182a slt r3,r3,r2 	 	 	#check if less than?
001b1be4: 10600002 beq r3,r0,0x001b1bf0
001b1be8: 24820001 addiu r2,r4,0x0001
001b1bec: a4a2002e sh r2,0x002e(r5) 	 	 	#store new 0xC in 0x2e*?
001b1bf0: 00c01021 addu r2,r6,r0
001b1bf4: 8fbf0040 lw r31,0x0040(r29)
001b1bf8: 27bd0048 addiu r29,r29,0x0048
001b1bfc: 03e00008 jr r31
001b1c00: 00000000 nop