Difference between revisions of "000734cc - 00073634"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
Tag: New redirect
 
Line 1: Line 1:
000734cc: 27bdffd0 addiu r29,r29,0xffd0
+
#REDIRECT [[Some post action (including learn on hit setup)]]
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
 

Latest revision as of 21:32, 31 December 2024