Some post action (including learn on hit setup)

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
000734cc: 27bdffd0 addiu r29,r29,0xffd0
000734d0: 34020028 ori r2,r0,0x0028		#r2  = 0x28
000734d4: afb00020 sw r16,0x0020(r29)
000734d8: 34100001 ori r16,r0,0x0001		#r16 = 0x01
000734dc: afbf0028 sw r31,0x0028(r29)
000734e0: afb10024 sw r17,0x0024(r29)
000734e4: 3c018009 lui r1,0x8009
000734e8: ac2260e4 sw r2,0x60e4(r1)		#Set Exp/JP display
000734ec: 3c018004 lui r1,0x8004
000734f0: ac305980 sw r16,0x5980(r1)		#Set Animation Speed = 1 (not attacking?)
000734f4: 0c01e886 jal 0x0007a218			#Get Casting units Misc Data routine
000734f8: 00000000 nop
000734fc: 3404000a ori r4,r0,0x000a		#r4  = 0x0a
00073500: 00408821 addu r17,r2,r0		#r17 = Casting unit's Misc Data Pointer
00073504: 8e220134 lw r2,0x0134(r17)		#r2  = Casting unit's Data Pointer
00073508: 00002821 addu r5,r0,r0		#r5  = 0 (don't skip loading event variables (?) 0x27 & 0x1fd appear often; also don't skip unit name storing/determination)
0007350c: 9046018a lbu r6,0x018a(r2)		#r6  = Unit's ID
00073510: 00003821 addu r7,r0,r0		#r7  = 0 (set script variables to 0, 0x27 & 0x1fd again)
00073514: 0c05066e jal 0x001419b8			#System function setup routine
00073518: afa00010 sw r0,0x0010(r29)		#Store Stack Value at 0x0010 = 0
0007351c: 0c04ebb7 jal 0x0013aedc			#0013aedc - 0013aee8 routine (thread stuff?)
00073520: 3404001e ori r4,r0,0x001e		#r4  = 0x1e
00073524: 3c038009 lui r3,0x8009
00073528: 8c636204 lw r3,0x6204(r3)		#r3  = Post action display phase?
0007352c: 00000000 nop
00073530: 10700010 beq r3,r16,0x00073574		#Branch if Attacking?
00073534: 28620002 slti r2,r3,0x0002		#Check ?
00073538: 10400005 beq r2,r0,0x00073550			#Branch if ?
0007353c: 00000000 nop
00073540: 10600008 beq r3,r0,0x00073564			#Branch if ?
00073544: 00000000 nop
00073548: 0801cd86 j 0x00073618				#Jump to End
0007354c: 00000000 nop

00073550: 34020002 ori r2,r0,0x0002		#r2  = 0x02
00073554: 1062000b beq r3,r2,0x00073584			#Branch if ? = 2
00073558: 00000000 nop
0007355c: 0801cd86 j 0x00073618				#Jump to End
00073560: 00000000 nop

00073564: 0c01c77a jal 0x00071de8			#00071de8 - 00071e64 routine
00073568: 02202021 addu r4,r17,r0		#r4  = Unit's Misc Data Pointer
0007356c: 0801cd86 j 0x00073618				#Jump to End
00073570: 00000000 nop

00073574: 0c01c79a jal 0x00071e68			#Post Movement Display routine
00073578: 02202021 addu r4,r17,r0		#r4  = Unit's Misc Data Pointer
0007357c: 0801cd86 j 0x00073618				#Jump to End
00073580: 00000000 nop
00073584: 8e220134 lw r2,0x0134(r17)		#r2  = Unit's Data Pointer
00073588: 00000000 nop
0007358c: 9044018a lbu r4,0x018a(r2)		#r4  = Unit's ID
00073590: 0c0639ae jal 0x0018e6b8			#Learn on hit 1 routine
00073594: 27a50018 addiu r5,r29,0x0018		#r5  = new stack pointer
00073598: 2403ffff addiu r3,r0,0xffff		#r3  = -1
0007359c: 3c018009 lui r1,0x8009
000735a0: ac226200 sw r2,0x6200(r1)		#Store unit ID from LoH routine
000735a4: 10430016 beq r2,r3,0x00073600			#Branch if no unit learning on hit
000735a8: 00000000 nop
000735ac: 3c048009 lui r4,0x8009
000735b0: 94846200 lhu r4,0x6200(r4)		#r4  = Unit ID returned from LoH routine (learning unit)
000735b4: 0c01e9c9 jal 0x0007a724			#Get unit misc data that matches r4 ID routine
000735b8: 00000000 nop
000735bc: 3404000b ori r4,r0,0x000b		#r4  = 0x0b
000735c0: 00003821 addu r7,r0,r0		#r7  = 0x00
000735c4: 00408021 addu r16,r2,r0		#r16 = Learning unit's misc data pointer
000735c8: 8e220134 lw r2,0x0134(r17)		#r2  = Acting unit's data pointer
000735cc: 8e030134 lw r3,0x0134(r16)		#r3  = Learning unit's data pointer
000735d0: 9046018a lbu r6,0x018a(r2)		#r6  = Acting unit's ID
000735d4: 90620005 lbu r2,0x0005(r3)		#r2  = Learning unit's ENTD flags
000735d8: 97a50018 lhu r5,0x0018(r29)		#r5  = Learned ability ID?
000735dc: 30420008 andi r2,r2,0x0008		#Check if player can control learning unit (team check?)
000735e0: 0c05066e jal 0x001419b8			#System function setup routine
000735e4: afa20010 sw r2,0x0010(r29)		#Save ENTD flags to stack
000735e8: 0c01a0f9 jal 0x000683e4			#Transfer Unit's X/Y/Map Level routine
000735ec: 02002021 addu r4,r16,r0		#r4  = Learning unit's misc data pointer
000735f0: 0c01a0f0 jal 0x000683c0			#Store AT list ID = 1 routine
000735f4: 00000000 nop
000735f8: 0801cd86 j 0x00073618				#Jump to End
000735fc: 00000000 nop

00073600: 3c028009 lui r2,0x8009
00073604: 8c426204 lw r2,0x6204(r2)		#r2  = Post action display phase?
00073608: 00000000 nop
0007360c: 24420001 addiu r2,r2,0x0001		#r2  = r2 + 1
00073610: 3c018009 lui r1,0x8009
00073614: ac226204 sw r2,0x6204(r1)		#Save new post action display phase?

End:
00073618: 0c01b957 jal 0x0006e55c			#Store Name and data of unit selected by cursor routine
0007361c: 00000000 nop
00073620: 8fbf0028 lw r31,0x0028(r29)
00073624: 8fb10024 lw r17,0x0024(r29)
00073628: 8fb00020 lw r16,0x0020(r29)
0007362c: 27bd0030 addiu r29,r29,0x0030
00073630: 03e00008 jr r31
00073634: 00000000 nop