Difference between revisions of "000734cc - 00073634"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 000734cc: 27bdffd0 addiu r29,r29,0xffd0 000734d0: 34020028 ori r2,r0,0x0028 000734d4: afb00020 sw r16,0x0020(r29) 000734d8: 34100001 ori r16,r0...")
 
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<font face='Courier New'>
 
 
 
  000734cc: 27bdffd0 addiu r29,r29,0xffd0
 
  000734cc: 27bdffd0 addiu r29,r29,0xffd0
  000734d0: 34020028 ori r2,r0,0x0028
+
  000734d0: 34020028 ori r2,r0,0x0028 #r2  = 0x28
 
  000734d4: afb00020 sw r16,0x0020(r29)
 
  000734d4: afb00020 sw r16,0x0020(r29)
  000734d8: 34100001 ori r16,r0,0x0001
+
  000734d8: 34100001 ori r16,r0,0x0001 #r16 = 0x01
 
  000734dc: afbf0028 sw r31,0x0028(r29)
 
  000734dc: afbf0028 sw r31,0x0028(r29)
 
  000734e0: afb10024 sw r17,0x0024(r29)
 
  000734e0: afb10024 sw r17,0x0024(r29)
 
  000734e4: 3c018009 lui r1,0x8009
 
  000734e4: 3c018009 lui r1,0x8009
  000734e8: ac2260e4 sw r2,0x60e4(r1)
+
  000734e8: ac2260e4 sw r2,0x60e4(r1) #Set Exp/JP display
 
  000734ec: 3c018004 lui r1,0x8004
 
  000734ec: 3c018004 lui r1,0x8004
  000734f0: ac305980 sw r16,0x5980(r1)
+
  000734f0: ac305980 sw r16,0x5980(r1) #Set Animation Speed = 1 (not attacking?)
  000734f4: 0c01e886 jal 0x0007a218
+
  000734f4: 0c01e886 jal 0x0007a218 #[[Get Casting units Misc Data]] routine
 
  000734f8: 00000000 nop
 
  000734f8: 00000000 nop
  000734fc: 3404000a ori r4,r0,0x000a
+
  000734fc: 3404000a ori r4,r0,0x000a #r4  = 0x0a
  00073500: 00408821 addu r17,r2,r0
+
  00073500: 00408821 addu r17,r2,r0 #r17 = Casting unit's Misc Data Pointer
  00073504: 8e220134 lw r2,0x0134(r17)
+
  00073504: 8e220134 lw r2,0x0134(r17) #r2  = Casting unit's Data Pointer
  00073508: 00002821 addu r5,r0,r0
+
  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)
+
  0007350c: 9046018a lbu r6,0x018a(r2) #r6  = Unit's ID
  00073510: 00003821 addu r7,r0,r0
+
  00073510: 00003821 addu r7,r0,r0 #r7  = 0 (set script variables to 0, 0x27 & 0x1fd again)
  00073514: 0c05066e jal 0x001419b8
+
  00073514: 0c05066e jal 0x001419b8 #[[System function setup routine]]
  00073518: afa00010 sw r0,0x0010(r29)
+
  00073518: afa00010 sw r0,0x0010(r29) #Store Stack Value at 0x0010 = 0
  0007351c: 0c04ebb7 jal 0x0013aedc
+
  0007351c: 0c04ebb7 jal 0x0013aedc #[[0013aedc - 0013aee8]] routine (thread stuff?)
  00073520: 3404001e ori r4,r0,0x001e
+
  00073520: 3404001e ori r4,r0,0x001e #r4  = 0x1e
 
  00073524: 3c038009 lui r3,0x8009
 
  00073524: 3c038009 lui r3,0x8009
  00073528: 8c636204 lw r3,0x6204(r3)
+
  00073528: 8c636204 lw r3,0x6204(r3) #r3  = Post action display phase?
 
  0007352c: 00000000 nop
 
  0007352c: 00000000 nop
  00073530: 10700010 beq r3,r16,0x00073574
+
  00073530: 10700010 beq r3,r16,0x00073574 #Branch if Attacking?
  00073534: 28620002 slti r2,r3,0x0002
+
  00073534: 28620002 slti r2,r3,0x0002 #Check ?
  00073538: 10400005 beq r2,r0,0x00073550
