Difference between revisions of "Attack animation handling?"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(No difference)

Revision as of 16:10, 3 January 2016

Knockback Processing 0x6db10: 0006db10 - 0006dc88

	0006bad8: 0006bad8 - 0006bbf8
	0006cad0: 0006cad0 - 0006cbb4
	0006cc94: 0006cc94 - 0006d05c
	0006c3d8: 0006c3d8 - 0006c418
	0006c790: 0006c790 - 0006c874
	0006c4f8: 0006c4f8 - 0006c78c
	0006d598: 0006d598 - 0006d798
	0006a20c: 0006a20c - 0006a37c
	0006bbfc: Store Coordinate,Mount,Animation Data

0006db10: 27bdffe8 addiu r29,r29,0xffe8			
0006db14: afb00010 sw r16,0x0010(r29)			
0006db18: 3c058009 lui r5,0x8009			
0006db1c: 24a56220 addiu r5,r5,0x6220
0006db20: 3c068009 lui r6,0x8009			
0006db24: 24c66224 addiu r6,r6,0x6224
0006db28: afbf0014 sw r31,0x0014(r29)			
0006db2c: 0c01aeb6 jal 0x0006bad8			0006bad8 - 0006bbf8
0006db30: 00808021 addu r16,r4,r0
0006db34: 9202011c lbu r2,0x011c(r16)			Load load selected unit misc ID
0006db38: 3c018009 lui r1,0x8009			
0006db3c: a022621c sb r2,0x621c(r1)			Store Unit misc ID when selected by cursor
0006db40: 9202007f lbu r2,0x007f(r16)			Load 0x7f
0006db44: 00000000 nop
0006db48: 1040002e beq r2,r0,0x0006dc04			Branch if  == 0x0
0006db4c: 00000000 nop
0006db50: 8e030038 lw r3,0x0038(r16)			Load special movement flags?
0006db54: 00000000 nop
0006db58: 28621001 slti r2,r3,0x1001			Set if  < 4097
0006db5c: 14400008 bne r2,r0,0x0006db80			Branch if so
0006db60: 34021000 ori r2,r0,0x1000			cap at (0x1000) 4096
0006db64: 00601021 addu r2,r3,r0			
0006db68: 04410003 bgez r2,0x0006db78
0006db6c: 00021883 sra r3,r2,0x02			Shift right 2 bits (/0x4) (/4)r3 =  * 0x2 (2)
0006db70: 24420003 addiu r2,r2,0x0003
0006db74: 00021883 sra r3,r2,0x02			Shift right 2 bits (/0x4) (/4)r3 = 0x3 * 0x2 (2)
0006db78: 00031040 sll r2,r3,0x01			Shift left 1 bits (*0x2) (*2)
0006db7c: 00431021 addu r2,r2,r3
0006db80: ae020038 sw r2,0x0038(r16)			Store special movement flags?
0006db84: 9202007f lbu r2,0x007f(r16)			Load ???
0006db88: 00000000 nop
0006db8c: 2443ffff addiu r3,r2,0xffff
0006db90: 2c620020 sltiu r2,r3,0x0020			Set if 0x7f byte < 0x20
0006db94: 10400017 beq r2,r0,0x0006dbf4			Branch if not
0006db98: 00031080 sll r2,r3,0x02			Shift left 2 bits (*0x4) (*4)

0006db9c: 3c018006 lui r1,0x8006			
0006dba0: 00220821 addu r1,r1,r2
0006dba4: 8c2274c8 lw r2,0x74c8(r1)			Load return address based on 0x7f byte
0006dba8: 00000000 nop
0006dbac: 00400008 jr r2			Jump to Address
0006dbb0: 00000000 nop

000674c8: 8006dbc4 lb r6,-0x243c(r0)
000674cc: 8006dbb4 lb r6,-0x244c(r0)
000674d0: 8006dbc4 lb r6,-0x243c(r0)
000674d4: 8006dbb4 lb r6,-0x244c(r0)
000674d8: 8006dbc4 lb r6,-0x243c(r0)
000674dc: 8006dbb4 lb r6,-0x244c(r0)
000674e0: 8006dbc4 lb r6,-0x243c(r0)
000674e4: 8006dbb4 lb r6,-0x244c(r0)
000674e8: 8006dbf4 lb r6,-0x240c(r0)
000674ec: 8006dbf4 lb r6,-0x240c(r0)
000674f0: 8006dbf4 lb r6,-0x240c(r0)
000674f4: 8006dbf4 lb r6,-0x240c(r0)
000674f8: 8006dbf4 lb r6,-0x240c(r0)
000674fc: 8006dbf4 lb r6,-0x240c(r0)
00067500: 8006dbf4 lb r6,-0x240c(r0)
00067504: 8006dbf4 lb r6,-0x240c(r0)
00067508: 8006dbf4 lb r6,-0x240c(r0)
0006750c: 8006dbe4 lb r6,-0x241c(r0)
00067510: 8006dbec lb r6,-0x2414(r0)
00067514: 8006dbd4 lb r6,-0x242c(r0)
00067518: 8006dbf4 lb r6,-0x240c(r0)
0006751c: 8006dbe4 lb r6,-0x241c(r0)
00067520: 8006dbec lb r6,-0x2414(r0)
00067524: 8006dbd4 lb r6,-0x242c(r0)
00067528: 8006dbf4 lb r6,-0x240c(r0)
0006752c: 8006dbe4 lb r6,-0x241c(r0)
00067530: 8006dbec lb r6,-0x2414(r0)
00067534: 8006dbd4 lb r6,-0x242c(r0)
00067538: 8006dbf4 lb r6,-0x240c(r0)
0006753c: 8006dbe4 lb r6,-0x241c(r0)
00067540: 8006dbec lb r6,-0x2414(r0)
00067544: 8006dbd4 lb r6,-0x242c(r0)


