Effect Code Script 0x1d
Jump to navigation
Jump to search
801a2c28: 3c02801c lui r2,0x801c 801a2c2c: 8c42bf84 lw r2,-0x407c(r2) # *0x801bbf84 // Misc. Timed display pointer 801a2c30: 84830028 lh r3,0x0028(r4) # effectBlock.0x28 // current effect timer 801a2c34: 94420002 lhu r2,0x0002(r2) # *(*0x801bbf84 + 2) // effect length 801a2c38: 00000000 nop 801a2c3c: 0062182a slt r3,r3,r2 801a2c40: 14600008 bne r3,r0,0x801a2c64 # if (effectBlock.0x28 >= *(*0x801bbf84 + 2)) { // branch if timer is not yet at effect length 801a2c44: 00000000 nop 801a2c48: 84820006 lh r2,0x0006(r4) # effectBlock.offset 801a2c4c: 8c830008 lw r3,0x0008(r4) # effectBlock.basePointer 801a2c50: 00000000 nop 801a2c54: 00431021 addu r2,r2,r3 # commandPtr = effectBlock.offset + effectBlock.basePointer 801a2c58: 94420002 lhu r2,0x0002(r2) # *(commandPtr + 2) 801a2c5c: 08068b1d j 0x801a2c74 801a2c60: a4820006 sh r2,0x0006(r4) # effectBlock.offset = *(commandPtr + 2) // set script counter to arg2 if exceeded max timer. # } else { 801a2c64: 94820006 lhu r2,0x0006(r4) # effectBlock.offset 801a2c68: 00000000 nop 801a2c6c: 24420004 addiu r2,r2,0x0004 # effectBlock.offset + 4 // else add 4, execute next instruction. 801a2c70: a4820006 sh r2,0x0006(r4) # effectBlock.offset = effectBlock.offset + 4 # } 801a2c74: 03e00008 jr r31 # return 1; 801a2c78: 34020001 ori r2,r0,0x0001