diff options
author | scnorton <scnorton@biociphers.org> | 2017-09-10 11:45:03 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2017-09-10 11:45:03 -0400 |
commit | 7b42ee1259d243cecd4d997c8f784c5e9fecd8dd (patch) | |
tree | 2f489e261f8924cf9a305101c8f7790d995b2794 | |
parent | 477be592a40837c532723be07a5d792e5a6ad703 (diff) |
FldEff_Bubbles
-rw-r--r-- | asm/field_effect_helpers.s | 51 | ||||
-rw-r--r-- | src/field_effect_helpers.c | 16 |
2 files changed, 16 insertions, 51 deletions
diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index 4630bf6b2..afa84b4fb 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -6,57 +6,6 @@ .text - thumb_func_start FldEff_Bubbles -FldEff_Bubbles: @ 81283AC - push {r4,lr} - ldr r4, _08128404 @ =gFieldEffectSpawnParams - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0 - bl sub_8060470 - ldr r0, _08128408 @ =gFieldEffectObjectTemplatePointers - adds r0, 0x88 - ldr r0, [r0] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _081283FC - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0812840C @ =gSprites - adds r1, r0 - adds r3, r1, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r2, 0x2 - orrs r0, r2 - strb r0, [r3] - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1, 0x5] -_081283FC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08128404: .4byte gFieldEffectSpawnParams -_08128408: .4byte gFieldEffectObjectTemplatePointers -_0812840C: .4byte gSprites - thumb_func_end FldEff_Bubbles - thumb_func_start sub_8128410 sub_8128410: @ 8128410 push {r4,lr} diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 367d08cc0..9e240578d 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -1283,3 +1283,19 @@ void sub_81282E0(struct Sprite *sprite) sub_806487C(sprite, FALSE); } } + +u8 FldEff_Bubbles(void) +{ + u8 spriteId; + struct Sprite *sprite; + + sub_8060470((s16 *)&gFieldEffectSpawnParams[0], (s16 *)&gFieldEffectSpawnParams[1], 8, 0); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[34], gFieldEffectSpawnParams[0], gFieldEffectSpawnParams[1], 0x52); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = 1; + } + return 0; +} |