Difference between revisions of "Battle Message Display"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m (link)
 
(One intermediate revision by one other user not shown)
Line 25: Line 25:
 
  00073324: 924301a2 lbu r3,0x01a2(r18) Load ?? into r3
 
  00073324: 924301a2 lbu r3,0x01a2(r18) Load ?? into r3
 
  00073328: 34020006 ori r2,r0,0x0006
 
  00073328: 34020006 ori r2,r0,0x0006
  0007332c: 10620005 beq r3,r2,0x00073344 Branch if formula 0x1a2 = 0x06
+
  0007332c: 10620005 beq r3,r2,0x00073344   Branch if 0x1a2 = 0x06
 
  00073330: 34020009 ori r2,r0,0x0009
 
  00073330: 34020009 ori r2,r0,0x0009
  00073334: 1062000c beq r3,r2,0x00073368 Branch if formula 0x1a2 = 0x09
+
  00073334: 1062000c beq r3,r2,0x00073368   Branch if 0x1a2 = 0x09
 
  00073338: 00000000 nop
 
  00073338: 00000000 nop
 
  0007333c: 0801cce3 j 0x0007338c
 
  0007333c: 0801cce3 j 0x0007338c
Line 59: Line 59:
 
   
 
   
 
  000733a0: 9044018e lbu r4,0x018e(r2) load ID?
 
  000733a0: 9044018e lbu r4,0x018e(r2) load ID?
  000733a4: 0c01e9c9 jal 0x0007a724 Find Misc Unit Data Pointer (checks for a specific unit -> r4 = unit ID to get the pointer for
+
  000733a4: 0c01e9c9 jal 0x0007a724 {{f/jal|Get_unit_misc_data_that_matches_r4_ID|Get_unit_misc_data_that_matches_r4_ID}} (checks for a specific unit -> r4 = unit ID to get the pointer for
 
  000733a8: 00000000 nop
 
  000733a8: 00000000 nop
 
  000733ac: 00409821 addu r19,r2,r0
 
  000733ac: 00409821 addu r19,r2,r0

Latest revision as of 13:19, 8 December 2021

r18 = Attacker Misc. Data ; r19 = Defender Misc. Data
000732c8: 27bdffc8 addiu r29,r29,0xffc8		
000732cc: 3402002e ori r2,r0,0x002e		
000732d0: afb00020 sw r16,0x0020(r29)		
000732d4: 34100001 ori r16,r0,0x0001		
000732d8: afbf0030 sw r31,0x0030(r29)		
000732dc: afb3002c sw r19,0x002c(r29)		
000732e0: afb20028 sw r18,0x0028(r29)		
000732e4: afb10024 sw r17,0x0024(r29)		
000732e8: 3c018009 lui r1,0x8009		
000732ec: ac2260e4 sw r2,0x60e4(r1)		store display = 2e
000732f0: 3c018004 lui r1,0x8004		
000732f4: ac305980 sw r16,0x5980(r1)		
000732f8: 3c01800a lui r1,0x800a		
000732fc: ac208db8 sw r0,-0x7248(r1)		
00073300: 0c01e875 jal 0x0007a1d4		load misc data
00073304: 00000000 nop				
00073308: 0c01cc59 jal 0x00073164		??
0007330c: 00409021 addu r18,r2,r0		
00073310: 0c01cc94 jal 0x00073250		??
00073314: 02402021 addu r4,r18,r0		
00073318: 3404003c ori r4,r0,0x003c		
0007331c: 0c04ebb7 jal 0x0013aedc		
00073320: a24002d0 sb r0,0x02d0(r18)		Store ? as 0x00
00073324: 924301a2 lbu r3,0x01a2(r18)		Load ?? into r3
00073328: 34020006 ori r2,r0,0x0006		
0007332c: 10620005 beq r3,r2,0x00073344	  Branch if 0x1a2 = 0x06
00073330: 34020009 ori r2,r0,0x0009		
00073334: 1062000c beq r3,r2,0x00073368	  Branch if 0x1a2 = 0x09
00073338: 00000000 nop				
0007333c: 0801cce3 j 0x0007338c			
00073340: 00008021 addu r16,r0,r0		r16 = 0x00
?? = 06
00073344: 0c010f48 jal 0x00043d20		
00073348: 34040002 ori r4,r0,0x0002		r4 = 0x02
0007334c: 3404000a ori r4,r0,0x000a		function = 0a
00073350: 8e420134 lw r2,0x0134(r18)		Load Attacker's Stats
00073354: 34051838 ori r5,r0,0x1838		secondary = 0x1838
00073358: 9046018a lbu r6,0x018a(r2)		Load Attacker's Unit ID
0007335c: 00003821 addu r7,r0,r0		
00073360: 0801cd29 j 0x000734a4			
00073364: afb00010 sw r16,0x0010(r29)	        Store 0
?? = 09	
00073368: 0c010f48 jal 0x00043d20		
0007336c: 34040002 ori r4,r0,0x0002		
00073370: 3404000a ori r4,r0,0x000a		
00073374: 8e420134 lw r2,0x0134(r18)		Load Attacker's Stats
00073378: 34051828 ori r5,r0,0x1828		secondary = 0x1828
0007337c: 9046018a lbu r6,0x018a(r2)		Load Attacker's Unit ID
00073380: 00003821 addu r7,r0,r0		r7 = 0x00
00073384: 0801cd29 j 0x000734a4			
00073388: afb00010 sw r16,0x0010(r29)		Store r16
0007338c: 9242018d lbu r2,0x018d(r18)		Load hit counter
00073390: 00000000 nop				
00073394: 18400027 blez r2,0x00073434		Branch if nobody hit
00073398: 00008821 addu r17,r0,r0		r17 = 0x00
0007339c: 02501021 addu r2,r18,r16		

000733a0: 9044018e lbu r4,0x018e(r2)		load ID?
000733a4: 0c01e9c9 jal 0x0007a724		-->Get_unit_misc_data_that_matches_r4_ID (checks for a specific unit -> r4 = unit ID to get the pointer for
000733a8: 00000000 nop				
000733ac: 00409821 addu r19,r2,r0		
000733b0: 1260001b beq r19,r0,0x00073420	
000733b4: 00000000 nop				
000733b8: 8e620134 lw r2,0x0134(r19)		Load Defender's Stats
000733bc: 00000000 nop				
000733c0: 10400017 beq r2,r0,0x00073420		
000733c4: 00000000 nop				
000733c8: 9042018c lbu r2,0x018c(r2)		Load Defender's hit flag?
000733cc: 00000000 nop				
000733d0: 10400013 beq r2,r0,0x00073420	Branch if attack missed
000733d4: 00000000 nop				
000733d8: 0c04ebb7 jal 0x0013aedc		
000733dc: 3404003c ori r4,r0,0x003c		r4 = 0x003c
000733e0: 8e430170 lw r3,0x0170(r18)		Load Last Attack Used ID?
000733e4: 00000000 nop				
000733e8: 00031040 sll r2,r3,0x01		ID * 2
000733ec: 00431021 addu r2,r2,r3		ID * 3
000733f0: 3c018009 lui r1,0x8009		
000733f4: 00220821 addu r1,r1,r2		
000733f8: 90313e12 lbu r17,0x3e12(r1)		Load Battle Message ID
000733fc: 00000000 nop				
00073400: 1220000c beq r17,r0,0x00073434	Branch if Battle Message = 0x00
00073404: 34020006 ori r2,r0,0x0000		r2 = 0x06 (disassembly error)
00073408: 1622000d bne r17,r2,0x00073440	Branch if Battle Message =/= 0x06 (Invite message)	
0007340c: 3402002b ori r2,r0,0x002b		r2 = 0x2b
00073410: 0c010f48 jal 0x00043d20		?
00073414: 34040002 ori r4,r0,0x0002		r4 = 0x02
00073418: 0801cd0e j 0x00073438			
0007341c: 34020006 ori r2,r0,0x0006		r2 = 0x06
00073420: 9242018d lbu r2,0x018d(r18)		Load hit counter
00073424: 26100001 addiu r16,r16,0x0001	counter++
00073428: 0202102a slt r2,r16,r2		set if counter < hit counter
0007342c: 1440ffdc bne r2,r0,0x000733a0	Branch if so
00073430: 02501021 addu r2,r18,r16		R16 + r18 (r18 = Unit Data?)	
message = 0	
00073434: 34020006 ori r2,r0,0x0006		r2 = 0x06
00073438: 12220003 beq r17,r2,0x00073448	Branch if Battle Message ID = 0x06 (Invite message)
0007343c: 3402002b ori r2,r0,0x002b	
00073440: 1622000a bne r17,r2,0x0007346c	Branch if Battle Message ID != 0x2b (Malboro message)
00073444: 00000000 nop				
00073448: 3404000a ori r4,r0,0x000a		r4 = 0x0a | 
0007344c: 36251800 ori r5,r17,0x1800		1800 + Battle Message ID
00073450: 8e420134 lw r2,0x0134(r18)		Load Attacker's Stats
00073454: 8e630134 lw r3,0x0134(r19)		Load Defender's Stats
00073458: 9046018a lbu r6,0x018a(r2)		Load Attacker's Unit ID
0007345c: 9067018a lbu r7,0x018a(r3)		Load Defender's Unit ID
00073460: 34020001 ori r2,r0,0x0001		
00073464: 0801cd29 j 0x000734a4			
00073468: afa20010 sw r2,0x0010(r29)		Store 0x01 (display successful?)
if not marbol?
0007346c: 12200008 beq r17,r0,0x00073490	Final branch check, branch if there is no Battle Message
00073470: 3404000a ori r4,r0,0x000a		r4 = 0x0a
00073474: 36251800 ori r5,r17,0x1800		1800 + Battle Message ID
00073478: 8e420134 lw r2,0x0134(r18)		Load Attacker's Stats
0007347c: 00003821 addu r7,r0,r0		r7 = 0x00
00073480: 9046018a lbu r6,0x018a(r2)		Load Unit ID
00073484: 34020001 ori r2,r0,0x0001		r2 = 0x01
00073488: 0801cd29 j 0x000734a4			
0007348c: afa20010 sw r2,0x0010(r29)		Store 0x01 (display successful?)
00073490: 8e420134 lw r2,0x0134(r18)		Load Attacker's Stats
00073494: 00002821 addu r5,r0,r0		r5 = 0x00
00073498: 9046018a lbu r6,0x018a(r2)		Load Attacker's Unit ID
0007349c: 00003821 addu r7,r0,r0		r7 = 0x00 
000734a0: afa00010 sw r0,0x0010(r29)		store 0x00 (display fail?)
000734a4: 0c05066e jal 0x001419b8		
000734a8: 00000000 nop				
000734ac: 8fbf0030 lw r31,0x0030(r29)		
000734b0: 8fb3002c lw r19,0x002c(r29)		
000734b4: 8fb20028 lw r18,0x0028(r29)		
000734b8: 8fb10024 lw r17,0x0024(r29)		
000734bc: 8fb00020 lw r16,0x0020(r29)		
000734c0: 27bd0038 addiu r29,r29,0x0038		
000734c4: 03e00008 jr r31			
000734c8: 00000000 nop