Difference between revisions of "Start New Effect"
Jump to navigation
Jump to search
(Created page with " # ROUTINE: Start new effect? # Parameters: # r4 = Effect ID 8008dd10: 27bdff20 addiu r29,r29,-0x00e0 8008dd14: 00803821 addu r7,r4,r0 8008dd18: 34030...") |
m |
||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
# ROUTINE: Start new effect? | # ROUTINE: Start new effect? | ||
# Parameters: | # Parameters: | ||
− | # r4 = Effect ID | + | # r4 = (EffectID) Effect ID |
+ | # r5 = (p2) ? -> whether the effect is centered on an area or a target? | ||
+ | # r6 = (p3) ? (If p2 == 1, a pointer, but if p2 == 0, an int8?) -> pointer to ? something related to caster vs. target ID? | ||
8008dd10: 27bdff20 addiu r29,r29,-0x00e0 | 8008dd10: 27bdff20 addiu r29,r29,-0x00e0 | ||
− | 8008dd14: 00803821 addu r7,r4,r0 | + | 8008dd14: 00803821 addu r7,r4,r0 # EffectID |
− | 8008dd18: 34030001 ori r3,r0,0x0001 | + | 8008dd18: 34030001 ori r3,r0,0x0001 # 1 |
8008dd1c: afbf00d8 sw r31,0x00d8(r29) | 8008dd1c: afbf00d8 sw r31,0x00d8(r29) | ||
− | 8008dd20: a7a30010 sh r3,0x0010(r29) | + | 8008dd20: a7a30010 sh r3,0x0010(r29) # data.0x00 = 1 |
− | 8008dd24: a7a000b4 sh r0,0x00b4(r29) | + | 8008dd24: a7a000b4 sh r0,0x00b4(r29) # data.0xa4 = 0 |
8008dd28: 14a00005 bne r5,r0,0x8008dd40 | 8008dd28: 14a00005 bne r5,r0,0x8008dd40 | ||
− | 8008dd2c: a3a000b6 sb r0,0x00b6(r29) | + | 8008dd2c: a3a000b6 sb r0,0x00b6(r29) # data.0xa6 = 0 |
− | 8008dd30: a7a00014 sh r0,0x0014(r29) | + | # if (p2 == 0) { |
− | 8008dd34: a3a60016 sb r6,0x0016(r29) | + | 8008dd30: a7a00014 sh r0,0x0014(r29) # data.0x04 = 0 |
+ | 8008dd34: a3a60016 sb r6,0x0016(r29) # data.0x06 = p3 | ||
8008dd38: 08023761 j 0x8008dd84 | 8008dd38: 08023761 j 0x8008dd84 | ||
− | 8008dd3c: a3a00017 sb r0,0x0017(r29) | + | 8008dd3c: a3a00017 sb r0,0x0017(r29) # data.0x07 = 0 |
+ | # } else { | ||
8008dd40: 34020001 ori r2,r0,0x0001 | 8008dd40: 34020001 ori r2,r0,0x0001 | ||
− | 8008dd44: 14a2000b bne r5,r2,0x8008dd74 | + | 8008dd44: 14a2000b bne r5,r2,0x8008dd74 # if (p2 == 1) { |
8008dd48: 00000000 nop | 8008dd48: 00000000 nop | ||
− | 8008dd4c: a7a30014 sh r3,0x0014(r29) | + | 8008dd4c: a7a30014 sh r3,0x0014(r29) # data.0x04 = 1 |
− | 8008dd50: 94c20000 lhu r2,0x0000(r6) | + | 8008dd50: 94c20000 lhu r2,0x0000(r6) # *p3 |
8008dd54: 00000000 nop | 8008dd54: 00000000 nop | ||
− | 8008dd58: a7a20016 sh r2,0x0016(r29) | + | 8008dd58: a7a20016 sh r2,0x0016(r29) # data.0x06 = *p3 |
− | 8008dd5c: 94c20004 lhu r2,0x0004(r6) | + | 8008dd5c: 94c20004 lhu r2,0x0004(r6) # *(p3 + 4) |
8008dd60: 00000000 nop | 8008dd60: 00000000 nop | ||
− | 8008dd64: a7a2001a sh r2,0x001a(r29) | + | 8008dd64: a7a2001a sh r2,0x001a(r29) # data.0x0a = *(p3 + 4) |
− | 8008dd68: 94c20002 lhu r2,0x0002(r6) | + | 8008dd68: 94c20002 lhu r2,0x0002(r6) # *(p3 + 2) |
8008dd6c: 08023761 j 0x8008dd84 | 8008dd6c: 08023761 j 0x8008dd84 | ||
− | 8008dd70: a7a20018 sh r2,0x0018(r29) | + | 8008dd70: a7a20018 sh r2,0x0018(r29) # data.0x08 = *(p3 + 2) |
− | 8008dd74: a7a00014 sh r0,0x0014(r29) | + | # } else { |
− | 8008dd78: a3a60016 sb r6,0x0016(r29) | + | 8008dd74: a7a00014 sh r0,0x0014(r29) # data.0x04 = 0 |
− | 8008dd7c: a3a00017 sb r0,0x0017(r29) | + | 8008dd78: a3a60016 sb r6,0x0016(r29) # data.0x06 = p3 |
− | 8008dd80: a3a600b6 sb r6,0x00b6(r29) | + | 8008dd7c: a3a00017 sb r0,0x0017(r29) # data.0x07 = 0 |
− | 8008dd84: a3a00012 sb r0,0x0012(r29) | + | 8008dd80: a3a600b6 sb r6,0x00b6(r29) # data.0xa6 = p3 |
+ | # } | ||
+ | # } | ||
+ | 8008dd84: a3a00012 sb r0,0x0012(r29) # data.0x02 = 0 | ||
8008dd88: 00002021 addu r4,r0,r0 | 8008dd88: 00002021 addu r4,r0,r0 | ||
8008dd8c: 00e02821 addu r5,r7,r0 | 8008dd8c: 00e02821 addu r5,r7,r0 | ||
− | 8008dd90: 0c06856d jal 0x801a15b4 | + | 8008dd90: 0c06856d jal 0x801a15b4 # [[Effect Related (0x1a15b4)]] (0, EffectID, data); |
8008dd94: 27a60010 addiu r6,r29,0x0010 | 8008dd94: 27a60010 addiu r6,r29,0x0010 | ||
8008dd98: 8fbf00d8 lw r31,0x00d8(r29) | 8008dd98: 8fbf00d8 lw r31,0x00d8(r29) |
Latest revision as of 03:31, 3 October 2023
# ROUTINE: Start new effect? # Parameters: # r4 = (EffectID) Effect ID # r5 = (p2) ? -> whether the effect is centered on an area or a target? # r6 = (p3) ? (If p2 == 1, a pointer, but if p2 == 0, an int8?) -> pointer to ? something related to caster vs. target ID? 8008dd10: 27bdff20 addiu r29,r29,-0x00e0 8008dd14: 00803821 addu r7,r4,r0 # EffectID 8008dd18: 34030001 ori r3,r0,0x0001 # 1 8008dd1c: afbf00d8 sw r31,0x00d8(r29) 8008dd20: a7a30010 sh r3,0x0010(r29) # data.0x00 = 1 8008dd24: a7a000b4 sh r0,0x00b4(r29) # data.0xa4 = 0 8008dd28: 14a00005 bne r5,r0,0x8008dd40 8008dd2c: a3a000b6 sb r0,0x00b6(r29) # data.0xa6 = 0 # if (p2 == 0) { 8008dd30: a7a00014 sh r0,0x0014(r29) # data.0x04 = 0 8008dd34: a3a60016 sb r6,0x0016(r29) # data.0x06 = p3 8008dd38: 08023761 j 0x8008dd84 8008dd3c: a3a00017 sb r0,0x0017(r29) # data.0x07 = 0 # } else { 8008dd40: 34020001 ori r2,r0,0x0001 8008dd44: 14a2000b bne r5,r2,0x8008dd74 # if (p2 == 1) { 8008dd48: 00000000 nop 8008dd4c: a7a30014 sh r3,0x0014(r29) # data.0x04 = 1 8008dd50: 94c20000 lhu r2,0x0000(r6) # *p3 8008dd54: 00000000 nop 8008dd58: a7a20016 sh r2,0x0016(r29) # data.0x06 = *p3 8008dd5c: 94c20004 lhu r2,0x0004(r6) # *(p3 + 4) 8008dd60: 00000000 nop 8008dd64: a7a2001a sh r2,0x001a(r29) # data.0x0a = *(p3 + 4) 8008dd68: 94c20002 lhu r2,0x0002(r6) # *(p3 + 2) 8008dd6c: 08023761 j 0x8008dd84 8008dd70: a7a20018 sh r2,0x0018(r29) # data.0x08 = *(p3 + 2) # } else { 8008dd74: a7a00014 sh r0,0x0014(r29) # data.0x04 = 0 8008dd78: a3a60016 sb r6,0x0016(r29) # data.0x06 = p3 8008dd7c: a3a00017 sb r0,0x0017(r29) # data.0x07 = 0 8008dd80: a3a600b6 sb r6,0x00b6(r29) # data.0xa6 = p3 # } # } 8008dd84: a3a00012 sb r0,0x0012(r29) # data.0x02 = 0 8008dd88: 00002021 addu r4,r0,r0 8008dd8c: 00e02821 addu r5,r7,r0 8008dd90: 0c06856d jal 0x801a15b4 # Effect Related (0x1a15b4) (0, EffectID, data); 8008dd94: 27a60010 addiu r6,r29,0x0010 8008dd98: 8fbf00d8 lw r31,0x00d8(r29) 8008dd9c: 27bd00e0 addiu r29,r29,0x00e0 8008dda0: 03e00008 jr r31 8008dda4: 00000000 nop