Merge pull request #1547 from GriffinRichards/doc-sounddata

Clean up sound, add CRY_MODE constants
This commit is contained in:
GriffinR
2021-11-13 15:54:40 -05:00
committed by GitHub
345 changed files with 1238 additions and 1179 deletions

View File

@@ -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++;
}