diff options
-rw-r--r-- | asm/field_effect_helpers.s | 45 | ||||
-rw-r--r-- | src/field_effect_helpers.c | 20 |
2 files changed, 20 insertions, 45 deletions
diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index 297182306..823f80dda 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -6,51 +6,6 @@ .text - thumb_func_start sub_8128774 -sub_8128774: @ 8128774 - push {lr} - adds r2, r0, 0 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - bne _081287A8 - adds r0, r2, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081287A0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] -_081287A0: - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0 - beq _081287BE -_081287A8: - ldrh r0, [r2, 0x30] - adds r0, 0x1 - strh r0, [r2, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x22 - ble _081287BE - adds r0, r2, 0 - movs r1, 0x36 - bl FieldEffectStop -_081287BE: - pop {r0} - bx r0 - thumb_func_end sub_8128774 - thumb_func_start sub_81287C4 sub_81287C4: @ 81287C4 push {r4,lr} diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index c4b48a377..a84746a04 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -1450,3 +1450,23 @@ u32 FldEff_Sparkle(void) } return 0; } + +void sub_8128774(struct Sprite *sprite) +{ + if (sprite->data0 == 0) + { + if (sprite->animEnded) + { + sprite->invisible = TRUE; + sprite->data0 ++; + } + if (sprite->data0 == 0) + { + return; + } + } + if (++ sprite->data1 >= 35) + { + FieldEffectStop(sprite, FLDEFF_SPARKLE); + } +} |