summaryrefslogtreecommitdiff
path: root/src/field_effect.c
diff options
context:
space:
mode:
authorGriffinR <griffin.g.richards@gmail.com>2021-11-13 15:54:40 -0500
committerGitHub <noreply@github.com>2021-11-13 15:54:40 -0500
commitb14fe9dce369b1a78c5f4f653b4c7e2e2d67d98d (patch)
treeff1f6209a92bc3a92c102bb4a18ca8a7fa907af7 /src/field_effect.c
parentef935f6f4a59a2b37c4ff870ade96853621210ae (diff)
parent57be596ce43bed86594412d598d3058c4a3d1d2d (diff)
Merge pull request #1547 from GriffinRichards/doc-sounddata
Clean up sound, add CRY_MODE constants
Diffstat (limited to 'src/field_effect.c')
-rw-r--r--src/field_effect.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/field_effect.c b/src/field_effect.c
index 574bec879..3f0ba2455 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -2565,15 +2565,17 @@ bool8 FldEff_FieldMoveShowMon(void)
return FALSE;
}
+#define SHOW_MON_CRY_NO_DUCKING (1 << 31)
+
bool8 FldEff_FieldMoveShowMonInit(void)
{
struct Pokemon *pokemon;
- u32 flag = gFieldEffectArguments[0] & 0x80000000;
+ bool32 noDucking = gFieldEffectArguments[0] & SHOW_MON_CRY_NO_DUCKING;
pokemon = &gPlayerParty[(u8)gFieldEffectArguments[0]];
gFieldEffectArguments[0] = GetMonData(pokemon, MON_DATA_SPECIES);
gFieldEffectArguments[1] = GetMonData(pokemon, MON_DATA_OT_ID);
gFieldEffectArguments[2] = GetMonData(pokemon, MON_DATA_PERSONALITY);
- gFieldEffectArguments[0] |= flag;
+ gFieldEffectArguments[0] |= noDucking;
FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON);
FieldEffectActiveListRemove(FLDEFF_FIELD_MOVE_SHOW_MON_INIT);
return FALSE;
@@ -2913,17 +2915,17 @@ static bool8 SlideIndoorBannerOffscreen(struct Task *task)
static u8 InitFieldMoveMonSprite(u32 species, u32 otId, u32 personality)
{
- u16 v0;
+ bool16 noDucking;
u8 monSprite;
struct Sprite *sprite;
- v0 = (species & 0x80000000) >> 16;
- species &= 0x7fffffff;
+ noDucking = (species & SHOW_MON_CRY_NO_DUCKING) >> 16;
+ species &= ~SHOW_MON_CRY_NO_DUCKING;
monSprite = CreateMonSprite_FieldMove(species, otId, personality, 320, 80, 0);
sprite = &gSprites[monSprite];
sprite->callback = SpriteCallbackDummy;
sprite->oam.priority = 0;
sprite->sSpecies = species;
- sprite->data[6] = v0;
+ sprite->data[6] = noDucking;
return monSprite;
}
@@ -2935,13 +2937,9 @@ static void SpriteCB_FieldMoveMonSlideOnscreen(struct Sprite *sprite)
sprite->sOnscreenTimer = 30;
sprite->callback = SpriteCB_FieldMoveMonWaitAfterCry;
if (sprite->data[6])
- {
- PlayCry2(sprite->sSpecies, 0, 0x7d, 0xa);
- }
+ PlayCry_NormalNoDucking(sprite->sSpecies, 0, CRY_VOLUME_RS, CRY_PRIORITY_NORMAL);
else
- {
- PlayCry1(sprite->sSpecies, 0);
- }
+ PlayCry_Normal(sprite->sSpecies, 0);
}
}
@@ -3021,7 +3019,7 @@ static void SurfFieldEffect_ShowMon(struct Task *task)
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
if (ObjectEventCheckHeldMovementStatus(objectEvent))
{
- gFieldEffectArguments[0] = task->tMonId | 0x80000000;
+ gFieldEffectArguments[0] = task->tMonId | SHOW_MON_CRY_NO_DUCKING;
FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT);
task->tState++;
}