From 98133a9f7babad12d40b76bf3e1fa6db376fda62 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 6 Dec 2024 15:01:52 -0500 Subject: [PATCH 01/17] Add fix for possible crash when decompressing trainer back pics --- src/battle_gfx_sfx_util.c | 8 ++++++++ src/trainer_pokemon_sprites.c | 20 +++++++++++++++++--- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 2deced13c0..37b2a023dd 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -710,9 +710,17 @@ void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId) void DecompressTrainerBackPic(u16 backPicId, u8 battlerId) { u8 position = GetBattlerPosition(battlerId); +#ifdef BUGFIX + CpuCopy32(gTrainerBackPicTable[backPicId].data, gMonSpritesGfxPtr->sprites.ptr[position], gTrainerBackPicTable[backPicId].size); +#else + // Trainer back pics aren't compressed! + // Attempting to decompress the uncompressed data can softlock or crash the game. + // This is ok in vanilla by chance, because the pixels in the trainer back sprites that correspond + // to the compressed data's header are all 0, so the decompression does nothing. DecompressPicFromTable_2(&gTrainerBackPicTable[backPicId], gMonSpritesGfxPtr->sprites.ptr[position], SPECIES_NONE); +#endif LoadCompressedPalette(gTrainerBackPicPaletteTable[backPicId].data, OBJ_PLTT_ID(battlerId), PLTT_SIZE_4BPP); } diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index f36060e8d1..909b86ab8c 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -57,10 +57,11 @@ bool16 ResetAllPicSprites(void) return FALSE; } -static bool16 DecompressPic(u16 species, u32 personality, bool8 isFrontPic, u8 *dest, bool8 isTrainer, bool8 ignoreDeoxys) +static bool16 DecompressPic(u16 picId, u32 personality, bool8 isFrontPic, u8 *dest, bool8 isTrainer, bool8 ignoreDeoxys) { if (!isTrainer) { + u16 species = picId; if (isFrontPic) { if (!ignoreDeoxys) @@ -78,10 +79,23 @@ static bool16 DecompressPic(u16 species, u32 personality, bool8 isFrontPic, u8 * } else { + u16 trainerPicId = picId; if (isFrontPic) - DecompressPicFromTable(&gTrainerFrontPicTable[species], dest, species); + { + DecompressPicFromTable(&gTrainerFrontPicTable[trainerPicId], dest, trainerPicId); + } else - DecompressPicFromTable(&gTrainerBackPicTable[species], dest, species); + { +#ifdef BUGFIX + CpuCopy32(gTrainerBackPicTable[trainerPicId].data, dest, gTrainerBackPicTable[trainerPicId].size); +#else + // Trainer back pics aren't compressed! + // Attempting to decompress the uncompressed data can softlock or crash the game. + // This is ok in vanilla by chance, because the pixels in the trainer back sprites that correspond + // to the compressed data's header are all 0, so the decompression does nothing. + DecompressPicFromTable(&gTrainerBackPicTable[trainerPicId], dest, trainerPicId); +#endif + } } return FALSE; } From 6cc878919d25bfac9c1b3ea4d5b4d2415576b392 Mon Sep 17 00:00:00 2001 From: Josh <32826900+ShinyDragonHunter@users.noreply.github.com> Date: Sat, 9 Aug 2025 20:57:59 +0100 Subject: [PATCH 02/17] Identify unused functions in siirtc.c, m4a.c & rtc.c "SiiRtcSetAlarm" in siirtc.c, the "FormatHex" functions in rtc.c and "UnusedDummyFunc", m4aSongNumStartOrContinue", m4aSongNumContinue", "MusicPlayerJumpTableCopy" in m4a.c are all unused in vanilla so they've been changed to use the "UNUSED" attribute. --- include/rtc.h | 5 ----- include/siirtc.h | 1 - src/m4a.c | 8 ++++---- src/rtc.c | 10 +++++----- src/siirtc.c | 2 +- 5 files changed, 10 insertions(+), 16 deletions(-) diff --git a/include/rtc.h b/include/rtc.h index 7a3d3d524b..6059688285 100644 --- a/include/rtc.h +++ b/include/rtc.h @@ -33,11 +33,6 @@ void RtcGetStatus(struct SiiRtcInfo *rtc); void RtcGetRawInfo(struct SiiRtcInfo *rtc); u16 RtcCheckInfo(struct SiiRtcInfo *rtc); void RtcReset(void); -void FormatDecimalTime(u8 *dest, s32 hour, s32 minute, s32 second); -void FormatHexTime(u8 *dest, s32 hour, s32 minute, s32 second); -void FormatHexRtcTime(u8 *dest); -void FormatDecimalDate(u8 *dest, s32 year, s32 month, s32 day); -void FormatHexDate(u8 *dest, s32 year, s32 month, s32 day); void RtcCalcTimeDifference(struct SiiRtcInfo *rtc, struct Time *result, struct Time *t); void RtcCalcLocalTime(void); void RtcInitLocalTimeOffset(s32 hour, s32 minute); diff --git a/include/siirtc.h b/include/siirtc.h index ad13fc62f3..92e646c32f 100644 --- a/include/siirtc.h +++ b/include/siirtc.h @@ -54,6 +54,5 @@ bool8 SiiRtcGetDateTime(struct SiiRtcInfo *rtc); bool8 SiiRtcSetDateTime(struct SiiRtcInfo *rtc); bool8 SiiRtcGetTime(struct SiiRtcInfo *rtc); bool8 SiiRtcSetTime(struct SiiRtcInfo *rtc); -bool8 SiiRtcSetAlarm(struct SiiRtcInfo *rtc); #endif // GUARD_RTC_H diff --git a/src/m4a.c b/src/m4a.c index 2ad2261d08..33f20455f3 100644 --- a/src/m4a.c +++ b/src/m4a.c @@ -41,7 +41,7 @@ u32 MidiKeyToFreq(struct WaveData *wav, u8 key, u8 fineAdjust) return umul3232H32(wav->freq, val1 + umul3232H32(val2 - val1, fineAdjustShifted)); } -void UnusedDummyFunc(void) +static void UNUSED UnusedDummyFunc(void) { } @@ -135,7 +135,7 @@ void m4aSongNumStartOrChange(u16 n) } } -void m4aSongNumStartOrContinue(u16 n) +static void UNUSED m4aSongNumStartOrContinue(u16 n) { const struct MusicPlayer *mplayTable = gMPlayTable; const struct Song *songTable = gSongTable; @@ -161,7 +161,7 @@ void m4aSongNumStop(u16 n) m4aMPlayStop(mplay->info); } -void m4aSongNumContinue(u16 n) +static void UNUSED m4aSongNumContinue(u16 n) { const struct MusicPlayer *mplayTable = gMPlayTable; const struct Song *songTable = gSongTable; @@ -325,7 +325,7 @@ void MPlayExtender(struct CgbChannel *cgbChans) soundInfo->ident = ident; } -void MusicPlayerJumpTableCopy(void) +static void UNUSED MusicPlayerJumpTableCopy(void) { asm("swi 0x2A"); } diff --git a/src/rtc.c b/src/rtc.c index 08d5ec4c98..54c176dbaf 100644 --- a/src/rtc.c +++ b/src/rtc.c @@ -215,7 +215,7 @@ void RtcReset(void) RtcRestoreInterrupts(); } -void FormatDecimalTime(u8 *dest, s32 hour, s32 minute, s32 second) +static void UNUSED FormatDecimalTime(u8 *dest, s32 hour, s32 minute, s32 second) { dest = ConvertIntToDecimalStringN(dest, hour, STR_CONV_MODE_LEADING_ZEROS, 2); *dest++ = CHAR_COLON; @@ -225,7 +225,7 @@ void FormatDecimalTime(u8 *dest, s32 hour, s32 minute, s32 second) *dest = EOS; } -void FormatHexTime(u8 *dest, s32 hour, s32 minute, s32 second) +static void UNUSED FormatHexTime(u8 *dest, s32 hour, s32 minute, s32 second) { dest = ConvertIntToHexStringN(dest, hour, STR_CONV_MODE_LEADING_ZEROS, 2); *dest++ = CHAR_COLON; @@ -235,12 +235,12 @@ void FormatHexTime(u8 *dest, s32 hour, s32 minute, s32 second) *dest = EOS; } -void FormatHexRtcTime(u8 *dest) +static void UNUSED FormatHexRtcTime(u8 *dest) { FormatHexTime(dest, sRtc.hour, sRtc.minute, sRtc.second); } -void FormatDecimalDate(u8 *dest, s32 year, s32 month, s32 day) +static void UNUSED FormatDecimalDate(u8 *dest, s32 year, s32 month, s32 day) { dest = ConvertIntToDecimalStringN(dest, year, STR_CONV_MODE_LEADING_ZEROS, 4); *dest++ = CHAR_HYPHEN; @@ -250,7 +250,7 @@ void FormatDecimalDate(u8 *dest, s32 year, s32 month, s32 day) *dest = EOS; } -void FormatHexDate(u8 *dest, s32 year, s32 month, s32 day) +static void UNUSED FormatHexDate(u8 *dest, s32 year, s32 month, s32 day) { dest = ConvertIntToHexStringN(dest, year, STR_CONV_MODE_LEADING_ZEROS, 4); *dest++ = CHAR_HYPHEN; diff --git a/src/siirtc.c b/src/siirtc.c index 0e598f7172..3557685850 100644 --- a/src/siirtc.c +++ b/src/siirtc.c @@ -344,7 +344,7 @@ bool8 SiiRtcSetTime(struct SiiRtcInfo *rtc) return TRUE; } -bool8 SiiRtcSetAlarm(struct SiiRtcInfo *rtc) +static bool8 UNUSED SiiRtcSetAlarm(struct SiiRtcInfo *rtc) { u8 i; u8 alarmData[2]; From d6714add6f146d263a71cb664970efe7ad894393 Mon Sep 17 00:00:00 2001 From: NT_x86 Date: Sun, 31 Aug 2025 20:36:09 +0300 Subject: [PATCH 03/17] Change rangeX and rangeY to u8 in ObjectEvent struct --- include/global.fieldmap.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 1207bd80ea..cea8d8c13e 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -229,8 +229,8 @@ struct ObjectEvent u16 movementDirection:4; struct __attribute__((packed)) { - u16 rangeX:4; - u16 rangeY:4; + u8 rangeX:4; + u8 rangeY:4; } range; /*0x1A*/ u8 fieldEffectSpriteId; /*0x1B*/ u8 warpArrowSpriteId; From 769e128cc9d1991d966c16536c07993d090eba70 Mon Sep 17 00:00:00 2001 From: NT_x86 Date: Mon, 1 Sep 2025 13:52:46 +0300 Subject: [PATCH 04/17] fix sScrollableMultichoice_ListMenuItem alloc size --- src/field_specials.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/field_specials.c b/src/field_specials.c index b92efa14ed..002e4fb811 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -2555,7 +2555,7 @@ static void Task_ShowScrollableMultichoice(u8 taskId) sScrollableMultichoice_ItemSpriteId = MAX_SPRITES; FillFrontierExchangeCornerWindowAndItemIcon(task->tScrollMultiId, 0); ShowBattleFrontierTutorWindow(task->tScrollMultiId, 0); - sScrollableMultichoice_ListMenuItem = AllocZeroed(task->tNumItems * 8); + sScrollableMultichoice_ListMenuItem = AllocZeroed(task->tNumItems * sizeof(struct ListMenuItem)); sFrontierExchangeCorner_NeverRead = 0; InitScrollableMultichoice(); From b6742bac1cbd32cf2efacf933274e31f73f3d0dd Mon Sep 17 00:00:00 2001 From: Jamie Foster Date: Mon, 1 Sep 2025 15:18:53 +0200 Subject: [PATCH 05/17] Name pokemon summary screen remaining unnamed symbols --- src/pokemon_summary_screen.c | 250 +++++++++++++++++++---------------- 1 file changed, 139 insertions(+), 111 deletions(-) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index a5886fd6a9..16d9901220 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -228,12 +228,12 @@ static bool8 CanReplaceMove(void); static void ShowCantForgetHMsWindow(u8); static void Task_HandleInputCantForgetHMsMoves(u8); static void DrawPagination(void); -static void HandlePowerAccTilemap(u16, s16); -static void Task_ShowPowerAccWindow(u8); -static void HandleAppealJamTilemap(u16, s16, u16); -static void Task_ShowAppealJamWindow(u8); -static void HandleStatusTilemap(u16, s16); -static void Task_ShowStatusWindow(u8); +static void PositionPowerAccSlidingWindow(u16, s16); +static void Task_SlidePowerAccWindow(u8); +static void PositionAppealJamSlidingWindow(u16, s16, u16); +static void Task_SlideAppealJamWindow(u8); +static void PositionStatusSlidingWindow(u16, s16); +static void Task_SlideStatusWindow(u8); static void TilemapFiveMovesDisplay(u16 *, u16, bool8); static void DrawPokerusCuredSymbol(struct Pokemon *); static void DrawExperienceProgressBar(struct Pokemon *); @@ -356,32 +356,52 @@ static const struct BgTemplate sBgTemplates[] = }, }; -struct TilemapCtrl +struct SlidingWindow { const u16 *gfx; - u16 field_4; - u8 field_6; - u8 field_7; - u8 field_8; - u8 field_9; + u16 defaultTile; + u8 width; + u8 height; + u8 left; + u8 top; }; static const u16 sStatusTilemap[] = INCBIN_U16("graphics/summary_screen/status_tilemap.bin"); -static const struct TilemapCtrl sStatusTilemapCtrl1 = +static const struct SlidingWindow sStatusSlidingWindow1 = { - sStatusTilemap, 1, 10, 2, 0, 18 + .gfx = sStatusTilemap, + .defaultTile = 1, + .width = 10, + .height = 2, + .left = 0, + .top = 18 }; -static const struct TilemapCtrl sStatusTilemapCtrl2 = +static const struct SlidingWindow sStatusSlidingWindow2 = { - sStatusTilemap, 1, 10, 2, 0, 50 + .gfx = sStatusTilemap, + .defaultTile = 1, + .width = 10, + .height = 2, + .left = 0, + .top = 50 }; -static const struct TilemapCtrl sBattleMoveTilemapCtrl = +static const struct SlidingWindow sPowerAccSlidingWindow = { - gSummaryScreen_MoveEffect_Battle_Tilemap, 0, 10, 7, 0, 45 + .gfx = gSummaryScreen_MoveEffect_Battle_Tilemap, + .defaultTile = 0, + .width = 10, + .height = 7, + .left = 0, + .top = 45 }; -static const struct TilemapCtrl sContestMoveTilemapCtrl = +static const struct SlidingWindow sAppealJamSlidingWindow = { - gSummaryScreen_MoveEffect_Contest_Tilemap, 0, 10, 7, 0, 45 + .gfx = gSummaryScreen_MoveEffect_Contest_Tilemap, + .defaultTile = 0, + .width = 10, + .height = 7, + .left = 0, + .top = 45 }; static const s8 sMultiBattleOrder[] = {0, 2, 3, 1, 4, 5}; static const struct WindowTemplate sSummaryTemplate[] = @@ -1455,8 +1475,8 @@ static void SetDefaultTilemaps(void) { if (sMonSummaryScreen->currPageIndex != PSS_PAGE_BATTLE_MOVES && sMonSummaryScreen->currPageIndex != PSS_PAGE_CONTEST_MOVES) { - HandlePowerAccTilemap(0, 0xFF); - HandleAppealJamTilemap(0, 0xFF, 0); + PositionPowerAccSlidingWindow(0, 0xFF); + PositionAppealJamSlidingWindow(0, 0xFF, 0); } else { @@ -1471,7 +1491,7 @@ static void SetDefaultTilemaps(void) } if (sMonSummaryScreen->summary.ailment == AILMENT_NONE) - HandleStatusTilemap(0, 0xFF); + PositionStatusSlidingWindow(0, 0xFF); else if (sMonSummaryScreen->currPageIndex != PSS_PAGE_BATTLE_MOVES && sMonSummaryScreen->currPageIndex != PSS_PAGE_CONTEST_MOVES) PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); @@ -1596,7 +1616,7 @@ static void ChangeSummaryPokemon(u8 taskId, s8 delta) SetSpriteInvisibility(SPRITE_ARR_ID_STATUS, TRUE); ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); ScheduleBgCopyTilemapToVram(0); - HandleStatusTilemap(0, 2); + PositionStatusSlidingWindow(0, 2); } sMonSummaryScreen->curMonIndex = monId; gTasks[taskId].data[0] = 0; @@ -1637,7 +1657,7 @@ static void Task_ChangeSummaryMon(u8 taskId) break; case 7: if (sMonSummaryScreen->summary.ailment != AILMENT_NONE) - HandleStatusTilemap(10, -2); + PositionStatusSlidingWindow(10, -2); DrawPokerusCuredSymbol(&sMonSummaryScreen->currentMon); data[1] = 0; break; @@ -1663,7 +1683,7 @@ static void Task_ChangeSummaryMon(u8 taskId) gSprites[sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_MON]].data[2] = 0; break; default: - if (!MenuHelpers_ShouldWaitForLinkRecv() && !FuncIsActiveTask(Task_ShowStatusWindow)) + if (!MenuHelpers_ShouldWaitForLinkRecv() && !FuncIsActiveTask(Task_SlideStatusWindow)) { data[0] = 0; gTasks[taskId].func = Task_HandleInput; @@ -1869,8 +1889,8 @@ static void SwitchToMoveSelection(u8 taskId) ClearWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_SPECIES); if (!gSprites[sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_STATUS]].invisible) ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); - HandlePowerAccTilemap(9, -3); - HandleAppealJamTilemap(9, -3, move); + PositionPowerAccSlidingWindow(9, -3); + PositionAppealJamSlidingWindow(9, -3, move); if (!sMonSummaryScreen->lockMovesFlag) { ClearWindowTilemap(PSS_LABEL_WINDOW_PROMPT_INFO); @@ -1976,8 +1996,8 @@ static void ChangeSelectedMove(s16 *taskData, s8 direction, u8 *moveIndexPtr) if (!gSprites[sMonSummaryScreen->spriteIds[SPRITE_ARR_ID_STATUS]].invisible) ClearWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); ScheduleBgCopyTilemapToVram(0); - HandlePowerAccTilemap(9, -3); - HandleAppealJamTilemap(9, -3, move); + PositionPowerAccSlidingWindow(9, -3); + PositionAppealJamSlidingWindow(9, -3, move); } if (*moveIndexPtr != MAX_MON_MOVES && newMoveIndex == MAX_MON_MOVES @@ -1986,8 +2006,8 @@ static void ChangeSelectedMove(s16 *taskData, s8 direction, u8 *moveIndexPtr) ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); ScheduleBgCopyTilemapToVram(0); - HandlePowerAccTilemap(0, 3); - HandleAppealJamTilemap(0, 3, 0); + PositionPowerAccSlidingWindow(0, 3); + PositionAppealJamSlidingWindow(0, 3, 0); } *moveIndexPtr = newMoveIndex; @@ -2011,8 +2031,8 @@ static void CloseMoveSelectMode(u8 taskId) { ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); - HandlePowerAccTilemap(0, 3); - HandleAppealJamTilemap(0, 3, 0); + PositionPowerAccSlidingWindow(0, 3); + PositionAppealJamSlidingWindow(0, 3, 0); } ScheduleBgCopyTilemapToVram(0); ScheduleBgCopyTilemapToVram(1); @@ -2238,8 +2258,8 @@ static void ShowCantForgetHMsWindow(u8 taskId) ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); ScheduleBgCopyTilemapToVram(0); - HandlePowerAccTilemap(0, 3); - HandleAppealJamTilemap(0, 3, 0); + PositionPowerAccSlidingWindow(0, 3); + PositionAppealJamSlidingWindow(0, 3, 0); PrintHMMovesCantBeForgotten(); gTasks[taskId].func = Task_HandleInputCantForgetHMsMoves; } @@ -2249,7 +2269,7 @@ static void Task_HandleInputCantForgetHMsMoves(u8 taskId) { s16 *data = gTasks[taskId].data; u16 move; - if (FuncIsActiveTask(Task_ShowPowerAccWindow) != 1) + if (FuncIsActiveTask(Task_SlidePowerAccWindow) != 1) { if (JOY_NEW(DPAD_UP)) { @@ -2277,8 +2297,8 @@ static void Task_HandleInputCantForgetHMsMoves(u8 taskId) move = sMonSummaryScreen->summary.moves[sMonSummaryScreen->firstMoveIndex]; gTasks[taskId].func = Task_HandleReplaceMoveInput; ChangePage(taskId, -1); - HandlePowerAccTilemap(9, -2); - HandleAppealJamTilemap(9, -2, move); + PositionPowerAccSlidingWindow(9, -2); + PositionAppealJamSlidingWindow(9, -2, move); } } else if (JOY_NEW(DPAD_RIGHT) || GetLRKeysPressed() == MENU_R_PRESSED) @@ -2291,8 +2311,8 @@ static void Task_HandleInputCantForgetHMsMoves(u8 taskId) move = sMonSummaryScreen->summary.moves[sMonSummaryScreen->firstMoveIndex]; gTasks[taskId].func = Task_HandleReplaceMoveInput; ChangePage(taskId, 1); - HandlePowerAccTilemap(9, -2); - HandleAppealJamTilemap(9, -2, move); + PositionPowerAccSlidingWindow(9, -2); + PositionAppealJamSlidingWindow(9, -2, move); } } else if (JOY_NEW(A_BUTTON | B_BUTTON)) @@ -2303,8 +2323,8 @@ static void Task_HandleInputCantForgetHMsMoves(u8 taskId) move = sMonSummaryScreen->summary.moves[sMonSummaryScreen->firstMoveIndex]; PrintMoveDetails(move); ScheduleBgCopyTilemapToVram(0); - HandlePowerAccTilemap(9, -3); - HandleAppealJamTilemap(9, -3, move); + PositionPowerAccSlidingWindow(9, -3); + PositionAppealJamSlidingWindow(9, -3, move); gTasks[taskId].func = Task_HandleReplaceMoveInput; } } @@ -2382,65 +2402,69 @@ static void DrawPagination(void) // Updates the pagination dots at the top of th Free(tilemap); } -static void ChangeTilemap(const struct TilemapCtrl *unkStruct, u16 *dest, u8 c, bool8 d) +static void CopyNColumnsToTilemap(const struct SlidingWindow *slidingWindow, u16 *tilemapDest, u8 visibleColumns, bool8 isOpeningToTheLeft) { u16 i; - u16 *alloced = Alloc(unkStruct->field_6 * 2 * unkStruct->field_7); - CpuFill16(unkStruct->field_4, alloced, unkStruct->field_6 * 2 * unkStruct->field_7); - if (unkStruct->field_6 != c) + u16 *alloced = Alloc(slidingWindow->width * 2 * slidingWindow->height); + CpuFill16(slidingWindow->defaultTile, alloced, slidingWindow->width * 2 * slidingWindow->height); + if (slidingWindow->width != visibleColumns) { - if (!d) + if (!isOpeningToTheLeft) { - for (i = 0; i < unkStruct->field_7; i++) - CpuCopy16(&unkStruct->gfx[c + unkStruct->field_6 * i], &alloced[unkStruct->field_6 * i], (unkStruct->field_6 - c) * 2); + for (i = 0; i < slidingWindow->height; i++) + CpuCopy16(&slidingWindow->gfx[visibleColumns + slidingWindow->width * i], &alloced[slidingWindow->width * i], (slidingWindow->width - visibleColumns) * 2); } else { - for (i = 0; i < unkStruct->field_7; i++) - CpuCopy16(&unkStruct->gfx[unkStruct->field_6 * i], &alloced[c + unkStruct->field_6 * i], (unkStruct->field_6 - c) * 2); + for (i = 0; i < slidingWindow->height; i++) + CpuCopy16(&slidingWindow->gfx[slidingWindow->width * i], &alloced[visibleColumns + slidingWindow->width * i], (slidingWindow->width - visibleColumns) * 2); } } - for (i = 0; i < unkStruct->field_7; i++) - CpuCopy16(&alloced[unkStruct->field_6 * i], &dest[(unkStruct->field_9 + i) * 32 + unkStruct->field_8], unkStruct->field_6 * 2); + for (i = 0; i < slidingWindow->height; i++) + CpuCopy16(&alloced[slidingWindow->width * i], &tilemapDest[(slidingWindow->top + i) * 32 + slidingWindow->left], slidingWindow->width * 2); Free(alloced); } -static void HandlePowerAccTilemap(u16 a, s16 b) +#define tScrollingSpeed data[0] +#define tVisibleColumns data[1] +#define tMove data[2] + +static void PositionPowerAccSlidingWindow(u16 visibleColumns, s16 speed) { - if (b > sBattleMoveTilemapCtrl.field_6) - b = sBattleMoveTilemapCtrl.field_6; - if (b == 0 || b == sBattleMoveTilemapCtrl.field_6) + if (speed > sPowerAccSlidingWindow.width) + speed = sPowerAccSlidingWindow.width; + if (speed == 0 || speed == sPowerAccSlidingWindow.width) { - ChangeTilemap(&sBattleMoveTilemapCtrl, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], b, TRUE); + CopyNColumnsToTilemap(&sPowerAccSlidingWindow, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], speed, TRUE); } else { - u8 taskId = FindTaskIdByFunc(Task_ShowPowerAccWindow); + u8 taskId = FindTaskIdByFunc(Task_SlidePowerAccWindow); if (taskId == TASK_NONE) - taskId = CreateTask(Task_ShowPowerAccWindow, 8); - gTasks[taskId].data[0] = b; - gTasks[taskId].data[1] = a; + taskId = CreateTask(Task_SlidePowerAccWindow, 8); + gTasks[taskId].tScrollingSpeed = speed; + gTasks[taskId].tVisibleColumns = visibleColumns; } } -static void Task_ShowPowerAccWindow(u8 taskId) +static void Task_SlidePowerAccWindow(u8 taskId) { s16 *data = gTasks[taskId].data; - data[1] += data[0]; - if (data[1] < 0) + tVisibleColumns += tScrollingSpeed; + if (tVisibleColumns < 0) { - data[1] = 0; + tVisibleColumns = 0; } - else if (data[1] > sBattleMoveTilemapCtrl.field_6) + else if (tVisibleColumns > sPowerAccSlidingWindow.width) { - data[1] = sBattleMoveTilemapCtrl.field_6; + tVisibleColumns = sPowerAccSlidingWindow.width; } - ChangeTilemap(&sBattleMoveTilemapCtrl, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], data[1], TRUE); - if (data[1] <= 0 || data[1] >= sBattleMoveTilemapCtrl.field_6) + CopyNColumnsToTilemap(&sPowerAccSlidingWindow, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], tVisibleColumns, TRUE); + if (tVisibleColumns <= 0 || tVisibleColumns >= sPowerAccSlidingWindow.width) { - if (data[0] < 0) + if (tScrollingSpeed < 0) { if (sMonSummaryScreen->currPageIndex == PSS_PAGE_BATTLE_MOVES) PutWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); @@ -2458,46 +2482,46 @@ static void Task_ShowPowerAccWindow(u8 taskId) ScheduleBgCopyTilemapToVram(2); } -static void HandleAppealJamTilemap(u16 a, s16 b, u16 move) +static void PositionAppealJamSlidingWindow(u16 visibleColumns, s16 speed, u16 move) { - if (b > sContestMoveTilemapCtrl.field_6) - b = sContestMoveTilemapCtrl.field_6; + if (speed > sAppealJamSlidingWindow.width) + speed = sAppealJamSlidingWindow.width; - if (b == 0 || b == sContestMoveTilemapCtrl.field_6) + if (speed == 0 || speed == sAppealJamSlidingWindow.width) { - ChangeTilemap(&sContestMoveTilemapCtrl, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], b, TRUE); + CopyNColumnsToTilemap(&sAppealJamSlidingWindow, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], speed, TRUE); } else { - u8 taskId = FindTaskIdByFunc(Task_ShowAppealJamWindow); + u8 taskId = FindTaskIdByFunc(Task_SlideAppealJamWindow); if (taskId == TASK_NONE) - taskId = CreateTask(Task_ShowAppealJamWindow, 8); - gTasks[taskId].data[0] = b; - gTasks[taskId].data[1] = a; - gTasks[taskId].data[2] = move; + taskId = CreateTask(Task_SlideAppealJamWindow, 8); + gTasks[taskId].tScrollingSpeed = speed; + gTasks[taskId].tVisibleColumns = visibleColumns; + gTasks[taskId].tMove = move; } } -static void Task_ShowAppealJamWindow(u8 taskId) +static void Task_SlideAppealJamWindow(u8 taskId) { s16 *data = gTasks[taskId].data; - data[1] += data[0]; - if (data[1] < 0) + tVisibleColumns += tScrollingSpeed; + if (tVisibleColumns < 0) { - data[1] = 0; + tVisibleColumns = 0; } - else if (data[1] > sContestMoveTilemapCtrl.field_6) + else if (tVisibleColumns > sAppealJamSlidingWindow.width) { - data[1] = sContestMoveTilemapCtrl.field_6; + tVisibleColumns = sAppealJamSlidingWindow.width; } - ChangeTilemap(&sContestMoveTilemapCtrl, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], data[1], TRUE); - if (data[1] <= 0 || data[1] >= sContestMoveTilemapCtrl.field_6) + CopyNColumnsToTilemap(&sAppealJamSlidingWindow, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], tVisibleColumns, TRUE); + if (tVisibleColumns <= 0 || tVisibleColumns >= sAppealJamSlidingWindow.width) { - if (data[0] < 0) + if (tScrollingSpeed < 0) { if (sMonSummaryScreen->currPageIndex == PSS_PAGE_CONTEST_MOVES && FuncIsActiveTask(PssScrollRight) == 0) PutWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); - DrawContestMoveHearts(data[2]); + DrawContestMoveHearts(tMove); } else { @@ -2514,37 +2538,37 @@ static void Task_ShowAppealJamWindow(u8 taskId) ScheduleBgCopyTilemapToVram(2); } -static void HandleStatusTilemap(u16 a, s16 b) +static void PositionStatusSlidingWindow(u16 visibleColumns, s16 speed) { - if (b > sStatusTilemapCtrl1.field_6) - b = sStatusTilemapCtrl1.field_6; - if (b == 0 || b == sStatusTilemapCtrl1.field_6) + if (speed > sStatusSlidingWindow1.width) + speed = sStatusSlidingWindow1.width; + if (speed == 0 || speed == sStatusSlidingWindow1.width) { - ChangeTilemap(&sStatusTilemapCtrl1, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0], b, FALSE); - ChangeTilemap(&sStatusTilemapCtrl2, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0], b, FALSE); + CopyNColumnsToTilemap(&sStatusSlidingWindow1, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0], speed, FALSE); + CopyNColumnsToTilemap(&sStatusSlidingWindow2, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0], speed, FALSE); } else { - u8 taskId = CreateTask(Task_ShowStatusWindow, 8); - gTasks[taskId].data[0] = b; - gTasks[taskId].data[1] = a; + u8 taskId = CreateTask(Task_SlideStatusWindow, 8); + gTasks[taskId].tScrollingSpeed = speed; + gTasks[taskId].tVisibleColumns = visibleColumns; } } -static void Task_ShowStatusWindow(u8 taskId) +static void Task_SlideStatusWindow(u8 taskId) { s16 *data = gTasks[taskId].data; - data[1] += data[0]; - if (data[1] < 0) - data[1] = 0; - else if (data[1] > sStatusTilemapCtrl1.field_6) - data[1] = sStatusTilemapCtrl1.field_6; - ChangeTilemap(&sStatusTilemapCtrl1, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], FALSE); - ChangeTilemap(&sStatusTilemapCtrl2, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], FALSE); + tVisibleColumns += tScrollingSpeed; + if (tVisibleColumns < 0) + tVisibleColumns = 0; + else if (tVisibleColumns > sStatusSlidingWindow1.width) + tVisibleColumns = sStatusSlidingWindow1.width; + CopyNColumnsToTilemap(&sStatusSlidingWindow1, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0], tVisibleColumns, FALSE); + CopyNColumnsToTilemap(&sStatusSlidingWindow2, sMonSummaryScreen->bgTilemapBuffers[PSS_PAGE_INFO][0], tVisibleColumns, FALSE); ScheduleBgCopyTilemapToVram(3); - if (data[1] <= 0 || data[1] >= sStatusTilemapCtrl1.field_6) + if (tVisibleColumns <= 0 || tVisibleColumns >= sStatusSlidingWindow1.width) { - if (data[0] < 0) + if (tScrollingSpeed < 0) { CreateSetStatusSprite(); PutWindowTilemap(PSS_LABEL_WINDOW_POKEMON_SKILLS_STATUS); @@ -2554,6 +2578,10 @@ static void Task_ShowStatusWindow(u8 taskId) } } +#undef tScrollingSpeed +#undef tVisibleColumns +#undef tMove + // Toggles the "Cancel" window that appears when selecting a move static void TilemapFiveMovesDisplay(u16 *dst, u16 palette, bool8 remove) { From c466dce9964c87ad5ce47842fb70522ac6fc92dc Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Thu, 6 Nov 2025 13:40:22 +0000 Subject: [PATCH 06/17] Fix FLAG_REGISTERED_WALLY --- include/constants/flags.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/constants/flags.h b/include/constants/flags.h index 7b5c5edb45..74b10cdfbc 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -445,7 +445,7 @@ #define FLAG_REGISTERED_TRENT (TRAINER_REGISTERED_FLAGS_START + REMATCH_TRENT) #define FLAG_REGISTERED_SAWYER (TRAINER_REGISTERED_FLAGS_START + REMATCH_SAWYER) #define FLAG_REGISTERED_KIRA_AND_DAN (TRAINER_REGISTERED_FLAGS_START + REMATCH_KIRA_AND_DAN) -#define FLAG_REGISTERED_WALLY (TRAINER_REGISTERED_FLAGS_START + REMATCH_WALLY) +#define FLAG_REGISTERED_WALLY (TRAINER_REGISTERED_FLAGS_START + REMATCH_WALLY_VR) #define FLAG_REGISTERED_ROXANNE (TRAINER_REGISTERED_FLAGS_START + REMATCH_ROXANNE) #define FLAG_REGISTERED_BRAWLY (TRAINER_REGISTERED_FLAGS_START + REMATCH_BRAWLY) #define FLAG_REGISTERED_WATTSON (TRAINER_REGISTERED_FLAGS_START + REMATCH_WATTSON) From 4297a5ea81e7b78ad996e674bc40fd36a094909f Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 2 Dec 2025 21:07:19 -0500 Subject: [PATCH 07/17] Clean up wav2agb's Makefile --- tools/wav2agb/Makefile | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/tools/wav2agb/Makefile b/tools/wav2agb/Makefile index a121730e95..a38f71758f 100644 --- a/tools/wav2agb/Makefile +++ b/tools/wav2agb/Makefile @@ -1,33 +1,23 @@ -GIT_VERSION := $(shell git describe --abbrev=7 --dirty --always --tags) +CXX ?= g++ + +CXXFLAGS := -Wall -Werror -std=c++17 -O2 + +SRCS := $(wildcard *.cpp) +HEADERS := $(wildcard *.h) -CXX = g++ -STRIP = strip -CXXFLAGS = -Wall -Wextra -Wconversion -std=c++17 -O2 -g -DGIT_VERSION=\"$(GIT_VERSION)\" EXE := ifeq ($(OS),Windows_NT) EXE := .exe endif BINARY = wav2agb$(EXE) -SRC_FILES = $(wildcard *.cpp) -OBJ_FILES = $(SRC_FILES:.cpp=.o) +.PHONY: all clean -LDFLAGS := - -ifneq (,$(RELEASE)) - LDFLAGS += -static - CXXFLAGS += -flto -endif - -.PHONY: clean clean all: $(BINARY) + @: + +$(BINARY): $(SRCS) $(HEADERS) + $(CXX) $(CXXFLAGS) $(SRCS) -o $@ $(LDFLAGS) clean: - rm -f $(OBJ_FILES) $(BINARY) - -$(BINARY): $(OBJ_FILES) - $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ - if [ $(RELEASE)x != x ]; then strip -s $@; fi - -%.o: %.cpp - $(CXX) -c -o $@ $< $(CXXFLAGS) + $(RM) $(BINARY) From d8a6b72e23cc868b735b14ae2aab0fb283578bbe Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 3 Dec 2025 21:31:22 -0500 Subject: [PATCH 08/17] Display error for invalid hidden item flags --- asm/macros/map.inc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/asm/macros/map.inc b/asm/macros/map.inc index acbcd532dd..884ecba5f6 100644 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -109,6 +109,9 @@ @ Defines a background hidden item event for map data .macro bg_hidden_item_event x:req, y:req, elevation:req, item:req, flag:req + .if \flag < FLAG_HIDDEN_ITEMS_START + .error "Hidden Item flag \flag is too small. Must be >= FLAG_HIDDEN_ITEMS_START." + .endif bg_event \x, \y, \elevation, BG_EVENT_HIDDEN_ITEM, \item, ((\flag) - FLAG_HIDDEN_ITEMS_START) .endm From eb1a6d311a8b559800d16ead835d929b1a878375 Mon Sep 17 00:00:00 2001 From: shachar700 Date: Thu, 4 Dec 2025 23:34:36 +0200 Subject: [PATCH 09/17] fixed pokenav glow issue --- src/pokenav_menu_handler_gfx.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pokenav_menu_handler_gfx.c b/src/pokenav_menu_handler_gfx.c index ce17f33cfc..a86d0be080 100644 --- a/src/pokenav_menu_handler_gfx.c +++ b/src/pokenav_menu_handler_gfx.c @@ -1315,7 +1315,11 @@ static void SetupPokenavMenuScanlineEffects(void) SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); SetGpuRegBits(REG_OFFSET_WININ, WININ_WIN0_ALL); SetGpuRegBits(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ); +#ifdef BUGFIX + SetGpuReg(REG_OFFSET_WIN0V, DISPLAY_HEIGHT); +#else SetGpuRegBits(REG_OFFSET_WIN0V, DISPLAY_HEIGHT); +#endif ScanlineEffect_Stop(); SetMenuOptionGlow(); ScanlineEffect_SetParams(sPokenavMainMenuScanlineEffectParams); From 02c44242f8be260fd1a581b30fbb2af247803d40 Mon Sep 17 00:00:00 2001 From: Mitsunee Date: Wed, 10 Dec 2025 04:22:08 +0100 Subject: [PATCH 10/17] Added bugfix for missing no weather case in Cmd_weather_get (#2203) --- include/constants/battle_ai.h | 1 + src/battle_ai_script_commands.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index 5ade58d509..63c6a8342c 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -23,6 +23,7 @@ #define AI_EFFECTIVENESS_x0 0 // ai weather +#define AI_WEATHER_NONE UINT32_MAX // added as part of bugfix, see Cmd_weather_get in battle_ai_script_commands.c #define AI_WEATHER_SUN 0 #define AI_WEATHER_RAIN 1 #define AI_WEATHER_SANDSTORM 2 diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 6fd3cdad8e..c3658da89f 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -1643,6 +1643,15 @@ static void Cmd_if_status_not_in_party(void) static void Cmd_get_weather(void) { + // BUG: due to the lack of an assignment in the case of there not being any + // weather set any previously set value could possibly be interpreted + // as a result of this function. + // Assigning AI_WEATHER_NONE here matches the fix implemented in future + // generations. + #ifdef BUGFIX + AI_THINKING_STRUCT->funcResult = AI_WEATHER_NONE; + #endif + if (gBattleWeather & B_WEATHER_RAIN) AI_THINKING_STRUCT->funcResult = AI_WEATHER_RAIN; if (gBattleWeather & B_WEATHER_SANDSTORM) From 5240ee1515bbcfc54112fb5f9968edc1aae92056 Mon Sep 17 00:00:00 2001 From: shachar700 <48739719+shachar700@users.noreply.github.com> Date: Wed, 10 Dec 2025 13:51:47 +0200 Subject: [PATCH 11/17] Added comment --- src/pokenav_menu_handler_gfx.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/pokenav_menu_handler_gfx.c b/src/pokenav_menu_handler_gfx.c index a86d0be080..a4cdf48980 100644 --- a/src/pokenav_menu_handler_gfx.c +++ b/src/pokenav_menu_handler_gfx.c @@ -1316,6 +1316,9 @@ static void SetupPokenavMenuScanlineEffects(void) SetGpuRegBits(REG_OFFSET_WININ, WININ_WIN0_ALL); SetGpuRegBits(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ); #ifdef BUGFIX + // BUGFIX: Use full register write instead of |=. + // SetGpuRegBits left leftover window values from the Party screen, + // causing partial/missing glow highlights. SetGpuReg clears them fully. SetGpuReg(REG_OFFSET_WIN0V, DISPLAY_HEIGHT); #else SetGpuRegBits(REG_OFFSET_WIN0V, DISPLAY_HEIGHT); From 349da0484bd00835de6c6198c1da31d42ebca966 Mon Sep 17 00:00:00 2001 From: Josh <32826900+ShinyDragonHunter@users.noreply.github.com> Date: Sat, 27 Dec 2025 01:11:40 +0000 Subject: [PATCH 12/17] Document m4a xcmd_0C --- constants/m4a_constants.inc | 2 +- include/gba/m4a_internal.h | 8 ++++---- src/m4a.c | 18 +++++++++--------- src/m4a_tables.c | 7 ++++--- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/constants/m4a_constants.inc b/constants/m4a_constants.inc index 2599b6c4aa..73f98f31f7 100644 --- a/constants/m4a_constants.inc +++ b/constants/m4a_constants.inc @@ -181,7 +181,7 @@ struct_field o_MusicPlayerTrack_ToneData_sustain, 1 struct_field o_MusicPlayerTrack_ToneData_release, 1 struct_field o_MusicPlayerTrack_gap, 10 - struct_field o_MusicPlayerTrack_unk_3A, 2 + struct_field o_MusicPlayerTrack_timer, 2 struct_field o_MusicPlayerTrack_unk_3C, 4 struct_field o_MusicPlayerTrack_cmdPtr, 4 struct_field o_MusicPlayerTrack_patternStack, 12 diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h index 5c3a0872ce..90e5e421a8 100644 --- a/include/gba/m4a_internal.h +++ b/include/gba/m4a_internal.h @@ -257,8 +257,8 @@ struct PokemonCrySong u8 tieCmd; // 0x29 u8 tieKeyValue; // 0x2A u8 tieVelocityValue; // 0x2B - u8 unkCmd0C[2]; // 0x2C - u16 unkCmd0CParam; // 0x2E + u8 xwaitCmd[2]; // 0x2C + u16 length; // 0x2E u8 end[2]; // 0x30 }; @@ -306,7 +306,7 @@ struct MusicPlayerTrack struct SoundChannel *chan; struct ToneData tone; u8 gap[10]; - u16 unk_3A; + u16 timer; u32 unk_3C; u8 *cmdPtr; u8 *patternStack[3]; @@ -495,7 +495,7 @@ void ply_xiecv(struct MusicPlayerInfo *, struct MusicPlayerTrack *); void ply_xiecl(struct MusicPlayerInfo *, struct MusicPlayerTrack *); void ply_xleng(struct MusicPlayerInfo *, struct MusicPlayerTrack *); void ply_xswee(struct MusicPlayerInfo *, struct MusicPlayerTrack *); -void ply_xcmd_0C(struct MusicPlayerInfo *, struct MusicPlayerTrack *); +void ply_xwait(struct MusicPlayerInfo *, struct MusicPlayerTrack *); void ply_xcmd_0D(struct MusicPlayerInfo *, struct MusicPlayerTrack *); #endif // GUARD_GBA_M4A_INTERNAL_H diff --git a/src/m4a.c b/src/m4a.c index 33f20455f3..1a2d541887 100644 --- a/src/m4a.c +++ b/src/m4a.c @@ -1612,26 +1612,26 @@ void ply_xswee(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track track->cmdPtr++; } -void ply_xcmd_0C(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track) +void ply_xwait(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track) { - u32 unk; + u32 len; #ifdef UBFIX - unk = 0; + len = 0; #endif - READ_XCMD_BYTE(unk, 0) // UB: uninitialized variable - READ_XCMD_BYTE(unk, 1) + READ_XCMD_BYTE(len, 0) // UB: uninitialized variable + READ_XCMD_BYTE(len, 1) - if (track->unk_3A < (u16)unk) + if (track->timer < (u16)len) { - track->unk_3A++; + track->timer++; track->cmdPtr -= 2; track->wait = 1; } else { - track->unk_3A = 0; + track->timer = 0; track->cmdPtr += 2; } } @@ -1719,7 +1719,7 @@ void SetPokemonCryPitch(s16 val) void SetPokemonCryLength(u16 val) { - gPokemonCrySong.unkCmd0CParam = val; + gPokemonCrySong.length = val; } void SetPokemonCryRelease(u8 val) diff --git a/src/m4a_tables.c b/src/m4a_tables.c index 5bc1075494..1f339b060f 100644 --- a/src/m4a_tables.c +++ b/src/m4a_tables.c @@ -251,6 +251,7 @@ const u8 gClockTable[] = #define xRELE 0x07 #define xIECV 0x08 #define xIECL 0x09 +#define xWAIT 0x0c #define EOT 0xce #define TIE 0xcf @@ -282,8 +283,8 @@ const struct PokemonCrySong gPokemonCrySongTemplate = .tieCmd = TIE, .tieKeyValue = 60, // default is Cn3 .tieVelocityValue = 127, - .unkCmd0C = {XCMD, 0x0C}, - .unkCmd0CParam = 60, + .xwaitCmd = {XCMD, xWAIT}, + .length = 60, // frames to wait .end = {EOT, FINE} }; @@ -301,6 +302,6 @@ const XcmdFunc gXcmdTable[] = ply_xiecl, ply_xleng, ply_xswee, - ply_xcmd_0C, + ply_xwait, ply_xcmd_0D, }; From daf63255a64ebc312799a9992f32f06f3be9b174 Mon Sep 17 00:00:00 2001 From: Jaizu Date: Sat, 27 Dec 2025 15:06:33 +0100 Subject: [PATCH 13/17] Fix some typos --- src/overworld.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/overworld.c b/src/overworld.c index d1d3ddcd37..87a833ac74 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -1040,7 +1040,7 @@ static bool16 ShouldLegendaryMusicPlayAtLocation(struct WarpData *warp) return FALSE; } -static bool16 NoMusicInSotopolisWithLegendaries(struct WarpData *warp) +static bool16 NoMusicInSootopolisWithLegendaries(struct WarpData *warp) { if (VarGet(VAR_SKY_PILLAR_STATE) != 1) return FALSE; @@ -1065,7 +1065,7 @@ static bool16 IsInfiltratedWeatherInstitute(struct WarpData *warp) return FALSE; } -static bool16 IsInflitratedSpaceCenter(struct WarpData *warp) +static bool16 IsInfiltratedSpaceCenter(struct WarpData *warp) { if (VarGet(VAR_MOSSDEEP_CITY_STATE) == 0) return FALSE; @@ -1081,11 +1081,11 @@ static bool16 IsInflitratedSpaceCenter(struct WarpData *warp) u16 GetLocationMusic(struct WarpData *warp) { - if (NoMusicInSotopolisWithLegendaries(warp) == TRUE) + if (NoMusicInSootopolisWithLegendaries(warp) == TRUE) return MUS_NONE; else if (ShouldLegendaryMusicPlayAtLocation(warp) == TRUE) return MUS_ABNORMAL_WEATHER; - else if (IsInflitratedSpaceCenter(warp) == TRUE) + else if (IsInfiltratedSpaceCenter(warp) == TRUE) return MUS_ENCOUNTER_MAGMA; else if (IsInfiltratedWeatherInstitute(warp) == TRUE) return MUS_MT_CHIMNEY; From 8d1f3ccd6a0251c56b7a66d9ed93bd3b6b2ca939 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 27 Dec 2025 10:33:04 -0600 Subject: [PATCH 14/17] Update .wav samples to use 'agbl' chunk to accomodate for vanilla's off-by-one behavior --- sound/direct_sound_samples/bicycle_bell.wav | Bin 6579 -> 6592 bytes .../classical_choir_voice_ahhs.wav | Bin 5913 -> 5926 bytes sound/direct_sound_samples/cries/abra.wav | Bin 11678 -> 11690 bytes sound/direct_sound_samples/cries/absol.wav | Bin 5274 -> 5286 bytes .../direct_sound_samples/cries/aerodactyl.wav | Bin 12160 -> 12172 bytes sound/direct_sound_samples/cries/aggron.wav | Bin 12795 -> 12808 bytes sound/direct_sound_samples/cries/aipom.wav | Bin 7076 -> 7088 bytes sound/direct_sound_samples/cries/alakazam.wav | Bin 15759 -> 15772 bytes sound/direct_sound_samples/cries/altaria.wav | Bin 5583 -> 5596 bytes sound/direct_sound_samples/cries/ampharos.wav | Bin 8260 -> 8272 bytes sound/direct_sound_samples/cries/anorith.wav | Bin 5880 -> 5892 bytes sound/direct_sound_samples/cries/arbok.wav | Bin 9667 -> 9680 bytes sound/direct_sound_samples/cries/arcanine.wav | Bin 8621 -> 8634 bytes sound/direct_sound_samples/cries/ariados.wav | Bin 6189 -> 6202 bytes sound/direct_sound_samples/cries/armaldo.wav | Bin 11398 -> 11410 bytes sound/direct_sound_samples/cries/aron.wav | Bin 4619 -> 4632 bytes sound/direct_sound_samples/cries/articuno.wav | Bin 11811 -> 11824 bytes .../direct_sound_samples/cries/azumarill.wav | Bin 8470 -> 8482 bytes sound/direct_sound_samples/cries/azurill.wav | Bin 5231 -> 5244 bytes sound/direct_sound_samples/cries/bagon.wav | Bin 3952 -> 3964 bytes sound/direct_sound_samples/cries/baltoy.wav | Bin 6282 -> 6294 bytes sound/direct_sound_samples/cries/banette.wav | Bin 6352 -> 6364 bytes sound/direct_sound_samples/cries/barboach.wav | Bin 4650 -> 4662 bytes sound/direct_sound_samples/cries/bayleef.wav | Bin 4433 -> 4446 bytes .../direct_sound_samples/cries/beautifly.wav | Bin 4147 -> 4160 bytes sound/direct_sound_samples/cries/beedrill.wav | Bin 9674 -> 9686 bytes sound/direct_sound_samples/cries/beldum.wav | Bin 4847 -> 4860 bytes .../direct_sound_samples/cries/bellossom.wav | Bin 7061 -> 7074 bytes .../direct_sound_samples/cries/bellsprout.wav | Bin 3811 -> 3824 bytes .../direct_sound_samples/cries/blastoise.wav | Bin 9641 -> 9654 bytes sound/direct_sound_samples/cries/blaziken.wav | Bin 15708 -> 15720 bytes sound/direct_sound_samples/cries/blissey.wav | Bin 8297 -> 8310 bytes sound/direct_sound_samples/cries/breloom.wav | Bin 6395 -> 6408 bytes .../direct_sound_samples/cries/bulbasaur.wav | Bin 8284 -> 8296 bytes .../direct_sound_samples/cries/butterfree.wav | Bin 5044 -> 5056 bytes sound/direct_sound_samples/cries/cacnea.wav | Bin 4507 -> 4520 bytes sound/direct_sound_samples/cries/cacturne.wav | Bin 11328 -> 11340 bytes sound/direct_sound_samples/cries/camerupt.wav | Bin 11545 -> 11558 bytes sound/direct_sound_samples/cries/carvanha.wav | Bin 5066 -> 5078 bytes sound/direct_sound_samples/cries/cascoon.wav | Bin 8144 -> 8156 bytes sound/direct_sound_samples/cries/castform.wav | Bin 6320 -> 6332 bytes sound/direct_sound_samples/cries/caterpie.wav | Bin 4210 -> 4222 bytes sound/direct_sound_samples/cries/celebi.wav | Bin 7248 -> 7260 bytes sound/direct_sound_samples/cries/chansey.wav | Bin 7409 -> 7422 bytes .../direct_sound_samples/cries/charizard.wav | Bin 9640 -> 9652 bytes .../direct_sound_samples/cries/charmander.wav | Bin 7234 -> 7246 bytes .../direct_sound_samples/cries/charmeleon.wav | Bin 7267 -> 7280 bytes .../direct_sound_samples/cries/chikorita.wav | Bin 2673 -> 2686 bytes sound/direct_sound_samples/cries/chimecho.wav | Bin 5058 -> 5070 bytes sound/direct_sound_samples/cries/chinchou.wav | Bin 6364 -> 6376 bytes sound/direct_sound_samples/cries/clamperl.wav | Bin 9160 -> 9172 bytes sound/direct_sound_samples/cries/claydol.wav | Bin 9687 -> 9700 bytes sound/direct_sound_samples/cries/clefable.wav | Bin 5313 -> 5326 bytes sound/direct_sound_samples/cries/clefairy.wav | Bin 4252 -> 4264 bytes sound/direct_sound_samples/cries/cleffa.wav | Bin 3010 -> 3022 bytes sound/direct_sound_samples/cries/cloyster.wav | Bin 10372 -> 10384 bytes .../direct_sound_samples/cries/combusken.wav | Bin 14378 -> 14390 bytes sound/direct_sound_samples/cries/corphish.wav | Bin 6029 -> 6042 bytes sound/direct_sound_samples/cries/corsola.wav | Bin 6458 -> 6470 bytes sound/direct_sound_samples/cries/cradily.wav | Bin 14561 -> 14574 bytes .../direct_sound_samples/cries/crawdaunt.wav | Bin 12335 -> 12348 bytes sound/direct_sound_samples/cries/crobat.wav | Bin 11580 -> 11592 bytes sound/direct_sound_samples/cries/croconaw.wav | Bin 10115 -> 10128 bytes sound/direct_sound_samples/cries/cubone.wav | Bin 7577 -> 7590 bytes .../direct_sound_samples/cries/cyndaquil.wav | Bin 3546 -> 3558 bytes sound/direct_sound_samples/cries/delcatty.wav | Bin 10536 -> 10548 bytes sound/direct_sound_samples/cries/delibird.wav | Bin 8112 -> 8124 bytes sound/direct_sound_samples/cries/deoxys.wav | Bin 10407 -> 10420 bytes sound/direct_sound_samples/cries/dewgong.wav | Bin 10564 -> 10576 bytes sound/direct_sound_samples/cries/diglett.wav | Bin 9716 -> 9728 bytes sound/direct_sound_samples/cries/ditto.wav | Bin 5584 -> 5596 bytes sound/direct_sound_samples/cries/dodrio.wav | Bin 9731 -> 9744 bytes sound/direct_sound_samples/cries/doduo.wav | Bin 9635 -> 9648 bytes sound/direct_sound_samples/cries/donphan.wav | Bin 8572 -> 8584 bytes .../direct_sound_samples/cries/dragonair.wav | Bin 8337 -> 8350 bytes .../direct_sound_samples/cries/dragonite.wav | Bin 9520 -> 9532 bytes sound/direct_sound_samples/cries/dratini.wav | Bin 5830 -> 5842 bytes sound/direct_sound_samples/cries/drowzee.wav | Bin 14512 -> 14524 bytes sound/direct_sound_samples/cries/dugtrio.wav | Bin 9705 -> 9718 bytes .../direct_sound_samples/cries/dunsparce.wav | Bin 7944 -> 7956 bytes sound/direct_sound_samples/cries/dusclops.wav | Bin 6876 -> 6888 bytes sound/direct_sound_samples/cries/duskull.wav | Bin 5328 -> 5340 bytes sound/direct_sound_samples/cries/dustox.wav | Bin 6356 -> 6368 bytes sound/direct_sound_samples/cries/eevee.wav | Bin 7122 -> 7134 bytes sound/direct_sound_samples/cries/ekans.wav | Bin 9644 -> 9656 bytes .../direct_sound_samples/cries/electabuzz.wav | Bin 15399 -> 15412 bytes .../direct_sound_samples/cries/electrike.wav | Bin 6204 -> 6216 bytes .../direct_sound_samples/cries/electrode.wav | Bin 12582 -> 12594 bytes sound/direct_sound_samples/cries/elekid.wav | Bin 5303 -> 5316 bytes sound/direct_sound_samples/cries/entei.wav | Bin 10216 -> 10228 bytes sound/direct_sound_samples/cries/espeon.wav | Bin 9847 -> 9860 bytes .../direct_sound_samples/cries/exeggcute.wav | Bin 9434 -> 9446 bytes .../direct_sound_samples/cries/exeggutor.wav | Bin 15898 -> 15910 bytes sound/direct_sound_samples/cries/exploud.wav | Bin 14105 -> 14118 bytes .../direct_sound_samples/cries/farfetchd.wav | Bin 3784 -> 3796 bytes sound/direct_sound_samples/cries/fearow.wav | Bin 8621 -> 8634 bytes sound/direct_sound_samples/cries/feebas.wav | Bin 3950 -> 3962 bytes .../direct_sound_samples/cries/feraligatr.wav | Bin 12730 -> 12742 bytes sound/direct_sound_samples/cries/flaaffy.wav | Bin 6872 -> 6884 bytes sound/direct_sound_samples/cries/flareon.wav | Bin 7766 -> 7778 bytes sound/direct_sound_samples/cries/flygon.wav | Bin 12993 -> 13006 bytes .../direct_sound_samples/cries/forretress.wav | Bin 10009 -> 10022 bytes sound/direct_sound_samples/cries/furret.wav | Bin 3187 -> 3200 bytes .../direct_sound_samples/cries/gardevoir.wav | Bin 12173 -> 12186 bytes sound/direct_sound_samples/cries/gastly.wav | Bin 11639 -> 11652 bytes sound/direct_sound_samples/cries/gengar.wav | Bin 7390 -> 7402 bytes sound/direct_sound_samples/cries/geodude.wav | Bin 11835 -> 11848 bytes .../direct_sound_samples/cries/girafarig.wav | Bin 7365 -> 7378 bytes sound/direct_sound_samples/cries/glalie.wav | Bin 10438 -> 10450 bytes sound/direct_sound_samples/cries/gligar.wav | Bin 6086 -> 6098 bytes sound/direct_sound_samples/cries/gloom.wav | Bin 6265 -> 6278 bytes sound/direct_sound_samples/cries/golbat.wav | Bin 9693 -> 9706 bytes sound/direct_sound_samples/cries/goldeen.wav | Bin 4955 -> 4968 bytes sound/direct_sound_samples/cries/golduck.wav | Bin 5664 -> 5676 bytes sound/direct_sound_samples/cries/golem.wav | Bin 7098 -> 7110 bytes sound/direct_sound_samples/cries/gorebyss.wav | Bin 11194 -> 11206 bytes sound/direct_sound_samples/cries/granbull.wav | Bin 11800 -> 11812 bytes sound/direct_sound_samples/cries/graveler.wav | Bin 13919 -> 13932 bytes sound/direct_sound_samples/cries/grimer.wav | Bin 5293 -> 5306 bytes sound/direct_sound_samples/cries/groudon.wav | Bin 18457 -> 18470 bytes sound/direct_sound_samples/cries/grovyle.wav | Bin 10216 -> 10228 bytes .../direct_sound_samples/cries/growlithe.wav | Bin 6714 -> 6726 bytes sound/direct_sound_samples/cries/grumpig.wav | Bin 6336 -> 6348 bytes sound/direct_sound_samples/cries/gulpin.wav | Bin 4046 -> 4058 bytes sound/direct_sound_samples/cries/gyarados.wav | Bin 10097 -> 10110 bytes sound/direct_sound_samples/cries/hariyama.wav | Bin 8366 -> 8378 bytes sound/direct_sound_samples/cries/haunter.wav | Bin 11732 -> 11744 bytes .../direct_sound_samples/cries/heracross.wav | Bin 9162 -> 9174 bytes .../direct_sound_samples/cries/hitmonchan.wav | Bin 8925 -> 8938 bytes .../direct_sound_samples/cries/hitmonlee.wav | Bin 9337 -> 9350 bytes .../direct_sound_samples/cries/hitmontop.wav | Bin 6954 -> 6966 bytes sound/direct_sound_samples/cries/ho_oh.wav | Bin 11279 -> 11292 bytes sound/direct_sound_samples/cries/hoothoot.wav | Bin 5476 -> 5488 bytes sound/direct_sound_samples/cries/hoppip.wav | Bin 4245 -> 4258 bytes sound/direct_sound_samples/cries/horsea.wav | Bin 4772 -> 4784 bytes sound/direct_sound_samples/cries/houndoom.wav | Bin 9838 -> 9850 bytes sound/direct_sound_samples/cries/houndour.wav | Bin 6351 -> 6364 bytes sound/direct_sound_samples/cries/huntail.wav | Bin 7963 -> 7976 bytes sound/direct_sound_samples/cries/hypno.wav | Bin 14468 -> 14480 bytes .../direct_sound_samples/cries/igglybuff.wav | Bin 3537 -> 3550 bytes sound/direct_sound_samples/cries/illumise.wav | Bin 8555 -> 8568 bytes sound/direct_sound_samples/cries/ivysaur.wav | Bin 8288 -> 8300 bytes .../direct_sound_samples/cries/jigglypuff.wav | Bin 2739 -> 2752 bytes sound/direct_sound_samples/cries/jirachi.wav | Bin 6777 -> 6790 bytes sound/direct_sound_samples/cries/jolteon.wav | Bin 7922 -> 7934 bytes sound/direct_sound_samples/cries/jumpluff.wav | Bin 8124 -> 8136 bytes sound/direct_sound_samples/cries/jynx.wav | Bin 23625 -> 23638 bytes sound/direct_sound_samples/cries/kabuto.wav | Bin 6188 -> 6200 bytes sound/direct_sound_samples/cries/kabutops.wav | Bin 6885 -> 6898 bytes sound/direct_sound_samples/cries/kadabra.wav | Bin 13427 -> 13440 bytes sound/direct_sound_samples/cries/kakuna.wav | Bin 9123 -> 9136 bytes .../direct_sound_samples/cries/kangaskhan.wav | Bin 9352 -> 9364 bytes sound/direct_sound_samples/cries/kecleon.wav | Bin 4221 -> 4234 bytes sound/direct_sound_samples/cries/kingdra.wav | Bin 6941 -> 6954 bytes sound/direct_sound_samples/cries/kingler.wav | Bin 12151 -> 12164 bytes sound/direct_sound_samples/cries/kirlia.wav | Bin 6119 -> 6132 bytes sound/direct_sound_samples/cries/koffing.wav | Bin 10172 -> 10184 bytes sound/direct_sound_samples/cries/krabby.wav | Bin 12131 -> 12144 bytes sound/direct_sound_samples/cries/kyogre.wav | Bin 17801 -> 17814 bytes sound/direct_sound_samples/cries/lairon.wav | Bin 10410 -> 10422 bytes sound/direct_sound_samples/cries/lanturn.wav | Bin 5301 -> 5314 bytes sound/direct_sound_samples/cries/lapras.wav | Bin 7426 -> 7438 bytes sound/direct_sound_samples/cries/larvitar.wav | Bin 6368 -> 6380 bytes sound/direct_sound_samples/cries/latias.wav | Bin 6116 -> 6128 bytes sound/direct_sound_samples/cries/latios.wav | Bin 10977 -> 10990 bytes sound/direct_sound_samples/cries/ledian.wav | Bin 4233 -> 4246 bytes sound/direct_sound_samples/cries/ledyba.wav | Bin 3525 -> 3538 bytes .../direct_sound_samples/cries/lickitung.wav | Bin 7589 -> 7602 bytes sound/direct_sound_samples/cries/lileep.wav | Bin 4857 -> 4870 bytes sound/direct_sound_samples/cries/linoone.wav | Bin 15266 -> 15278 bytes sound/direct_sound_samples/cries/lombre.wav | Bin 7301 -> 7314 bytes sound/direct_sound_samples/cries/lotad.wav | Bin 2250 -> 2262 bytes sound/direct_sound_samples/cries/loudred.wav | Bin 6601 -> 6614 bytes sound/direct_sound_samples/cries/ludicolo.wav | Bin 8416 -> 8428 bytes sound/direct_sound_samples/cries/lugia.wav | Bin 18918 -> 18930 bytes sound/direct_sound_samples/cries/lunatone.wav | Bin 11975 -> 11988 bytes sound/direct_sound_samples/cries/luvdisc.wav | Bin 2475 -> 2488 bytes sound/direct_sound_samples/cries/machamp.wav | Bin 8274 -> 8286 bytes sound/direct_sound_samples/cries/machoke.wav | Bin 6800 -> 6812 bytes sound/direct_sound_samples/cries/machop.wav | Bin 6714 -> 6726 bytes sound/direct_sound_samples/cries/magby.wav | Bin 7237 -> 7250 bytes sound/direct_sound_samples/cries/magcargo.wav | Bin 10504 -> 10516 bytes sound/direct_sound_samples/cries/magikarp.wav | Bin 9511 -> 9524 bytes sound/direct_sound_samples/cries/magmar.wav | Bin 7756 -> 7768 bytes .../direct_sound_samples/cries/magnemite.wav | Bin 9629 -> 9642 bytes sound/direct_sound_samples/cries/magneton.wav | Bin 11933 -> 11946 bytes sound/direct_sound_samples/cries/makuhita.wav | Bin 3722 -> 3734 bytes .../direct_sound_samples/cries/manectric.wav | Bin 10510 -> 10522 bytes sound/direct_sound_samples/cries/mankey.wav | Bin 8197 -> 8210 bytes sound/direct_sound_samples/cries/mantine.wav | Bin 7903 -> 7916 bytes sound/direct_sound_samples/cries/mareep.wav | Bin 3713 -> 3726 bytes sound/direct_sound_samples/cries/marill.wav | Bin 6557 -> 6570 bytes sound/direct_sound_samples/cries/marowak.wav | Bin 7234 -> 7246 bytes .../direct_sound_samples/cries/marshtomp.wav | Bin 8516 -> 8528 bytes .../direct_sound_samples/cries/masquerain.wav | Bin 9849 -> 9862 bytes sound/direct_sound_samples/cries/mawile.wav | Bin 5774 -> 5786 bytes sound/direct_sound_samples/cries/medicham.wav | Bin 8264 -> 8276 bytes sound/direct_sound_samples/cries/meditite.wav | Bin 4096 -> 4108 bytes sound/direct_sound_samples/cries/meganium.wav | Bin 8119 -> 8132 bytes sound/direct_sound_samples/cries/meowth.wav | Bin 4814 -> 4826 bytes .../direct_sound_samples/cries/metagross.wav | Bin 19663 -> 19676 bytes sound/direct_sound_samples/cries/metang.wav | Bin 9417 -> 9430 bytes sound/direct_sound_samples/cries/metapod.wav | Bin 11641 -> 11654 bytes sound/direct_sound_samples/cries/mew.wav | Bin 15165 -> 15178 bytes sound/direct_sound_samples/cries/mewtwo.wav | Bin 15162 -> 15174 bytes .../direct_sound_samples/cries/mightyena.wav | Bin 9766 -> 9778 bytes sound/direct_sound_samples/cries/milotic.wav | Bin 19560 -> 19572 bytes sound/direct_sound_samples/cries/miltank.wav | Bin 7442 -> 7454 bytes sound/direct_sound_samples/cries/minun.wav | Bin 8023 -> 8036 bytes .../direct_sound_samples/cries/misdreavus.wav | Bin 5835 -> 5848 bytes sound/direct_sound_samples/cries/moltres.wav | Bin 11815 -> 11828 bytes sound/direct_sound_samples/cries/mr_mime.wav | Bin 9465 -> 9478 bytes sound/direct_sound_samples/cries/mudkip.wav | Bin 3794 -> 3806 bytes sound/direct_sound_samples/cries/muk.wav | Bin 7393 -> 7406 bytes sound/direct_sound_samples/cries/murkrow.wav | Bin 8388 -> 8400 bytes sound/direct_sound_samples/cries/natu.wav | Bin 5313 -> 5326 bytes sound/direct_sound_samples/cries/nidoking.wav | Bin 12194 -> 12206 bytes .../direct_sound_samples/cries/nidoqueen.wav | Bin 8442 -> 8454 bytes .../direct_sound_samples/cries/nidoran_f.wav | Bin 4876 -> 4888 bytes .../direct_sound_samples/cries/nidoran_m.wav | Bin 5234 -> 5246 bytes sound/direct_sound_samples/cries/nidorina.wav | Bin 6412 -> 6424 bytes sound/direct_sound_samples/cries/nidorino.wav | Bin 6061 -> 6074 bytes sound/direct_sound_samples/cries/nincada.wav | Bin 3262 -> 3274 bytes .../direct_sound_samples/cries/ninetales.wav | Bin 12193 -> 12206 bytes sound/direct_sound_samples/cries/ninjask.wav | Bin 6102 -> 6114 bytes sound/direct_sound_samples/cries/noctowl.wav | Bin 10582 -> 10594 bytes sound/direct_sound_samples/cries/nosepass.wav | Bin 6714 -> 6726 bytes sound/direct_sound_samples/cries/numel.wav | Bin 4683 -> 4696 bytes sound/direct_sound_samples/cries/nuzleaf.wav | Bin 5731 -> 5744 bytes .../direct_sound_samples/cries/octillery.wav | Bin 13103 -> 13116 bytes sound/direct_sound_samples/cries/oddish.wav | Bin 7316 -> 7328 bytes sound/direct_sound_samples/cries/omanyte.wav | Bin 6691 -> 6704 bytes sound/direct_sound_samples/cries/omastar.wav | Bin 6685 -> 6698 bytes sound/direct_sound_samples/cries/onix.wav | Bin 12358 -> 12370 bytes sound/direct_sound_samples/cries/paras.wav | Bin 13942 -> 13954 bytes sound/direct_sound_samples/cries/parasect.wav | Bin 15159 -> 15172 bytes sound/direct_sound_samples/cries/pelipper.wav | Bin 5913 -> 5926 bytes sound/direct_sound_samples/cries/persian.wav | Bin 9430 -> 9442 bytes sound/direct_sound_samples/cries/phanpy.wav | Bin 5682 -> 5694 bytes sound/direct_sound_samples/cries/pichu.wav | Bin 3702 -> 3714 bytes sound/direct_sound_samples/cries/pidgeot.wav | Bin 8609 -> 8622 bytes .../direct_sound_samples/cries/pidgeotto.wav | Bin 7530 -> 7542 bytes sound/direct_sound_samples/cries/pidgey.wav | Bin 2003 -> 2016 bytes sound/direct_sound_samples/cries/pikachu.wav | Bin 8334 -> 8346 bytes .../direct_sound_samples/cries/piloswine.wav | Bin 6499 -> 6512 bytes sound/direct_sound_samples/cries/pineco.wav | Bin 6709 -> 6722 bytes sound/direct_sound_samples/cries/pinsir.wav | Bin 6205 -> 6218 bytes sound/direct_sound_samples/cries/plusle.wav | Bin 4523 -> 4536 bytes sound/direct_sound_samples/cries/politoed.wav | Bin 9132 -> 9144 bytes sound/direct_sound_samples/cries/poliwag.wav | Bin 5581 -> 5594 bytes .../direct_sound_samples/cries/poliwhirl.wav | Bin 3373 -> 3386 bytes .../direct_sound_samples/cries/poliwrath.wav | Bin 5600 -> 5612 bytes sound/direct_sound_samples/cries/ponyta.wav | Bin 7542 -> 7554 bytes .../direct_sound_samples/cries/poochyena.wav | Bin 4675 -> 4688 bytes sound/direct_sound_samples/cries/porygon.wav | Bin 10020 -> 10032 bytes sound/direct_sound_samples/cries/porygon2.wav | Bin 7873 -> 7886 bytes sound/direct_sound_samples/cries/primeape.wav | Bin 8104 -> 8116 bytes sound/direct_sound_samples/cries/psyduck.wav | Bin 6597 -> 6610 bytes sound/direct_sound_samples/cries/pupitar.wav | Bin 4253 -> 4266 bytes sound/direct_sound_samples/cries/quagsire.wav | Bin 6702 -> 6714 bytes sound/direct_sound_samples/cries/quilava.wav | Bin 5981 -> 5994 bytes sound/direct_sound_samples/cries/qwilfish.wav | Bin 5827 -> 5840 bytes sound/direct_sound_samples/cries/raichu.wav | Bin 11860 -> 11872 bytes sound/direct_sound_samples/cries/raikou.wav | Bin 8722 -> 8734 bytes sound/direct_sound_samples/cries/ralts.wav | Bin 5084 -> 5096 bytes sound/direct_sound_samples/cries/rapidash.wav | Bin 9310 -> 9322 bytes sound/direct_sound_samples/cries/raticate.wav | Bin 4789 -> 4802 bytes sound/direct_sound_samples/cries/rattata.wav | Bin 3974 -> 3986 bytes sound/direct_sound_samples/cries/rayquaza.wav | Bin 14550 -> 14562 bytes sound/direct_sound_samples/cries/regice.wav | Bin 15955 -> 15968 bytes sound/direct_sound_samples/cries/regirock.wav | Bin 15880 -> 15892 bytes .../direct_sound_samples/cries/registeel.wav | Bin 11495 -> 11508 bytes .../direct_sound_samples/cries/relicanth.wav | Bin 10090 -> 10102 bytes sound/direct_sound_samples/cries/remoraid.wav | Bin 5308 -> 5320 bytes sound/direct_sound_samples/cries/rhydon.wav | Bin 10205 -> 10218 bytes sound/direct_sound_samples/cries/rhyhorn.wav | Bin 9705 -> 9718 bytes sound/direct_sound_samples/cries/roselia.wav | Bin 5400 -> 5412 bytes sound/direct_sound_samples/cries/sableye.wav | Bin 5845 -> 5858 bytes .../direct_sound_samples/cries/salamence.wav | Bin 12532 -> 12544 bytes .../direct_sound_samples/cries/sandshrew.wav | Bin 4697 -> 4710 bytes .../direct_sound_samples/cries/sandslash.wav | Bin 6803 -> 6816 bytes sound/direct_sound_samples/cries/sceptile.wav | Bin 13030 -> 13042 bytes sound/direct_sound_samples/cries/scizor.wav | Bin 11480 -> 11492 bytes sound/direct_sound_samples/cries/scyther.wav | Bin 6695 -> 6708 bytes sound/direct_sound_samples/cries/seadra.wav | Bin 4246 -> 4258 bytes sound/direct_sound_samples/cries/seaking.wav | Bin 9673 -> 9686 bytes sound/direct_sound_samples/cries/sealeo.wav | Bin 5947 -> 5960 bytes sound/direct_sound_samples/cries/seedot.wav | Bin 4125 -> 4138 bytes sound/direct_sound_samples/cries/seel.wav | Bin 8973 -> 8986 bytes sound/direct_sound_samples/cries/sentret.wav | Bin 2127 -> 2140 bytes sound/direct_sound_samples/cries/seviper.wav | Bin 5838 -> 5850 bytes sound/direct_sound_samples/cries/sharpedo.wav | Bin 11507 -> 11520 bytes sound/direct_sound_samples/cries/shedinja.wav | Bin 3895 -> 3908 bytes sound/direct_sound_samples/cries/shelgon.wav | Bin 10010 -> 10022 bytes sound/direct_sound_samples/cries/shellder.wav | Bin 7736 -> 7748 bytes sound/direct_sound_samples/cries/shiftry.wav | Bin 9879 -> 9892 bytes .../direct_sound_samples/cries/shroomish.wav | Bin 4455 -> 4468 bytes sound/direct_sound_samples/cries/shuckle.wav | Bin 5129 -> 5142 bytes sound/direct_sound_samples/cries/shuppet.wav | Bin 4162 -> 4174 bytes sound/direct_sound_samples/cries/silcoon.wav | Bin 8093 -> 8106 bytes sound/direct_sound_samples/cries/skarmory.wav | Bin 12001 -> 12014 bytes sound/direct_sound_samples/cries/skiploom.wav | Bin 6535 -> 6548 bytes sound/direct_sound_samples/cries/skitty.wav | Bin 3579 -> 3592 bytes sound/direct_sound_samples/cries/slaking.wav | Bin 4988 -> 5000 bytes sound/direct_sound_samples/cries/slakoth.wav | Bin 4290 -> 4302 bytes sound/direct_sound_samples/cries/slowbro.wav | Bin 6738 -> 6750 bytes sound/direct_sound_samples/cries/slowking.wav | Bin 11926 -> 11938 bytes sound/direct_sound_samples/cries/slowpoke.wav | Bin 3742 -> 3754 bytes sound/direct_sound_samples/cries/slugma.wav | Bin 8555 -> 8568 bytes sound/direct_sound_samples/cries/smeargle.wav | Bin 5132 -> 5144 bytes sound/direct_sound_samples/cries/smoochum.wav | Bin 5879 -> 5892 bytes sound/direct_sound_samples/cries/sneasel.wav | Bin 4604 -> 4616 bytes sound/direct_sound_samples/cries/snorlax.wav | Bin 2667 -> 2680 bytes sound/direct_sound_samples/cries/snorunt.wav | Bin 8519 -> 8532 bytes sound/direct_sound_samples/cries/snubbull.wav | Bin 7239 -> 7252 bytes sound/direct_sound_samples/cries/solrock.wav | Bin 8098 -> 8110 bytes sound/direct_sound_samples/cries/spearow.wav | Bin 8824 -> 8836 bytes sound/direct_sound_samples/cries/spheal.wav | Bin 2899 -> 2912 bytes sound/direct_sound_samples/cries/spinarak.wav | Bin 6714 -> 6726 bytes sound/direct_sound_samples/cries/spinda.wav | Bin 6234 -> 6246 bytes sound/direct_sound_samples/cries/spoink.wav | Bin 3667 -> 3680 bytes sound/direct_sound_samples/cries/squirtle.wav | Bin 7240 -> 7252 bytes sound/direct_sound_samples/cries/stantler.wav | Bin 11226 -> 11238 bytes sound/direct_sound_samples/cries/starmie.wav | Bin 10421 -> 10434 bytes sound/direct_sound_samples/cries/staryu.wav | Bin 9953 -> 9966 bytes sound/direct_sound_samples/cries/steelix.wav | Bin 19007 -> 19020 bytes .../direct_sound_samples/cries/sudowoodo.wav | Bin 8103 -> 8116 bytes sound/direct_sound_samples/cries/suicune.wav | Bin 9145 -> 9158 bytes sound/direct_sound_samples/cries/sunflora.wav | Bin 7946 -> 7958 bytes sound/direct_sound_samples/cries/sunkern.wav | Bin 4075 -> 4088 bytes sound/direct_sound_samples/cries/surskit.wav | Bin 5277 -> 5290 bytes sound/direct_sound_samples/cries/swablu.wav | Bin 2842 -> 2854 bytes sound/direct_sound_samples/cries/swalot.wav | Bin 8694 -> 8706 bytes sound/direct_sound_samples/cries/swampert.wav | Bin 11239 -> 11252 bytes sound/direct_sound_samples/cries/swellow.wav | Bin 4542 -> 4554 bytes sound/direct_sound_samples/cries/swinub.wav | Bin 6347 -> 6360 bytes sound/direct_sound_samples/cries/taillow.wav | Bin 3043 -> 3056 bytes sound/direct_sound_samples/cries/tangela.wav | Bin 7569 -> 7582 bytes sound/direct_sound_samples/cries/tauros.wav | Bin 9168 -> 9180 bytes .../direct_sound_samples/cries/teddiursa.wav | Bin 8285 -> 8298 bytes .../direct_sound_samples/cries/tentacool.wav | Bin 7979 -> 7992 bytes .../direct_sound_samples/cries/tentacruel.wav | Bin 11476 -> 11488 bytes sound/direct_sound_samples/cries/togepi.wav | Bin 5479 -> 5492 bytes sound/direct_sound_samples/cries/togetic.wav | Bin 3545 -> 3558 bytes sound/direct_sound_samples/cries/torchic.wav | Bin 4859 -> 4872 bytes sound/direct_sound_samples/cries/torkoal.wav | Bin 4680 -> 4692 bytes sound/direct_sound_samples/cries/totodile.wav | Bin 9170 -> 9182 bytes sound/direct_sound_samples/cries/trapinch.wav | Bin 5098 -> 5110 bytes sound/direct_sound_samples/cries/treecko.wav | Bin 5854 -> 5866 bytes sound/direct_sound_samples/cries/tropius.wav | Bin 16337 -> 16350 bytes .../direct_sound_samples/cries/typhlosion.wav | Bin 18962 -> 18974 bytes .../direct_sound_samples/cries/tyranitar.wav | Bin 11674 -> 11686 bytes sound/direct_sound_samples/cries/tyrogue.wav | Bin 8091 -> 8104 bytes sound/direct_sound_samples/cries/umbreon.wav | Bin 7765 -> 7778 bytes sound/direct_sound_samples/cries/unown.wav | Bin 6594 -> 6606 bytes .../direct_sound_samples/cries/unused_265.wav | Bin 4695 -> 4708 bytes .../direct_sound_samples/cries/unused_268.wav | Bin 8847 -> 8860 bytes sound/direct_sound_samples/cries/ursaring.wav | Bin 14880 -> 14892 bytes sound/direct_sound_samples/cries/vaporeon.wav | Bin 11036 -> 11048 bytes sound/direct_sound_samples/cries/venomoth.wav | Bin 8021 -> 8034 bytes sound/direct_sound_samples/cries/venonat.wav | Bin 7765 -> 7778 bytes sound/direct_sound_samples/cries/venusaur.wav | Bin 9667 -> 9680 bytes sound/direct_sound_samples/cries/vibrava.wav | Bin 7021 -> 7034 bytes .../direct_sound_samples/cries/victreebel.wav | Bin 9649 -> 9662 bytes sound/direct_sound_samples/cries/vigoroth.wav | Bin 7187 -> 7200 bytes .../direct_sound_samples/cries/vileplume.wav | Bin 12778 -> 12790 bytes sound/direct_sound_samples/cries/volbeat.wav | Bin 5790 -> 5802 bytes sound/direct_sound_samples/cries/voltorb.wav | Bin 12364 -> 12376 bytes sound/direct_sound_samples/cries/vulpix.wav | Bin 11889 -> 11902 bytes sound/direct_sound_samples/cries/wailmer.wav | Bin 14152 -> 14164 bytes sound/direct_sound_samples/cries/wailord.wav | Bin 20947 -> 20960 bytes sound/direct_sound_samples/cries/walrein.wav | Bin 18085 -> 18098 bytes .../direct_sound_samples/cries/wartortle.wav | Bin 8633 -> 8646 bytes sound/direct_sound_samples/cries/weedle.wav | Bin 8142 -> 8154 bytes .../direct_sound_samples/cries/weepinbell.wav | Bin 7328 -> 7340 bytes sound/direct_sound_samples/cries/weezing.wav | Bin 10824 -> 10836 bytes sound/direct_sound_samples/cries/whiscash.wav | Bin 8497 -> 8510 bytes sound/direct_sound_samples/cries/whismur.wav | Bin 4110 -> 4122 bytes .../direct_sound_samples/cries/wigglytuff.wav | Bin 3430 -> 3442 bytes sound/direct_sound_samples/cries/wingull.wav | Bin 6150 -> 6162 bytes .../direct_sound_samples/cries/wobbuffet.wav | Bin 10294 -> 10306 bytes sound/direct_sound_samples/cries/wooper.wav | Bin 3729 -> 3742 bytes sound/direct_sound_samples/cries/wurmple.wav | Bin 4431 -> 4444 bytes sound/direct_sound_samples/cries/wynaut.wav | Bin 6951 -> 6964 bytes sound/direct_sound_samples/cries/xatu.wav | Bin 7411 -> 7424 bytes sound/direct_sound_samples/cries/yanma.wav | Bin 8524 -> 8536 bytes sound/direct_sound_samples/cries/zangoose.wav | Bin 4797 -> 4810 bytes sound/direct_sound_samples/cries/zapdos.wav | Bin 7743 -> 7756 bytes .../direct_sound_samples/cries/zigzagoon.wav | Bin 5805 -> 5818 bytes sound/direct_sound_samples/cries/zubat.wav | Bin 9707 -> 9720 bytes .../dance_drums_ride_bell.wav | Bin 30851 -> 30864 bytes .../drum_and_percussion_kick.wav | Bin 3947 -> 3960 bytes .../ethnic_flavours_atarigane.wav | Bin 5621 -> 5634 bytes .../ethnic_flavours_hyoushigi.wav | Bin 4986 -> 4998 bytes .../ethnic_flavours_kotsuzumi.wav | Bin 4422 -> 4434 bytes .../ethnic_flavours_ohtsuzumi.wav | Bin 6446 -> 6458 bytes .../heart_of_asia_gamelan.wav | Bin 17900 -> 17912 bytes sound/direct_sound_samples/phonemes/01.wav | Bin 1715 -> 1728 bytes sound/direct_sound_samples/phonemes/02.wav | Bin 1360 -> 1372 bytes sound/direct_sound_samples/phonemes/03.wav | Bin 2465 -> 2478 bytes sound/direct_sound_samples/phonemes/04.wav | Bin 2756 -> 2768 bytes sound/direct_sound_samples/phonemes/05.wav | Bin 907 -> 920 bytes sound/direct_sound_samples/phonemes/06.wav | Bin 3291 -> 3304 bytes sound/direct_sound_samples/phonemes/07.wav | Bin 1652 -> 1664 bytes sound/direct_sound_samples/phonemes/08.wav | Bin 1009 -> 1022 bytes sound/direct_sound_samples/phonemes/09.wav | Bin 3637 -> 3650 bytes sound/direct_sound_samples/phonemes/10.wav | Bin 2499 -> 2512 bytes sound/direct_sound_samples/phonemes/11.wav | Bin 1031 -> 1044 bytes sound/direct_sound_samples/phonemes/12.wav | Bin 2053 -> 2066 bytes sound/direct_sound_samples/phonemes/13.wav | Bin 3501 -> 3514 bytes sound/direct_sound_samples/phonemes/14.wav | Bin 688 -> 700 bytes sound/direct_sound_samples/phonemes/15.wav | Bin 3729 -> 3742 bytes sound/direct_sound_samples/phonemes/16.wav | Bin 2469 -> 2482 bytes sound/direct_sound_samples/phonemes/17.wav | Bin 958 -> 970 bytes sound/direct_sound_samples/phonemes/18.wav | Bin 1669 -> 1682 bytes sound/direct_sound_samples/phonemes/19.wav | Bin 3261 -> 3274 bytes sound/direct_sound_samples/phonemes/20.wav | Bin 1539 -> 1552 bytes sound/direct_sound_samples/phonemes/21.wav | Bin 2901 -> 2914 bytes sound/direct_sound_samples/phonemes/22.wav | Bin 1623 -> 1636 bytes sound/direct_sound_samples/phonemes/23.wav | Bin 609 -> 622 bytes sound/direct_sound_samples/phonemes/24.wav | Bin 2485 -> 2498 bytes sound/direct_sound_samples/phonemes/25.wav | Bin 4061 -> 4074 bytes sound/direct_sound_samples/phonemes/26.wav | Bin 1697 -> 1710 bytes sound/direct_sound_samples/phonemes/27.wav | Bin 2853 -> 2866 bytes sound/direct_sound_samples/phonemes/28.wav | Bin 3992 -> 4004 bytes sound/direct_sound_samples/phonemes/29.wav | Bin 1508 -> 1520 bytes sound/direct_sound_samples/phonemes/30.wav | Bin 3741 -> 3754 bytes sound/direct_sound_samples/phonemes/31.wav | Bin 3929 -> 3942 bytes sound/direct_sound_samples/phonemes/32.wav | Bin 2880 -> 2892 bytes sound/direct_sound_samples/phonemes/33.wav | Bin 3045 -> 3058 bytes sound/direct_sound_samples/phonemes/34.wav | Bin 2601 -> 2614 bytes sound/direct_sound_samples/phonemes/35.wav | Bin 1706 -> 1718 bytes sound/direct_sound_samples/phonemes/36.wav | Bin 2865 -> 2878 bytes sound/direct_sound_samples/phonemes/37.wav | Bin 1678 -> 1690 bytes sound/direct_sound_samples/phonemes/38.wav | Bin 1922 -> 1934 bytes sound/direct_sound_samples/phonemes/39.wav | Bin 2445 -> 2458 bytes sound/direct_sound_samples/phonemes/40.wav | Bin 2061 -> 2074 bytes sound/direct_sound_samples/phonemes/41.wav | Bin 1488 -> 1500 bytes sound/direct_sound_samples/phonemes/42.wav | Bin 3525 -> 3538 bytes sound/direct_sound_samples/phonemes/43.wav | Bin 1231 -> 1244 bytes sound/direct_sound_samples/phonemes/44.wav | Bin 1368 -> 1380 bytes sound/direct_sound_samples/phonemes/45.wav | Bin 2073 -> 2086 bytes sound/direct_sound_samples/phonemes/46.wav | Bin 3151 -> 3164 bytes sound/direct_sound_samples/phonemes/47.wav | Bin 994 -> 1006 bytes sound/direct_sound_samples/phonemes/48.wav | Bin 2061 -> 2074 bytes sound/direct_sound_samples/phonemes/49.wav | Bin 3253 -> 3266 bytes sound/direct_sound_samples/phonemes/50.wav | Bin 1336 -> 1348 bytes sound/direct_sound_samples/phonemes/51.wav | Bin 2817 -> 2830 bytes sound/direct_sound_samples/register_noise.wav | Bin 8116 -> 8128 bytes .../sc88pro_accordion.wav | Bin 5179 -> 5192 bytes .../sc88pro_accordion_duplicate.wav | Bin 5179 -> 5192 bytes .../direct_sound_samples/sc88pro_bubbles.wav | Bin 4196 -> 4208 bytes .../sc88pro_church_organ3_high.wav | Bin 6090 -> 6102 bytes .../sc88pro_church_organ3_low.wav | Bin 10673 -> 10686 bytes .../sc88pro_fingered_bass.wav | Bin 7354 -> 7366 bytes sound/direct_sound_samples/sc88pro_flute.wav | Bin 1999 -> 2012 bytes .../sc88pro_french_horn_60.wav | Bin 28672 -> 28684 bytes .../sc88pro_french_horn_72.wav | Bin 17902 -> 17914 bytes .../sc88pro_fretless_bass.wav | Bin 3125 -> 3138 bytes .../sc88pro_glockenspiel.wav | Bin 1807 -> 1820 bytes .../direct_sound_samples/sc88pro_harp.bad.wav | Bin 0 -> 2728 bytes sound/direct_sound_samples/sc88pro_harp.wav | Bin 2716 -> 2728 bytes .../sc88pro_jingle_bell.wav | Bin 6246 -> 6258 bytes .../sc88pro_mute_high_conga.wav | Bin 1388 -> 1400 bytes .../sc88pro_nylon_str_guitar.wav | Bin 8154 -> 8166 bytes .../sc88pro_open_low_conga.wav | Bin 1564 -> 1576 bytes .../sc88pro_orchestra_cymbal_crash.wav | Bin 3989 -> 4002 bytes .../sc88pro_orchestra_snare.wav | Bin 2249 -> 2262 bytes sound/direct_sound_samples/sc88pro_organ2.wav | Bin 2148 -> 2160 bytes .../sc88pro_piano1_48.wav | Bin 4041 -> 4054 bytes .../sc88pro_piano1_60.wav | Bin 5834 -> 5846 bytes .../sc88pro_piano1_72.wav | Bin 5574 -> 5586 bytes .../sc88pro_piano1_84.wav | Bin 3062 -> 3074 bytes .../sc88pro_pizzicato_strings.wav | Bin 1957 -> 1970 bytes .../direct_sound_samples/sc88pro_rnd_kick.wav | Bin 1267 -> 1280 bytes .../sc88pro_rnd_snare.wav | Bin 1862 -> 1874 bytes .../sc88pro_slap_bass.wav | Bin 4003 -> 4016 bytes .../sc88pro_square_wave.wav | Bin 7296 -> 7308 bytes .../sc88pro_string_ensemble_60.wav | Bin 13840 -> 13852 bytes .../sc88pro_string_ensemble_72.wav | Bin 9095 -> 9108 bytes .../sc88pro_string_ensemble_84.wav | Bin 14133 -> 14146 bytes .../sc88pro_synth_bass.wav | Bin 3294 -> 3306 bytes sound/direct_sound_samples/sc88pro_taiko.wav | Bin 5687 -> 5700 bytes .../sc88pro_tambourine.wav | Bin 2312 -> 2324 bytes .../direct_sound_samples/sc88pro_timpani.wav | Bin 5434 -> 5446 bytes .../sc88pro_timpani_with_snare.wav | Bin 5434 -> 5446 bytes .../sc88pro_tr909_hand_clap.wav | Bin 2276 -> 2288 bytes .../sc88pro_trumpet_60.wav | Bin 5050 -> 5062 bytes .../sc88pro_trumpet_72.wav | Bin 5499 -> 5512 bytes .../sc88pro_trumpet_84.wav | Bin 5257 -> 5270 bytes .../direct_sound_samples/sc88pro_tuba_39.wav | Bin 4357 -> 4370 bytes .../direct_sound_samples/sc88pro_tuba_51.wav | Bin 4293 -> 4306 bytes .../sc88pro_tubular_bell.wav | Bin 6620 -> 6632 bytes sound/direct_sound_samples/sc88pro_wind.wav | Bin 4782 -> 4794 bytes .../sc88pro_xylophone.wav | Bin 2719 -> 2732 bytes .../direct_sound_samples/sd90_ambient_tom.wav | Bin 8495 -> 8508 bytes .../sd90_classical_detuned_ep1_high.wav | Bin 5140 -> 5152 bytes .../sd90_classical_detuned_ep1_low.wav | Bin 9939 -> 9952 bytes .../sd90_classical_distortion_guitar_high.wav | Bin 12380 -> 12392 bytes .../sd90_classical_distortion_guitar_low.wav | Bin 11453 -> 11466 bytes .../sd90_classical_oboe.wav | Bin 5037 -> 5050 bytes .../sd90_classical_overdrive_guitar.wav | Bin 7897 -> 7910 bytes .../sd90_classical_shakuhachi.wav | Bin 15393 -> 15406 bytes .../sd90_classical_whistle.wav | Bin 2761 -> 2774 bytes sound/direct_sound_samples/sd90_cowbell.wav | Bin 2571 -> 2584 bytes .../sd90_enhanced_delay_shaku.wav | Bin 8555 -> 8568 bytes .../sd90_open_triangle.wav | Bin 3783 -> 3796 bytes .../direct_sound_samples/sd90_solo_snare.wav | Bin 6597 -> 6610 bytes .../sd90_special_scream_drive.wav | Bin 6308 -> 6320 bytes .../direct_sound_samples/steinway_b_piano.wav | Bin 4653 -> 4666 bytes .../trinity_30303_mega_bass.wav | Bin 8263 -> 8276 bytes .../trinity_big_boned.wav | Bin 13131 -> 13144 bytes .../trinity_cymbal_crash.wav | Bin 2382 -> 2394 bytes sound/direct_sound_samples/unknown_01.wav | Bin 5400 -> 5412 bytes sound/direct_sound_samples/unknown_02.wav | Bin 7260 -> 7272 bytes sound/direct_sound_samples/unknown_03.wav | Bin 5151 -> 5164 bytes sound/direct_sound_samples/unknown_04.wav | Bin 9965 -> 9978 bytes sound/direct_sound_samples/unknown_05.wav | Bin 4977 -> 4990 bytes sound/direct_sound_samples/unknown_06.wav | Bin 8565 -> 8578 bytes sound/direct_sound_samples/unknown_07.wav | Bin 8828 -> 8840 bytes sound/direct_sound_samples/unknown_08.wav | Bin 2103 -> 2116 bytes sound/direct_sound_samples/unknown_09.wav | Bin 8217 -> 8230 bytes sound/direct_sound_samples/unknown_10.wav | Bin 7081 -> 7094 bytes sound/direct_sound_samples/unknown_11.wav | Bin 2356 -> 2368 bytes sound/direct_sound_samples/unknown_12.wav | Bin 3196 -> 3208 bytes sound/direct_sound_samples/unknown_13.wav | Bin 3067 -> 3080 bytes sound/direct_sound_samples/unknown_14.wav | Bin 2824 -> 2836 bytes sound/direct_sound_samples/unknown_15.wav | Bin 2484 -> 2496 bytes sound/direct_sound_samples/unknown_16.wav | Bin 2739 -> 2752 bytes sound/direct_sound_samples/unknown_17.wav | Bin 3315 -> 3328 bytes sound/direct_sound_samples/unknown_18.wav | Bin 6923 -> 6936 bytes sound/direct_sound_samples/unknown_bell.wav | Bin 4096 -> 4108 bytes .../unknown_close_hihat.wav | Bin 1125 -> 1138 bytes .../unknown_female_voice.wav | Bin 5807 -> 5820 bytes .../unknown_koto_high.wav | Bin 6256 -> 6268 bytes .../direct_sound_samples/unknown_koto_low.wav | Bin 8866 -> 8878 bytes .../unknown_open_hihat.wav | Bin 3738 -> 3750 bytes sound/direct_sound_samples/unknown_snare.wav | Bin 1323 -> 1336 bytes .../unknown_synth_snare.wav | Bin 2679 -> 2692 bytes .../unused_guitar_separates_power_chord.wav | Bin 4991 -> 5004 bytes .../unused_heart_of_asia_indian_drum.wav | Bin 3796 -> 3808 bytes .../direct_sound_samples/unused_sc55_tom.wav | Bin 4266 -> 4278 bytes .../unused_sc88pro_unison_slap.wav | Bin 13925 -> 13938 bytes .../direct_sound_samples/unused_sd90_oboe.wav | Bin 2832 -> 2844 bytes .../unused_unknown_male_voice.wav | Bin 9489 -> 9502 bytes tools/wav2agb/converter.cpp | 10 +++++++--- tools/wav2agb/wav_file.cpp | 6 ++++++ tools/wav2agb/wav_file.h | 1 + 548 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 sound/direct_sound_samples/sc88pro_harp.bad.wav diff --git a/sound/direct_sound_samples/bicycle_bell.wav b/sound/direct_sound_samples/bicycle_bell.wav index 92f9634069d2a94c0166218a01efa4b889003d78..d07fcceecbafcfb59f8dfc4eb6b8d1f2be6db4d8 100644 GIT binary patch delta 31 mcmdmNe88AB$kWYj$3)g}?!@$@92N!!20uxLjnNU3j0^yq9|$!7 delta 29 lcmX?LyxEvF$kWYj^+eWij+DfbM1M&JhKYst8`ld+0sxbl3331c diff --git a/sound/direct_sound_samples/classical_choir_voice_ahhs.wav b/sound/direct_sound_samples/classical_choir_voice_ahhs.wav index 7e38d3a3f7b2fde15aaeb181a23ee5d472c97d22..51f5656cc4a372b7270a8f50591ab389b1d24767 100644 GIT binary patch delta 46 zcmbQKw@i;U$kWYDZX#>GNMd?Y4hsVV!yGXNhLpsT#JNCvVx#rM39K9U#ELO8001pC B4D0{^ delta 17 YcmZ3cH&c%_$kWYDa3X8|#)hS005VJk$^ZZW diff --git a/sound/direct_sound_samples/cries/abra.wav b/sound/direct_sound_samples/cries/abra.wav index 14aba2d7a52efa83e19a3136175d8f649bfcb35c..34d645d9d3e627dd5c64832088777cb6eb56fe58 100644 GIT binary patch delta 29 kcmbOiy(*eD$kWYj(L~m8?!@$@92N!!21{LrjnU4!0E~$UK>z>% delta 17 YcmZ1#JujLy$kWYj+C@~ diff --git a/sound/direct_sound_samples/cries/aerodactyl.wav b/sound/direct_sound_samples/cries/aerodactyl.wav index 95518884b9dd2a519a7644d0a644c9add6866127..23479e7448cb2a322d6bee6258a3aaebceaebc3d 100644 GIT binary patch delta 29 kcmZpO?}=v(@^o`+naCQ>otU1K!@|J8Ag#}^Fyc-ECT*v5?ch5$&i2XX)a diff --git a/sound/direct_sound_samples/cries/aipom.wav b/sound/direct_sound_samples/cries/aipom.wav index 4d7bc829cd735dbb27286ad459d05d45f689b003..2fe15f87562330e9b09ffceba758dc1fa76ebfd4 100644 GIT binary patch delta 29 kcmZ2tzQLR|$kWYj#YEO{?!@$@92N!!2776SjnSUc0ETe~^8f$< delta 17 YcmdmBzQmk0$kWYj&P3MmjTs)&05^;U^Z)<= diff --git a/sound/direct_sound_samples/cries/alakazam.wav b/sound/direct_sound_samples/cries/alakazam.wav index f397363d15350aac81aa59b815441562dc0da8ee..911472dece8692eb5e9fceb72f7f1e9a4dd99305 100644 GIT binary patch delta 31 mcmeCLo>R>l diff --git a/sound/direct_sound_samples/cries/altaria.wav b/sound/direct_sound_samples/cries/altaria.wav index ca35cbf5194df6cc1b9dde93f8919b81cfdf666b..08395d0d6461110d33e39224f562ff735dfb84ab 100644 GIT binary patch delta 31 mcmX@FeMg%$$kWa3%0$+1?!@$@92N!!hAdHrjnO5dj0^yyhX|k diff --git a/sound/direct_sound_samples/cries/ampharos.wav b/sound/direct_sound_samples/cries/ampharos.wav index 346b2aa48bfcacdd58246e55e096e074042498c5..da0bd761ca6ddb939e0b5c87c90d17dfea53f706 100644 GIT binary patch delta 29 kcmX@&aKV8!$kWZuV`Tzg` delta 17 YcmZqC`=QGkjTwQ806K*RHvj+t diff --git a/sound/direct_sound_samples/cries/ariados.wav b/sound/direct_sound_samples/cries/ariados.wav index f059bcfc9302049d6c1389cff8ac34be1ec0d8d2..168f97552ff107781e305a5529250abd1ed11f07 100644 GIT binary patch delta 31 mcmZ2$u*-lo$kWZuXd-JkcVc={4hsVV!wGSQjnS9H85sbRp$Lrt delta 17 YcmdmGu-1Sz$kWYDbs}r{#*B;N05w4d2LJ#7 diff --git a/sound/direct_sound_samples/cries/armaldo.wav b/sound/direct_sound_samples/cries/armaldo.wav index de11795664ab024504e257044a51ad5eb87d028c..aecebd18e970e465fb04df9a9d2d015bf6bc3593 100644 GIT binary patch delta 29 kcmZpRoD|6#ehlPQGK~aZcW3;vo0E8X~!vFvP delta 17 YcmbOf*%rwfehlPQGVVNMq#^?=#j0^yT2?xIb delta 17 YcmbQC(yhW8#*AGG05gvT*8l(j diff --git a/sound/direct_sound_samples/cries/azurill.wav b/sound/direct_sound_samples/cries/azurill.wav index 65fa56e65b80d73b788f81810a668f72b75b575e..b3eda262b7b8e77053fd7f1365fd4a48765493a9 100644 GIT binary patch delta 31 mcmaE_@kfI-$kWZOWFl)gcVc={4hsVV1D6QH#%K`{Mg{<#E(gH? delta 17 YcmeyP@m_;9$kWX&eIjf4#tdN*06iiF`~Uy| diff --git a/sound/direct_sound_samples/cries/bagon.wav b/sound/direct_sound_samples/cries/bagon.wav index af36a96eb860203a5841a387888a69ea6aea470f..2f36926eed2992ae166f021537c9bcfc005f0d4f 100644 GIT binary patch delta 29 kcmew$_eYL3$kWZOWFl)gcVc={4hsVV12;dz#%NJ~0E?3cr2qf` delta 17 Ycmew(_d$*|$kWX&V<^TWy diff --git a/sound/direct_sound_samples/cries/baltoy.wav b/sound/direct_sound_samples/cries/baltoy.wav index 395954b565d95e342c1b0db06d049803338e8837..59867a0ed5238a1648f4fca437f2a9b72bcf24e4 100644 GIT binary patch delta 29 kcmeA&oMy-xehlPQGK~;ibW3;{m0DN`_UjP6A delta 17 YcmbPc*k#BXh($ diff --git a/sound/direct_sound_samples/cries/barboach.wav b/sound/direct_sound_samples/cries/barboach.wav index 40539ce514ab56fb7121158d2d9f751c5ebc96d2..a955c76c2147df59cbb740ba800834f8d1230abd 100644 GIT binary patch delta 29 kcmZ3bvQ33G$kWYDZz5|rcVc={4hsVV!%;zojnU@?0e+_lR{#J2 delta 17 Ycmdm{vPy+D$kWYDX(DU*#*A}<05e1d+yDRo diff --git a/sound/direct_sound_samples/cries/bayleef.wav b/sound/direct_sound_samples/cries/bayleef.wav index 754e6e6e6e146b679e08b98b27c4882343657d64..6dbcaf918de16b16fe178df680259204b1468de2 100644 GIT binary patch delta 31 mcmcbpbWe#j$kWX&Y$9tocVc={4hsVV!y5sHjnUr(7#RSagb5b_ delta 17 YcmcbobWw>l$kWZub0TZ_#*D8506BgJbN~PV diff --git a/sound/direct_sound_samples/cries/beautifly.wav b/sound/direct_sound_samples/cries/beautifly.wav index f9c3f26a5b6ad338fb3e1d882c8c4ff03434ad20..248428abc54f0e1da2ecd0cbcc9808d98fb6c182 100644 GIT binary patch delta 31 mcmdn2a6o}I$kWZuVj^oecVc={4hsVV!#RG2jnOyw85sbP;|O~I delta 17 YcmX@0uvvjM$kWYDdm?N2#*FLy05nwv_W%F@ diff --git a/sound/direct_sound_samples/cries/beedrill.wav b/sound/direct_sound_samples/cries/beedrill.wav index 6ba426baea0941fcd5f2bfa09d50228835e92032..a3fa107ac176385a6207037cd583a9de1c7aaeeb 100644 GIT binary patch delta 29 kcmX@*ea)LS$kWa3+(g!J?!@$@92N!!hE!FCjnVn40GEvj?EnA( delta 17 YcmccSeaf3P$kWa3&_veojTw2W06;1Rz5oCK diff --git a/sound/direct_sound_samples/cries/beldum.wav b/sound/direct_sound_samples/cries/beldum.wav index 5d6514af4cf7737d060c50f369fa581cc3e3eac5..427bb24771db8370291c08920a5e333f28862ab4 100644 GIT binary patch delta 31 mcmaE_`bU*D$kWa3%S6_2?!@$@92N!!hAtt7jnPwt7#RSq>IpXh delta 17 YcmeyP`d*ba$kWa3`9#+6jTw`L071qE^Z)<= diff --git a/sound/direct_sound_samples/cries/bellossom.wav b/sound/direct_sound_samples/cries/bellossom.wav index 71680c16b2addbaff6bacfd79444be46018001f1..7d47d8a78f57925be4549f5d1b62fa3ddc8954f8 100644 GIT binary patch delta 31 mcmbPgzQ~+4$kWYj)0F#UerT_o{ delta 16 XcmaFiaL0i)$kWX&WFl+$!VCofHq-^% diff --git a/sound/direct_sound_samples/cries/butterfree.wav b/sound/direct_sound_samples/cries/butterfree.wav index 796a1afa9afb91a6839367779581e55934bba9e6..19e781569c59524cebdab86c632f46da936150eb 100644 GIT binary patch delta 29 kcmdm@en6cy$kWYj$3)g}?!@$@92N!!27h6OjnR?90Ej6F6951J delta 17 YcmX@0zD1oi$kWYj%|zDljTsTb060Vj3;+NC diff --git a/sound/direct_sound_samples/cries/cacnea.wav b/sound/direct_sound_samples/cries/cacnea.wav index b2786069b6cb550ab5c4572be97fb458e738f6f9..dcf4323c4b670d09c3bc11ccadee03c13bcedd91 100644 GIT binary patch delta 31 mcmbQOyh52Z$kWYj!9><@?!@$@92N!!1~Wm1jnNK*j0^ydKL?Ef delta 17 YcmZ3XJX@JH$kWYj@QaVCN_$kWZuWg=@hcVc={4hsVV!)TaUg;<$kWZuVj^q!#*8Q006h{0wg3PC diff --git a/sound/direct_sound_samples/cries/camerupt.wav b/sound/direct_sound_samples/cries/camerupt.wav index 95fdce35757c01f160c72e7e511169707c90bcf6..bef89f41d03ab21a28f39c59aafcd063389c8c06 100644 GIT binary patch delta 31 mcmbOkwJeG?$kWYDZX#pF diff --git a/sound/direct_sound_samples/cries/cascoon.wav b/sound/direct_sound_samples/cries/cascoon.wav index fff0be68157e973f763b780b395272008beeff62..3e3daf62604505faf5307ff8d2ed8e602e6da8db 100644 GIT binary patch delta 29 kcmca$f5)CR$kWa3%0$+1?!@$@92N!!hHQC;jnSp@0G8PZ=Kufz delta 17 Ycmca(f5DzL$kWa3#6;HcjTt5K06(|}xBvhE diff --git a/sound/direct_sound_samples/cries/castform.wav b/sound/direct_sound_samples/cries/castform.wav index 83748d45b8578c8f936357201922189d693612b4..8b50b35d98ba859d75c3f6612932e44589602105 100644 GIT binary patch delta 29 kcmdmBxW|w+$kWYj%S6_2?!@$@92N!!25$+5jnSbJ0ErX`9RL6T delta 17 YcmdmExWSM$$kWYj#YEQdjTs>l065JC6#xJL diff --git a/sound/direct_sound_samples/cries/caterpie.wav b/sound/direct_sound_samples/cries/caterpie.wav index ccdf1ba1ac083e412bd6d931ecd96d63c23ab4db..c5073644629a0945b7c48550c717a213abd4c086 100644 GIT binary patch delta 29 kcmeyQ@K1p?$kWZOY$9tocVc={4hsVV1FrzX#%OT?0F1B)wEzGB delta 17 YcmeyT@JWF+$kWX&Ya(m-#tbn506d!o^8f$< diff --git a/sound/direct_sound_samples/cries/celebi.wav b/sound/direct_sound_samples/cries/celebi.wav index e217a99e81adbb80723302158cc93de2f967c57c..c5a560e4b2d11bd660190bd2fbac1fd4643bb470 100644 GIT binary patch delta 29 kcmca$amRu+$kWX&WFl)gcVc={4hsVV!)s}VjnQAF0guB8Q2+n{ delta 17 Ycmca(alwK$$kWZuV>ZjTt_w06LZiHUIzs diff --git a/sound/direct_sound_samples/cries/charmander.wav b/sound/direct_sound_samples/cries/charmander.wav index 3d82aca2fa711f8945c6ca566e1a7acb2f594e64..09762f21034ec5777e46e63920b0adc655cc80ee 100644 GIT binary patch delta 29 kcmX?Pan6D@$kWZuZ6a$pcVc={4hsVV!(C~HjnU7g0gD|83jhEB delta 17 YcmX?Sama!-$kWZuY9ed+#*Amu06CThZU6uP diff --git a/sound/direct_sound_samples/cries/charmeleon.wav b/sound/direct_sound_samples/cries/charmeleon.wav index a491f0586ec819e44285a417dc51c0dadc21b401..a5289e2b01a737d6f60abb92b1dfa5a30c2fb7dc 100644 GIT binary patch delta 31 mcmaEC@xg*M$kWX&VSjnV1C0F2KFSpWb4 delta 17 YcmX@7en_1)$kWYj*F@IvjTvde06LHcL;wH) diff --git a/sound/direct_sound_samples/cries/chinchou.wav b/sound/direct_sound_samples/cries/chinchou.wav index 88229968284ecfb4dd4da5293f415bed44f28cd1..4fe6c6a7724731cc9098717e7a335c4a5db2fea3 100644 GIT binary patch delta 29 kcmca(_`;Ai$kWa3!9><@?!@$@92N!!hH?ppjnRz~0GF@``2YX_ delta 17 YcmaE1c*l@6$kWa3%0$-ijTsFR06+x>#Q*>R diff --git a/sound/direct_sound_samples/cries/clamperl.wav b/sound/direct_sound_samples/cries/clamperl.wav index 6615de8779261f61af735ddf092618b341a25ca7..5e80ebab66dbbe3f8a0ae256fa4e46307e9d6e92 100644 GIT binary patch delta 29 kcmX@%e#M<@?!@$@92N!!26F+1jnR$*0Djm9i2wiq delta 17 YcmZ3XI7g8+$kWYj%0$-ijTsIC05hEhod5s; diff --git a/sound/direct_sound_samples/cries/cleffa.wav b/sound/direct_sound_samples/cries/cleffa.wav index 53d18df4153c3394244d941659f560a68b60d3cc..946a75959ecdca438549c9491044f919d1180acc 100644 GIT binary patch delta 29 kcmX>keomY<$kWa3*hJQF?!@$@92N!!hFETfjnV1c0EssUDF6Tf delta 17 YcmX>nen^}($kWYj*F@IvjTvd&063@y8~^|S diff --git a/sound/direct_sound_samples/cries/cloyster.wav b/sound/direct_sound_samples/cries/cloyster.wav index 4fc766ae194c4631f2c76a54b0ac246ec92e0820..acd5f7fc302296d7a5f384df8c7b64c2c10f40f2 100644 GIT binary patch delta 29 kcmZn(oDj$wehlPQGL0*GlW3;9Q0D-6np#T5? delta 17 YcmbOb*b>MZc6WRwI_--$kWZuWFl+$#*7C#06eD#s{jB1 diff --git a/sound/direct_sound_samples/cries/croconaw.wav b/sound/direct_sound_samples/cries/croconaw.wav index deb2a700357af472782c1897c813a073e0730ad5..9fd775fc0c669f1bf7094efbed21fb73207659da 100644 GIT binary patch delta 31 mcmZqnpWx3LehlPQGK~9}vW3+}kBLe`CK?j)t delta 17 YcmbQ>-|WvCk06h{0h5!Hn diff --git a/sound/direct_sound_samples/cries/delcatty.wav b/sound/direct_sound_samples/cries/delcatty.wav index dce5e73b7ab259fce86d85f3b19dde72ab01bc52..7807052669c2f6293434a6eac023dd7d887e7896 100644 GIT binary patch delta 29 kcmZ1xv?Yi&$kWYDXCiAjcVc={4hsVV!(k1EjnQW{0Ekiu*8l(j delta 17 YcmdlIv?7Q#$kWYDVIphz#*8x>061#~M*si- diff --git a/sound/direct_sound_samples/cries/delibird.wav b/sound/direct_sound_samples/cries/delibird.wav index 7ccf645de649bef040d7eb3a6ae229eda8068814..f4b27e73265505104ec90d978a4c424b308c1c2e 100644 GIT binary patch delta 29 kcmdmBzsH_6$kWYj%S6_2?!@$@92N!!25)(WjnSd<0E{^ZM*si- delta 17 YcmdmEzrmh0$kWYj#YEQdjTs^G06KUEH~;_u diff --git a/sound/direct_sound_samples/cries/deoxys.wav b/sound/direct_sound_samples/cries/deoxys.wav index 7ed0f65cc1fc0c154ed6e985b732a94c2b486226..c5943318dbf899e52fb77a5c3b49c4a24d803d9d 100644 GIT binary patch delta 31 mcmZ1;xFwJ^$kWYj%|zC4?!@$@92N!!1}6=MjnO_Dj0^yt90*eY delta 17 YcmdlIxIBSbRmc}$kWZuVv1$kWZuW+H3&#*7yl06hZ+w*UYD diff --git a/sound/direct_sound_samples/cries/diglett.wav b/sound/direct_sound_samples/cries/diglett.wav index 8eecd3bedb337e1d773ff03eb06d878d800c1c08..ba098f64a65007c04252e26c6ec88253a1d3237f 100644 GIT binary patch delta 29 kcmez3-QdF-s{jB1 delta 17 YcmcbkeL)9k|*ehlPQGL0pkxW3-|o0E#~c&Hw-a delta 17 YcmeBh{^P_N4jnQTbj0^yg`UkZD delta 17 YcmbQ|IMIB?!@$@92N!!hD0%jjnUa+0FQhKe*gdg delta 17 YcmcbldrX%#$kWYj-$d5%jTu>D06XsnV*mgE diff --git a/sound/direct_sound_samples/cries/drowzee.wav b/sound/direct_sound_samples/cries/drowzee.wav index 41321096630ce26176cfe87234932cd40d80ecba..3294d5f83d727dbf3d8e086eaccf7f34f6dd2a56 100644 GIT binary patch delta 29 kcmdl`xTlac$kWYj%S6_2?!@$@92N!!25$?7jnSbN0GD(K-2eap delta 17 Ycmdl}xS^0W$kWYj#YEQdjTs>p06=X9wEzGB diff --git a/sound/direct_sound_samples/cries/dugtrio.wav b/sound/direct_sound_samples/cries/dugtrio.wav index d159a2fae0909a3b1b586babff9e1cfeb2cd41ee..59be4c5a7fca28395b5c0bb55a22aa3d1683de8e 100644 GIT binary patch delta 31 mcmaFq{mq*-$kWa3-9*-K?!@$@92N!!h89(ZjnRFoj0^y^9SMs7 delta 17 Ycmez7{nDE?$kWa3;Y8N(jTybF07X#;I{*Lx diff --git a/sound/direct_sound_samples/cries/dunsparce.wav b/sound/direct_sound_samples/cries/dunsparce.wav index 5154546d10011937d4cae0c2c90d04e5551633c2..b3bc21a0429aaff11e413f628ec225dd2e0e3f1e 100644 GIT binary patch delta 29 kcmeCMn_|ZrehlPQGVX+*;#^|+j0C_YA`v3p{ delta 17 YcmbPY*I~yRh($ diff --git a/sound/direct_sound_samples/cries/dusclops.wav b/sound/direct_sound_samples/cries/dusclops.wav index 81353887b95d99ac3cbeac032ed975f6711348fd..0ae486972e256d722370b3392cd0d68c4c895acb 100644 GIT binary patch delta 29 kcmca(`ofeo$kWa3!9><@?!@$@92N!!hH@!}jnR!#0GO5u1poj5 delta 17 YcmaE1ddHMC$kWa3%0$-ijTsG606>2R&j0`b diff --git a/sound/direct_sound_samples/cries/duskull.wav b/sound/direct_sound_samples/cries/duskull.wav index eba8fc3ff1bdf42f5b635ae57e4d7778ec6f33c3..7ef72a3975a57b2b2b6d90ce33a331324136854c 100644 GIT binary patch delta 29 kcmcbhc}J5q$kWa3%0$+1?!@$@92N!!hHMdrjnSnd0Fmejr2qf` delta 17 Ycmcbkc|nsk$kWa3#6;HcjTt2(06iH7fdBvi diff --git a/sound/direct_sound_samples/cries/dustox.wav b/sound/direct_sound_samples/cries/dustox.wav index 42f23c12896d815b613d0ea7bd5761b8144575c9..76475856260373307d3acf3c3369feb6966c3fde 100644 GIT binary patch delta 29 kcmca&_`r}g$kWa3#zfX|?!@$@92N!!hI|QzjnS170F?*`(EtDd delta 17 YcmaE0c*T%4$kWa3%tY4kjTsdZ06w(_r2qf` diff --git a/sound/direct_sound_samples/cries/eevee.wav b/sound/direct_sound_samples/cries/eevee.wav index e21ce1f0e7e518e57442533b893101ae33596c42..833528278b734dde7c4cabc8a87171c2612edf75 100644 GIT binary patch delta 29 kcmca)e$SjW$kWa3+C=#*9-206G5#X8-^I diff --git a/sound/direct_sound_samples/cries/elekid.wav b/sound/direct_sound_samples/cries/elekid.wav index 82a9a2f675baf6961c893ade1a156927b792e64c..24911138698b868ba619abd1d294a78b3264cb4c 100644 GIT binary patch delta 31 mcmdn4c|?;n$kWYj&qUU6?!@$@92N!!h9D7!jnOe8j0^ypAP6e} delta 17 YcmX@2xm}Yr$kWYj{Y2LAjTzA*067o_9smFU diff --git a/sound/direct_sound_samples/cries/entei.wav b/sound/direct_sound_samples/cries/entei.wav index cf7e9c0c2facc62a131e118047de7f19f13cffa6..cce2db4b037571387d7cf9f62450fa52921adcdf 100644 GIT binary patch delta 29 kcmaFi|HYp*$kWa3%|zC4?!@$@92N!!hGun!jnTd80HSFLj{pDw delta 17 Ycmez3|H7X&$kWa3!9>>ZjTt@a07Z}oKmY&$ diff --git a/sound/direct_sound_samples/cries/espeon.wav b/sound/direct_sound_samples/cries/espeon.wav index 20743268e11ebb66f2db688bc99a083e6b449b4e..8456a350d66ba2f49256a4d752a483765b869e27 100644 GIT binary patch delta 31 mcmezF)8fk-ehlPQGK}d~ZW3-GKBLe`Mum{!v delta 17 YcmZqi{qDmWhdqtKt$kWa3%tY33?!@$@92N!!hGag5jnTP$0E~_ZSpWb4 delta 17 Ycmca2dqS2q$kWa3z(m&YjTt$706JR+LjV8( diff --git a/sound/direct_sound_samples/cries/fearow.wav b/sound/direct_sound_samples/cries/fearow.wav index 6ef7eadee907dc173874742cd15167718c944c0d..d2ab288dd162b21b4b14d8b908a2623b2922f259 100644 GIT binary patch delta 31 mcmZ4Myvvz2$kWYj(?r&A?!@$@92N!!1`kDsjnP4hj0^yr-3Uhj delta 17 Ycmdnxyw;gD$kWYj=|tA>jTwQ806K*RHvj+t diff --git a/sound/direct_sound_samples/cries/feebas.wav b/sound/direct_sound_samples/cries/feebas.wav index a8f60a55f6b118fe5abfd64bf1ae17841d57d666..1e9037b7ec332d1d66f01365a5d5139401ef1cc4 100644 GIT binary patch delta 29 kcmaDS_e+j7$kWZOXd-JkcVc={4hsVV11CSj#%N)F0E+1cn*aa+ delta 17 Ycmew*_fC#A$kWX&Z6a&<#tb2T06Vq?-T(jq diff --git a/sound/direct_sound_samples/cries/feraligatr.wav b/sound/direct_sound_samples/cries/feraligatr.wav index d1da192f9055b412cd7fdf34e7d226e930ade5fd..f17eec474b3ceaabc9eb74ccf0491c68dd33fc65 100644 GIT binary patch delta 29 kcmdm$d@PwY$kWYj-$d4M?!@$@92N!!hEPL>jnVOj0GFW%yepYC$kWYj(?r(rjTv!<06=C2x&QzG diff --git a/sound/direct_sound_samples/cries/flaaffy.wav b/sound/direct_sound_samples/cries/flaaffy.wav index a0cf3df06241d47cb10abeb0d457c06ee2439074..9459c8e06dd52db2c4da0e61ab7bc9a804c2704b 100644 GIT binary patch delta 29 kcmca%`oxqq$kWa3&P3L5?!@$@92N!!hGHp(jnTDI0GC1t@c;k- delta 17 YcmaE2dc%}8$kWa3!bH~ajTtpk06*6TzW@LL diff --git a/sound/direct_sound_samples/cries/flareon.wav b/sound/direct_sound_samples/cries/flareon.wav index 6bd51168b3c814bc764cce8eae029a95039fa6a5..d138a75e033ada89427e9474cbeae60e50f6fad5 100644 GIT binary patch delta 29 kcmca+^T>uZ$kWX&Y9ebmcVc={4hsVV!$(<$jnThl0g|T)djJ3c delta 17 YcmaE4bIpb|$kWZuZz5~>#*AOG06ka+$N&HU diff --git a/sound/direct_sound_samples/cries/flygon.wav b/sound/direct_sound_samples/cries/flygon.wav index b6c5d90ba02986fa56d1eb6681cff7a1e86fef83..2d64627eee4f82c86554cab0799ca7c5ce3668c4 100644 GIT binary patch delta 31 mcmX?@dM=eU$kWa3*hJQF?!@$@92N!!h8QD;jnQdFj0^y*xCs#e delta 17 YcmX??dN7qW$kWYj=S0@ehlPQGfscn_W3&VhBLe`8P6s9c delta 17 YcmZpW{4Bv5{n05ft0WdHyG diff --git a/sound/direct_sound_samples/cries/gardevoir.wav b/sound/direct_sound_samples/cries/gardevoir.wav index bd3a99acc26e0e1ae3927c362f425c869ae529a5..a40ef12626b6d241e51ee79189bf889053baa456 100644 GIT binary patch delta 31 mcmeB;pB2v<wehlPQGK}eTjW3-GeBLe`QDF^@n delta 17 YcmZpP{vO2|Rvpa@0$kWZucp_`~#*F*A06fbEtpET3 diff --git a/sound/direct_sound_samples/cries/girafarig.wav b/sound/direct_sound_samples/cries/girafarig.wav index d78162a29fdb26612a3d0f00dc420fcf3ba85046..089b8bb0451b7c743dffbea24f5167953baaf2b2 100644 GIT binary patch delta 31 mcmX?VdC8JB$kWa3)I`>B?!@$@92N!!h6EXgjnP>$j0^yyN(i9< delta 17 Ycmca)dDN0M$kWYj??l${jTxCT06jzoegFUf diff --git a/sound/direct_sound_samples/cries/glalie.wav b/sound/direct_sound_samples/cries/glalie.wav index bf35bd147b85f8e513bcaa4aaf8c223f61f247df..6f81e7a2a4e922a8c57b22db829d7fc5c0d7a491 100644 GIT binary patch delta 29 kcmX>Wcqx!I$kWa3)I`>B?!@$@92N!!hC~g9jnUZ}0GE;o>i_@% delta 17 YcmcZB?!@$@92N!!hD33OjnUcS0FUnog#Z8m delta 17 Ycmcble@ve>$kWYj-$d5%jTu?u06Z)PXaE2J diff --git a/sound/direct_sound_samples/cries/gloom.wav b/sound/direct_sound_samples/cries/gloom.wav index abc408a0f76a0b055987e9b5f2cde496507c0cc3..ce3da97083be53126507cf8eb8f4ad54165a52bb 100644 GIT binary patch delta 31 mcmexq&}PUQehlPQGK}3RKW3-$EBLe`GdU2 delta 17 YcmaFmeb<{c$kWa3>O|J?jTw!q07F>^3jhEB diff --git a/sound/direct_sound_samples/cries/goldeen.wav b/sound/direct_sound_samples/cries/goldeen.wav index 342df710c97b0e300a1e1a98e0514ff895347e1e..ec3b48ad44cab5acc6f208cc47edd6c3d8d45bcd 100644 GIT binary patch delta 30 lcmcbu_Ck#{$kWX&VIpfdcVc={4hsVV!#5#@h0(%{3;>m>2u1(^ delta 17 YcmaE%c3X`#$kWX&cp_`~#*F_$06UxprT_o{ diff --git a/sound/direct_sound_samples/cries/golduck.wav b/sound/direct_sound_samples/cries/golduck.wav index a9bf91b2da7fb18fe5459e67d181caee4b7748dc..bc6cc95af9ee5b811204429a790572c55ded6cca 100644 GIT binary patch delta 29 kcmZ3WvqpzC$kWYDWg=@hcVc={4hsVV!){TAjnPL%0ev9|Jpcdz delta 17 YcmZ3Zvp|P6$kWYDVj^q!#*8DP05X&X$N&HU diff --git a/sound/direct_sound_samples/cries/golem.wav b/sound/direct_sound_samples/cries/golem.wav index 17ed6128e4a277a930b764eff6adc24f59c96d3a..9a26adcc945f34397f004a4bba604a8f764ee370 100644 GIT binary patch delta 29 kcmdmGe$1RT$kWYj-$d4M?!@$@92N!!hEQpSjnVPa0FA#0VE_OC delta 17 YcmX?RzRR37$kWYj(?r(rjTv#$06QoKOaK4? diff --git a/sound/direct_sound_samples/cries/gorebyss.wav b/sound/direct_sound_samples/cries/gorebyss.wav index 3d375f6dcf22d88587637a17cbcc31dc865be73b..cd14f26dd5c57eb49b2510d493d73b094b2667a9 100644 GIT binary patch delta 29 kcmdlLek`0d$kWYj-$d4M?!@$@92N!!hEQ#WjnVPi0F>_t!2kdN delta 17 YcmX>WzAKzH$kWYj(?r(rjTv#;06zEzoB#j- diff --git a/sound/direct_sound_samples/cries/granbull.wav b/sound/direct_sound_samples/cries/granbull.wav index 959793b7240340ed4ea1da165d498a892dedd3f8..faffbc56294ae74e05d510a9e7082c24f95d5712 100644 GIT binary patch delta 29 kcmbOcvm}N!$kWYDW+H1icVc={4hsVV!)9HEjnR8`0fj*br2qf` delta 17 YcmZ1yGb4sI$kWYDU?OYy#*96>05<#vAOHXW diff --git a/sound/direct_sound_samples/cries/graveler.wav b/sound/direct_sound_samples/cries/graveler.wav index 6b8591406f5cb6f0c6caeace56c54714646c788d..e5a2e9d19ef1538eff046729dc18cd4a071335c2 100644 GIT binary patch delta 31 mcmcbg^CpKi$kWX&Wg=@hcVc={4hsVV!!J{YjnOP-j0^y=6bU>4 delta 17 YcmaEpb3cbQ$kWX&d?IW3#tddN079GwW&i*H diff --git a/sound/direct_sound_samples/cries/grimer.wav b/sound/direct_sound_samples/cries/grimer.wav index 092dfeed61e0e6578f1e5c96ac312bbcc8061f34..8ae15f40637e78dd295b3133171cd9dbb80ab691 100644 GIT binary patch delta 31 mcmZ3hxl5BZ$kWYj(?r&A?!@$@92N!!1`iR2jnP3Oj0^ylY6tlM delta 17 Ycmdm`xmJ@k$kWYj=|tA>jTwO=05@y}_5c6? diff --git a/sound/direct_sound_samples/cries/groudon.wav b/sound/direct_sound_samples/cries/groudon.wav index 680d0ec0474bdf8d89e6411df4619a8a11547203..0571205792655730ea535373cddba27e5425ac75 100644 GIT binary patch delta 33 pcmbO^fpOUcM%ExtH#fP7tl`{==}9>(3=9lg+!;1T?{jBl005`T2}=L~ delta 19 bcmZ2BfpO*pM%ExtH#fnFtl=9o_PPTAK_3RG diff --git a/sound/direct_sound_samples/cries/grovyle.wav b/sound/direct_sound_samples/cries/grovyle.wav index 7e2f1acd0fa702b7f1292bdebb56c211a247e25d..6ae949e00a8c9f342a515bb77ffb6b7851831bf1 100644 GIT binary patch delta 29 kcmaFi|HYp*$kWa3%|zC4?!@$@92N!!hGun!jnTd80HSFLj{pDw delta 17 Ycmez3|H7X&$kWa3!9>>ZjTt@a07Z}oKmY&$ diff --git a/sound/direct_sound_samples/cries/growlithe.wav b/sound/direct_sound_samples/cries/growlithe.wav index 3f72ea6f976a4c2b116389c53151fd57b2525c43..96ea21385a9f83a52a1a0cd628e1a6e5dd520b92 100644 GIT binary patch delta 29 kcmdmGa?FG^$kWZuZX#ne@mV<$kWa3(nQv9?!@$@92N!!hD?5jjnT#Y0FM6%eEn?$kWa3*hJRwjTuG!06UZhU;qFB diff --git a/sound/direct_sound_samples/cries/gyarados.wav b/sound/direct_sound_samples/cries/gyarados.wav index 6a4124085eac35d3fd9a4caa6eed28680ae9721b..b76327da2679feed9fd603e39a4b2eaf4d519fd1 100644 GIT binary patch delta 31 mcmez9_s@?t$kWZOY$9tocVc={4hsVV1CKhx#%M8hMg{<$kWYj(?r&A?!@$@92N!!22TZsjnTmh0E_|%LjV8( delta 17 YcmdnxxXzI^$kWYj*+kaxjTu1-06Jj?H2?qr diff --git a/sound/direct_sound_samples/cries/haunter.wav b/sound/direct_sound_samples/cries/haunter.wav index e22b1cfc137eea6605fb91fc99492c0ebee13d45..999a0d02d1c8d8113f0845208a126d381c760c46 100644 GIT binary patch delta 29 kcmcZ-{UDk($kWa3#zfX|?!@$@92N!!hJ0OyjnS350G@XVPXGV_ delta 17 YcmaD5eI=ST$kWa3%tY4kjTsfX07JG14gdfE diff --git a/sound/direct_sound_samples/cries/heracross.wav b/sound/direct_sound_samples/cries/heracross.wav index ed68648ba8d379de53a5dfac60c8ca5608bed2d6..14824990853f71b83ec2c20da2d15ee7f596a06d 100644 GIT binary patch delta 29 kcmX@*e$AaV$kWa3+(g!J?!@$@92N!!hE!#SjnVna0G6i+;Q#;t delta 17 YcmccSe#)IS$kWa3&_veojTw2$06(w>v;Y7A diff --git a/sound/direct_sound_samples/cries/hitmonchan.wav b/sound/direct_sound_samples/cries/hitmonchan.wav index 806d206d35807cbed941ba77ad7e39e33d79c2df..130169e6e12fe7cf8f40bf51f819f8440ab86004 100644 GIT binary patch delta 31 mcmccX`pT6x$kWa3(L~m8?!@$@92N!!h6*KyjnPd?j0^y;ED1dT delta 17 YcmaFmde@aT$kWa3>O|J?jTwzf079Y$`~Uy| diff --git a/sound/direct_sound_samples/cries/hitmonlee.wav b/sound/direct_sound_samples/cries/hitmonlee.wav index e40d852b998b4e2884129c42e087552cd04c4199..9ec63520a97a1b6115d477708c54cdf147e2e656 100644 GIT binary patch delta 31 mcmezA(dNk-ehlPQGK}3aNW3-$KBLe`Ma0k=? delta 17 YcmZqk{OQ3O06HcG^#A|> diff --git a/sound/direct_sound_samples/cries/hitmontop.wav b/sound/direct_sound_samples/cries/hitmontop.wav index 652222dc6c5d0cf8e8febe463b7ddb5de93daf80..fa26c699b8843f1df4843492edf75b22a5bc5362 100644 GIT binary patch delta 29 kcmZ2ww#|$+$kWYDZz5|rcVc={4hsVV!%-=QjnU_&0D`gzjQ{`u delta 17 YcmdmHw#tk($kWYDX(DU*#*A}P05xd_2><{9 diff --git a/sound/direct_sound_samples/cries/ho_oh.wav b/sound/direct_sound_samples/cries/ho_oh.wav index acf8812532310b83b9c1a134a12117041ddb7422..e098f9806b5f9a09a085f177008b0ca27c2484ec 100644 GIT binary patch delta 31 mcmeB=m=nPoehlPQGVU;$+#^^2Dj0^yhYY1-u delta 17 YcmbOe(I3GYx(^b delta 17 Ycmez6^UjAg$kWX&Z6a&<#tb1f06{SZQ2+n{ diff --git a/sound/direct_sound_samples/cries/houndour.wav b/sound/direct_sound_samples/cries/houndour.wav index 51310524a880164a87737c25d0313f825ff38ad2..ef683e68f6a92087d499b16d82f586065b008674 100644 GIT binary patch delta 31 mcmX?ac*l@6$kWa3%0$+1?!@$@92N!!hAat&jnO3%j0^y!1PHqT delta 17 Ycmca(c;1jT$kWa3_(az5jTyxf06p{uk^lez diff --git a/sound/direct_sound_samples/cries/huntail.wav b/sound/direct_sound_samples/cries/huntail.wav index b2e3f99853a7e3c8f8ca9a4add8f6e1097a4c645..9c4e7af02163e603bd4bd702c43a2c5e37f52ef9 100644 GIT binary patch delta 31 mcmbPjx5AD!$kWYDVIpfdcVc={4hsVV!!|jFjnN0>7#RSNYzSQd delta 17 YcmZ2sH`|Ui$kWYDcp_`~#*F=P05kXn;s5{u diff --git a/sound/direct_sound_samples/cries/hypno.wav b/sound/direct_sound_samples/cries/hypno.wav index 4369110c2cc6fbb8921681bf13070ef61852dd9c..3b1e2dab6e43ce9c2bbee37322e5d13a6d9f4df5 100644 GIT binary patch delta 29 kcmZoEoKVObehlPQGLEeI4W3;9P0EpNK0RR91 delta 17 YcmbPG*iy(EYex&QzG delta 17 YcmaFk@W6pJ$kWX&Vj^q!#taq(06ljF`v3p{ diff --git a/sound/direct_sound_samples/cries/jigglypuff.wav b/sound/direct_sound_samples/cries/jigglypuff.wav index d3e925fe940b8b49dadf543cd8665bede935b009..4b8d4ccc8fbd76f6edaaf3662361d930751848bb 100644 GIT binary patch delta 31 mcmdlidO(yl$kWYj$3)g}?!@$@92N!!20t!_jnNTYj0^yit_Rxy delta 17 YcmX>gx>=Mp$kWYj^+eY2jTzxw05%2%+yDRo diff --git a/sound/direct_sound_samples/cries/jirachi.wav b/sound/direct_sound_samples/cries/jirachi.wav index 43850cbaa01ec4432153de3fe59942d6ee0781ef..f548e50bf7ca9a73510cb2d9d2a8a8fb3ec36b1c 100644 GIT binary patch delta 31 mcmexq(q_sUehlPQGK}3pSW3-$UBLe`HdIy*Q delta 17 YcmZoO{b|A)_jnUKP0HLr6ivR!s delta 17 Ycmexo`^lCy$kWa3)kN0tjTzJA07VZ6I{*Lx diff --git a/sound/direct_sound_samples/cries/jumpluff.wav b/sound/direct_sound_samples/cries/jumpluff.wav index cce951b1f72dc7614217767b7abc8305c641be9c..d58b0b11faa55d165240bb1f1c191c9737b413d2 100644 GIT binary patch delta 29 kcmdmEf5M(M$kWa3z(m$??!@$@92N!!hH!a?jnRqn0FX5Zg8%>k delta 17 YcmX?MzsH_6$kWYj%S6`jjTs5@06cI8XaE2J diff --git a/sound/direct_sound_samples/cries/jynx.wav b/sound/direct_sound_samples/cries/jynx.wav index faacb1e95770e058990580e8c6424135c8edd501..bb833749e411409940d917eaad0e7d1fd108795d 100644 GIT binary patch delta 33 pcmX@PgYnu9M%ExtH#fhDtl`{==}9>(3=9lUq8TehlPQGfzO0tW3+?`BLe`SCI}V) delta 17 YcmZq3{G7oWehlPQGL0N@iW3;Xc0D&+Eod5s; delta 17 YcmbQ@+2P3=b%7 diff --git a/sound/direct_sound_samples/cries/kecleon.wav b/sound/direct_sound_samples/cries/kecleon.wav index 96ab74ff2b180be7b7d06aff7529e7038b1cbf1d..5d16ee144b4f41bc4c58ab62d34c232e627ca54a 100644 GIT binary patch delta 31 mcmeyX(51*4ehlPQGK|+9GW3-Y0BLe`E00(dY delta 17 YcmeBD{HwqkehlPQGK}errW3-GuBLe`RCkPAx delta 17 YcmZpP{~pI0EUfq_BAm0@GFo+~2*0HosxZ2$lO delta 19 acmbQ%&Dhz^$QtD7=GHioHGE@+t}6gQs0LjC diff --git a/sound/direct_sound_samples/cries/lairon.wav b/sound/direct_sound_samples/cries/lairon.wav index 574ffac745648486df8e1529c38ed983055b7a49..1d82d065458527c8a62a543598f315a1c80c882a 100644 GIT binary patch delta 29 kcmZ1#xGj)1$kWYj-9*-K?!@$@92N!!23HM+jnV!Z0FFioUjP6A delta 17 YcmdlMxGIn}$kWYj(L~npjTwF#06U=uO#lD@ diff --git a/sound/direct_sound_samples/cries/lanturn.wav b/sound/direct_sound_samples/cries/lanturn.wav index 6d8b21dd99e3a0480076d1d974e5ca9c7c446caa..3b68f58ad937fce2529c1d443d981c6998dd669d 100644 GIT binary patch delta 31 mcmdn0c}SBr$kWYj*F@HE?!@$@92N!!h5!+UjnPpej0^yoVhAAs delta 17 YcmX@4xmA-j$kWYj?L^k_jTw<5064q`761SM diff --git a/sound/direct_sound_samples/cries/lapras.wav b/sound/direct_sound_samples/cries/lapras.wav index d79819a971e89be444a9f4db8da84f22d3810a70..2c0714995f5e6dd35be32621332c99d22c8ed886 100644 GIT binary patch delta 30 lcmZp&>a$`C@^o`!lby&G#+{g+l*7Wnz%W;aVPo`i8321`2k!s? delta 18 ZcmeCPYO-Pr@^o|iB{PvNY-7eU82~%&29N*% diff --git a/sound/direct_sound_samples/cries/larvitar.wav b/sound/direct_sound_samples/cries/larvitar.wav index e0e22cd6f5a9ce23edac4b16ce2a9daef4e50550..6ef5d456634fddfd9f08e0da774109806db14041 100644 GIT binary patch delta 29 kcmaE0_{NYm$kWa3$wbz0?!@$@92N!!hH43hjnSehlPQGK}CRJW3-+CBLe`35(g~+ delta 17 YcmbQH*r~`GqeMy=%$kWa3)I`>B?!@$@92N!!h6G-QjnP@Wj0^yq*$77f delta 17 Ycmca4eN>t?$kWYj??l${jTxD|06DP+GXMYp diff --git a/sound/direct_sound_samples/cries/lickitung.wav b/sound/direct_sound_samples/cries/lickitung.wav index 33a0ab5ff32edba3966fb19d78ed48f679a9bc92..89808fd3dced3c593c0bd2fca5f76f20183ff343 100644 GIT binary patch delta 31 mcmZ2#y~&z2$kWYj)kM~C?!@$@92N!!1_xP&jnQ7Rj0^ym=?Dh^ delta 17 YcmdmFz0{gD$kWYj?nKt`jTxS@060Mg0{{R3 diff --git a/sound/direct_sound_samples/cries/lileep.wav b/sound/direct_sound_samples/cries/lileep.wav index f890086d3735f17d0b9628ee95cec2c85872311a..5fd0ba803f272858165f255db44ff6c7e8fb682d 100644 GIT binary patch delta 31 mcmeyV+NQ=DDzr@~ delta 17 YcmZ2izNnlv$kWYj)ehlPQGK|zLLW3-kGBLe`7iU(l; delta 17 YcmbPa*=orelcukNs$kWa3+(g!J?!@$@92N!!hExuQjnVlW0E&hPKL7v# delta 17 Ycmca6cuJ5p$kWa3&_veojTw0y069ShEdT%j diff --git a/sound/direct_sound_samples/cries/loudred.wav b/sound/direct_sound_samples/cries/loudred.wav index ff8b2c8104d6647a0ae8056400ffaefba36b93e1..06495bf49ccf1900d0f66d436cdad677dfc3c1a6 100644 GIT binary patch delta 31 mcmX?Ue9f3O$kWa3+(g!J?!@$@92N!!h7?JLjnR3Mj0^yyNeH6= delta 17 Ycmca+eA1XT$kWa3;6&E&jTyO;06jGZe*gdg diff --git a/sound/direct_sound_samples/cries/ludicolo.wav b/sound/direct_sound_samples/cries/ludicolo.wav index 420ac54595133b51db9a00f3ebd031a5e05f1297..fa300674f95908c9f68a80c67b2dd53b0bd6b98e 100644 GIT binary patch delta 29 kcmaFh_{Nbn$kWa3$wbz0?!@$@92N!!hH3?djnSednJ}N$kWa3%tY33?!@$@92N!!h9o_PjnO%Jj0^y*_6ZjN delta 17 YcmcZ-dpwpk$kWYj|3udCjTzZ`072pg-~a#s diff --git a/sound/direct_sound_samples/cries/luvdisc.wav b/sound/direct_sound_samples/cries/luvdisc.wav index da1c84b80e5fb6cfc49461fa18806ae2dbf0b84d..c4261d76eae9fd5c45a517cd34f7a2fd5e29b532 100644 GIT binary patch delta 31 mcmZ22yhE5Z$kWYj!$j6_?!@$@92N!!1~*QIjnM&|j0^yfHwUc% delta 17 YcmdlXyjqww$kWYj@kG|}jT!!&05o|8w*UYD diff --git a/sound/direct_sound_samples/cries/machamp.wav b/sound/direct_sound_samples/cries/machamp.wav index b7e091dc724b6c1cb05b8bbcc2dba62514a6048d..9535dcbab7e8d1369b9f441b6288dd1602e5a269 100644 GIT binary patch delta 29 kcmccQaL<7?$kWX&Y$9tocVc={4hsVV!&`ZVjnUub0g^cha{vGU delta 17 YcmccTaLIu+$kWZuYa(m-#*A(eX$kWYj%0$+1?!@$@92N!!25l*ZjnSr30DoEsi2wiq delta 17 YcmbPZI>D4R$kWZOVehlPQGVX+3o#^|*g0DZCuHvj+t delta 17 YcmbOd)DgrQ delta 17 YcmdnuwcLv}$kWYDej;o5#*EV{05@I+FaQ7m diff --git a/sound/direct_sound_samples/cries/magmar.wav b/sound/direct_sound_samples/cries/magmar.wav index 902c15bf2e103f05a08e5f28774ce7dbd65c4261..6a3621c3ca13652359633f652349e84bd44d7b46 100644 GIT binary patch delta 29 kcmX?ObHj!;$kWX&U?OWccVc={4hsVV!*f}NjnN-v0gqJ)NdN!< delta 17 Ycmca%bH;`>$kWZuWg=_%#*7cL06Vk>pa1{> diff --git a/sound/direct_sound_samples/cries/magnemite.wav b/sound/direct_sound_samples/cries/magnemite.wav index 4fdc93f2960f74474634c3f4cf03ac8aadebb378..7dd1d550b97ee23c7d95529cd58029de40a0aee4 100644 GIT binary patch delta 31 mcmbR1y~>+4$kWYj(L~m8?!@$@92N!!1`Ab&jnPi3j0^yn=?D)1 delta 17 YcmZ4GJ=dEx$kWYj>O|J?jTw%r065tO3jhEB diff --git a/sound/direct_sound_samples/cries/magneton.wav b/sound/direct_sound_samples/cries/magneton.wav index d69c276443cdd538417d0ba0653a9cecf2bebb1b..12513343d80803c1b3de287199ee8499db194c1d 100644 GIT binary patch delta 31 mcmbOmyDFA7$kWYj(L~m8?!@$@92N!!1`9ogjnPhej0^ysUO|J?jTw%506P8#H~;_u diff --git a/sound/direct_sound_samples/cries/makuhita.wav b/sound/direct_sound_samples/cries/makuhita.wav index 79b055ef98f589ac6410b70b6c7d369465928569..6df74f2c11516a5cb34bd9cc86aab82a79948b5f 100644 GIT binary patch delta 29 kcmeB@ohHi~ehlPQGL6whTW3)aW0C)HYBLDyZ delta 17 YcmbOx+a=2y3d05C5FO8@`> diff --git a/sound/direct_sound_samples/cries/manectric.wav b/sound/direct_sound_samples/cries/manectric.wav index 939fc1609312c45d8a46cd16717962c914b4a8b3..db806c46af13a43c2373233365c30017d93e6c8e 100644 GIT binary patch delta 29 kcmeARnia$vehlPQGVWkGc#^}u&0DrIuRR910 delta 17 YcmbOg)EC4W3~!^Y@U@{9}sj%)}P delta 18 ZcmbQ_(CWYzN@&G+y2Co1B diff --git a/sound/direct_sound_samples/cries/mantine.wav b/sound/direct_sound_samples/cries/mantine.wav index 919242e8fe1290a9651b8ebf7d7614974f30ce00..bc6f17e5e43528b2232a77da2894314811b44098 100644 GIT binary patch delta 31 mcmca_`^J_v$kWa3$wbz0?!@$@92N!!hAKIRjnOS~j0^y+?g=jd delta 17 YcmaE3d*7Bd$kWa3`b5_7jTy~y073!=@Bjb+ diff --git a/sound/direct_sound_samples/cries/mareep.wav b/sound/direct_sound_samples/cries/mareep.wav index 386925f5d5c8bb63d6c5d29e0cc273ec963331bd..b0a523d7d75b224a5eb4f5f473124c279c741626 100644 GIT binary patch delta 31 mcmZpa?UQ8<@^o`+o5&i@otU1K!@|J8Aj8M7FO|J?jTw%T05$yu&j0`b diff --git a/sound/direct_sound_samples/cries/marowak.wav b/sound/direct_sound_samples/cries/marowak.wav index 7bddb4b347d9ed8fd33569ea4465bdfdd0a8fce0..6701514d219b84672b3ae36ce42a5ac1556c2805 100644 GIT binary patch delta 29 kcmX?Pan6D@$kWZuZ6a$pcVc={4hsVV!(C~HjnU7g0gD|83jhEB delta 17 YcmX?Sama!-$kWZuY9ed+#*Amu06CThZU6uP diff --git a/sound/direct_sound_samples/cries/marshtomp.wav b/sound/direct_sound_samples/cries/marshtomp.wav index 0caa959e2906aeeb0ed6a219072803acb8646b9e..ed906f7d1a7cb1d1d890e4733962f3e8ec9adaa2 100644 GIT binary patch delta 29 kcmX@&bis)=$kWZuVehlPQGK}3yVW3-$aBLe`NZU^81 delta 17 YcmZqk{prIRk diff --git a/sound/direct_sound_samples/cries/medicham.wav b/sound/direct_sound_samples/cries/medicham.wav index be3668b173f6aad1e6742401f501cb4d773d94e1..e0853bfa7774f2dbed4d441c1674ff16664cc54c 100644 GIT binary patch delta 29 kcmX@%aK(W&$kWZuXCiAjcVc={4hsVV!((}djnQxA0gmShK>z>% delta 17 YcmccOaKeE#$kWZuVIphz#*8=e06T^Tng9R* diff --git a/sound/direct_sound_samples/cries/meditite.wav b/sound/direct_sound_samples/cries/meditite.wav index 23db4f297f2b6d4d03e21b8152ed480acfdf1925..08675830b536a9743ca4d2a6eaa74788fb61b4b9 100644 GIT binary patch delta 30 lcmZor=uuz`@^o`!5tzsp#+{g+l*7Wnz%ZMiVPo`CegJc)2Z{gy delta 18 ZcmeBCXi#7a@^o|i!9S5LY-7d}egHS#208!$ diff --git a/sound/direct_sound_samples/cries/meganium.wav b/sound/direct_sound_samples/cries/meganium.wav index 8f7920e937846eff4e9dc88638026890f6a0db55..2aaf870343c1135b7eb4604b36149b00a80c7548 100644 GIT binary patch delta 31 mcmdmPf5e_O$kWYj&qUU6?!@$@92N!!h9G%{jnOgkj0^yul?ZJB delta 17 YcmX?NzulfS$kWYj{Y2LAjTzDM06VV+RR910 diff --git a/sound/direct_sound_samples/cries/meowth.wav b/sound/direct_sound_samples/cries/meowth.wav index bebca1c27ee5e69ed60aecadaf3e8d8271b9fb08..a3b97ff953ab113b35f7b109badc882f32a26c81 100644 GIT binary patch delta 29 kcmX@7dP|ix$kWa3(nQv9?!@$@92N!!hD;%bjnTzI0FYP+j{pDw delta 17 YcmcbmdQO!!$kWa3*hJRwjTuEk06a?uZvX%Q diff --git a/sound/direct_sound_samples/cries/metagross.wav b/sound/direct_sound_samples/cries/metagross.wav index 5112b3afa8ae813478cf1456494764635b3bb6de..35aa032c409a419a4966897e4f6e5b02dba2fb87 100644 GIT binary patch delta 33 pcmX>M%ExtH@7PjS;M&#)01*o7#J9`d>A%Hm-sL;006^M3H1N~ delta 19 bcmcaJlkxmaM%ExtH@D*xS;IGG6#D=GPRj?F diff --git a/sound/direct_sound_samples/cries/metang.wav b/sound/direct_sound_samples/cries/metang.wav index 700759d20747239b89a2d2632c9c250a03deca43..d9203a3301a5ce7da8db68d88887f962721613b8 100644 GIT binary patch delta 31 mcmX@ehlPQGK}45fW3-$uBLe`Q=LiY_ delta 17 YcmZpR{u#v@Px# diff --git a/sound/direct_sound_samples/cries/mightyena.wav b/sound/direct_sound_samples/cries/mightyena.wav index 0149976e2b2b8f00598df5e6053d67f7ad143640..4c818b12b7010456dadbdefc6d7b01650a32e20f 100644 GIT binary patch delta 29 kcmZ4Hv&n}w$kWYDYa(kncVc={4hsVV!$DPsjnSu70ftWqy8r+H delta 17 Ycmdnwv&@Gz$kWYDZX#>=#*9;{05@O;FaQ7m diff --git a/sound/direct_sound_samples/cries/milotic.wav b/sound/direct_sound_samples/cries/milotic.wav index 20db44692fe49f2477ebcb461b6f801a482052db..016657130f18d331aa5e24486fd2dc3c9ce2b7de 100644 GIT binary patch delta 31 mcmaDcgYnA@M%ExtH@BRLtl`{==}9>(3=9m+J`5Y9d3^w>7YOYD delta 19 acmew|gYm@-M%ExtH@Ad|tl=9oczgg&{08{| diff --git a/sound/direct_sound_samples/cries/miltank.wav b/sound/direct_sound_samples/cries/miltank.wav index 5f51f525bb50cee1621bd1b918abaaf721588909..949fd2812bc92ca492994270cc9945bd1352b9d4 100644 GIT binary patch delta 29 kcmbPaHP4DQ$kWYDY$9tocVc={4hsVV!&(`JjnUg>0DGVaApigX delta 17 YcmbPdHOY!K$kWY@Ya(m-#*A$;05S6gvj6}9 diff --git a/sound/direct_sound_samples/cries/minun.wav b/sound/direct_sound_samples/cries/minun.wav index 9e9a62f7e8c9c80a1c8b4898b2c03bf16a3047ab..80d608c67301845af0081ba6b202bca7cde97c23 100644 GIT binary patch delta 31 mcmca^_r#7h$kWX&W+H1icVc={4hsVV!zVe0jnRMP7#RSjunCC( delta 17 YcmaE2cioOP$kWZue$@$kWa3@I=<|jT!l306fwLcmMzZ diff --git a/sound/direct_sound_samples/cries/moltres.wav b/sound/direct_sound_samples/cries/moltres.wav index 7173a8cad4c7dbb2b3ad5f433ad9098887ca31b8..c9c65b334d3e2332a7f9d033dd1b27c738086757 100644 GIT binary patch delta 31 mcmZ1;vn7T#$kWYDXCiAjcVc={4hsVV!y#RUjnQXx85sbaQ3&$@ delta 17 YcmdlIvpj}1$kWYDej;o5#*EXt06BvOT>t<8 diff --git a/sound/direct_sound_samples/cries/mr_mime.wav b/sound/direct_sound_samples/cries/mr_mime.wav index 23cf310532fb962d7450e833dd6316efe2afa39b..a8121159bc8702b57c57df8cb64acf7263ad4b05 100644 GIT binary patch delta 31 mcmezA+2+L>rjnSD30FzJ%u>b%7 delta 17 YcmccMc*K!4$kWYj&qUVnjTspV06qN%jQ{`u diff --git a/sound/direct_sound_samples/cries/natu.wav b/sound/direct_sound_samples/cries/natu.wav index 4a2c853178490f09926def7075a749a440d84caa..3cf1fc15babd96e394497e8115c48808b8c929ec 100644 GIT binary patch delta 31 mcmX@8c}|lx$kWa3*hJQF?!@$@92N!!h8PisjnQc$j0^ys)(Bky delta 17 YcmX@7c~Fxz$kWYj=S0@9N$kWYj*+kZG?!@$@92N!!23viGjnVG<0FJ{5VE_OC delta 17 YcmZ1%zbKwH$kWYj)ehlPQGVYv{)#^{Yg0Cgk>#{d8T delta 17 YcmbQC)}zK6V!Z delta 17 YcmeyT@kxU<$kWX&Ya(m-#tbnL06mWe2LJ#7 diff --git a/sound/direct_sound_samples/cries/nidorina.wav b/sound/direct_sound_samples/cries/nidorina.wav index a46c4167013e3a42729d8342e5775c8ac5d605dd..a2e1aa9d6383bcba3b1a7f35dc3f58ef829cce79 100644 GIT binary patch delta 29 kcmeA%nqkBmehlPQGVYvju#^{X_0C(00>i_@% delta 17 YcmbPX)MLaNjTwRB05~HC1poj5 diff --git a/sound/direct_sound_samples/cries/nincada.wav b/sound/direct_sound_samples/cries/nincada.wav index dd5feb818d26ae21909ad1f8cf86dfe3e74b14e3..ec9b888583a51983b682b75e169dc988abbaffd0 100644 GIT binary patch delta 29 kcmdldc}kKs$kWa3&_vd7?!@$@92N!!hDaWUjnTlxlfWc$kWYj+eFszjTuQi060Ac5dZ)H diff --git a/sound/direct_sound_samples/cries/ninetales.wav b/sound/direct_sound_samples/cries/ninetales.wav index f84b8743641f29465fcff6e745eb3fc85da5ff8d..0e5939ed20b6bd53496e70e3959773ca48c02938 100644 GIT binary patch delta 31 mcmZ1&zb>9N$kWYj*+kZG?!@$@92N!!1{-~bjnQuUj0^yuTL@nO delta 17 YcmZ1%zc8LP$kWYj=0w);jTx@`06XIbO#lD@ diff --git a/sound/direct_sound_samples/cries/ninjask.wav b/sound/direct_sound_samples/cries/ninjask.wav index b61f4d37f5b77db5e5c1f82d0a6292a93ba9fe09..20b496bc3254a5632f7962b0d6f08a8c7adc0572 100644 GIT binary patch delta 29 kcmcbn|45%T$kWa3)^eBim$kWX&Y9ebmcVc={4hsVV!$%E#*AMY06+Hz{{R30 diff --git a/sound/direct_sound_samples/cries/nosepass.wav b/sound/direct_sound_samples/cries/nosepass.wav index 1e15fb10d39bb01ecad059f730074b0077b13e78..996cfbe7d74945abe879dafb919b7c8b32a4637a 100644 GIT binary patch delta 29 kcmdmGa?FG^$kWZuZX#$kWZuWFl)gcVc={4hsVV!zm+%jnP+(7#RSe#0fb7 delta 17 Ycmdm!wmywD$kWYDeIjf4#*E8G06YW+mH+?% diff --git a/sound/direct_sound_samples/cries/oddish.wav b/sound/direct_sound_samples/cries/oddish.wav index de6855d369b39267d3a1a90a0dc5ea6deb0d071e..bffae4bcf5826ea993f4e2d4521e359f998dbd9a 100644 GIT binary patch delta 29 kcmbPYxxkV&$kWYj#zfX|?!@$@92N!!27MWZjnS4e0D+VTsQ>@~ delta 17 YcmZ2rImMDS$kWZOXCiC(#taJ?05vHExc~qF diff --git a/sound/direct_sound_samples/cries/omanyte.wav b/sound/direct_sound_samples/cries/omanyte.wav index 3db237ac3f95342f61d422074e3c3970a8d8362b..46e47b0a2f8ba522cf99cdbc58c41df2be40eaad 100644 GIT binary patch delta 31 mcmZ2%vcZHk$kWYDVPx# diff --git a/sound/direct_sound_samples/cries/omastar.wav b/sound/direct_sound_samples/cries/omastar.wav index 69a4ea868f494ed1a21bb5f24245f27189fbd4a4..021355da9ebcc8741dc89cee29b235b202028bcc 100644 GIT binary patch delta 31 mcmbPhvdV-t$kWYDX(DSlcVc={4hsVV!wyM?jnRiB85sbMuLwy1 delta 17 YcmZ2wGS`GP$kWYDbRui`#*BlK05cl}(EtDd diff --git a/sound/direct_sound_samples/cries/onix.wav b/sound/direct_sound_samples/cries/onix.wav index 57da6014103afd9b1484331614aef22d9c47a9ad..f0dd1f45e07d5343ea28ac71086bc148da2a3226 100644 GIT binary patch delta 29 kcmX?>a4CT`$kWZuYa(kncVc={4hsVV!$W=#*A0`06zi-;s5{u diff --git a/sound/direct_sound_samples/cries/paras.wav b/sound/direct_sound_samples/cries/paras.wav index ba4a051c9fbb2ea87c05aba5a51ef7823049b590..27101a52f10f9df2de631987934cd036aa191616 100644 GIT binary patch delta 29 kcmeyC)0E2^ehlPQGLC}n0W3;px0Fkf=E&u=k delta 17 YcmZq5{g%TTPx# diff --git a/sound/direct_sound_samples/cries/phanpy.wav b/sound/direct_sound_samples/cries/phanpy.wav index 4de13cafe1c74682d7d542496b2f77e08634a22a..dcd6793429d82ab5e398d61f1f2a33a878c5f3db 100644 GIT binary patch delta 29 kcmdm_vrmUL$kWZuY$9tocVc={4hsVV!&y;=jnUUd0fQR|mjD0& delta 17 Ycmdm|vq^_F$kWYDYa(m-#*AyC05ymP5C8xG diff --git a/sound/direct_sound_samples/cries/pichu.wav b/sound/direct_sound_samples/cries/pichu.wav index d325103719a79895815a6ceb354a3692cafce220..cfbbb6adb60978b4394e082f801c2ec28a7073c5 100644 GIT binary patch delta 29 kcmew+(ehlPQGL6DDOW3)6M0Drg#J^%m! delta 17 YcmZpY{U*a2^($kWa3^hDP1jTz#@=$kWZuY9ebmcVc={4hsVV!v#r(jnTIx85sbVmk7ZC delta 17 YcmX?Pvekq&$kWYDcOq-}#*CYi05=N;F#rGn diff --git a/sound/direct_sound_samples/cries/pinsir.wav b/sound/direct_sound_samples/cries/pinsir.wav index 3d3dcc79290711aa30543747538b9693b296ab4c..76ac8fa157ea9331378f98ff14e4ee4fdcc29d17 100644 GIT binary patch delta 31 mcmdmMaLRx+$kWZuX(DSlcVc={4hsVV!wqqUjnR+985sbXkqF%Y delta 17 YcmX?Qu-AY!$kWZubRui`#*ByJ05{ delta 17 YcmdntzQ&z3$kWYj$wb!hjTr&T06N45JOBUy diff --git a/sound/direct_sound_samples/cries/poliwag.wav b/sound/direct_sound_samples/cries/poliwag.wav index d35c8f4d8f63259b8ed59abf94e014e1d2de74eb..64fe686c9367ad16d0df20f62c2952fa6e231e77 100644 GIT binary patch delta 31 mcmX@BeM_4)$kWa3(nQv9?!@$@92N!!h73`LjnPG-j0^yx$q1hS delta 17 YcmcbmeO8+_$kWa3=tS1=jTwca06ggidjJ3c diff --git a/sound/direct_sound_samples/cries/poliwhirl.wav b/sound/direct_sound_samples/cries/poliwhirl.wav index 0c59fbed64ffc9ad1d4001ea228ada65c39fe67e..924bb457cddde30d74a1804d50305adf1eb82706 100644 GIT binary patch delta 31 mcmZ20wM&XM$kWZuXd-JkcVc={4hsVV!wDXSjnS8Q7#RSLEC@>g delta 17 YcmdlbwN{EX$kWYDbs}r{#*B+R05YNl&;S4c diff --git a/sound/direct_sound_samples/cries/poliwrath.wav b/sound/direct_sound_samples/cries/poliwrath.wav index c32bd448591afc6b57fb98177bd6d796890ea931..93afcf2b651fa6274296802e646c14e390b7841a 100644 GIT binary patch delta 29 kcmaE${YINL$kWa3$wbz0?!@$@92N!!hH6oUjnS>50GF!>`v3p{ delta 17 YcmaE({Xm;F$kWa3#zfZejTtSX06+Ey#sB~S diff --git a/sound/direct_sound_samples/cries/ponyta.wav b/sound/direct_sound_samples/cries/ponyta.wav index 911954226d75907d75fa090ba0727dba97276b20..bfa5b06ef3d64d072ac25a48899c248ef02d814d 100644 GIT binary patch delta 29 kcmexn)nv^YehlPQGK~R=qW3;p^0ETr3m;e9( delta 17 YcmZp&{$|A*R diff --git a/sound/direct_sound_samples/cries/poochyena.wav b/sound/direct_sound_samples/cries/poochyena.wav index 16cabc29c6ecf5dabcce3ecf6ac675c3a2cb6373..8d46225c5f58c953819d6f07a992421ffff2180c 100644 GIT binary patch delta 31 mcmX@CazTYP$kWZuVz>% diff --git a/sound/direct_sound_samples/cries/porygon.wav b/sound/direct_sound_samples/cries/porygon.wav index 11dd528dda513214bcd128b54e308ccb0b3dbfad..48c43c2db7f94786aadfc6f5f64905d812e7124d 100644 GIT binary patch delta 29 kcmZ4Dx51A!$kWYDVOV delta 17 YcmdmDzrvn1$kWYj!9>>ZjTt`j068cI7ytkO diff --git a/sound/direct_sound_samples/cries/psyduck.wav b/sound/direct_sound_samples/cries/psyduck.wav index bdc0d673e3ac66b2e3ebee38502865b4feff923d..7b1a76da7a96c1a4982ea9ee4ffbad90ffcda5a2 100644 GIT binary patch delta 31 mcmX?Ve94$K$kWa3)I`>B?!@$@92N!!h6G85jnP?>j0^yw%?OVG delta 17 Ycmca)eAJjV$kWYj??l${jTxDe06dKbZvX%Q diff --git a/sound/direct_sound_samples/cries/pupitar.wav b/sound/direct_sound_samples/cries/pupitar.wav index 5e797d420fdc33bdcfdd579d320ed5ab07ced985..7768967293836e75d6130052af4a7bc83e40421e 100644 GIT binary patch delta 31 mcmbQMxJr>V$kWYj(L~m8?!@$@92N!!1`7d(jnPg5j0^ydeg}~N delta 17 YcmZ3bI9HK1$kWYj>O|J?jTw#t05jMHq5uE@ diff --git a/sound/direct_sound_samples/cries/quagsire.wav b/sound/direct_sound_samples/cries/quagsire.wav index e4a8c0aad372808ec76ed9a4b66813a3a19913d0..116c1bdf472293275ce247efa59cdfa780cea367 100644 GIT binary patch delta 29 kcmZ2yvde@u$kWZuXd-JkcVc={4hsVV!%0bojnS7S0fUnWn*aa+ delta 17 YcmdmGvd)Ax$kWYDZ6a&<#*9mn05#MG6aWAK diff --git a/sound/direct_sound_samples/cries/quilava.wav b/sound/direct_sound_samples/cries/quilava.wav index ef0bd7381fc1665bdc8bb4c01baf71659aa40290..5b44632ececb11bd80ca0dc9264f8e5e5be3ca91 100644 GIT binary patch delta 31 mcmcbs_ezg7$kWX&X(DSlcVc={4hsVV!w)frjnPcvj0^yv^$2(X delta 17 YcmaE*cUO-!$kWX&bRui`#tcSr06OIb!vFvP diff --git a/sound/direct_sound_samples/cries/qwilfish.wav b/sound/direct_sound_samples/cries/qwilfish.wav index 0b11276dec602487d4316c371d10542abc7088e9..1f857d2c2614d8a16b92984556611508c6427301 100644 GIT binary patch delta 31 mcmX@CdqI~q$kWa3#6;F`?!@$@92N!!hBz^XjnNrmj0^yuk_dAE delta 17 Ycmcbhdsvq>$kWYj_e9q4jTz};06T&PSO5S3 diff --git a/sound/direct_sound_samples/cries/raichu.wav b/sound/direct_sound_samples/cries/raichu.wav index 4e5dbaeb40870eaab1fa7ef06fa41ad5dc59118b..7b93bb5a3db7f8fc5b34d0f0cb19d17d3866c18d 100644 GIT binary patch delta 29 kcmcZ-^B{&b$kWX&Vj^oecVc={4hsVV!+TwZjnO}K0huic(EtDd delta 17 YcmaD5b0vl~$kWZuXCiC(#*81j06^3S5C8xG diff --git a/sound/direct_sound_samples/cries/raikou.wav b/sound/direct_sound_samples/cries/raikou.wav index fefeb1e3a50665fcfc476fbb6991a424b58f4740..35757a0ac85ed4bc8008fcaf9e44e4282f7cb34b 100644 GIT binary patch delta 29 kcmbQ_GS7uI$kWYDY$9tocVc={4hsVV!&*g#jnUf`0e#;HKL7v# delta 17 YcmbQ|GRcKC$kWY@Ya(m-#*A%>05c>7%m4rY diff --git a/sound/direct_sound_samples/cries/ralts.wav b/sound/direct_sound_samples/cries/ralts.wav index 4327c13a12408cba493a2b23aeb1079f224a3a04..37948dc494c2fd5bd088c6cd2339d1e8a2c417c7 100644 GIT binary patch delta 29 kcmcbk{z9EK$kWa3!9><@?!@$@92N!!hH_zsjnR$50F`kF+W-In delta 17 YcmaE%en*`($kWa3%0$-ijTsHX06x?PtN;K2 diff --git a/sound/direct_sound_samples/cries/rapidash.wav b/sound/direct_sound_samples/cries/rapidash.wav index 14ce75be75009b17e20f12ccc5df8da7295899bb..953acc45046a392731882c3a076373546eaedf09 100644 GIT binary patch delta 29 kcmccT@ydfW$kWX&X(DSlcVc={4hsVV!%t;~jnT|10G0v>$N&HU delta 17 YcmaFmanFM_$kWX&Y$9v;#tbGE06rH62LJ#7 diff --git a/sound/direct_sound_samples/cries/raticate.wav b/sound/direct_sound_samples/cries/raticate.wav index 545ebfcf1212a81cd68348ab9c26b323c1239373..bbef0c0af9507efa759c3fbe0d75f6e1f0e63cf3 100644 GIT binary patch delta 31 mcmdn0dPtQu$kWYj*F@HE?!@$@92N!!h5#XkjnPp;j0^ynWC#@i delta 17 YcmX@4x>c1m$kWYj?L^k_jTwehlPQGL6M(fW3)Cu0CyJ$6#xJL delta 17 YcmbOv-zLu*0HhKLn*aa+ delta 17 YcmaDLhKYp|8#}Js0syN)3q=3` diff --git a/sound/direct_sound_samples/cries/regirock.wav b/sound/direct_sound_samples/cries/regirock.wav index 0df3c1a720a788f8ddc1c801ae54d1c2b06850dd..271b91f31ddd04ad83162760eae0dcf63126b7b7 100644 GIT binary patch delta 29 kcmeCEnNq_VehlPQGVX-a4#^|-S0EZz6wEzGB delta 17 YcmbPI(^113RsaA1 diff --git a/sound/direct_sound_samples/cries/relicanth.wav b/sound/direct_sound_samples/cries/relicanth.wav index 1a8c04473c313fe6e922f561f200133fb8b3a976..8561780d64efb74e6a0361f476e316c93c74bfcc 100644 GIT binary patch delta 29 kcmaFm_sx$r$kWX&Zz5|rcVc={4hsVV1FJg2#%O+Z0F+$_7XSbN delta 17 Ycmez7_sWko$kWX&X(DU*#tc4n06@kDMgRZ+ diff --git a/sound/direct_sound_samples/cries/remoraid.wav b/sound/direct_sound_samples/cries/remoraid.wav index 0465e033f13f7432fd8506eb451a2bf87ba33ff8..ebab789ad3cb7b39598376cf2f26630ffa1d6b90 100644 GIT binary patch delta 29 kcmdm^c|wyl$kWa3z(m$??!@$@92N!!hHw#vjnRoB0Ez>% delta 17 YcmX@1xkr;V$kWYj%S6`jjTs3d06EbHF#rGn diff --git a/sound/direct_sound_samples/cries/rhydon.wav b/sound/direct_sound_samples/cries/rhydon.wav index e4f024f3126b95da945b9ac4a60e432a09bda51a..2c3907c91ec3ead8fc296c3628bcc4bc227829de 100644 GIT binary patch delta 31 mcmccX|H_{=$kWa3(L~m8?!@$@92N!!h6;6tjnPf&j0^y=rwLmC delta 17 YcmaFmf7hQi$kWa3>O|J?jTw#V07KIU6#xJL diff --git a/sound/direct_sound_samples/cries/rhyhorn.wav b/sound/direct_sound_samples/cries/rhyhorn.wav index 10c6841f436bf3826042f5f32530aec2fc44bc90..85837599159ba0f1201ed9b57994466512bd3e32 100644 GIT binary patch delta 31 mcmaFq{mq*-$kWa3-9*-K?!@$@92N!!h89(ZjnRFoj0^y^9SMs7 delta 17 Ycmez7{nDE?$kWa3;Y8N(jTybF07X#;I{*Lx diff --git a/sound/direct_sound_samples/cries/roselia.wav b/sound/direct_sound_samples/cries/roselia.wav index cd01f19f685e37ff527d434aa205b61ad4c6150c..f9c67fae1fc16f698fa0bf9d01735852f2c4fa24 100644 GIT binary patch delta 29 kcmbQCwM2_G$kWYDW+H1icVc={4hsVV!)6hNjnR8W0D1-p4*&oF delta 17 YcmZ3YHA9Ov$kWYDU?OYy#*95805JyzqW}N^ diff --git a/sound/direct_sound_samples/cries/sableye.wav b/sound/direct_sound_samples/cries/sableye.wav index 9f32fbdd60d3f634efe822a233c2d77f4972b82b..a1458cadc84460e3a3c9f598d711453e2bd823b6 100644 GIT binary patch delta 31 mcmcbr`$(5H$kWa3)_pb^jTx0<06umGpa1{> diff --git a/sound/direct_sound_samples/cries/salamence.wav b/sound/direct_sound_samples/cries/salamence.wav index 1c426adfad51f52ee527bf0fc7c9849241d98126..135d90ecdca54f6d1d3e490ed8dbd1a568b4e7f2 100644 GIT binary patch delta 29 kcmey8*pS2;t<8 delta 17 YcmaD7c_WfF$kWa3!bH~ajTtpM07M}N82|tP diff --git a/sound/direct_sound_samples/cries/scyther.wav b/sound/direct_sound_samples/cries/scyther.wav index 5b6ba415a17f34c51ad0dbfab1f667e680758f2f..021a6e01704e0bcc1f0a90c29edfc4daab4db3f1 100644 GIT binary patch delta 31 mcmZ2(vc-fo$kWYDXCiAjcVc={4hsVV!y!qAjnQW$85sbQWe9r! delta 17 YcmdmDvfP9<$kWYDej;o5#*EXF05rb^`2YX_ diff --git a/sound/direct_sound_samples/cries/seadra.wav b/sound/direct_sound_samples/cries/seadra.wav index c68a68a19607121cd90e250f12328b1828e46f66..84c6ad7c76426586c62c6e2ff1e70e160c00a522 100644 GIT binary patch delta 29 kcmbQHxJZ#T$kWYj)#tbU~05YKkg#Z8m diff --git a/sound/direct_sound_samples/cries/seaking.wav b/sound/direct_sound_samples/cries/seaking.wav index 6f2533e9463dcba68ce56e49906518e741c0d0f1..0534a12eda6dbe76750444dc35bebff1f9c386b4 100644 GIT binary patch delta 31 mcmX@ehlPQGVTBUI#^_B-j0^ycHV7{O delta 17 YcmbQ`*6YR^va7TbO$kWX&WFl)gcVc={4hsVV!z*@%jnQA&85sbWPYBll delta 17 Ycmca3a9)5l$kWZueIjf4#*EMG05=5&KL7v# diff --git a/sound/direct_sound_samples/cries/seviper.wav b/sound/direct_sound_samples/cries/seviper.wav index b467378f4ce2209ddef2539c59e35e8f0825f520..73529d9c1c7d3ae88fff894e1562994956194b67 100644 GIT binary patch delta 29 kcmX@7drOx!$kWa3(nQv9?!@$@92N!!hDk diff --git a/sound/direct_sound_samples/cries/sharpedo.wav b/sound/direct_sound_samples/cries/sharpedo.wav index 26c52b43c3e93de8450c178d3d9f4ae291d44c43..7f773d4fbb50b2e1d2dd89c2305dfc9bc80ce19c 100644 GIT binary patch delta 31 mcmewy*$~AViw_T1k$kWYDe2_y7O^ diff --git a/sound/direct_sound_samples/cries/shroomish.wav b/sound/direct_sound_samples/cries/shroomish.wav index 07658c8801094309df1d564de6546f9317ee3a45..05fa696706e1a1ba50f9d140a719680ef8c9d8e5 100644 GIT binary patch delta 31 mcmaE^^hJp^$kWX&XCiAjcVc={4hsVV1Ct=b#%LZvMg{; delta 17 YcmeyO^jwKG$kWX&ej;o5#td#j06QB6%>V!Z diff --git a/sound/direct_sound_samples/cries/shuckle.wav b/sound/direct_sound_samples/cries/shuckle.wav index bb196dbfe94aec25b8378d3a645c46af680543be..afc303e4d832d93c6557c4779b589c08b5c6d926 100644 GIT binary patch delta 31 mcmeCwn5MxRehlPQGVTmxq#^`mzj0^yTNe96I delta 17 YcmbQH(W${2j0^yk?+5Du delta 17 YcmZ2wKi8f$$kWYj>O|J?jTw&e05@v|?EnA( diff --git a/sound/direct_sound_samples/cries/skarmory.wav b/sound/direct_sound_samples/cries/skarmory.wav index 29249730232a424062fa586081f138ded2a05598..7062c9813dbe762cd39cc342e9e0e2551724e762 100644 GIT binary patch delta 31 mcmaDD`!1F>$kWa3*+kZG?!@$@92N!!h8jJFjnQp-j0^y_oC%o# delta 17 YcmaDC`!JR@$kWa3=0w);jTxehlPQGK}nKfW3-MWBLe`6%LiEi delta 17 YcmbPY+-}So`7O;B diff --git a/sound/direct_sound_samples/cries/slaking.wav b/sound/direct_sound_samples/cries/slaking.wav index ef34d94d690bacd0ddc9ac12e1a7502353a08c13..44681126d418ad76d9714ffef403c56492b1a7d1 100644 GIT binary patch delta 29 kcmeyP)}hWCehlPQGL0p(&W3-|$0E6`hdH?_b delta 17 YcmeBB|D(nl0E>1AM*si- delta 17 YcmX@7cu0{o$kWYj*F@IvjTvbI06EzPH2?qr diff --git a/sound/direct_sound_samples/cries/slowbro.wav b/sound/direct_sound_samples/cries/slowbro.wav index fe03ab4cdd8c6ce42796225719d9657e7d405c0d..c46e751f51798a7b43480c127a6b44b62c584e25 100644 GIT binary patch delta 29 kcmca)a?gY{$kWX&Y$9tocVc={4hsVV!&^y)jnUsF0gs0XPXGV_ delta 17 Ycmca-a>;}>$kWZuYa(m-#*A;006V+}qyPW_ diff --git a/sound/direct_sound_samples/cries/slowking.wav b/sound/direct_sound_samples/cries/slowking.wav index f802796282ad0b9a734dbcfbe5dad455e0a86297..a32fea33df7e37325684c9cc22a76ee878b8dcfb 100644 GIT binary patch delta 29 kcmbOhyC{}5$kWYj)OV delta 17 YcmZ1!J1v$q$kWZOZz5~>#tbVx06E778vpehlPQGVYx8F#^{a00CkrK%>V!Z delta 17 YcmbQC(WAi{x9x@~ diff --git a/sound/direct_sound_samples/cries/sneasel.wav b/sound/direct_sound_samples/cries/sneasel.wav index da76aefb71f3745ffe89dfd5977b249bd718f820..dc960be0dcac1c38a899f0141b9b8cbb3cab7009 100644 GIT binary patch delta 30 lcmeyP+@Zo2Dh+y7$kWX&c_M50#teQg06G{2x&QzG diff --git a/sound/direct_sound_samples/cries/snorunt.wav b/sound/direct_sound_samples/cries/snorunt.wav index b4ecc4537fb12322039b4f9ed0d5ec4425ce54c8..586c1311689ac2ae8dc09cbb638d784cdcf29a21 100644 GIT binary patch delta 31 mcmX@^bj67^$kWZuXCiAjcVc={4hsVV!y^TTjnQuu7#RSez6nJD delta 17 YcmccOblizG$kWZuej;o5#*Ehr06VG%oB#j- diff --git a/sound/direct_sound_samples/cries/snubbull.wav b/sound/direct_sound_samples/cries/snubbull.wav index 37cacda8f77a452cb9984f2cf233b891e9c3b5a1..626da01c144c7b9b00924d9d673c63482ed5f19b 100644 GIT binary patch delta 31 mcmX?Zam9i)$kWZuXCiAjcVc={4hsVV!y{>ijnQwU85sbdLkTAU delta 17 Ycmca&aomD6$kWZuej;o5#*Ej}06KXFg8%>k diff --git a/sound/direct_sound_samples/cries/solrock.wav b/sound/direct_sound_samples/cries/solrock.wav index 12f766af714aba8ad883e0b165bcf06d0ff13ac3..d99dcbd2b4086e6cd4ca23c779d0cf301295170c 100644 GIT binary patch delta 29 kcmZ2vzs{aD$kWYj*+kZG?!@$@92N!!23vWCjnVG%0Ed$Z0RR91 delta 17 YcmZ2yzsR07$kWYj)ehlPQGL0E}lW3;Ri0Eu1)zyJUM delta 17 YcmZp1{o%qIYjnVbm0H2QuVE_OC delta 17 YcmaDBek+_c$kWa3(nQwqjTv>?07N(k8~^|S diff --git a/sound/direct_sound_samples/cries/starmie.wav b/sound/direct_sound_samples/cries/starmie.wav index e3ace4fcf2ffe87ec665b8cd94589ba232eacc41..40edec6b9ec574ecd2951f5b3cf5fb987a292f3f 100644 GIT binary patch delta 31 mcmdlQcqouH$kWYj*F@HE?!@$@92N!!h5!wQjnPpWj0^yyP6(L* delta 17 YcmX>UxHXV9$kWYj?L^k_jTw;|06l;PdH?_b diff --git a/sound/direct_sound_samples/cries/staryu.wav b/sound/direct_sound_samples/cries/staryu.wav index c726206f43b022ab43e62acdea8ecd0a78b1a2ec..611c0571bafa1d44c8282591a3adcbde5f54cab6 100644 GIT binary patch delta 31 mcmaFp`_7j&$kWa3*+kZG?!@$@92N!!h8i`7jnQptj0^y>qzP#N delta 17 YcmaFo`_Pv)$kWa3=0w);jTx(3=9mnJQ+4dKk;N_006gO3KakV delta 19 bcmX>zg>nBBM%ExtH#hT%tl=9o9(w`+NK*$( diff --git a/sound/direct_sound_samples/cries/sudowoodo.wav b/sound/direct_sound_samples/cries/sudowoodo.wav index 48661df94ed9387ff7738998305e285cdf228b1f..97bb1d51a295eca8feac1fa737bde24084f408b7 100644 GIT binary patch delta 31 mcmZ2(zr~(4$kWYj%|zC4?!@$@92N!!1}AxjjnO{xj0^yor3f7W delta 17 YcmdmDzucZR$kWYj{zTUBjTzqZ067l^6#xJL diff --git a/sound/direct_sound_samples/cries/suicune.wav b/sound/direct_sound_samples/cries/suicune.wav index f675d8fdc4ba32e8b16363493dd832ab08bf4a36..90218ad0135994bed7ea77e4e42d9e2b983079a4 100644 GIT binary patch delta 31 mcmdn#e$1UU$kWYj-$d4M?!@$@92N!!h7e_jjnQ$+j0^yxPY90y delta 17 YcmX@+zSEsG$kWYj<3!f*jTy1Z06g~waR2}S diff --git a/sound/direct_sound_samples/cries/sunflora.wav b/sound/direct_sound_samples/cries/sunflora.wav index 613422881cc6389ea322949a2ed06356288868b2..ccad9c8c36cd2e0550f9fe487bddce399b3b93ce 100644 GIT binary patch delta 29 kcmeCOn`XxvehlPQGVW}L$#_08O0D0aB1poj5 delta 17 YcmbPc*JZ~VO|J?jTw$205r@6wg3PC diff --git a/sound/direct_sound_samples/cries/swablu.wav b/sound/direct_sound_samples/cries/swablu.wav index f24d34930742f1392cd8964a08dd8401f452c000..0fafb27d0d7cb44b1fdd94372afa093f9aab4bbe 100644 GIT binary patch delta 29 kcmbOwwoHsQ$kWYDZX#n+a diff --git a/sound/direct_sound_samples/cries/swalot.wav b/sound/direct_sound_samples/cries/swalot.wav index cfed97934289827cb63b7588a6e4925b9f791f5a..56e0b170b1a81534b810d22b6c50b23468581def 100644 GIT binary patch delta 29 kcmez7+~mR<=#*A5t06qQ&+W-In diff --git a/sound/direct_sound_samples/cries/swampert.wav b/sound/direct_sound_samples/cries/swampert.wav index a06f15992faa7f2ecb75996fb2d6e4ee8b78fec2..eab813edb744ba70ff7d434a39e696a9d06a0f2e 100644 GIT binary patch delta 31 mcmaDJ{w16>$kWa3%|zC4?!@$@92N!!h9+%>jnO^Yj0^y`SqY^8 delta 17 Ycmewo{ydyD$kWa3{zTUBjTznA07h#EQ2+n{ diff --git a/sound/direct_sound_samples/cries/swellow.wav b/sound/direct_sound_samples/cries/swellow.wav index 637ff465403fdf6e01ff13db160e1e8e8f2c96aa..118eb684c3abe8a7bbfcc8683bff14a00137938d 100644 GIT binary patch delta 29 kcmdm|d`g)$$kWa3&_vd7?!@$@92N!!hDbq%jnT=10E(3eIRF3v delta 17 YcmX@5yib`m$kWYj+eFszjTuRT06A_3DgXcg diff --git a/sound/direct_sound_samples/cries/swinub.wav b/sound/direct_sound_samples/cries/swinub.wav index 93eafa458d9323e772ee77bbd14a87965fc61c7e..e84ba9454aeb2e40c3d6066895c82a85081c6e8e 100644 GIT binary patch delta 31 mcmX?Yc*Br2$kWa3!bH|^?!@$@92N!!hBOI=jnM@Xj0^yyhzO?u delta 17 Ycmca%c-oLP$kWa3@I=<|jT!k806k0wf&c&j diff --git a/sound/direct_sound_samples/cries/taillow.wav b/sound/direct_sound_samples/cries/taillow.wav index 9f1bb25f487baf67901c6055dd6caa734f885d3d..7d4135c76a90f0b4b72e32baa30733a663a971b0 100644 GIT binary patch delta 31 mcmaDX{z05I$kWa3#YEO{?!@$@92N!!hB|JBjnN(4j0^y!{Rq(j delta 17 Ycmew${#cwf$kWa3_C(h3jT!CS06rrIp#T5? diff --git a/sound/direct_sound_samples/cries/tangela.wav b/sound/direct_sound_samples/cries/tangela.wav index 023a0362f953f5310db4e120a28974041f6fd8d9..991b787ff4ad31f937a6f114f7dcf2a574df4acc 100644 GIT binary patch delta 31 mcmbPeJ07H2P2><{9 diff --git a/sound/direct_sound_samples/cries/togepi.wav b/sound/direct_sound_samples/cries/togepi.wav index e13355c55414be75432cbd0b17bcc7cf27b99e79..ac6bbf9ff8bc8888dd04221c7761628cd127a699 100644 GIT binary patch delta 31 mcmaE^^+k&{$kWX&XCiAjcVc={4hsVV1CuDj#%LZ$kWa3;zZW)jTyDP06h5yg8%>k diff --git a/sound/direct_sound_samples/cries/torchic.wav b/sound/direct_sound_samples/cries/torchic.wav index 39a2522b3282b24c1be8d077ddc47e0e46f8c788..5dd5c56bedaa4568a8a0bd0272f674714a10ec2c 100644 GIT binary patch delta 32 ncmeyZ+M&i4o0r<{9 delta 17 YcmccTe#xCR$kWa3)I`?sjTvRi06_o-)Bpeg diff --git a/sound/direct_sound_samples/cries/trapinch.wav b/sound/direct_sound_samples/cries/trapinch.wav index 5cad4ad23e9003f0f613224657973a958adfc568..abb851c1b709c3d859022b34b2dfb09504056369 100644 GIT binary patch delta 29 kcmaE*{!N`V$kWa3-9*-K?!@$@92N!!hE`#QjnVzW0GbyGApigX delta 17 YcmeyS{z{!S$kWa3(L~npjTwEy06`!It<8 diff --git a/sound/direct_sound_samples/cries/typhlosion.wav b/sound/direct_sound_samples/cries/typhlosion.wav index f1759989d720418d75a69457bc6a1de1fa032884..cd525d5610fd1fd17b8c6559687f419227783b39 100644 GIT binary patch delta 31 ncmbOl{#M%ExtH#f0~tl`{==}9>(3=9lwJsCDeZ}$WMla2{7 delta 19 bcmbO?g>ljpM%ExtH#e?{tl=9ows`^oKvxEq diff --git a/sound/direct_sound_samples/cries/tyranitar.wav b/sound/direct_sound_samples/cries/tyranitar.wav index 5bec5f7279e08c0c652f3b1a9891a97b8691e676..f2b76821067e77bb95fa0a609fb1339750389017 100644 GIT binary patch delta 29 kcmbOgy)2qF$kWYj-bB`L?!@$@92N!!22)*zjnVeH0E;yUEdT%j delta 17 YcmZ1$Ju8|u$kWYj(nQwqjTv^j06H=TCIA2c diff --git a/sound/direct_sound_samples/cries/tyrogue.wav b/sound/direct_sound_samples/cries/tyrogue.wav index 46d032063da7bf0381602027e43f89cbed5fdb4e..4905a85661a4f939427c3b162cd121242d046fec 100644 GIT binary patch delta 31 mcmbPjzrvn1$kWYj!9><@?!@$@92N!!1~YkvjnNMBj0^ykF$duQ delta 17 YcmZ2sKii%)$kWYj@uZ$kWX&Y9ebmcVc={4hsVV!v|T0jnThk85sbja|w9> delta 17 YcmaE4bJd15$kWZucOq-}#*Ck`06jkj#Q*>R diff --git a/sound/direct_sound_samples/cries/unown.wav b/sound/direct_sound_samples/cries/unown.wav index 1956ecef7575a2b77c90f7caf94a8a0dfe1c92de..befaaedd00efd201c4b9f4720626a2f251e54e9d 100644 GIT binary patch delta 29 kcmX?Pe9o9P$kWa3*hJQF?!@$@92N!!hFD34jnV0n0FQwPeE=D$kWYDVj^q!#*8DD06QoKd;kCd diff --git a/sound/direct_sound_samples/cries/vaporeon.wav b/sound/direct_sound_samples/cries/vaporeon.wav index 8ec30948512d58d8e57484fa58dd6e76937db7e3..861bc93cbe0a3e2cb3450a9f5174f110888749a0 100644 GIT binary patch delta 29 kcmbOewjzu*$kWYDVIpfdcVc={4hsVV!*(r(jnN0S0EIjVrvLx| delta 17 YcmZ1xHYbcV$kWYDWFl+$#*71605uZ$kWX&Y9ebmcVc={4hsVV!v|T0jnThk85sbja|w9> delta 17 YcmaE4bJd15$kWZucOq-}#*Ck`06jkj#Q*>R diff --git a/sound/direct_sound_samples/cries/venusaur.wav b/sound/direct_sound_samples/cries/venusaur.wav index fdd299ae277176734ddce4b6a55bf672941cfd20..4273ac8471a4a6c62cb4bbf61bad4b663cc50837 100644 GIT binary patch delta 31 mcmX@?eZiYG$kWa3#6;F`?!@$@92N!!hB#G*jnNsZj0^y$0|?Ck delta 17 YcmccMeb}2d$kWYj_e9q4jTz~x06!H5qW}N^ diff --git a/sound/direct_sound_samples/cries/vibrava.wav b/sound/direct_sound_samples/cries/vibrava.wav index 5370104875448ca496bc401d0a9ca2a86c741759..9f4b2b362510630ab5ea20b951a4c961c5d6c70a 100644 GIT binary patch delta 31 mcmaEB_REYl$kWZOXd-JkcVc={4hsVV1BW!j#%LjFMg{<%=?CEe delta 17 Ycmexm_STFw$kWX&bs}r{#tcDe06uvJ7XSbN diff --git a/sound/direct_sound_samples/cries/victreebel.wav b/sound/direct_sound_samples/cries/victreebel.wav index 19f11202f95ecbfb964de4ee01ae1d86ad7ae77c..cea271b30baa186fc70e12207147192f227f284b 100644 GIT binary patch delta 31 mcmdn!z0aF9$kWYj+eFrI?!@$@92N!!1|L<1jnQGMj0^yvRS0tc delta 17 Ycmdnzz0sRB$kWYj$kWa3(L~npjTwE007ym$dH?_b diff --git a/sound/direct_sound_samples/cries/volbeat.wav b/sound/direct_sound_samples/cries/volbeat.wav index ae6375b95f9ac60b97bfff96d7f1151fe701b8b5..d29a8ddbe1e812f150c9ca23377f924388c210fc 100644 GIT binary patch delta 29 kcmbQIyGoZe$kWYj(L~m8?!@$@92N!!21_x9jnU3x0D?3Jw*UYD delta 30 mcmZ3bJ5QH2$kWYj+CP*6@uPo^Aj|*9Ou6 diff --git a/sound/direct_sound_samples/cries/wartortle.wav b/sound/direct_sound_samples/cries/wartortle.wav index 950f87d74b2e64854955777c7784ab370cd28c32..040292e128414b58407ec5b8a70bb85fef880f89 100644 GIT binary patch delta 31 mcmdn#e9W0O$kWYj-$d4M?!@$@92N!!h7d)DjnQ$6j0^ywQ3!(o delta 17 YcmX@+ywjOA$kWYj<3!f*jTy0u06cvLX8-^I diff --git a/sound/direct_sound_samples/cries/weedle.wav b/sound/direct_sound_samples/cries/weedle.wav index 6a209fede1231b912d7de06f4617b99bc77a5de7..2c891cd309c948181b9a874f971bafc1d9ae6b82 100644 GIT binary patch delta 29 kcmX?Sf6JaV$kWa3(nQv9?!@$@92N!!hD>>ejnT#O0G2NZ-2eap delta 17 Ycmca*f6ksY$kWa3*hJRwjTuGq06$~~umAu6 diff --git a/sound/direct_sound_samples/cries/weepinbell.wav b/sound/direct_sound_samples/cries/weepinbell.wav index 48f7225cf581f2e6359eec67c503a8e71b310748..206bd24e45aa308971641a1687b573909c4db1b9 100644 GIT binary patch delta 29 kcmZ2rxyF(;$kWYj$wbz0?!@$@92N!!25T9HjnS?$0ELhT58=>Px# diff --git a/sound/direct_sound_samples/cries/weezing.wav b/sound/direct_sound_samples/cries/weezing.wav index b5a7b189d038460cbff1d99ed46a9044e638487b..ee605859556130681d69bfa291f7fb38c9c92a41 100644 GIT binary patch delta 29 kcmX>RawUW{$kWZuXCiAjcVc={4hsVV!(&Z`jnQv40h473eE7#RSWlnB=V delta 17 Ycmdnzw9$z*$kWYDb0TZ_#*C{905}c?L;wH) diff --git a/sound/direct_sound_samples/cries/whismur.wav b/sound/direct_sound_samples/cries/whismur.wav index af3e3e0e31cd096a2c1fd90554dc64dc4d3a3381..3470acc99fdf1d16a558bba5cb83a0f6e96c40ae 100644 GIT binary patch delta 29 kcmeBEn5DoPehlPQGVI@Dq#^}xb0CaT+zW@LL delta 17 YcmbQG(5Ju}=#tbfA06FXhv;Y7A diff --git a/sound/direct_sound_samples/cries/wingull.wav b/sound/direct_sound_samples/cries/wingull.wav index 4e158409add4c1dab597bd98a89997170746700e..b7802959351145a392a87439642888246ef074b3 100644 GIT binary patch delta 30 lcmZoOm}I~fUuq}W!$kWYDZz5~>#*AC)06KaGdH?_b diff --git a/sound/direct_sound_samples/cries/wooper.wav b/sound/direct_sound_samples/cries/wooper.wav index 83c7e589df12a7aa9e24086ce693560119259d62..280845b2b80c58620dd5461a3ee4e4f2549eb8fa 100644 GIT binary patch delta 31 mcmbOzJ5QE1$kWYj+CuDo$kWYj>qOS@jTwnT06CHdEC2ui diff --git a/sound/direct_sound_samples/cries/zapdos.wav b/sound/direct_sound_samples/cries/zapdos.wav index 58415b934444104a1e271e28758377e586e11449..f8168a603ccdb9d3e873470fbb6d40c90ef605d4 100644 GIT binary patch delta 31 mcmdmQbH;`>$kWZuWg=@hcVc={4hsVV!!22cjnPkJ85sbbNeK%8 delta 17 YcmX?Ov)_g_$kWZud?IW3#*D|Z06C)uZ2$lO diff --git a/sound/direct_sound_samples/cries/zigzagoon.wav b/sound/direct_sound_samples/cries/zigzagoon.wav index ac0b68edcde05ba64683fc1c8a60d4e38ffbe006..fca81cf0f31c1b243eaf81b2005f3e40ff8e494f 100644 GIT binary patch delta 31 mcmZ3hyGxff$kWYj(?r&A?!@$@92N!!1`jcYjnP43j0^ymXb1%W delta 17 Ycmdm`yH=Mq$kWYj=|tA>jTwPr05|3a00000 diff --git a/sound/direct_sound_samples/cries/zubat.wav b/sound/direct_sound_samples/cries/zubat.wav index dc0756a06de0c9a0840ceab25912560903ecf6ea..58c0c16e58c3a6a73519b944eecf1292bd96abc7 100644 GIT binary patch delta 31 mcmaFu{ll9z$kWa3!$j6_?!@$@92N!!hBj4(jnNZS85sbz+XLWh4vfQKPU$PwZIF# diff --git a/sound/direct_sound_samples/drum_and_percussion_kick.wav b/sound/direct_sound_samples/drum_and_percussion_kick.wav index 49ba617f0c1410dd8346deef31f4c34f07a53076..4b6969b6eb4ed2b75413527d6e99d93e3d9388bf 100644 GIT binary patch delta 31 mcmaDY_d|{~$kWZOU?OWccVc={4hsVV0~ehlPQGK~$JwW3;?50E0^hZ~y=R delta 17 YcmZou|E0zn=#*9}205_ioM*si- diff --git a/sound/direct_sound_samples/ethnic_flavours_ohtsuzumi.wav b/sound/direct_sound_samples/ethnic_flavours_ohtsuzumi.wav index c12ae6de34e03f23da9ecb63ad4597c214fe74ed..e7f08c81000a93bdf4f20974c54523fc891b5229 100644 GIT binary patch delta 29 kcmZ2yw9AM!$kWZuXd-JkcVc={4hsVV!$}E-jnS7S0D~Y1l>h($ delta 17 YcmdmGw9be%$kWYDZ6a&<#*9l605z8e4*&oF diff --git a/sound/direct_sound_samples/heart_of_asia_gamelan.wav b/sound/direct_sound_samples/heart_of_asia_gamelan.wav index a6258c97d415e6e10579208b47f51280f9ecbd23..48513e4b799e5c779ad43bb851f488a8a327811a 100644 GIT binary patch delta 46 zcmaFU&G@66ku}KE&F#ZP)_jq~^rRdX1_p+FR|bZZ#FE4UAU(0sdg27uje87S0dCa~ ABme*a delta 19 acmey-&G@F9ku}KE&F#rV*8GhP6|MkMj0gY# diff --git a/sound/direct_sound_samples/phonemes/01.wav b/sound/direct_sound_samples/phonemes/01.wav index d7f43544f519a221bc0174cdcccb483bfe9c7998..ebc90ac2f75ada47efe1815a3d5f7442b6adcbc8 100644 GIT binary patch delta 31 mcmdnYdw`cU$kWYj$3)g}?!@$@92N!!20u22jnNToj0^ygvIoNe delta 17 YcmX@WyP20Y$kWYj^+eY2jTzx=05uW?$N&HU diff --git a/sound/direct_sound_samples/phonemes/02.wav b/sound/direct_sound_samples/phonemes/02.wav index 6b9e4134c8591da5981b6d7a87f5c17a06ed9e2d..4c6bdbff7e7b27f0eeeb2e067b2de14b5c09cc72 100644 GIT binary patch delta 29 kcmcb>b%%>J$kWX&WFl)mcVc={4hsVV!(|qRjm39a0ETu5#{d8T delta 17 Ycmcb^b%BdD$kWZuV diff --git a/sound/direct_sound_samples/phonemes/03.wav b/sound/direct_sound_samples/phonemes/03.wav index a080496adbeddbfc0baa706e52d7179d831262b3..d2e993437647b8c6daba66634471dca2cf342a20 100644 GIT binary patch delta 31 mcmZ1|yiS-k$kWYj*+kZG?!@$@92N!!1{+R>jnQtLj0^ybfd_j4 delta 17 YcmZ1{yik}m$kWYj=0w);jTx?-05a7Dj{pDw diff --git a/sound/direct_sound_samples/phonemes/04.wav b/sound/direct_sound_samples/phonemes/04.wav index 0525f8f5d3db4c51062b6252bea6ee96f08f5f88..ecba93ebf93746d2d0d792f80f9e1f0e4317a9d0 100644 GIT binary patch delta 29 kcmX>idO?&m$kWa3#6;F`?!@$@92N!!hIlT9jnSE00Euo0EdT%j delta 17 Ycmca0dPI~p$kWYj&qUVnjTsqS064z}9{>OV diff --git a/sound/direct_sound_samples/phonemes/05.wav b/sound/direct_sound_samples/phonemes/05.wav index 5df5562768b9428ae01a208bf1bc22a94603b29f..d7726826a6f55c67fa6d508d89af1f1262d4ea97 100644 GIT binary patch delta 31 mcmeBXpTW)=<@?!@$@92N!!hB6+8jnNG}j0^yygb1$y delta 17 YcmaDMd0Ub-$kWa3@ehlPQGfuD_GW3(h20DE=^1ONa4 delta 17 YcmZqR{ldc<Bb delta 17 YcmX>kvsH#Q$kWYDcOq-}#*CZ105mTJ^#A|> diff --git a/sound/direct_sound_samples/phonemes/10.wav b/sound/direct_sound_samples/phonemes/10.wav index da9fa6727c9ddf04c75024081945addae2e3ebc7..e931a7d9df31c86bb5f3c3c57419e7f1658547c9 100644 GIT binary patch delta 31 mcmX>sd_kBs$kWa3#6;F`?!@$@92N!!hB!`!jnNsLj0^yo9|$D? delta 17 Ycmca0d{~$@$kWYj_e9q4jTz~j061v|7XSbN diff --git a/sound/direct_sound_samples/phonemes/11.wav b/sound/direct_sound_samples/phonemes/11.wav index 5cd1904b4245da48b1b9f76d73e67e85c91bcc19..949865e64ae3ec27cf6db56075161bccc30f4dad 100644 GIT binary patch delta 32 ncmZqYn8Lvp%m6k|1}6Xj diff --git a/sound/direct_sound_samples/phonemes/12.wav b/sound/direct_sound_samples/phonemes/12.wav index da638d82b0422e195a4f31bd487b2fbbb9a08bd4..573867ca9287b988e8bbf148b086e228b17bbf8a 100644 GIT binary patch delta 32 ncmZn_m?Xd!+dN>;N{21|I+b diff --git a/sound/direct_sound_samples/phonemes/13.wav b/sound/direct_sound_samples/phonemes/13.wav index 2eb58a5f3ffb6375a98b666c1f0b36caaf322b97..a4629fa1d64e556a4af4f00daad11537d59bb129 100644 GIT binary patch delta 31 mcmZ20y-S)k$kWYj(?r&A?!@$@92N!!1`l3_jnP58j0^yh@dwWU delta 17 Ycmdlby;hnv$kWYj=|tA>jTwQw05!n{(*OVf diff --git a/sound/direct_sound_samples/phonemes/14.wav b/sound/direct_sound_samples/phonemes/14.wav index fef0bb0ded7c61120750706ae328d6e68a213021..d6ae4c4bcede79c8d17f790f0802c002a7e22c46 100644 GIT binary patch delta 29 kcmdnMx`&lD$kWYj%S6_E?!@$@92N!!24g0Mjm5T10Dw9NnE(I) delta 17 YcmdnPx`CB7$kWYj#YEQpjSV(T05l&3zW@LL diff --git a/sound/direct_sound_samples/phonemes/15.wav b/sound/direct_sound_samples/phonemes/15.wav index 1dbe8cbfa3de6a0000494e0135b80b70f4c02c58..80ac82c0ef561a195c8a01d9feeaf46751bdc360 100644 GIT binary patch delta 31 mcmbOzJ5QE1$kWYj+CehlPQGL4l27W3(0Rh04;_E5C8xG diff --git a/sound/direct_sound_samples/phonemes/19.wav b/sound/direct_sound_samples/phonemes/19.wav index ff905abe22d591ade5bfad6992d77376efbf5c3f..5f846bea008848495f87639726abb5ebbe049e22 100644 GIT binary patch delta 31 mcmdlhc}kKs$kWa3&_vd7?!@$@92N!!h6o;pjnPRwj0^ynVh9-k delta 17 YcmX>lxmS`k$kWYj>qOS@jTwnN05~KD4gdfE diff --git a/sound/direct_sound_samples/phonemes/20.wav b/sound/direct_sound_samples/phonemes/20.wav index 595702e084797d0396af02f8efd6f3c0255a7666..e79694f650b2871c37123b6d16aa8b9c5edf0ff5 100644 GIT binary patch delta 32 ncmZqXnZUyqr$kWX&W+H1icVc={4hsVV!zWgTjnRKt85sbYNeJ@* delta 17 YcmaFDbDf7Z$kWZuekyj7Sr$kWYj?L^k_jTw=g05%;3-v9sr diff --git a/sound/direct_sound_samples/phonemes/25.wav b/sound/direct_sound_samples/phonemes/25.wav index 135bb246dd98b1dda846383250d9aae263b376e0..429f608fb86bc49d6b4b8f0844ab8725ea01db58 100644 GIT binary patch delta 31 mcmcaB|4N=U$kWa3(L~m8?!@$@92N!!h6;X$jnPf~j0^y!zX;0! delta 17 YcmaDQe^;J0$kWa3>O|J?jTw#n06rTAod5s; diff --git a/sound/direct_sound_samples/phonemes/26.wav b/sound/direct_sound_samples/phonemes/26.wav index e466df4d86c7a89b273c89a1f58cb7c0608630d9..032ab3fd368f74ad1aa4f38c18ff8606bdb2944c 100644 GIT binary patch delta 31 mcmZ3;yN;JN$kWYj*+kZS?!@$@92N!!1{F4jjm3Iwj0^yb3aN$kWYDYa(kncVc={4hsVV!vQXajnSvL7#RSHHV790 delta 17 Ycmdlawp5HY$kWYDb|P!|#*C9(05I4ErT_o{ diff --git a/sound/direct_sound_samples/phonemes/28.wav b/sound/direct_sound_samples/phonemes/28.wav index fe9dde8e35202e087c103a76e75f888d2d41780f..4050d3511310bf539fa72c88721b80560d5f3b84 100644 GIT binary patch delta 29 kcmbOszeJuj$kWYj&P3L5?!@$@92N!!24jAPjnTIJ0DTb$ZvX%Q delta 17 YcmZ1?KSQ21$kWYj!bH~ajTtul05Z4*hyVZp diff --git a/sound/direct_sound_samples/phonemes/29.wav b/sound/direct_sound_samples/phonemes/29.wav index d05658c97edb5ff717b29cc0a0122bc6d6b2cedc..ae48eac22bfd74aabb0523fc0685aa0fd8f07222 100644 GIT binary patch delta 29 kcmaFD{ehb`$kWa3#YEP8?!@$@92N!!hICejjm3qm0Fu`TuK)l5 delta 17 Ycmeys{e+t}$kWa3&P3MyjSU5?06ks?o&W#< diff --git a/sound/direct_sound_samples/phonemes/30.wav b/sound/direct_sound_samples/phonemes/30.wav index aaf163ae979545a3c62b1d524d9a355d77b65f3d..fd76403a08edd1eb0afcf13cc312e793eb43221b 100644 GIT binary patch delta 31 mcmbO$yGoWd$kWYj(L~m8?!@$@92N!!1`9rhjnPhgj0^ycfCq&D delta 17 YcmZ1_J6D!9$kWYj>O|J?jTw%705e_%m;e9( diff --git a/sound/direct_sound_samples/phonemes/31.wav b/sound/direct_sound_samples/phonemes/31.wav index 64b2c7f6db1ebd39490ca112b5e645f31622c247..b43bba09a9e0a7fe91c8b38594ac014171366310 100644 GIT binary patch delta 31 mcmca9_e_p8$kWX&ZX#gc1Daf$kWZuWg=@ncVc={4hsVV!(lFljm2lV0E5^Fn*aa+ delta 17 YcmX>jc0i0Z$kWZuVj^q)#)dOo05!!1DF6Tf diff --git a/sound/direct_sound_samples/phonemes/33.wav b/sound/direct_sound_samples/phonemes/33.wav index f96a5e49fd4bfd9e9f7959d22a363788ec5c213a..0a88ce09d99539fa3656febe63685ce56853f9a9 100644 GIT binary patch delta 31 mcmaDV{z;rQ$kWa3)kM~C?!@$@92N!!h6ZkijnQ4)j0^y#y9nC= delta 17 Ycmew){#2Yb$kWa3?nKt`jTxQX06upHsQ>@~ diff --git a/sound/direct_sound_samples/phonemes/34.wav b/sound/direct_sound_samples/phonemes/34.wav index 1439810d44faa24f222d1ec964a3bf9c95895038..145cf68e89b8cf926fb0ab35c2ba5aa6937aa5d4 100644 GIT binary patch delta 31 mcmZ1}vQ30F$kWYDZz5|rcVc={4hsVV!x2t~jnU^g85sbJGYBOB delta 17 YcmdlcvQmUK$kWYDaUyH@#*DL^05L-au>b%7 diff --git a/sound/direct_sound_samples/phonemes/35.wav b/sound/direct_sound_samples/phonemes/35.wav index aa6599bcc8dd8c727fe9c1a73ee9670916259be5..9c65433459450dd07bfbd055dea34205e9a615a6 100644 GIT binary patch delta 29 kcmZ3*yN#DM$kWYj-9*-W?!@$@92N!!23A?AOHXW diff --git a/sound/direct_sound_samples/phonemes/39.wav b/sound/direct_sound_samples/phonemes/39.wav index da335b269055122c2c8df93499c70472615c9f32..89d0abc6fad44195652089f2d7ce1b9846dc9e39 100644 GIT binary patch delta 31 mcmeAbo+Zp0Mg{Co056RNKL7v# diff --git a/sound/direct_sound_samples/phonemes/40.wav b/sound/direct_sound_samples/phonemes/40.wav index 14944784a4d0c614f38796f431d32bb647210a0c..d6f65e91218bfc31c041aa513f642f80400d9a02 100644 GIT binary patch delta 31 mcmeAbm?gj(ehlPQGVFf$G#^_D#j0^yO(FctH delta 17 YcmbOw&?~?ieTSPh$kWa3%0$+D?!@$@92N!!hG15Pjm5F70E{yTO8@`> delta 17 Ycmcb^eSw=b$kWa3#6;HojSVrZ06G>1P5=M^ diff --git a/sound/direct_sound_samples/phonemes/42.wav b/sound/direct_sound_samples/phonemes/42.wav index a990969146c5e7e9e0d39762c9d8c4f2866db9bf..a97bbadcb5615344d931d5028812eca78c023e89 100644 GIT binary patch delta 31 mcmX>qeMy=%$kWa3)I`>B?!@$@92N!!h6G-QjnP@Wj0^yq*$77f delta 17 Ycmca4eN>t?$kWYj??l${jTxD|06DP+GXMYp diff --git a/sound/direct_sound_samples/phonemes/43.wav b/sound/direct_sound_samples/phonemes/43.wav index ab4a046743d3255afe04b672b60015c11315a009..8b7392277e20daf0a57b43c1e449c048ea7f4809 100644 GIT binary patch delta 31 mcmX@ld54oV$kWa3%0$+1?!@$@92N!!hAb9_jnO46j0^yq7zjfE delta 17 Ycmcb^d7hIs$kWa3_(az5jTyx(068!QE&u=k diff --git a/sound/direct_sound_samples/phonemes/44.wav b/sound/direct_sound_samples/phonemes/44.wav index efca4e3f9732517a28525a23b03b5c0f2851338a..4b412698b91b2be62a33654346cb75725f3b62e1 100644 GIT binary patch delta 29 kcmcb?^@NKx$kWX&W+H1ocVc={4hsVV!)+FZjm1w{0Er$5?*IS* delta 17 YcmaFDb%TpF$kWX&U?OY&#)c;>060emYXATM diff --git a/sound/direct_sound_samples/phonemes/45.wav b/sound/direct_sound_samples/phonemes/45.wav index 0369d3c2a1fa05539b6262c2947bc827b69e3ce2..0e2bfb567447c18ae68d5db18055ea76ca1e34c3 100644 GIT binary patch delta 31 mcmbO!uuOn8$kWYDZX#vaYuqR$kWX&WFl)gcVc={4hsVV!z*rvjnQAY85sbYO9<}( delta 17 Ycmca3abAKo$kWZueIjf4#*EM005|ytQvd(} diff --git a/sound/direct_sound_samples/phonemes/47.wav b/sound/direct_sound_samples/phonemes/47.wav index a55f03a1535c416919114120124ad6d39dca5ee6..45668adda622fb3c84be034e81f146a6cca71158 100644 GIT binary patch delta 29 kcmaFF{*IkB$kWa3*+kZS?!@$@92N!!hE!&Tjm7!Q0Fg%snE(I) delta 17 YcmaFI{)nA5$kWa3)ehlPQGVFf$G#^_D#j0^yO(FctH delta 17 YcmbOw&?~?ikxmA)i$kWYj?L^k_jTwi_@% diff --git a/sound/direct_sound_samples/phonemes/51.wav b/sound/direct_sound_samples/phonemes/51.wav index bd1a514180a75bc3f3322815ab5b66d6988112f6..9c734aaba8654456200139ec58906244e367f18b 100644 GIT binary patch delta 32 ncmZn^>l0%O@^o`!THLjV8( diff --git a/sound/direct_sound_samples/sc88pro_accordion_duplicate.wav b/sound/direct_sound_samples/sc88pro_accordion_duplicate.wav index f19a98d27766d9a7a279a3acfdfe5248abc65541..1b28fa0e6ce4564bd4ef2b14f05505d3ff7b13c5 100644 GIT binary patch delta 46 zcmdn3aYBPN$kWZuVIph3NMd?Y4hsVV!#-gKhLpsT#Qi{eVx!%}39K9U*9bE*002RN B4WTHLjV8( diff --git a/sound/direct_sound_samples/sc88pro_bubbles.wav b/sound/direct_sound_samples/sc88pro_bubbles.wav index d6e61596d59e47ebeb6d46bae2423fa3067dffd0..17d3eaa64fb54d7c7f755d02c96f781201757f95 100644 GIT binary patch delta 29 kcmaE&@Iiq!$kWX&V&G@dHku}KE&F$Gl*8GhPRjvS1<_HJ? diff --git a/sound/direct_sound_samples/sc88pro_fretless_bass.wav b/sound/direct_sound_samples/sc88pro_fretless_bass.wav index f639d5ccf28078212c41f7ac0a2ebe278510deb0..e7c59f564eae062ece7494a134d1c29fbad69809 100644 GIT binary patch delta 32 ncmdlgaY%wS$kWZuY9ebsPhxsf4hsVV!wzl+hK(f$xfvM%m^=t> delta 17 YcmX>ku~mXK$kWYDcOq;4#)gC305nAg0{{R3 diff --git a/sound/direct_sound_samples/sc88pro_glockenspiel.wav b/sound/direct_sound_samples/sc88pro_glockenspiel.wav index 4c9cbae1494247e0a5a34104119495eec2cb27f5..d24e64efe99a6f3aef92c0bfd7f3634ed25a3fe3 100644 GIT binary patch delta 31 mcmeC@o5RN%ehlPQGVGzN&Oh9Wi%G|&v8o1AkfiX!KnLjjecnXt37 zb7A??vgF6`qxclvim5BN0CVTT61RiMZf!2Boe)VziuQ@!2WBF_Wt)#LgpD#37Cl<|YQs;APjG>Rq&Oc_GoFnVd=t65`OiI%+k6()W%yHVyJs zlxYTjwW>ILzP}>bL3_lno8eoZ_6I|4G2(t@#tAoeeHNUo#_vB8EtfC!>M}g;kKVGA zyg6xqslgYm`PXX}gw?cEA_r=SMhmk^^s?DAO!=c4$E!56 zAExtB<+;06n(Pnz7K%Om^vZ!IdK-o)qL}4GiB=la+Yjp!p3$A$6^m`^ksoETi1g$E z&-ds9)5G%Kiz^?NA99amGl!dBNdu|;WXBVgJf?lEPhhp}yWO%_O32P^X}rO{BZZd+}pRLE^ST_!1ZTx@s|i7A!pG7Q(PRBedNmBkmk z!>-dV7$r)7Do?PxO|=nIUEGAz4SN4>*=+jdSH@VT$L#ilM)@9*+$XUq`^b0OxJjaL zCkspVk?eGmw^!G`WSL+d7p;0gd7%xaJM`nbS+{IQE{u`vkU8u|o!px%$$h-A;6Jd# zcIx(0=}uJ%{y=nVLFL7bKi%5w9~Zrk+jd zt!?-{(XaV$#M)4%wdMJFujo_(GCQC+X41`Cl3ToV4R6smz%uFKBK(tOfL9wLjflvm7xjd30iZINRH@ z%)Ey_sKjrg_?YCVSvz5s%N)m&?W7(yAxclGzM@$u@#)3dK&G={nAITXz7gMru_4qi zJ88QDu|*40ilt`FxJ9aPCMrvs-A*bYBck@Dngq?PhXtQbq7P=kz09hYb*T|cBsbpD z)V!6tSI8Z)(wwBpNiFt9s`e!6D~j2SN9u4v)oE>gydeP3p0|=Vxqw`d z3^}Pr0qITD2?1FQ=p}&cZfJ(+!<2x;M$bs4fSf%erO(LixC~Qje5og7-lvrqgJ>U0 zo{-if5~h4YmKPL5PHPbp0#i1A2kH3=nYKS8>93|FneA9utk(ZOBup7Xf1C1%d|s@= z5i8H3WKw&YvazD*&9D^sZLz(l#e$Y!7W*J9mL_4bRyj;rS(5Z|u~IEeNsu%Fi@lW^ zLzzAZv+RPFGC+>E6bV{BC;=&GDIm?Vqn1!FXes?lORW^N9Be6S(Lo*8^809hx)qQK z+Yz}qA|oa#XxStv8tmi0MGS&{1SICZ0WEVN3@kPcNPDa}gO;cDm_>H&Nz{avN9CYV zs`IDY&?V8w!3%ex>;UQk>AaTNqWDBWHj_4m(itxUa(nc`jW^jKNN_B80RhK$1^e}K zZVj|7c!4_FPyP@CF9^uEMXquus(=)PxswXQK+DH13Bo+J3|kWHcWk*SY{?!kftSDw zLd))CO|b8%7`g*tGi@*i(ZgY6V<_8S)AX{9x`h*yA8i6c%A&ae#d7mT&Much;7%x(9#zw3MCD3VAeX3qC2l}8 z{&a(2xOJx-)JO~=6hekuwDK;6Vdr+C?nNdA?CsDbQwG~9^pc>JM zVP()Vzv>jcDzPC1xyEtxHttl)tg-x<+A)(R3b|xYK+D{AP>bs&$Cb1EW>5=h;l!hD zxJRwJMVC?nxi+A9Zr;J~Xp4W5{T07 zmSbn#yh9~5$8sZzqbKc*MJ~4|3IcN2h#3%-7w$0(PYkL79ioFNq02?T;JlXH!EK3z z^zNWG1>7T`gr_DgNN>4Ih*C)JD&*2l0B%b{dKW!9iQ$;u^t>yixB362x9a!P`@b`y B8VCRY literal 0 HcmV?d00001 diff --git a/sound/direct_sound_samples/sc88pro_harp.wav b/sound/direct_sound_samples/sc88pro_harp.wav index bdb176720cc372d428d2938cece41c1f2193ed98..3a137c593d2c10341733124b883b6d0b49aec537 100644 GIT binary patch delta 29 kcmbOux=4?!@$@92N!!26--qjm4T=0DUe8WdHyG delta 17 YcmZ1>I!BZ>$kWYj%0$-ujSU)H05ZP?mjD0& diff --git a/sound/direct_sound_samples/sc88pro_jingle_bell.wav b/sound/direct_sound_samples/sc88pro_jingle_bell.wav index 1eb6b1de1aefceff67e98fc1370ec3f162f2df02..8342322428804889df516a7a3277cacf40cbdb18 100644 GIT binary patch delta 29 kcmaE6@X3HR$kWX&Ya(kncVc={4hsVV1EU1P#%OK{0E|orsQ>@~ delta 17 Ycmexl@XUZU$kWX&ZX#>=#tbeA06dEY>i_@% diff --git a/sound/direct_sound_samples/sc88pro_mute_high_conga.wav b/sound/direct_sound_samples/sc88pro_mute_high_conga.wav index c009d7265c38bc63966e0fc4c550777e9f1fb13f..afa56506a1256840b3e26001e74beba59a44029c 100644 GIT binary patch delta 29 kcmaFE^@EEw$kWZOU?OWccVc={4hsVV13N3j#%MuS0ENK^RR910 delta 17 Ycmeyt^@fWz$kWX&Wg=_%#tZ>g0672!qyPW_ diff --git a/sound/direct_sound_samples/sc88pro_nylon_str_guitar.wav b/sound/direct_sound_samples/sc88pro_nylon_str_guitar.wav index 7538f508ad979beeebad62d4badc9b76b8a6d6d7..e40e641802712e14b37810a4f8d36b42a8024c90 100644 GIT binary patch delta 29 kcmca*|ID5>$kWa3-bB`X?!@$@92N!!hFE!qjm7Em0Gl%j82|tP delta 17 YcmaE6f6JaV$kWa3(nQw$jSXq?072{q_y7O^ diff --git a/sound/direct_sound_samples/sc88pro_open_low_conga.wav b/sound/direct_sound_samples/sc88pro_open_low_conga.wav index 34a1e3f32a9b0544e64467ca11ef8246c29cc001..030797c0d6a778f8b9c8efb39a740b7476a808c2 100644 GIT binary patch delta 29 kcmbQkvx0{;$kWYDVIpfdcVc={4hsVV!**7NjnM~L0d$=Q$p8QV delta 17 YcmZ3%Glz#Y$kWYDWFl+$#*72304^K_XaE2J diff --git a/sound/direct_sound_samples/sc88pro_orchestra_cymbal_crash.wav b/sound/direct_sound_samples/sc88pro_orchestra_cymbal_crash.wav index c3f89f9c7860c3c537e065a2bbb5343fc96a3865..58d90c404fd1890d75e2c2492e77aed9fe441b69 100644 GIT binary patch delta 31 mcmbO#zet`n$kWYj)h($ diff --git a/sound/direct_sound_samples/sc88pro_orchestra_snare.wav b/sound/direct_sound_samples/sc88pro_orchestra_snare.wav index 96b10bb05fbb8aa5fc9ef295a1f9c219c4e317a0..43bb9ed9b87ae52870dc88b8416e1c4ddf773729 100644 GIT binary patch delta 31 mcmX>pcukNs$kWa3+(g!J?!@$@92N!!h7=BljnR1=j0^yp+6X-W delta 17 Ycmca6cv6rx$kWa3;6&E&jTyNd068cIDgXcg diff --git a/sound/direct_sound_samples/sc88pro_organ2.wav b/sound/direct_sound_samples/sc88pro_organ2.wav index bf6f2ba52033e8a1150275d61c61a67364410c33..437ee2d03cf4dc70b1369430cebc7f31ab8b5bf5 100644 GIT binary patch delta 29 kcmaDN@Iinz$kWX&Vpe@&h>$kWa3+(g!Vp2YN|92N!!1|NO~hK(hm{EQ3$rc4NE delta 17 Ycmca6e^Q<`$kWa3;6&E^jSZpv06Sv_WdHyG diff --git a/sound/direct_sound_samples/sc88pro_piano1_60.wav b/sound/direct_sound_samples/sc88pro_piano1_60.wav index 7199386c7b4069a395fffb5de7fbb1f5d0caebf9..29cb5a88015033f4ce16f5a047c0b99889536c52 100644 GIT binary patch delta 29 kcmX@5drg-$$kWa3+(g!V?!@$@92N!!2469Tjm6<&0Fl@TlK=n! delta 17 YcmcbndrFrz$kWa3&_ve!jSXR906ixLivR!s diff --git a/sound/direct_sound_samples/sc88pro_piano1_72.wav b/sound/direct_sound_samples/sc88pro_piano1_72.wav index 603006eb6ff4c178ea44900703717767a183267e..396f09452528b509cba19d33147605739b7ae10d 100644 GIT binary patch delta 29 kcmX@6eMy@&$kWa3)I`>N?!@$@92N!!22W9jjm5#D0FV&~c>n+a delta 17 YcmcbleN3A*$kWYj-$d5@jSWGf06anlb^rhX diff --git a/sound/direct_sound_samples/sc88pro_piano1_84.wav b/sound/direct_sound_samples/sc88pro_piano1_84.wav index 0d76370756a4967ab58bc4e7521fd132ca9a38c8..1956f95dad1bdefa6f4d9e275bc6bcf4f5ec720e 100644 GIT binary patch delta 29 kcmew+-Xy^q`#)c+t069=#*9~N05v@Z6#xJL diff --git a/sound/direct_sound_samples/sc88pro_slap_bass.wav b/sound/direct_sound_samples/sc88pro_slap_bass.wav index 41d747259e3863c64d76ea0e6af8b8fcf71d1cf1..48836951650d689a2c455f13c6e70557bd733ece 100644 GIT binary patch delta 32 ncmZ21zd@cg$kWYj#YEP8p2YN|92N!!1~q;LhK(iq{EQ3$mzoEv delta 17 YcmdlWzgV6%$kWYj_C(hFjSc$z05vBC%>V!Z diff --git a/sound/direct_sound_samples/sc88pro_square_wave.wav b/sound/direct_sound_samples/sc88pro_square_wave.wav index 020dae03a4921161218087222545f7b9efd10da0..5689c13f4e98815f28d51909ad660848883333f8 100644 GIT binary patch delta 29 kcmZp$?6G7G@^o`+naG;YotU1K!@|J8z%0YCv6xo|0DJfcMF0Q* delta 17 YcmeCNY_Mbv@^o{nn8=#Hv4KYh05Wj}fdBvi diff --git a/sound/direct_sound_samples/sc88pro_string_ensemble_60.wav b/sound/direct_sound_samples/sc88pro_string_ensemble_60.wav index 26e9db076c3ca8df1ddb5d228835ddf550e77b6a..1e43b2e5e2476d28c930b60fb94f2ccfed91b9c5 100644 GIT binary patch delta 29 kcmbP`Gbe{N$kWYDWFl)mcVc={4hsVV!(>y2jm2|K0f#vVtpET3 delta 17 YcmbP}Ga-jH$kWY@VehlPQGflHZTW3h-bBLe`C$p@7H delta 17 YcmbQ@-tNvC6J7$kWYDcOq;4#)gAt06v5U+5i9m diff --git a/sound/direct_sound_samples/sc88pro_synth_bass.wav b/sound/direct_sound_samples/sc88pro_synth_bass.wav index 5aa61ab8caa8612f8f5e39e67b0afa1b3e1a1465..98f6a4ef20f96c163252627336ac69840c21c358 100644 GIT binary patch delta 30 lcmca7`AU*C$kWa3(L~mKp2YN|92N!!hD06)hK(gzJOG<82)qCQ delta 17 YcmaDQc~6ox$kWa3+C@~ diff --git a/sound/direct_sound_samples/sc88pro_taiko.wav b/sound/direct_sound_samples/sc88pro_taiko.wav index af01253368bda5603a1dd0ca42b50f9c655d6e4b..433ab727ee68de9ab05532f941912fb468586913 100644 GIT binary patch delta 31 mcmdn4b3}(V$kWZuW+H1icVc={4hsVV!zEFMjnQ{R85sbUSqQTL delta 29 lcmX@2vt5TZ$kWYDeehlPQGVKE28#^|*i0B=$UcK`qY delta 17 YcmbOt)FH$g2)Y0O delta 17 YcmX@6wM&aN$kWZuXd-L=#)e}e05>ZJLjV8( diff --git a/sound/direct_sound_samples/sc88pro_timpani_with_snare.wav b/sound/direct_sound_samples/sc88pro_timpani_with_snare.wav index 8ab1862d021c6b7df197481e527ec2a750163a68..1c1560ed2858fdc5f8b6af488623fd69ea4f9da8 100644 GIT binary patch delta 30 lcmdm`bxeyj$kWZuZX#2)Y0O delta 17 YcmX@6wM&aN$kWZuXd-L=#)e}e05>ZJLjV8( diff --git a/sound/direct_sound_samples/sc88pro_tr909_hand_clap.wav b/sound/direct_sound_samples/sc88pro_tr909_hand_clap.wav index 2e07040cb40996a68221089062e8ada8523acede..9dba2ac9d649340b08f8a9c6ba8098976854e139 100644 GIT binary patch delta 29 kcmaDN_(700$kWa3#YEO{?!@$@92N!!hI$T$jnSPP0Fx*P!2kdN delta 17 Ycmew$_(YI3$kWa3&P3MmjTs#r06m2Ul>h($ diff --git a/sound/direct_sound_samples/sc88pro_trumpet_60.wav b/sound/direct_sound_samples/sc88pro_trumpet_60.wav index 0c857d971d43e4b1a40701b7b17f5ce6f3d0d9af..0675873a1452a94959fa7da2364cd3d45387c87b 100644 GIT binary patch delta 29 kcmdm`eoUP;$kWYj-$d4Y?!@$@92N!!23uiehlPQG;hzY@#$papMg{<#y$FK< delta 17 YcmeCs{;kCtehlPQGfk%X4W3iYBBLe`676(ND delta 17 YcmbQH*{R7IegFUf diff --git a/sound/direct_sound_samples/sc88pro_tuba_39.wav b/sound/direct_sound_samples/sc88pro_tuba_39.wav index c3b78eea55d4eec55cca7533c5ebde91ab85ef6d..619ebf6e3af019e2608124a1a167af156f3dcced 100644 GIT binary patch delta 33 ocmZownxw=QNp2YN|92N!!1`h!ShK(hG0*nj*r9=o? delta 17 YcmcblcvO)!$kWYj??l%8jSYbU06O>vS^xk5 diff --git a/sound/direct_sound_samples/sc88pro_tubular_bell.wav b/sound/direct_sound_samples/sc88pro_tubular_bell.wav index 8c892236b96b8536de910a2ed8869c641bb647e5..eed5b32b2b9c75329bc9d40e6b03ff2780c5fa57 100644 GIT binary patch delta 29 kcmca({KA+u$kWa3!9>=4?!@$@92N!!hImPajm4Rg0GTTY{{R30 delta 17 YcmaE1e8-qI$kWa3%0$-ujSU%+06@|P;s5{u diff --git a/sound/direct_sound_samples/sc88pro_wind.wav b/sound/direct_sound_samples/sc88pro_wind.wav index 3856a4af1f466bf7819c1ca21b1b088e12118d3a..1b3c78c42d3a068bd5d3b267bb296ae682718aac 100644 GIT binary patch delta 29 kcmZ3dx=WQc$kWYj(?r&M?!@$@92N!!216l+jm6eN0EWN^?*IS* delta 17 Ycmdm`x=xif$kWYj*+ka-jSW^p05_Wk2LJ#7 diff --git a/sound/direct_sound_samples/sc88pro_xylophone.wav b/sound/direct_sound_samples/sc88pro_xylophone.wav index a08296baa150c79560bdbfcfdf31eb4976124671..59aec0711c3f435ae13487e385df070fd1e3a981 100644 GIT binary patch delta 31 mcmbO)x<-^W$kWYj$wbzC?!@$@92N!!1|=?rjm0`#j0^ycN(XlU delta 17 YcmZ1@I$xAE$kWYj`b5_JjSbpd05eVnqyPW_ diff --git a/sound/direct_sound_samples/sd90_ambient_tom.wav b/sound/direct_sound_samples/sd90_ambient_tom.wav index 6f390959fc058262ca519177eb7cbecd8c49dc7d..f524a7c882a96084d16fd32c1bba9d9bada6ca8a 100644 GIT binary patch delta 31 mcmZ4Qw8x1x$kWZuWFl)gcVc={4hsVV!zl%ZjnP*W7#RSV)(Fi2 delta 17 YcmdnvwBCs|$kWYDeIjf4#*E7f05`e@JOBUy diff --git a/sound/direct_sound_samples/sd90_classical_detuned_ep1_high.wav b/sound/direct_sound_samples/sd90_classical_detuned_ep1_high.wav index 3c96f1cbca5ab6b36fd306ef27a15ec0723d7253..2940e14a58dd596e91aa7227611a7903d416edda 100644 GIT binary patch delta 29 kcmbQDu|R`0$kWYDVj^okcVc={4hsVV!*pSWjl~Ov0eMFU^#A|> delta 17 YcmZ3WF-3zl$kWY@XCiC<#)bvL05GxzrT_o{ diff --git a/sound/direct_sound_samples/sd90_classical_detuned_ep1_low.wav b/sound/direct_sound_samples/sd90_classical_detuned_ep1_low.wav index 39e25a89ce0fbaee60319066f5a0b9aef64e6838..f1f8dac7980ffd84e2a661461282d3e6d75306be 100644 GIT binary patch delta 31 mcmccY`@okq$kWa3#zfY9?!@$@92N!!hA=gTjl~ISj0^y-dI=){ delta 17 YcmaFhd)b#Y$kWa3^hDPDjScZ?078NX00000 diff --git a/sound/direct_sound_samples/sd90_classical_distortion_guitar_high.wav b/sound/direct_sound_samples/sd90_classical_distortion_guitar_high.wav index 097d91f734fd8039cdeb318c39ecaf52bc9ad036..23ab4ff4574d46658c0ee25d74bd17e44e9bd50b 100644 GIT binary patch delta 44 zcmcbU@FIaV$kWX&VIph3NMd?Y4hsVV!+m`QhLpsT#0NlnVx!%}39K9U&(#M2P?`@d delta 17 YcmaEna3_H^$kWX&WFl++#)cRA07EVZQUCw| diff --git a/sound/direct_sound_samples/sd90_classical_distortion_guitar_low.wav b/sound/direct_sound_samples/sd90_classical_distortion_guitar_low.wav index d281d77572ae320f2a01c8d68bb6685058d8db62..475a15e82c0f37a9f987cb0e5b968b88ff272317 100644 GIT binary patch delta 45 zcmdlRc`A}M$kWa3&_vdJk;L?*92N!!1_vDmhLpsTL`NV!vC(GY1lEOnbr=}{Mwtyw delta 17 YcmX>Vxi^wE$kWYj>qOT4jSZeU06<{9 diff --git a/sound/direct_sound_samples/sd90_classical_overdrive_guitar.wav b/sound/direct_sound_samples/sd90_classical_overdrive_guitar.wav index 7380be1e1b36148298d2b686aa34ece7e7b38444..231c987087385f96c7da190ef11cae5f67657e5b 100644 GIT binary patch delta 31 mcmca<`^=U#$kWa3-bB`X?!@$@92N!!h8Q`9jm2qlj0^y*ya^Ei delta 17 YcmaE6d()OR$kWa3;zZW`jSZ=C06~@p@Bjb+ diff --git a/sound/direct_sound_samples/sd90_classical_shakuhachi.wav b/sound/direct_sound_samples/sd90_classical_shakuhachi.wav index 587cee2cb7e3db72d196ae35add2f7f1d420a326..62609c87b0aa6289edd0ede8a334add2bad01703 100644 GIT binary patch delta 46 zcmZ2jv95wO$kWYDZ6a&FNMd?Y4hsVV!xC!-hLpsT#HB!bVq?_A39K7$yIC_b002`y B4n6pdQFry$kWa3+(g!V?!@$@92N!!1|Keljm2SHj0^yr;0Q?o delta 17 Ycmca6dQy}%$kWa3;6&E^jSZn(06H=TOaK4? diff --git a/sound/direct_sound_samples/sd90_cowbell.wav b/sound/direct_sound_samples/sd90_cowbell.wav index 9c35bf6541043ffd4b3bdd8f5e88dc01dc1869ec..7e5bd335417d93f8d553a53db4349b5cb2610301 100644 GIT binary patch delta 31 mcmeAcnIXa&ehlPQGVHqdG#^?>4j0^yP5eJU| delta 17 YcmbOs(k;RojYVx!H(39K9Uu2W!S003-% B4<7&k delta 17 Ycmez2^xBCv$kWX&c_M56#)j_-074=ML;wH) diff --git a/sound/direct_sound_samples/sd90_open_triangle.wav b/sound/direct_sound_samples/sd90_open_triangle.wav index 92df2b30741f79f468d85e8b99adfecf002f7506..415054e23c48b8c2c5b39e72ae68ddb7012a1893 100644 GIT binary patch delta 31 mcmX>udqtKt$kWa3%tY33?!@$@92N!!h9o|QjnO%Lj0^ys76?}W delta 17 Ycmca2dt8<^$kWYj|3udCjTzZ|06IbjKmY&$ diff --git a/sound/direct_sound_samples/sd90_solo_snare.wav b/sound/direct_sound_samples/sd90_solo_snare.wav index ad5d87284451db8657407ba60fc1a38f247cdac9..7ff2c98e49ccb6fca6e87fac7af348632f167523 100644 GIT binary patch delta 31 mcmX?Ve94$K$kWa3)I`>B?!@$@92N!!h6G85jnP?>j0^yw%?OVG delta 29 lcmca)eAJjV$kWYj??l#cj+Dfb#6(F3hKYqv8#l>I0sxuq3C{ok diff --git a/sound/direct_sound_samples/sd90_special_scream_drive.wav b/sound/direct_sound_samples/sd90_special_scream_drive.wav index 8b4b563ac75d3d60f7be6bea022e995132119ef5..3f974062693f812d438afd52a90f73fcdfce38c0 100644 GIT binary patch delta 29 kcmZ2txWSM$$kWYj#YEP8?!@$@92N!!26YLBjm3r%0EQq3;Q#;t delta 17 YcmdmBxWte($kWYj&P3MyjSU7805@d?{Qv*} diff --git a/sound/direct_sound_samples/steinway_b_piano.wav b/sound/direct_sound_samples/steinway_b_piano.wav index 5a4d94b0a8976e3d16bb2a81f6464732389be043..ef5a4849c3737ffc9ef7dca7fc314d236e49b715 100644 GIT binary patch delta 46 zcmZ3hvP*?E$kWZuXd-LANMd?Y4hsVV!v;YHhLpsT#En3DVx#rM39K9U6bdpj001^q B4M6|^ delta 17 Ycmdm`vQ~vP$kWYDbs}s2#)h4O05oF;0RR91 diff --git a/sound/direct_sound_samples/trinity_30303_mega_bass.wav b/sound/direct_sound_samples/trinity_30303_mega_bass.wav index 6ad677b7d849824ef1ec1704f4c5287bd22c242e..6a6e249a475591d46a6c223d47da127dce2c1321 100644 GIT binary patch delta 31 mcmX@^aK(W&$kWZuXCiApcVc={4hsVV!zp=&jm1~w85sbgM+rXw delta 17 YcmccOaNL14$kWZuej;oB#)ixC06YB#uK)l5 diff --git a/sound/direct_sound_samples/trinity_big_boned.wav b/sound/direct_sound_samples/trinity_big_boned.wav index 7f42b9fcd985f60eed300051b50003b1725e79d4..5967713d6540011c4a5f5860c9e90a82f127ec19 100644 GIT binary patch delta 32 ncmX?|b|Z~7$kWX&U?OWiPhxsf4hsVV!#N`chK(iHjTjjKwAu;A delta 17 YcmcbSb~=qU$kWZuc_M56#)j)g06{DV9smFU diff --git a/sound/direct_sound_samples/trinity_cymbal_crash.wav b/sound/direct_sound_samples/trinity_cymbal_crash.wav index c3e52d3e2901e975a3a219188cec4a6cf0d9fcf0..36337b641c240ee15489121e386e08e71be4fcb2 100644 GIT binary patch delta 29 kcmX>nbW4ae$kWX&Xd-JqcVc={4hsVV!$l5;jm5V)0Ed_e)c^nh delta 17 Ycmca5bWVsh$kWZuZ6a&_#)exQ05_KgR{#J2 diff --git a/sound/direct_sound_samples/unknown_01.wav b/sound/direct_sound_samples/unknown_01.wav index 75d05e7f4d1dd07da9b28add5b385fccd7a716c7..4e069d0bfd7eb8a331555d3f34a219092c6733bb 100644 GIT binary patch delta 29 kcmbQCwM2_G$kWYDW+H1icVc={4hsVV!)6hNjnR8W0D1-p4*&oF delta 17 YcmZ3YHA9Ov$kWYDU?OYy#*95805JyzqW}N^ diff --git a/sound/direct_sound_samples/unknown_02.wav b/sound/direct_sound_samples/unknown_02.wav index 1a25b1fe18a99ffecc2a0b33f73aba35cb014970..7c87e021b4a620c769dcb2f9d37e20919a703df9 100644 GIT binary patch delta 29 kcmca(@xp>N$kWX&VIpfjcVc={4hsVV!+mLnjm0me0hGrHjQ{`u delta 17 YcmaE1amRu+$kWX&WFl++#)cQt06uC4?f?J) diff --git a/sound/direct_sound_samples/unknown_03.wav b/sound/direct_sound_samples/unknown_03.wav index 1a64c4b25de0f448361877493e48bb522b96b027..922f43db1b55972afeaaf7e8ec603885bcd7360a 100644 GIT binary patch delta 31 mcmbQQu||V6$kWYDWg=@ncVc={4hsVV!y;jZjm2w(85sbLdk8N8 delta 17 YcmZ3ZF<*l<$kWYDd?IW9#)j3x05XvU(*OVf diff --git a/sound/direct_sound_samples/unknown_04.wav b/sound/direct_sound_samples/unknown_04.wav index a278be2758cb0a4e3c51292e4349f1aa0d6fce49..d2d216aa9d69c5c03461af1806667e7e8d0e7f23 100644 GIT binary patch delta 31 mcmaFs`^%R#$kWa3(?r&M?!@$@92N!!h5|K)jm1@Jj0^y{APJ=a delta 17 Ycmez6`_`8=$kWa3=|tB2jSZD*07k|KXaE2J diff --git a/sound/direct_sound_samples/unknown_05.wav b/sound/direct_sound_samples/unknown_05.wav index dd5eee1d2c37474930eabb840d64340ed47a1614..c344cc5c6f158754dc357b1bcda7370ba1b00b9d 100644 GIT binary patch delta 31 mcmeyU_D_v9$kWZOY$9tucVc={4hsVV!xtfjjm7_j7#RSoY6-&t delta 17 YcmeyT_EC*B$kWX&b0Ta0#)iK_06)kF761SM diff --git a/sound/direct_sound_samples/unknown_06.wav b/sound/direct_sound_samples/unknown_06.wav index 396eb3e72148fd8c848cabd45a0a04c9eb6ddbaf..01ac24db5f5c3e525d268c56c0559a0afedf9b17 100644 GIT binary patch delta 31 mcmezB)a1+>ehlPQG;fDgl#$qN#Mg{<(cL=Qj delta 17 YcmZp2{_4aUehlPQG;lCoo#$rw-0Ftx_(*OVf delta 17 YcmeBh{o}$Kiuw8&P$kWYDegv_*(D$kWYDXCiC<#)bnN05eks?*IS* diff --git a/sound/direct_sound_samples/unknown_12.wav b/sound/direct_sound_samples/unknown_12.wav index 146db2c348a491d1ef5f2a1f4b27e64c2be7bc10..39d75f2de49747c75295da336f60ead615e05424 100644 GIT binary patch delta 29 kcmew((ILqiehlPQG;XgOS#$rw$0Ep5EPXGV_ delta 17 YcmeB>{3F2{{d05xj`pa1{> diff --git a/sound/direct_sound_samples/unknown_13.wav b/sound/direct_sound_samples/unknown_13.wav index 1618ea28b51cfcc5265bc5d18224e80b974ba86c..79fe36dc1be0078c96dd83040eb3a72e7e3d1c9f 100644 GIT binary patch delta 32 ncmew@-XXyj_$|&BehlPQGp__|gWARij0C7MEg8%>k delta 17 YcmbOt)*;3kgyhWHb$kWYj%|zDxjSUW*05)<3@&Et; diff --git a/sound/direct_sound_samples/unknown_16.wav b/sound/direct_sound_samples/unknown_16.wav index 72cf7dcc952bfade1f98ddce1cc80b1f5714dad6..a13c322bfeaa942af3b492112ce2cd22b124cc2d 100644 GIT binary patch delta 31 mcmdlidO(yl$kWYj$3)hA?!@$@92N!!1~V>(jl~XJj0^yjwg=k) delta 17 YcmX>gx>=Mp$kWYj^+eYEjSco(05+Bd^Z)<= diff --git a/sound/direct_sound_samples/unknown_17.wav b/sound/direct_sound_samples/unknown_17.wav index 5a277f7d44bfb39217d1d4c6b620b25bc6ac59ed..639dd8fcc8a6251b71c417e8aa248158d03029f1 100644 GIT binary patch delta 31 mcmew?*&xLlq$kWX&Ya(kncVc={4hsViurO?l=3-%F005DQ2QL5s delta 17 Ycmeyw@sxu#$kWX&b|P!|#tcpt05`4$ga7~l diff --git a/sound/direct_sound_samples/unknown_female_voice.wav b/sound/direct_sound_samples/unknown_female_voice.wav index 44e73b3395e585a50301a5e0ff605953892f7e07..75ebea6183828d9a279a0f463fea7ab0a02c5b85 100644 GIT binary patch delta 31 mcmZ3lyGNHb$kWYj%S6_E?!@$@92N!!1|u diff --git a/sound/direct_sound_samples/unknown_synth_snare.wav b/sound/direct_sound_samples/unknown_synth_snare.wav index 774194423df0cf303c2d4617b1cf73c7eb1ca5b4..1ec62fb57617ab506356865da8fcd812d9b7e164 100644 GIT binary patch delta 31 mcmew^(jv+lehlPQG;TI>v#$pyOMg{{Vu{9k diff --git a/sound/direct_sound_samples/unused_guitar_separates_power_chord.wav b/sound/direct_sound_samples/unused_guitar_separates_power_chord.wav index c75373087bac616d30afd7f229692c6b60771a98..4dae4f0f7aabb1f28dbb25637d0e12420b5985c9 100644 GIT binary patch delta 48 zcmeyb)}ziEh($ delta 17 YcmaDLdqtKt$kWa3%tY4kjTseu06bF$a{vGU diff --git a/sound/direct_sound_samples/unused_sc55_tom.wav b/sound/direct_sound_samples/unused_sc55_tom.wav index b4c225827fd1bd9a7cc9b94b806efbb978b8565a..944e1031f52d70ea48399c0a2efbe61c834dba57 100644 GIT binary patch delta 29 kcmZ3bxJ{8Y$kWYj-9*-W?!@$@92N!!23-M$jm72y0EC7I&j0`b delta 17 Ycmdm{xJr>V$kWYj(L~n#jSXf305*9A?EnA( diff --git a/sound/direct_sound_samples/unused_sc88pro_unison_slap.wav b/sound/direct_sound_samples/unused_sc88pro_unison_slap.wav index 690cbc9183ba660ba0ee7282f15e5161a71bca2d..e9f48d6ff74573550e5815b991d719a0cdf08a05 100644 GIT binary patch delta 31 mcmaEw^C^cl$kWX&Ya(ktcVc={4hsVV!wXY}jm4i#85sb$QwmuC delta 17 YcmeyA^E8Jw$kWX&b|P#3#)glk07fSVl>h($ diff --git a/sound/direct_sound_samples/unused_sd90_oboe.wav b/sound/direct_sound_samples/unused_sd90_oboe.wav index e7609ed53dd25fa74368bc4097d232185cfb3415..6ffcb4e00313ed1b51ac6f4672dbe13ebbae0a51 100644 GIT binary patch delta 44 zcmbOrHb;y#$kWYDWFl+6NMd?Y4hsVV!(=W7hLpsT#3?{}Vx#rM39K9Ugm3`>1N01E delta 17 YcmbOuHbIOv$kWY@V(pitch * 1024.0); } + uint32_t loop_end = wf.loopEnd; + if (wf.agbLoopEnd != 0) { + loop_end = wf.agbLoopEnd; + } + if (ot == out_type::binary) { // Binary output mode std::vector bin_data; @@ -414,8 +419,7 @@ void convert(const std::string& wav_file_str, const std::string& out_file_str, bin_write_u32_le(bin_data, wf.loopStart); // Bytes 12-15: loop end - // wf.loopEnd is the exclusive end position; binary format expects (end - 1) - bin_write_u32_le(bin_data, wf.loopEnd > 0 ? wf.loopEnd - 1 : 0); + bin_write_u32_le(bin_data, loop_end); // Write sample data if (ct == cmp_type::none) @@ -447,7 +451,7 @@ void convert(const std::string& wav_file_str, const std::string& out_file_str, agb_out(fout, " .byte 0x%X, 0x0, 0x0, 0x%X\n", fmt, wf.loopEnabled ? 0x40 : 0x0); agb_out(fout, " .word 0x%08X @ Mid-C ~%f\n", pitch_value, pitch); - agb_out(fout, " .word %u, %u\n", wf.loopStart, wf.loopEnd); + agb_out(fout, " .word %u, %u\n", wf.loopStart, loop_end); if (ct == cmp_type::none) convert_uncompressed(wf, fout); diff --git a/tools/wav2agb/wav_file.cpp b/tools/wav2agb/wav_file.cpp index 4b242c5c00..4d21b72eb4 100644 --- a/tools/wav2agb/wav_file.cpp +++ b/tools/wav2agb/wav_file.cpp @@ -169,6 +169,12 @@ wav_file::wav_file(const std::string& path) : loadBuffer(loadChunkSize) if (chunkLen >= 4) { this->agbPitch = arr_u32(agbpChunk, 0); } + } else if (chunkId == "agbl") { + // Custom chunk: exact loop end override (handles off-by-one from original game) + std::vector agblChunk = read_arr(ifs, chunkLen); + if (chunkLen >= 4) { + this->agbLoopEnd = arr_u32(agblChunk, 0); + } } else { //fprintf(stderr, "WARNING: ignoring unknown chunk type: <%s>\n", chunkId.c_str()); ifs.seekg(chunkLen, ifs.cur); diff --git a/tools/wav2agb/wav_file.h b/tools/wav2agb/wav_file.h index b88da4eeb6..c529a0b88a 100644 --- a/tools/wav2agb/wav_file.h +++ b/tools/wav2agb/wav_file.h @@ -35,4 +35,5 @@ public: uint8_t midiKey = 60; uint32_t sampleRate; uint32_t agbPitch = 0; // optional: exact GBA pitch value from 'agbp' chunk (0 = not present) + uint32_t agbLoopEnd = 0; // optional: exact loop end from 'agbl' chunk (0 = not present) }; From 163c8a43211bb846306e886d58449c71ef3145cb Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 28 Dec 2025 08:50:34 -0600 Subject: [PATCH 15/17] Add --set-agbl option to wav2agb --- tools/wav2agb/README.md | 30 ++++++++- tools/wav2agb/wav2agb.cpp | 36 ++++++++++- tools/wav2agb/wav_file.cpp | 129 ++++++++++++++++++++++++++++++------- tools/wav2agb/wav_file.h | 12 ++++ 4 files changed, 180 insertions(+), 27 deletions(-) diff --git a/tools/wav2agb/README.md b/tools/wav2agb/README.md index 86f2660231..3b8b32e9b8 100644 --- a/tools/wav2agb/README.md +++ b/tools/wav2agb/README.md @@ -6,9 +6,12 @@ This copy has been slightly modified from [ipatix's original implementation](htt 2. Support reading an override "pitch" value from a custom `agbp` RIFF chunk. - This is needed to properly match some samples, due to float-point rounding errors when attempting to infer the pitch/sample rate from the .wav file's sample rate. - If the custom `agbp` chunk isn't present, it will simply use the .wav's sample rate to calculate this "pitch" value. -3. Optionally omits trailing padding from compressed output. +3. Support reading an override "loop end" value from a custom `agbl` RIFF chunk. + - This is needed to properly match vanilla samples, due their their inherent off-by-one error (the last sample is mistakenly ignored). + - This `agbl` chunk can be added to existing .wav files with the `--set-agbl` option (described below). +4. Optionally omits trailing padding from compressed output. -Usage: +Usage: ``` Usage: wav2agb [options] [] @@ -24,6 +27,29 @@ Options: --tune | override tuning (float) --key | override midi key (int) --rate | override base samplerate (int) +--set-agbl | adds the custom agbl chunk to the given input .wav file ``` Flag -c enables compression (only supported by Pokemon Games) + +## Adding agbl Chunk to WAV Files + +The `--set-agbl` option allows you to add or update the custom `agbl` chunk in a WAV file. When this option is used, `wav2agb` will output a WAV file with the agbl chunk added, rather than converting to `.s` or `.bin` format. + +The loop-end value can be specified as either: +- **Positive value**: Used as an absolute sample position +- **Negative value**: Treated as an offset from the end of the file + +This is useful for correcting the off-by-one loop-end error in vanilla samples. The typical fix is `--set-agbl -1`, which sets the loop-end to `(total_samples - 1)`. + +Example: +```bash +# Set agbl to (total_samples - 1), the most common case for fixing the off-by-one error +wav2agb --set-agbl -1 input.wav + +# Set agbl chunk to specific sample position 12345 +wav2agb --set-agbl 12345 input.wav output.wav + +# If no output file is specified, the input file is modified in place +wav2agb --set-agbl -1 input.wav +``` diff --git a/tools/wav2agb/wav2agb.cpp b/tools/wav2agb/wav2agb.cpp index be018abad6..2d4a84517e 100644 --- a/tools/wav2agb/wav2agb.cpp +++ b/tools/wav2agb/wav2agb.cpp @@ -7,6 +7,7 @@ #include #include "converter.h" +#include "wav_file.h" static void usage() { fprintf(stderr, "wav2agb\n"); @@ -25,6 +26,7 @@ static void usage() { fprintf(stderr, "--tune | override tuning (float)\n"); fprintf(stderr, "--key | override midi key (int)\n"); fprintf(stderr, "--rate | override base samplerate (int)\n"); + fprintf(stderr, "--set-agbl | adds the custom agbl chunk to the given input .wav file\n"); exit(1); } @@ -106,6 +108,8 @@ static bool arg_input_file_read = false; static bool arg_output_file_read = false; static std::string arg_input_file; static std::string arg_output_file; +static bool arg_set_agbl = false; +static int32_t arg_agbl_value = 0; int main(int argc, char *argv[]) { try { @@ -163,6 +167,11 @@ int main(int argc, char *argv[]) { die("--rate: missing parameter"); uint32_t rate = static_cast(std::stoul(argv[i], nullptr, 10)); set_wav_rate(rate); + } else if (st == "--set-agbl") { + if (++i >= argc) + die("--set-agbl: missing parameter"); + arg_agbl_value = std::stoi(argv[i], nullptr, 10); + arg_set_agbl = true; } else { if (st == "--") { if (++i >= argc) @@ -191,7 +200,9 @@ int main(int argc, char *argv[]) { if (!arg_output_file_read) { // create output file name if none is provided - if (arg_output_type == out_type::binary) { + if (arg_set_agbl) { + arg_output_file = arg_input_file; + } else if (arg_output_type == out_type::binary) { arg_output_file = filename_without_ext(arg_input_file) + ".bin"; } else { arg_output_file = filename_without_ext(arg_input_file) + ".s"; @@ -204,6 +215,29 @@ int main(int argc, char *argv[]) { fix_str(arg_sym); } + if (arg_set_agbl) { + // Parse the WAV file once to get both chunks and metadata + wav_file wav(arg_input_file); + + // Calculate actual loop-end value + uint32_t loop_end_value; + if (arg_agbl_value < 0) { + // Negative value: offset from end of samples + int64_t calculated = static_cast(wav.numSamples) + arg_agbl_value; + if (calculated < 0) { + die("--set-agbl: negative offset %d exceeds total samples %u\n", + arg_agbl_value, wav.numSamples); + } + loop_end_value = static_cast(calculated); + } else { + // Positive value: use directly + loop_end_value = static_cast(arg_agbl_value); + } + + write_wav_with_agbl_chunk(arg_output_file, wav.chunks, loop_end_value); + return 0; + } + convert(arg_input_file, arg_output_file, arg_sym, arg_compress, arg_output_type); return 0; } catch (const std::exception& e) { diff --git a/tools/wav2agb/wav_file.cpp b/tools/wav2agb/wav_file.cpp index 4d21b72eb4..79cfed5d79 100644 --- a/tools/wav2agb/wav_file.cpp +++ b/tools/wav2agb/wav_file.cpp @@ -4,6 +4,7 @@ #include #include #include +#include static uint32_t read_u32(std::ifstream& ifs) { @@ -13,6 +14,16 @@ static uint32_t read_u32(std::ifstream& ifs) return retval; } +static void write_u32(std::ofstream& ofs, uint32_t value) +{ + uint8_t bytes[4]; + bytes[0] = value & 0xFF; + bytes[1] = (value >> 8) & 0xFF; + bytes[2] = (value >> 16) & 0xFF; + bytes[3] = (value >> 24) & 0xFF; + ofs.write(reinterpret_cast(bytes), sizeof(bytes)); +} + //static uint16_t read_u16(std::ifstream& ifs) //{ // uint8_t lenBytes[2]; @@ -105,16 +116,21 @@ wav_file::wav_file(const std::string& path) : loadBuffer(loadChunkSize) if (curPos + std::streampos(8) + std::streampos(chunkLen) > len) throw std::runtime_error("ERROR: chunk goes beyond end of file: offset=" + std::to_string(curPos)); + std::vector chunkData = read_arr(ifs, chunkLen); + WavChunk chunk; + chunk.id = chunkId; + chunk.data = chunkData; + this->chunks.push_back(chunk); + if (chunkId == "fmt ") { fmtChunkFound = true; - std::vector fmtChunk = read_arr(ifs, chunkLen); - uint16_t fmtTag = arr_u16(fmtChunk, 0); - uint16_t numChannels = arr_u16(fmtChunk, 2); + uint16_t fmtTag = arr_u16(chunkData, 0); + uint16_t numChannels = arr_u16(chunkData, 2); if (numChannels != 1) throw std::runtime_error("ERROR: input file is NOT mono"); - this->sampleRate = arr_u32(fmtChunk, 4); - uint16_t block_align = arr_u16(fmtChunk, 12); - uint16_t bits_per_sample = arr_u16(fmtChunk, 14); + this->sampleRate = arr_u32(chunkData, 4); + uint16_t block_align = arr_u16(chunkData, 12); + uint16_t bits_per_sample = arr_u16(chunkData, 14); if (fmtTag == 1) { // integer if (block_align == 1 && bits_per_sample == 8) @@ -140,44 +156,41 @@ wav_file::wav_file(const std::string& path) : loadBuffer(loadChunkSize) } } else if (chunkId == "data") { dataChunkFound = true; - dataChunkPos = ifs.tellg(); + // For data chunk, we need to track position in the file for later reading + // The data was already read into chunkData and saved to chunks vector + // But we need to calculate the position for the readData function + // Since we already read the data, we're now past it in the file + dataChunkPos = curPos + std::streampos(8); // Skip chunk ID and size dataChunkEndPos = dataChunkPos + std::streampos(chunkLen); - ifs.seekg(chunkLen, ifs.cur); } else if (chunkId == "smpl") { - std::vector smplChunk = read_arr(ifs, chunkLen); - uint32_t midiUnityNote = arr_u32(smplChunk, 12); + uint32_t midiUnityNote = arr_u32(chunkData, 12); this->midiKey = static_cast(std::min(midiUnityNote, 127u)); - uint32_t midiPitchFraction = arr_u32(smplChunk, 16); + uint32_t midiPitchFraction = arr_u32(chunkData, 16); // the values below convert the uint32_t range to 0.0 to 100.0 range this->tuning = static_cast(midiPitchFraction) / (4294967296.0 * 100.0); - uint32_t numLoops = arr_u32(smplChunk, 28); + uint32_t numLoops = arr_u32(chunkData, 28); if (numLoops > 1) throw std::runtime_error("ERROR: too many loops in smpl chunk"); if (numLoops == 1) { - uint32_t loopType = arr_u32(smplChunk, 36 + 4); + uint32_t loopType = arr_u32(chunkData, 36 + 4); if (loopType != 0) throw std::runtime_error("ERROR: loop type not supported: " + std::to_string(loopType)); - this->loopStart = arr_u32(smplChunk, 36 + 8); + this->loopStart = arr_u32(chunkData, 36 + 8); // sampler chunks tell the last sample to be played (so including rather than excluding), thus +1 - this->loopEnd = arr_u32(smplChunk, 36 + 12) + 1; + this->loopEnd = arr_u32(chunkData, 36 + 12) + 1; this->loopEnabled = true; } } else if (chunkId == "agbp") { // Custom chunk: exact GBA pitch value (sample_rate * 1024) // This allows perfect round-trip conversion without period-based precision loss - std::vector agbpChunk = read_arr(ifs, chunkLen); if (chunkLen >= 4) { - this->agbPitch = arr_u32(agbpChunk, 0); + this->agbPitch = arr_u32(chunkData, 0); } } else if (chunkId == "agbl") { // Custom chunk: exact loop end override (handles off-by-one from original game) - std::vector agblChunk = read_arr(ifs, chunkLen); if (chunkLen >= 4) { - this->agbLoopEnd = arr_u32(agblChunk, 0); + this->agbLoopEnd = arr_u32(chunkData, 0); } - } else { - //fprintf(stderr, "WARNING: ignoring unknown chunk type: <%s>\n", chunkId.c_str()); - ifs.seekg(chunkLen, ifs.cur); } /* https://en.wikipedia.org/wiki/Resource_Interchange_File_Format#Explanation @@ -191,8 +204,8 @@ wav_file::wav_file(const std::string& path) : loadBuffer(loadChunkSize) if (!dataChunkFound) throw std::runtime_error("ERROR: data chunk not found"); - uint32_t numSamples = static_cast(dataChunkEndPos - dataChunkPos) / fmt_size(); - this->loopEnd = std::min(this->loopEnd, numSamples); + this->numSamples = static_cast(dataChunkEndPos - dataChunkPos) / fmt_size(); + this->loopEnd = std::min(this->loopEnd, this->numSamples); } wav_file::~wav_file() @@ -291,3 +304,71 @@ load_sample: location++; } } + +// In the future, if wav2agb gains the ability to construct .wav files from .bin files, +// this function should be rolled into that flow. +void write_wav_with_agbl_chunk(const std::string& output_path, + std::vector& chunks, + uint32_t loop_end_value) +{ + bool has_agbl = false; + for (auto& chunk : chunks) { + if (chunk.id == "agbl") { + has_agbl = true; + chunk.data.resize(4); + chunk.data[0] = loop_end_value & 0xFF; + chunk.data[1] = (loop_end_value >> 8) & 0xFF; + chunk.data[2] = (loop_end_value >> 16) & 0xFF; + chunk.data[3] = (loop_end_value >> 24) & 0xFF; + break; + } + } + + if (!has_agbl) { + WavChunk agbl_chunk; + agbl_chunk.id = "agbl"; + agbl_chunk.data.resize(4); + agbl_chunk.data[0] = loop_end_value & 0xFF; + agbl_chunk.data[1] = (loop_end_value >> 8) & 0xFF; + agbl_chunk.data[2] = (loop_end_value >> 16) & 0xFF; + agbl_chunk.data[3] = (loop_end_value >> 24) & 0xFF; + for (size_t i = 0; i < chunks.size(); i++) { + if (chunks[i].id == "data") { + chunks.insert(chunks.begin() + i, agbl_chunk); + break; + } + } + } + + // Calculate total RIFF size + uint32_t total_chunk_size = 0; + for (const auto& chunk : chunks) { + total_chunk_size += 8 + chunk.data.size(); + if (chunk.data.size() % 2 == 1) { + total_chunk_size += 1; + } + } + uint32_t riff_size = 4 + total_chunk_size; + + std::ofstream ofs(output_path, std::ios::binary); + if (!ofs.good()) + throw std::runtime_error("Failed to open output file: " + output_path); + + ofs.write("RIFF", 4); + write_u32(ofs, riff_size); + ofs.write("WAVE", 4); + + for (const auto& chunk : chunks) { + ofs.write(chunk.id.c_str(), 4); + write_u32(ofs, chunk.data.size()); + if (!chunk.data.empty()) { + ofs.write(reinterpret_cast(chunk.data.data()), chunk.data.size()); + } + + if (chunk.data.size() % 2 == 1) { + ofs.put(0); + } + } + + ofs.close(); +} diff --git a/tools/wav2agb/wav_file.h b/tools/wav2agb/wav_file.h index c529a0b88a..cea278970d 100644 --- a/tools/wav2agb/wav_file.h +++ b/tools/wav2agb/wav_file.h @@ -8,6 +8,16 @@ #define WAV_INVALID_VAL 0xFFFFFFFFu +// Structure for WAV chunk utilities +struct WavChunk { + std::string id; + std::vector data; +}; + +void write_wav_with_agbl_chunk(const std::string& output_path, + std::vector& chunks, + uint32_t loop_end_value); + class wav_file { public: wav_file(const std::string& path); @@ -34,6 +44,8 @@ public: double tuning = 0.0; // cents uint8_t midiKey = 60; uint32_t sampleRate; + uint32_t numSamples = 0; // total number of samples in the file uint32_t agbPitch = 0; // optional: exact GBA pitch value from 'agbp' chunk (0 = not present) uint32_t agbLoopEnd = 0; // optional: exact loop end from 'agbl' chunk (0 = not present) + std::vector chunks; // raw chunks from the WAV file (for re-writing with modifications) }; From 9045b9b58216c3cd7fa837630c86bf505fab3de6 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 29 Dec 2025 07:41:43 -0600 Subject: [PATCH 16/17] Remove mistakenly-added test file --- sound/direct_sound_samples/sc88pro_harp.bad.wav | Bin 2728 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 sound/direct_sound_samples/sc88pro_harp.bad.wav diff --git a/sound/direct_sound_samples/sc88pro_harp.bad.wav b/sound/direct_sound_samples/sc88pro_harp.bad.wav deleted file mode 100644 index 3a137c593d2c10341733124b883b6d0b49aec537..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2728 zcmZ{l*N!6j6~-B9FDy%z_6@x6uzN&Oh9Wi%G|&v8o1AkfiX!KnLjjecnXt37 zb7A??vgF6`qxclvim5BN0CVTT61RiMZf!2Boe)VziuQ@!2WBF_Wt)#LgpD#37Cl<|YQs;APjG>Rq&Oc_GoFnVd=t65`OiI%+k6()W%yHVyJs zlxYTjwW>ILzP}>bL3_lno8eoZ_6I|4G2(t@#tAoeeHNUo#_vB8EtfC!>M}g;kKVGA zyg6xqslgYm`PXX}gw?cEA_r=SMhmk^^s?DAO!=c4$E!56 zAExtB<+;06n(Pnz7K%Om^vZ!IdK-o)qL}4GiB=la+Yjp!p3$A$6^m`^ksoETi1g$E z&-ds9)5G%Kiz^?NA99amGl!dBNdu|;WXBVgJf?lEPhhp}yWO%_O32P^X}rO{BZZd+}pRLE^ST_!1ZTx@s|i7A!pG7Q(PRBedNmBkmk z!>-dV7$r)7Do?PxO|=nIUEGAz4SN4>*=+jdSH@VT$L#ilM)@9*+$XUq`^b0OxJjaL zCkspVk?eGmw^!G`WSL+d7p;0gd7%xaJM`nbS+{IQE{u`vkU8u|o!px%$$h-A;6Jd# zcIx(0=}uJ%{y=nVLFL7bKi%5w9~Zrk+jd zt!?-{(XaV$#M)4%wdMJFujo_(GCQC+X41`Cl3ToV4R6smz%uFKBK(tOfL9wLjflvm7xjd30iZINRH@ z%)Ey_sKjrg_?YCVSvz5s%N)m&?W7(yAxclGzM@$u@#)3dK&G={nAITXz7gMru_4qi zJ88QDu|*40ilt`FxJ9aPCMrvs-A*bYBck@Dngq?PhXtQbq7P=kz09hYb*T|cBsbpD z)V!6tSI8Z)(wwBpNiFt9s`e!6D~j2SN9u4v)oE>gydeP3p0|=Vxqw`d z3^}Pr0qITD2?1FQ=p}&cZfJ(+!<2x;M$bs4fSf%erO(LixC~Qje5og7-lvrqgJ>U0 zo{-if5~h4YmKPL5PHPbp0#i1A2kH3=nYKS8>93|FneA9utk(ZOBup7Xf1C1%d|s@= z5i8H3WKw&YvazD*&9D^sZLz(l#e$Y!7W*J9mL_4bRyj;rS(5Z|u~IEeNsu%Fi@lW^ zLzzAZv+RPFGC+>E6bV{BC;=&GDIm?Vqn1!FXes?lORW^N9Be6S(Lo*8^809hx)qQK z+Yz}qA|oa#XxStv8tmi0MGS&{1SICZ0WEVN3@kPcNPDa}gO;cDm_>H&Nz{avN9CYV zs`IDY&?V8w!3%ex>;UQk>AaTNqWDBWHj_4m(itxUa(nc`jW^jKNN_B80RhK$1^e}K zZVj|7c!4_FPyP@CF9^uEMXquus(=)PxswXQK+DH13Bo+J3|kWHcWk*SY{?!kftSDw zLd))CO|b8%7`g*tGi@*i(ZgY6V<_8S)AX{9x`h*yA8i6c%A&ae#d7mT&Much;7%x(9#zw3MCD3VAeX3qC2l}8 z{&a(2xOJx-)JO~=6hekuwDK;6Vdr+C?nNdA?CsDbQwG~9^pc>JM zVP()Vzv>jcDzPC1xyEtxHttl)tg-x<+A)(R3b|xYK+D{AP>bs&$Cb1EW>5=h;l!hD zxJRwJMVC?nxi+A9Zr;J~Xp4W5{T07 zmSbn#yh9~5$8sZzqbKc*MJ~4|3IcN2h#3%-7w$0(PYkL79ioFNq02?T;JlXH!EK3z z^zNWG1>7T`gr_DgNN>4Ih*C)JD&*2l0B%b{dKW!9iQ$;u^t>yixB362x9a!P`@b`y B8VCRY From 13b7dc4401074ba15c592e1196e4e83e86388883 Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Tue, 30 Dec 2025 19:39:09 +0000 Subject: [PATCH 17/17] Document UpdateLegendaryMarkingColor (#2221) --- src/title_screen.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/title_screen.c b/src/title_screen.c index 1d605d1fc0..829361bcb8 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -858,10 +858,10 @@ static void UpdateLegendaryMarkingColor(u8 frameNum) { if ((frameNum % 4) == 0) // Change color every 4th frame { - s32 intensity = Cos(frameNum, 128) + 128; - s32 r = 31 - ((intensity * 32 - intensity) / 256); - s32 g = 31 - (intensity * 22 / 256); - s32 b = 12; + s32 intensity = Cos(frameNum, Q_8_8(0.5)) + Q_8_8(0.5); + u32 r = 31 - Q_8_8_TO_INT(intensity * 31); + u32 g = 31 - Q_8_8_TO_INT(intensity * 22); + u32 b = 12; u16 color = RGB(r, g, b); LoadPalette(&color, BG_PLTT_ID(14) + 15, sizeof(color));