Difference between revisions of "Effect Code Script 0x1d"
Jump to navigation
Jump to search
(Created page with " 801a2c28: 3c02801c lui r2,0x801c 801a2c2c: 8c42bf84 lw r2,-0x407c(r2) # *0x801bbf84 801a2c30: 84830028 lh r3,0x0028(r4) # effectBlock.0x2...") |
|||
Line 1: | Line 1: | ||
801a2c28: 3c02801c lui r2,0x801c | 801a2c28: 3c02801c lui r2,0x801c | ||
− | 801a2c2c: 8c42bf84 lw r2,-0x407c(r2) # *0x801bbf84 | + | 801a2c2c: 8c42bf84 lw r2,-0x407c(r2) # *0x801bbf84 // Misc. Timed display pointer |
− | 801a2c30: 84830028 lh r3,0x0028(r4) # effectBlock.0x28 | + | 801a2c30: 84830028 lh r3,0x0028(r4) # effectBlock.0x28 // current effect timer |
− | 801a2c34: 94420002 lhu r2,0x0002(r2) # *(*0x801bbf84 + 2) | + | 801a2c34: 94420002 lhu r2,0x0002(r2) # *(*0x801bbf84 + 2) // ? |
801a2c38: 00000000 nop | 801a2c38: 00000000 nop | ||
801a2c3c: 0062182a slt r3,r3,r2 | 801a2c3c: 0062182a slt r3,r3,r2 | ||
− | 801a2c40: 14600008 bne r3,r0,0x801a2c64 # if (effectBlock.0x28 >= *(*0x801bbf84 + 2)) { | + | 801a2c40: 14600008 bne r3,r0,0x801a2c64 # if (effectBlock.0x28 >= *(*0x801bbf84 + 2)) { // branch if timer is not yet at minimum timer for...? |
801a2c44: 00000000 nop | 801a2c44: 00000000 nop | ||
801a2c48: 84820006 lh r2,0x0006(r4) # effectBlock.offset | 801a2c48: 84820006 lh r2,0x0006(r4) # effectBlock.offset | ||
Line 13: | Line 13: | ||
801a2c58: 94420002 lhu r2,0x0002(r2) # *(commandPtr + 2) | 801a2c58: 94420002 lhu r2,0x0002(r2) # *(commandPtr + 2) | ||
801a2c5c: 08068b1d j 0x801a2c74 | 801a2c5c: 08068b1d j 0x801a2c74 | ||
− | 801a2c60: a4820006 sh r2,0x0006(r4) # effectBlock.offset = *(commandPtr + 2) | + | 801a2c60: a4820006 sh r2,0x0006(r4) # effectBlock.offset = *(commandPtr + 2) // set script counter to arg2 (if exceeded minimum timer?) |
# } else { | # } else { | ||
801a2c64: 94820006 lhu r2,0x0006(r4) # effectBlock.offset | 801a2c64: 94820006 lhu r2,0x0006(r4) # effectBlock.offset | ||
801a2c68: 00000000 nop | 801a2c68: 00000000 nop | ||
− | 801a2c6c: 24420004 addiu r2,r2,0x0004 # effectBlock.offset + 4 | + | 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 | 801a2c70: a4820006 sh r2,0x0006(r4) # effectBlock.offset = effectBlock.offset + 4 | ||
# } | # } | ||
801a2c74: 03e00008 jr r31 # return 1; | 801a2c74: 03e00008 jr r31 # return 1; | ||
801a2c78: 34020001 ori r2,r0,0x0001 | 801a2c78: 34020001 ori r2,r0,0x0001 |
Revision as of 03:16, 17 January 2023
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) // ? 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 minimum timer for...? 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 minimum 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