0006dbb4: 0c01b2b4 jal 0x0006cad0			0006cad0 - 0006cbb4
0006dbb8: 02002021 addu r4,r16,r0
0006dbbc: 0801b6fd j 0x0006dbf4			
0006dbc0: 00000000 nop

0006dbc4: 0c01b325 jal 0x0006cc94			0006cc94 - 0006d05c
0006dbc8: 02002021 addu r4,r16,r0
0006dbcc: 0801b6fd j 0x0006dbf4			
0006dbd0: 00000000 nop

0006dbd4: 0c01b0f6 jal 0x0006c3d8			0006c3d8 - 0006c418
0006dbd8: 02002021 addu r4,r16,r0
0006dbdc: 0801b6fd j 0x0006dbf4			
0006dbe0: 00000000 nop

0006dbe4: 0c01b1e4 jal 0x0006c790			0006c790 - 0006c874
0006dbe8: 02002021 addu r4,r16,r0

0006dbec: 0c01b13e jal 0x0006c4f8			0006c4f8 - 0006c78c
0006dbf0: 02002021 addu r4,r16,r0

all return here
0006dbf4: 9202007f lbu r2,0x007f(r16)			Load load control variable
0006dbf8: 00000000 nop
0006dbfc: 1440001e bne r2,r0,0x0006dc78			Branch if  != 0x0
0006dc00: 00000000 nop
0006dc04: 9202009c lbu r2,0x009c(r16)			Load ???
0006dc08: 00000000 nop
0006dc0c: 1040001a beq r2,r0,0x0006dc78			Branch if  == 0x0
0006dc10: 00000000 nop
0006dc14: 8e030098 lw r3,0x0098(r16)			Load ??1
0006dc18: 00000000 nop
0006dc1c: 0062102b sltu r2,r3,r2			Set if  < ???
0006dc20: 10400013 beq r2,r0,0x0006dc70			Branch if done knocking back?
0006dc24: 24620001 addiu r2,r3,0x0001

0006dc28: ae020098 sw r2,0x0098(r16)			increment 0x98 byte
0006dc2c: 02031021 addu r2,r16,r3
0006dc30: 9042009d lbu r2,0x009d(r2)			Load ???
0006dc34: 02002021 addu r4,r16,r0
0006dc38: 3c018009 lui r1,0x8009			
0006dc3c: a022621c sb r2,0x621c(r1)			Store Unit misc ID when selected by cursor
0006dc40: 0c01b566 jal 0x0006d598			0006d598 - 0006d798
0006dc44: a202011c sb r2,0x011c(r16)			Store  into 0x11C
0006dc48: 02002021 addu r4,r16,r0
0006dc4c: 3c058009 lui r5,0x8009			
0006dc50: 8ca56220 lw r5,0x6220(r5)			Load Target/Attacker Tile pointer
0006dc54: 3c068009 lui r6,0x8009			
0006dc58: 8cc66224 lw r6,0x6224(r6)			Load Target/Attacker Tile Pointer
0006dc5c: 34022000 ori r2,r0,0x2000			r2 = (0x2000)
0006dc60: 0c01a883 jal 0x0006a20c			Knockback processing
0006dc64: ac82003c sw r2,0x003c(r4)			Store 0x2000 into 0x3C
0006dc68: 0801b71e j 0x0006dc78			
0006dc6c: 00000000 nop

0006dc70: 0c01aeff jal 0x0006bbfc			Store Coordinate,Mount,Animation Data
0006dc74: 02002021 addu r4,r16,r0
0006dc78: 8fbf0014 lw r31,0x0014(r29)			
0006dc7c: 8fb00010 lw r16,0x0010(r29)			
0006dc80: 27bd0018 addiu r29,r29,0x0018			
0006dc84: 03e00008 jr r31			Jump to Address
0006dc88: 00000000 nop