diff options
| author | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-09 21:17:35 -0400 | 
|---|---|---|
| committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-09-09 21:17:35 -0400 | 
| commit | 959858eac27cc30382a2d309180a282d8144903b (patch) | |
| tree | d349c356743ad2b97d37b2cdb6477698493ad972 | |
| parent | 6e57ac34492ec11017b8e741b8e7008f0e844e9b (diff) | |
FldEff_Ripple
| -rw-r--r-- | asm/field_effect_helpers.s | 50 | ||||
| -rw-r--r-- | src/field_effect_helpers.c | 16 | 
2 files changed, 16 insertions, 50 deletions
| diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index fbc1d5a50..0ea1593e3 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -6,56 +6,6 @@  	.text -	thumb_func_start FldEff_Ripple -FldEff_Ripple: @ 8127978 -	push {r4,lr} -	ldr r0, _081279CC @ =gFieldEffectObjectTemplatePointers -	ldr r0, [r0, 0x14] -	ldr r4, _081279D0 @ =gFieldEffectSpawnParams -	movs r2, 0 -	ldrsh r1, [r4, r2] -	movs r3, 0x4 -	ldrsh r2, [r4, r3] -	ldrb r3, [r4, 0x8] -	bl CreateSpriteAtEnd -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0x40 -	beq _081279C4 -	lsls r2, r0, 4 -	adds r2, r0 -	lsls r2, 2 -	ldr r0, _081279D4 @ =gSprites -	adds r2, r0 -	adds r3, r2, 0 -	adds r3, 0x3E -	ldrb r0, [r3] -	movs r1, 0x2 -	orrs r0, r1 -	strb r0, [r3] -	movs r0, 0x3 -	ldrb r1, [r4, 0xC] -	ands r1, r0 -	lsls r1, 2 -	ldrb r3, [r2, 0x5] -	movs r0, 0xD -	negs r0, r0 -	ands r0, r3 -	orrs r0, r1 -	strb r0, [r2, 0x5] -	movs r0, 0x5 -	strh r0, [r2, 0x2E] -_081279C4: -	movs r0, 0 -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_081279CC: .4byte gFieldEffectObjectTemplatePointers -_081279D0: .4byte gFieldEffectSpawnParams -_081279D4: .4byte gSprites -	thumb_func_end FldEff_Ripple -  	thumb_func_start FldEff_HotSpringsWater  FldEff_HotSpringsWater: @ 81279D8  	push {r4-r6,lr} diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 9f12fd6a4..2df247600 100644 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -762,3 +762,19 @@ static void sub_81278D8(struct Sprite *sprite)          }      }  } + +u8 FldEff_Ripple(void) +{ +    u8 spriteId; +    struct Sprite *sprite; + +    spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[5], gFieldEffectSpawnParams[0], gFieldEffectSpawnParams[1], gFieldEffectSpawnParams[2]); +    if (spriteId != MAX_SPRITES) +    { +        sprite = &gSprites[spriteId]; +        sprite->coordOffsetEnabled = TRUE; +        sprite->oam.priority = gFieldEffectSpawnParams[3]; +        sprite->data0 = FLDEFF_RIPPLE; +    } +    return 0; +} | 
