001a2280 - 001a22f4
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