Effect code script 16 - check counter against 0x1c in temp effect data
Jump to navigation
Jump to search
001a2938: 00802821 addu r5,r4,r0 temp eff. data 001a293c: 84a40006 lh r4,0x0006(r5) 001a2940: 8ca20008 lw r2,0x0008(r5) pointer & counter 001a2944: 00000000 nop 001a2948: 00823021 addu r6,r4,r2 001a294c: 90c20001 lbu r2,0x0001(r6) load arg 1 001a2950: 84c30002 lh r3,0x0002(r6) load arg 2 001a2954: 00021182 srl r2,r2,0x06 obtain arg 1 001a2958: 00021040 sll r2,r2,0x01 arg1 * 2 001a295c: 00451021 addu r2,r2,r5 temp effect data + arg1 * 2 001a2960: 84420014 lh r2,0x0014(r2) load 0x14 001a2964: 00000000 nop 001a2968: 0043102a slt r2,r2,r3 001a296c: 10400004 beq r2,r0,0x001a2980 branch when arg1's 0x14 temp effect data exceeds arg3 001a2970: 27bdfff8 addiu r29,r29,0xfff8 001a2974: 94c20004 lhu r2,0x0004(r6) load arg3 001a2978: 08068a62 j 0x001a2988 001a297c: a4a20006 sh r2,0x0006(r5) set arg3 as script counter 001a2980: 24820006 addiu r2,r4,0x0006 if not yet exceeds, increment counter by 6 001a2984: a4a20006 sh r2,0x0006(r5) 001a2988: 34020001 ori r2,r0,0x0001 return execute next instruction immediately 001a298c: 27bd0008 addiu r29,r29,0x0008 001a2990: 03e00008 jr r31 001a2994: 00000000 nop