Difference between revisions of "001a2280 - 001a22f4"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 001a2280: 27bdffe0 addiu r29,r29,0xffe0 001a2284: afb10014 sw r17,0x0014(r29) 001a2288: 00808821 addu r17,r4,r0 001a228c: afbf0018 sw r31,0x001...")
 
m
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
 
  001a2280: 27bdffe0 addiu r29,r29,0xffe0
 
  001a2280: 27bdffe0 addiu r29,r29,0xffe0
 
  001a2284: afb10014 sw r17,0x0014(r29)
 
  001a2284: afb10014 sw r17,0x0014(r29)
  001a2288: 00808821 addu r17,r4,r0
+
  001a2288: 00808821 addu r17,r4,r0 #temp. effect data
 
  001a228c: afbf0018 sw r31,0x0018(r29)
 
  001a228c: afbf0018 sw r31,0x0018(r29)
 
  001a2290: afb00010 sw r16,0x0010(r29)
 
  001a2290: afb00010 sw r16,0x0010(r29)
  001a2294: 86220006 lh r2,0x0006(r17)
+
  001a2294: 86220006 lh r2,0x0006(r17) #code script counter
  001a2298: 8e240008 lw r4,0x0008(r17)
+
  001a2298: 8e240008 lw r4,0x0008(r17) #code script pointer
 
  001a229c: 3c06801c lui r6,0x801c
 
  001a229c: 3c06801c lui r6,0x801c
  001a22a0: 84c6f004 lh r6,-0x0ffc(r6)
+
  001a22a0: 84c6f004 lh r6,-0x0ffc(r6) #? (this is painfully close to where effect script 0x5 stores its value.)
 
  001a22a4: 00441021 addu r2,r2,r4
 
  001a22a4: 00441021 addu r2,r2,r4
  001a22a8: 90500001 lbu r16,0x0001(r2)
+
  001a22a8: 90500001 lbu r16,0x0001(r2) #load argument
  001a22ac: 84450002 lh r5,0x0002(r2)
+
  001a22ac: 84450002 lh r5,0x0002(r2) #parse second argument
  001a22b0: 0c06883a jal 0x001a20e8
+
  001a22b0: 0c06883a jal 0x001a20e8 #[[Initialize temp effect data?]] - this routine is useful for incrementing into a new phase?
  001a22b4: 00108102 srl r16,r16,0x04
+
  001a22b4: 00108102 srl r16,r16,0x04 #0xf0 --> 0xf
  001a22b8: 00401821 addu r3,r2,r0
+
  001a22b8: 00401821 addu r3,r2,r0 #new phase ID
 
  001a22bc: 2a020004 slti r2,r16,0x0004
 
  001a22bc: 2a020004 slti r2,r16,0x0004
  001a22c0: 10400003 beq r2,r0,0x001a22d0
+
  001a22c0: 10400003 beq r2,r0,0x001a22d0 #branch if arg1 < 4?
  001a22c4: 00101040 sll r2,r16,0x01
+
  001a22c4: 00101040 sll r2,r16,0x01 #arg1 * 2
  001a22c8: 00511021 addu r2,r2,r17
+
  001a22c8: 00511021 addu r2,r2,r17 #temporary effect data
  001a22cc: a443000c sh r3,0x000c(r2)
+
  001a22cc: a443000c sh r3,0x000c(r2) #store new phase ID in temp. effect data at 0xc (+ some argument * 2?)
  001a22d0: 96230006 lhu r3,0x0006(r17)
+
  001a22d0: 96230006 lhu r3,0x0006(r17) #load code script counter
  001a22d4: 34020001 ori r2,r0,0x0001
+
  001a22d4: 34020001 ori r2,r0,0x0001 #return execute next instruction immediately
  001a22d8: 24630004 addiu r3,r3,0x0004
+
  001a22d8: 24630004 addiu r3,r3,0x0004 #increment by 4
  001a22dc: a6230006 sh r3,0x0006(r17)
+
  001a22dc: a6230006 sh r3,0x0006(r17) #store counter and return
 
  001a22e0: 8fbf0018 lw r31,0x0018(r29)
 
  001a22e0: 8fbf0018 lw r31,0x0018(r29)
 
  001a22e4: 8fb10014 lw r17,0x0014(r29)
 
  001a22e4: 8fb10014 lw r17,0x0014(r29)

Latest revision as of 04:20, 21 January 2023

001a2280: 27bdffe0 addiu r29,r29,0xffe0
001a2284: afb10014 sw r17,0x0014(r29)
001a2288: 00808821 addu r17,r4,r0		#temp. effect data
001a228c: afbf0018 sw r31,0x0018(r29)
001a2290: afb00010 sw r16,0x0010(r29)
001a2294: 86220006 lh r2,0x0006(r17)		#code script counter
001a2298: 8e240008 lw r4,0x0008(r17)		#code script pointer
001a229c: 3c06801c lui r6,0x801c
001a22a0: 84c6f004 lh r6,-0x0ffc(r6)		#? (this is painfully close to where effect script 0x5 stores its value.)
001a22a4: 00441021 addu r2,r2,r4
001a22a8: 90500001 lbu r16,0x0001(r2)		#load argument
001a22ac: 84450002 lh r5,0x0002(r2)		#parse second argument
001a22b0: 0c06883a jal 0x001a20e8		#Initialize temp effect data? - this routine is useful for incrementing into a new phase?
001a22b4: 00108102 srl r16,r16,0x04		#0xf0 --> 0xf
001a22b8: 00401821 addu r3,r2,r0		#new phase ID
001a22bc: 2a020004 slti r2,r16,0x0004
001a22c0: 10400003 beq r2,r0,0x001a22d0	#branch if arg1 < 4?
001a22c4: 00101040 sll r2,r16,0x01		#arg1 * 2
001a22c8: 00511021 addu r2,r2,r17		#temporary effect data
001a22cc: a443000c sh r3,0x000c(r2)		#store new phase ID in temp. effect data at 0xc (+ some argument * 2?)
001a22d0: 96230006 lhu r3,0x0006(r17)		#load code script counter
001a22d4: 34020001 ori r2,r0,0x0001		#return execute next instruction immediately
001a22d8: 24630004 addiu r3,r3,0x0004		#increment by 4
001a22dc: a6230006 sh r3,0x0006(r17)		#store counter and return
001a22e0: 8fbf0018 lw r31,0x0018(r29)
001a22e4: 8fb10014 lw r17,0x0014(r29)
001a22e8: 8fb00010 lw r16,0x0010(r29)
001a22ec: 27bd0020 addiu r29,r29,0x0020
001a22f0: 03e00008 jr r31
001a22f4: 00000000 nop