001a2280 - 001a22f4

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

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