+
  00073538: 10400005 beq r2,r0,0x00073550 #Branch if ?
 
  0007353c: 00000000 nop
 
  0007353c: 00000000 nop
  00073540: 10600008 beq r3,r0,0x00073564
+
  00073540: 10600008 beq r3,r0,0x00073564 #Branch if ?
 
  00073544: 00000000 nop
 
  00073544: 00000000 nop
  00073548: 0801cd86 j 0x00073618
+
  00073548: 0801cd86 j 0x00073618 #Jump to End
 
  0007354c: 00000000 nop
 
  0007354c: 00000000 nop
  00073550: 34020002 ori r2,r0,0x0002
+
  00073554: 1062000b beq r3,r2,0x00073584
+
  00073550: 34020002 ori r2,r0,0x0002 #r2  = 0x02
 +
  00073554: 1062000b beq r3,r2,0x00073584 #Branch if ? = 2
 
  00073558: 00000000 nop
 
  00073558: 00000000 nop
  0007355c: 0801cd86 j 0x00073618
+
  0007355c: 0801cd86 j 0x00073618 #Jump to End
 
  00073560: 00000000 nop
 
  00073560: 00000000 nop
  00073564: 0c01c77a jal 0x00071de8
+
  00073568: 02202021 addu r4,r17,r0
+
  00073564: 0c01c77a jal 0x00071de8 #[[00071de8 - 00071e64]] routine
  0007356c: 0801cd86 j 0x00073618
+
  00073568: 02202021 addu r4,r17,r0 #r4  = Unit's Misc Data Pointer
 +
  0007356c: 0801cd86 j 0x00073618 #Jump to End
 
  00073570: 00000000 nop
 
  00073570: 00000000 nop
  00073574: 0c01c79a jal 0x00071e68
+
  00073578: 02202021 addu r4,r17,r0
+
  00073574: 0c01c79a jal 0x00071e68 #[[Post Movement Display]] routine
  0007357c: 0801cd86 j 0x00073618
+
  00073578: 02202021 addu r4,r17,r0 #r4  = Unit's Misc Data Pointer
 +
  0007357c: 0801cd86 j 0x00073618 #Jump to End
 
  00073580: 00000000 nop
 
  00073580: 00000000 nop
  00073584: 8e220134 lw r2,0x0134(r17)
+
  00073584: 8e220134 lw r2,0x0134(r17) #r2  = Unit's Data Pointer
 
  00073588: 00000000 nop
 
  00073588: 00000000 nop
  0007358c: 9044018a lbu r4,0x018a(r2)
+
  0007358c: 9044018a lbu r4,0x018a(r2) #r4  = Unit's ID
  00073590: 0c0639ae jal 0x0018e6b8
+
  00073590: 0c0639ae jal 0x0018e6b8 #[[Learn on hit 1]] routine
  00073594: 27a50018 addiu r5,r29,0x0018
+
  00073594: 27a50018 addiu r5,r29,0x0018 #r5  = new stack pointer
  00073598: 2403ffff addiu r3,r0,0xffff
+
  00073598: 2403ffff addiu r3,r0,0xffff #r3  = -1
 
  0007359c: 3c018009 lui r1,0x8009
 
  0007359c: 3c018009 lui r1,0x8009
  000735a0: ac226200 sw r2,0x6200(r1)
+
  000735a0: ac226200 sw r2,0x6200(r1) #Store unit ID from LoH routine
  000735a4: 10430016 beq r2,r3,0x00073600
+
  000735a4: 10430016 beq r2,r3,0x00073600 #Branch if no unit learning on hit
 
  000735a8: 00000000 nop
 
  000735a8: 00000000 nop
 
  000735ac: 3c048009 lui r4,0x8009
 
  000735ac: 3c048009 lui r4,0x8009
  000735b0: 94846200 lhu r4,0x6200(r4)
+
  000735b0: 94846200 lhu r4,0x6200(r4) #r4  = Unit ID returned from LoH routine (learning unit)
  000735b4: 0c01e9c9 jal 0x0007a724
+
  000735b4: 0c01e9c9 jal 0x0007a724 #[[Get unit misc data that matches r4 ID]] routine
 
  000735b8: 00000000 nop
 
  000735b8: 00000000 nop
  000735bc: 3404000b ori r4,r0,0x000b
+
  000735bc: 3404000b ori r4,r0,0x000b #r4  = 0x0b
  000735c0: 00003821 addu r7,r0,r0
+
  000735c0: 00003821 addu r7,r0,r0 #r7  = 0x00
  000735c4: 00408021 addu r16,r2,r0
+
  000735c4: 00408021 addu r16,r2,r0 #r16 = Learning unit's misc data pointer
  000735c8: 8e220134 lw r2,0x0134(r17)
+
  000735c8: 8e220134 lw r2,0x0134(r17) #r2  = Acting unit's data pointer
  000735cc: 8e030134 lw r3,0x0134(r16)
+
  000735cc: 8e030134 lw r3,0x0134(r16) #r3  = Learning unit's data pointer
  000735d0: 9046018a lbu r6,0x018a(r2)
+
  000735d0: 9046018a lbu r6,0x018a(r2) #r6  = Acting unit's ID
  000735d4: 90620005 lbu r2,0x0005(r3)
+
  000735d4: 90620005 lbu r2,0x0005(r3) #r2  = Learning unit's ENTD flags
  000735d8: 97a50018 lhu r5,0x0018(r29)
+
  000735d8: 97a50018 lhu r5,0x0018(r29) #r5  = Learned ability ID?
  000735dc: 30420008 andi r2,r2,0x0008
+
  000735dc: 30420008 andi r2,r2,0x0008 #Check if player can control learning unit (team check?)
  000735e0: 0c05066e jal 0x001419b8
+
  000735e0: 0c05066e jal 0x001419b8 #[[System function setup routine]]
  000735e4: afa20010 sw r2,0x0010(r29)
+
  000735e4: afa20010 sw r2,0x0010(r29) #Save ENTD flags to stack
  000735e8: 0c01a0f9 jal 0x000683e4
+
  000735e8: 0c01a0f9 jal 0x000683e4 #[[Transfer Unit's X/Y/Map Level]] routine
  000735ec: 02002021 addu r4,r16,r0
+
  000735ec: 02002021 addu r4,r16,r0 #r4  = Learning unit's misc data pointer
  000735f0: 0c01a0f0 jal 0x000683c0
+
  000735f0: 0c01a0f0 jal 0x000683c0 #[[Store AT list ID = 1]] routine
 
  000735f4: 00000000 nop
 
  000735f4: 00000000 nop
  000735f8: 0801cd86 j 0x00073618
+
  000735f8: 0801cd86 j 0x00073618 #Jump to End
 
  000735fc: 00000000 nop
 
  000735fc: 00000000 nop
 +
 
  00073600: 3c028009 lui r2,0x8009
 
  00073600: 3c028009 lui r2,0x8009
  00073604: 8c426204 lw r2,0x6204(r2)
+
  00073604: 8c426204 lw r2,0x6204(r2) #r2  = Post action display phase?
 
  00073608: 00000000 nop
 
  00073608: 00000000 nop
  0007360c: 24420001 addiu r2,r2,0x0001
+
  0007360c: 24420001 addiu r2,r2,0x0001 #r2  = r2 + 1
 
  00073610: 3c018009 lui r1,0x8009
 
  00073610: 3c018009 lui r1,0x8009
  00073614: ac226204 sw r2,0x6204(r1)
+
  00073614: ac226204 sw r2,0x6204(r1) #Save new post action display phase?
  00073618: 0c01b957 jal 0x0006e55c
+
 +
End:
 +
  00073618: 0c01b957 jal 0x0006e55c #[[Store Name and data of unit selected by cursor]] routine
 
  0007361c: 00000000 nop
 
  0007361c: 00000000 nop
 
  00073620: 8fbf0028 lw r31,0x0028(r29)
 
  00073620: 8fbf0028 lw r31,0x0028(r29)
Line 92: Line 96:
 
  00073630: 03e00008 jr r31
 
  00073630: 03e00008 jr r31
 
  00073634: 00000000 nop
 
  00073634: 00000000 nop
</font>
 

Latest revision as of 11:58, 13 May 2023

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