diff --git a/.all-contributorsrc b/.all-contributorsrc index 55ff294842..c01e94a8fc 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -505,6 +505,15 @@ "contributions": [ "data" ] + }, + { + "login": "mrdollsteak", + "name": "mrdollsteak", + "avatar_url": "https://avatars.githubusercontent.com/u/5975698?v=4", + "profile": "https://github.com/mrdollsteak", + "contributions": [ + "data" + ] } ], "contributorsPerLine": 7, diff --git a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml index 2f25421ea0..a8e9c9326a 100644 --- a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml +++ b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml @@ -43,9 +43,10 @@ body: label: Version description: What version of pokeemerald-expansion are you using? options: - - 1.14.1 (Latest release) + - 1.14.2 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.14.1 - 1.14.0 - 1.13.4 - 1.13.3 diff --git a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml index b0ee167021..e6762925b4 100644 --- a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml +++ b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml @@ -43,9 +43,10 @@ body: label: Version description: What version of pokeemerald-expansion are you using? options: - - 1.14.1 (Latest release) + - 1.14.2 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.14.1 - 1.14.0 - 1.13.4 - 1.13.3 diff --git a/.github/ISSUE_TEMPLATE/04_other_errors.yaml b/.github/ISSUE_TEMPLATE/04_other_errors.yaml index 4dcb2b3093..8fa4e94564 100644 --- a/.github/ISSUE_TEMPLATE/04_other_errors.yaml +++ b/.github/ISSUE_TEMPLATE/04_other_errors.yaml @@ -43,9 +43,10 @@ body: label: Version description: What version of pokeemerald-expansion are you using? options: - - 1.14.1 (Latest release) + - 1.14.2 (Latest release) - master (default, unreleased bugfixes) - upcoming (Edge) + - 1.14.1 - 1.14.0 - 1.13.4 - 1.13.3 diff --git a/CREDITS.md b/CREDITS.md index dfec2d747c..98edf01b00 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -83,6 +83,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Eva
Eva

🎨 amiosi
amiosi

πŸ”£ + mrdollsteak
mrdollsteak

πŸ”£ diff --git a/README.md b/README.md index 8094c29e85..c74b22fa29 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you use **`pokeemerald-expansion`**, please credit **RHH (Rom Hacking Hideout)**. Optionally, include the version number for clarity. ``` -Based off RHH's pokeemerald-expansion 1.14.1 https://github.com/rh-hideout/pokeemerald-expansion/ +Based off RHH's pokeemerald-expansion 1.14.2 https://github.com/rh-hideout/pokeemerald-expansion/ ``` Please consider [crediting all contributors](CREDITS.md) involved in the project! diff --git a/asm/macros/map.inc b/asm/macros/map.inc index 56d7387238..04a749026a 100644 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -112,6 +112,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 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/docs/SUMMARY.md b/docs/SUMMARY.md index 1c9235d741..74cf376fbe 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -46,6 +46,7 @@ - [Teachable Learnsets Explanations](tutorials/teachable_learnsets.md) - [Changelog](./CHANGELOG.md) - [1.14.x]() + - [Version 1.14.2](changelogs/1.14.x/1.14.2.md) - [Version 1.14.1](changelogs/1.14.x/1.14.1.md) - [Version 1.14.0](changelogs/1.14.x/1.14.0.md) - [1.13.x]() diff --git a/docs/changelogs/1.14.x/1.14.2.md b/docs/changelogs/1.14.x/1.14.2.md new file mode 100644 index 0000000000..e4807b88cd --- /dev/null +++ b/docs/changelogs/1.14.x/1.14.2.md @@ -0,0 +1,209 @@ +```md +## How to update +- If you haven't set up a remote, run the command `git remote add RHH https://github.com/rh-hideout/pokeemerald-expansion`. +- Once you have your remote set up, run the command `git pull RHH expansion/1.14.2 +`. +``` + +## πŸŒ‹ *REFACTORS* πŸŒ‹ +πŸ“œ = Uses a migration script. +* Renamed Config Test system to more general names by @AsparagusEduardo in [#7283](https://github.com/rh-hideout/pokeemerald-expansion/pull/7283) + +## 🧬 General 🧬 +### Changed +* Fix docs not compiling by @hedara90 in [#8407](https://github.com/rh-hideout/pokeemerald-expansion/pull/8407) +* Update mdbook to v0.5.1 by @rayrobdod in [#8437](https://github.com/rh-hideout/pokeemerald-expansion/pull/8437) +* Add a ci step that checks that documentation md files are mentioned in `docs/SUMMARY.md` by @rayrobdod in [#8439](https://github.com/rh-hideout/pokeemerald-expansion/pull/8439) +* Fix `GEN_6_ORAS` definition by @AsparagusEduardo in [#8537](https://github.com/rh-hideout/pokeemerald-expansion/pull/8537) +* Add different Poke Balls to more Trainers by @amiosi in [#8467](https://github.com/rh-hideout/pokeemerald-expansion/pull/8467) +* Remove another unused deoxys function by @FosterProgramming in [#8576](https://github.com/rh-hideout/pokeemerald-expansion/pull/8576) +* Gorilla Tactics and Test typos fix by @bassforte123 in [#8653](https://github.com/rh-hideout/pokeemerald-expansion/pull/8653) +* Use release instead of LTO in CI by @hedara90 in [#8706](https://github.com/rh-hideout/pokeemerald-expansion/pull/8706) + +### Fixed +* Fix merge error that broke some hgss palette by @FosterProgramming in [#8411](https://github.com/rh-hideout/pokeemerald-expansion/pull/8411) +* Make TRUE and 1 behave the same in config/species_enabled.h by @hedara90 in [#8421](https://github.com/rh-hideout/pokeemerald-expansion/pull/8421) +* Do not add padding to end of smol file when smol is natually word-sized by @rayrobdod in [#8522](https://github.com/rh-hideout/pokeemerald-expansion/pull/8522) +* Align gSpecialVars by @Stevebel in [#8541](https://github.com/rh-hideout/pokeemerald-expansion/pull/8541) +* Fix Safari and Wally backsprites when reshowing battle screen by @AsparagusEduardo in [#8561](https://github.com/rh-hideout/pokeemerald-expansion/pull/8561) +* Fix party pool oob by @hedara90 in [#8581](https://github.com/rh-hideout/pokeemerald-expansion/pull/8581) +* Fix progbits flags for iwram asm functions by @DizzyEggg in [#8627](https://github.com/rh-hideout/pokeemerald-expansion/pull/8627) + +## πŸ—ΊοΈ Overworld πŸ—ΊοΈ +### Fixed +* Fix bug with enterCode default value by @FosterProgramming in [#8438](https://github.com/rh-hideout/pokeemerald-expansion/pull/8438) +* Free the allocated buffer before the second decompression call (hopefully helps) by @FosterProgramming in [#8301](https://github.com/rh-hideout/pokeemerald-expansion/pull/8301) +* Fix truck fade being cancelled by @FosterProgramming in [#8617](https://github.com/rh-hideout/pokeemerald-expansion/pull/8617) +* Refactor dexnav to not use overworld task by @FosterProgramming in [#8602](https://github.com/rh-hideout/pokeemerald-expansion/pull/8602) + +## πŸ‰ PokΓ©mon πŸ‰ +### Changed +* GBA Asset Fixes by @amiosi in [#8382](https://github.com/rh-hideout/pokeemerald-expansion/pull/8382) +* Fix FlabΓ©bΓ© and Floette overworld sprites by @estellarc in [#8511](https://github.com/rh-hideout/pokeemerald-expansion/pull/8511) +* Fix Naclstack and Garganacl shadows by @kittenchilly in [#8698](https://github.com/rh-hideout/pokeemerald-expansion/pull/8698) + +### Fixed +* Fix Summary screen lag with move relearner when there's a lot of TMs by @PCG06 in [#8503](https://github.com/rh-hideout/pokeemerald-expansion/pull/8503) +* Small fix that prevented TM relearner if `P_ENABLE_ALL_TM_MOVES` was `TRUE` by @PCG06 in [#8525](https://github.com/rh-hideout/pokeemerald-expansion/pull/8525) +* Re-colored Gliscor's anim_front.png by @DaniRainbow in [#8341](https://github.com/rh-hideout/pokeemerald-expansion/pull/8341) +* Allow Floette Eternal to mega evolve by @PhallenTree in [#8558](https://github.com/rh-hideout/pokeemerald-expansion/pull/8558) +* Redraw Gurdurr's overworld sprite by @artsquirrelb in [#8625](https://github.com/rh-hideout/pokeemerald-expansion/pull/8625) +* Expansion OW sprites fix by @artsquirrelb in [#8633](https://github.com/rh-hideout/pokeemerald-expansion/pull/8633) +* Fix the game not building with OW_POKEMON_OBJECT_EVENTS disabled by @kittenchilly in [#8654](https://github.com/rh-hideout/pokeemerald-expansion/pull/8654) +* Fix the sprite visualizer not showing asymmetrical follower sprites by @kittenchilly in [#8643](https://github.com/rh-hideout/pokeemerald-expansion/pull/8643) +* Fixes Kingambit evolution conditions by @PhallenTree in [#8689](https://github.com/rh-hideout/pokeemerald-expansion/pull/8689) + +## βš”οΈ Battle General βš”οΈ +### Changed +* Generational Move Changes by @amiosi in [#8405](https://github.com/rh-hideout/pokeemerald-expansion/pull/8405) +* Fix Lunar Dance not checking PP by @AsparagusEduardo in [#8364](https://github.com/rh-hideout/pokeemerald-expansion/pull/8364) + - Added `EFFECT_LUNAR_DANCE`, which is the same as `EFFECT_HEALING_WISH` but also heals PP. +* Fixes Instruct's message by @PhallenTree in [#8543](https://github.com/rh-hideout/pokeemerald-expansion/pull/8543) +* Adds tests for Beak Blast not burning when the target is protected by @PhallenTree in [#8713](https://github.com/rh-hideout/pokeemerald-expansion/pull/8713) + +### Fixed +* Multiple bugfixes (mostly Dancer/called moves) by @PhallenTree in [#8401](https://github.com/rh-hideout/pokeemerald-expansion/pull/8401) +* Fix Costar not copying partner's critical hit boosts by @moostoet in [#8386](https://github.com/rh-hideout/pokeemerald-expansion/pull/8386) +* Fix transform tint applying to every from change on reload by @FosterProgramming in [#8417](https://github.com/rh-hideout/pokeemerald-expansion/pull/8417) +* Fix illusion not breaking properly when behind substitute by @FosterProgramming in [#8423](https://github.com/rh-hideout/pokeemerald-expansion/pull/8423) +* Fix substitute/defog interactions by @FosterProgramming in [#8418](https://github.com/rh-hideout/pokeemerald-expansion/pull/8418) +* Fixes Wind Power/Electromorphosis potentially boosting 2 electric attacks by @PhallenTree in [#8431](https://github.com/rh-hideout/pokeemerald-expansion/pull/8431) +* Add missing breakable flags by @AlexOn1ine in [#8454](https://github.com/rh-hideout/pokeemerald-expansion/pull/8454) +* Adds missing cases for Revenge and Assurance doubling power by @AlexOn1ine in [#8453](https://github.com/rh-hideout/pokeemerald-expansion/pull/8453) +* Fix potential issue when destiny knot fail after proccing from cute charm by @FosterProgramming in [#8459](https://github.com/rh-hideout/pokeemerald-expansion/pull/8459) +* Fix bug when changing forms multiple times by @FosterProgramming in [#8458](https://github.com/rh-hideout/pokeemerald-expansion/pull/8458) +* Fix gimmick icon not appearing correctly in 1v2 by @FosterProgramming in [#8474](https://github.com/rh-hideout/pokeemerald-expansion/pull/8474) +* Give dead mons priority over eggs when assigning battlers by @FosterProgramming in [#8473](https://github.com/rh-hideout/pokeemerald-expansion/pull/8473) +* Environment Fixes by @amiosi in [#8471](https://github.com/rh-hideout/pokeemerald-expansion/pull/8471) +* Fixes Disguise + Counter/Mirror Coat/Metal Burst + Disguise tests by @PhallenTree in [#8495](https://github.com/rh-hideout/pokeemerald-expansion/pull/8495) +* Fix battler side status check in CalcCritChanceStage by @AlexOn1ine in [#8524](https://github.com/rh-hideout/pokeemerald-expansion/pull/8524) +* Fix AI handling of Trick/Bestow and add comprehensive tests by @Cle-bit in [#8516](https://github.com/rh-hideout/pokeemerald-expansion/pull/8516) +* Fix incorrect "last to move" check for Analytic, Snatch, and Magic Coat by @moostoet in [#8536](https://github.com/rh-hideout/pokeemerald-expansion/pull/8536) +* Fix species gfx change in link battles by @AsparagusEduardo in [#8552](https://github.com/rh-hideout/pokeemerald-expansion/pull/8552) +* Fixes Water Sport/Mud Sport when B_SPORT_TURNS < GEN_6 by @PhallenTree in [#8613](https://github.com/rh-hideout/pokeemerald-expansion/pull/8613) +* fix poisons absorbing toxic spikes when fainting from other hazards by @spindrift64 in [#8644](https://github.com/rh-hideout/pokeemerald-expansion/pull/8644) +* Fix incorrectly applied change in atkcanceler by @AlexOn1ine in [#8641](https://github.com/rh-hideout/pokeemerald-expansion/pull/8641) +* Fix transform shininess in link battles by @AlexOn1ine in [#8554](https://github.com/rh-hideout/pokeemerald-expansion/pull/8554) +* Fix Mimic trying to access MOVE_UNAVAILABLE in an incredibly small amount of possible scenarios by @hedara90 in [#8685](https://github.com/rh-hideout/pokeemerald-expansion/pull/8685) +* Fix stat access for stats other than Attack in BS_GetStatValue by @hedara90 in [#8684](https://github.com/rh-hideout/pokeemerald-expansion/pull/8684) +* Add tests for abilities that affect weather by @Cle-bit in [#8709](https://github.com/rh-hideout/pokeemerald-expansion/pull/8709) + +## 🀹 Moves 🀹 +### Fixed +* Fixes incorrect battler used in STRINGID_USEDINSTRUCTEDMOVE by @grintoul1 in [#8704](https://github.com/rh-hideout/pokeemerald-expansion/pull/8704) + +## 🎭 Abilities 🎭 +### Fixed +* Fix some bugs related to abilities by @Cle-bit in [#8695](https://github.com/rh-hideout/pokeemerald-expansion/pull/8695) + +## πŸ€– Battle AI πŸ€– +### Added +* Respect beneficial status in healing moves and add tests by @Cle-bit in [#8478](https://github.com/rh-hideout/pokeemerald-expansion/pull/8478) + +### Fixed +* fix (setup): ignore self-speed drop when checking speed control on KO threshold change by @ghostyboyy97 in [#8409](https://github.com/rh-hideout/pokeemerald-expansion/pull/8409) + - AI now correctly sees that moves like Hammer Arm are self-targeted speed drops on the player when evaluating speed control in setup scenarios. +* fix (hazards): ghosty used rapid spin! ghosty blew the semicolon away! by @ghostyboyy97 in [#8433](https://github.com/rh-hideout/pokeemerald-expansion/pull/8433) + - The AI will now correctly see if the player can prevent hazards on moves with a secondary Stealth Rock effect. +* Fix incorrect Spikes reference in switch AI by @Pawkkie in [#8510](https://github.com/rh-hideout/pokeemerald-expansion/pull/8510) +* Fix AI handling of Trick/Bestow and add comprehensive tests by @Cle-bit in [#8516](https://github.com/rh-hideout/pokeemerald-expansion/pull/8516) +* Fix: AI should not use Helping Hand on a partner with ABILITY_GOOD_AS_GOLD by @Cle-bit in [#8560](https://github.com/rh-hideout/pokeemerald-expansion/pull/8560) +* Fixing crash from Last Resort with Normalium Z in certain damage thresholds by @surskitty in [#8583](https://github.com/rh-hideout/pokeemerald-expansion/pull/8583) +* fix (scoring): AI_IsMoveEffectInPlus - AI should not see secondary effect of Sheer Force boosted moves as beneficial by @ghostyboyy97 in [#8579](https://github.com/rh-hideout/pokeemerald-expansion/pull/8579) + - The AI is now aware if its positive move effects are removed by Sheer Force when evaluating both guaranteed and secondary effects. +* Fix type check in Magnet Rise AI by @grintoul1 in [#8609](https://github.com/rh-hideout/pokeemerald-expansion/pull/8609) +* Fix Commander Dondozo Switching by @Pawkkie in [#8624](https://github.com/rh-hideout/pokeemerald-expansion/pull/8624) +* Prevent AI seeing Pollen Puff damage on its ally by @grintoul1 in [#8693](https://github.com/rh-hideout/pokeemerald-expansion/pull/8693) + +## 🧹 Other Cleanup 🧹 +* Include FEATURES.md in documentation by @AsparagusEduardo in [#8464](https://github.com/rh-hideout/pokeemerald-expansion/pull/8464) +* Fix Lunar Dance not checking PP by @AsparagusEduardo in [#8364](https://github.com/rh-hideout/pokeemerald-expansion/pull/8364) + - Added `EFFECT_LUNAR_DANCE`, which is the same as `EFFECT_HEALING_WISH` but also heals PP. +* Fixes Instruct's message by @PhallenTree in [#8543](https://github.com/rh-hideout/pokeemerald-expansion/pull/8543) +* Fix `GEN_6_ORAS` definition by @AsparagusEduardo in [#8537](https://github.com/rh-hideout/pokeemerald-expansion/pull/8537) +* Automatically fix TM numbers over 100 in Bag menu by @AsparagusEduardo in [#8531](https://github.com/rh-hideout/pokeemerald-expansion/pull/8531) +* Add different Poke Balls to more Trainers by @amiosi in [#8467](https://github.com/rh-hideout/pokeemerald-expansion/pull/8467) +* Remove another unused deoxys function by @FosterProgramming in [#8576](https://github.com/rh-hideout/pokeemerald-expansion/pull/8576) +* Update maintainer list by @pkmnsnfrn in [#8638](https://github.com/rh-hideout/pokeemerald-expansion/pull/8638) + +## πŸ§ͺ Test Runner πŸ§ͺ +### Changed +* Renamed Config Test system to more general names by @AsparagusEduardo in [#7283](https://github.com/rh-hideout/pokeemerald-expansion/pull/7283) +* Create missing hold effect test files by @AsparagusEduardo in [#8397](https://github.com/rh-hideout/pokeemerald-expansion/pull/8397) +* `WITH_CONFIG` Refactor by @AsparagusEduardo in [#7584](https://github.com/rh-hideout/pokeemerald-expansion/pull/7584) + - Changed the way configs into the testing system to occupy less memory and make it easier to add more. + - Fixes inconsistency in enum names. + - Starts reserving the memory necessary to allow testing for all configs. +* Add test for lum berry multi status by @FosterProgramming in [#8430](https://github.com/rh-hideout/pokeemerald-expansion/pull/8430) +* Added missing Move Effect TODO tests - Volume G by @AsparagusEduardo in [#8428](https://github.com/rh-hideout/pokeemerald-expansion/pull/8428) +* Fixed KNOWN_FAILING Dire Claw test by @AsparagusEduardo in [#8442](https://github.com/rh-hideout/pokeemerald-expansion/pull/8442) +* Finished Defog tests by @AsparagusEduardo in [#8424](https://github.com/rh-hideout/pokeemerald-expansion/pull/8424) +* Fix move anim tests sometimes leaking tasks by @hedara90 in [#8493](https://github.com/rh-hideout/pokeemerald-expansion/pull/8493) +* Added tests for stat-changing moves by @AsparagusEduardo in [#8278](https://github.com/rh-hideout/pokeemerald-expansion/pull/8278) +* Expanded `B_EXP_CATCH` test by @AsparagusEduardo in [#8527](https://github.com/rh-hideout/pokeemerald-expansion/pull/8527) +* Fixed `AI_GetSwitchinWeather` not considering `CONFIG_SNOW_WARNING` by @AsparagusEduardo in [#8533](https://github.com/rh-hideout/pokeemerald-expansion/pull/8533) +* Expanded `B_SANDSTORM_SPDEF_BOOST` test by @AsparagusEduardo in [#8532](https://github.com/rh-hideout/pokeemerald-expansion/pull/8532) +* `B_SYMBIOSIS_GEMS` tests by @AsparagusEduardo in [#8534](https://github.com/rh-hideout/pokeemerald-expansion/pull/8534) +* Added Ability TODO tests - Volume D by @AsparagusEduardo in [#8538](https://github.com/rh-hideout/pokeemerald-expansion/pull/8538) +* Finished Wish tests by @AsparagusEduardo in [#8530](https://github.com/rh-hideout/pokeemerald-expansion/pull/8530) +* Add SUB_HIT check to tests by @hedara90 in [#8413](https://github.com/rh-hideout/pokeemerald-expansion/pull/8413) +* Added Light Ball tests by @AsparagusEduardo in [#8526](https://github.com/rh-hideout/pokeemerald-expansion/pull/8526) +* Add debug print to show what move failed in Sheer Force tests by @hedara90 in [#8523](https://github.com/rh-hideout/pokeemerald-expansion/pull/8523) +* `B_STURDY` config test by @AsparagusEduardo in [#8565](https://github.com/rh-hideout/pokeemerald-expansion/pull/8565) +* `B_KLUTZ_FLING_INTERACTION` config test by @AsparagusEduardo in [#8568](https://github.com/rh-hideout/pokeemerald-expansion/pull/8568) +* `B_IRON_BALL` config test by @AsparagusEduardo in [#8569](https://github.com/rh-hideout/pokeemerald-expansion/pull/8569) +* `B_SYNCHRONIZE_TOXIC` config test by @AsparagusEduardo in [#8572](https://github.com/rh-hideout/pokeemerald-expansion/pull/8572) +* `B_BURN_DAMAGE` config tests by @AsparagusEduardo in [#8574](https://github.com/rh-hideout/pokeemerald-expansion/pull/8574) +* `B_REDIRECT_ABILITY_IMMUNITY` config tests by @AsparagusEduardo in [#8571](https://github.com/rh-hideout/pokeemerald-expansion/pull/8571) +* `B_UPDATED_CONVERSION_2` config tests by @AsparagusEduardo in [#8573](https://github.com/rh-hideout/pokeemerald-expansion/pull/8573) +* `B_TAILWIND_TURNS` config tests by @AsparagusEduardo in [#8592](https://github.com/rh-hideout/pokeemerald-expansion/pull/8592) +* `B_BINDING_TURNS` config tests by @AsparagusEduardo in [#8595](https://github.com/rh-hideout/pokeemerald-expansion/pull/8595) +* `B_SPORT_DMG_REDUCTION` config tests by @AsparagusEduardo in [#8593](https://github.com/rh-hideout/pokeemerald-expansion/pull/8593) +* Add tests for Intrepid Sword and Dauntless Shield at max stages by @FosterProgramming in [#8610](https://github.com/rh-hideout/pokeemerald-expansion/pull/8610) +* Add some missing tests for heatproof, thick fat and grudge by @izrofid in [#8705](https://github.com/rh-hideout/pokeemerald-expansion/pull/8705) +* Adds tests for Beak Blast not burning when the target is protected by @PhallenTree in [#8713](https://github.com/rh-hideout/pokeemerald-expansion/pull/8713) + +### Fixed +* Fix random function in testing trying to run trials when rng tag is 0/RNG_NONE by @FosterProgramming in [#8460](https://github.com/rh-hideout/pokeemerald-expansion/pull/8460) +* Fix AI handling of Trick/Bestow and add comprehensive tests by @Cle-bit in [#8516](https://github.com/rh-hideout/pokeemerald-expansion/pull/8516) +* Corrects test system Forced Ability handing for multi battles by @grintoul1 in [#8611](https://github.com/rh-hideout/pokeemerald-expansion/pull/8611) +* Fix Status1 icon not being registered for recorded partner in tests by @AsparagusEduardo in [#8520](https://github.com/rh-hideout/pokeemerald-expansion/pull/8520) +* Prevent AI seeing Pollen Puff damage on its ally by @grintoul1 in [#8693](https://github.com/rh-hideout/pokeemerald-expansion/pull/8693) +* Fix some bugs related to abilities by @Cle-bit in [#8695](https://github.com/rh-hideout/pokeemerald-expansion/pull/8695) +* Add tests for abilities that affect weather by @Cle-bit in [#8709](https://github.com/rh-hideout/pokeemerald-expansion/pull/8709) + +## πŸ“š Documentation πŸ“š +* Fix docs not compiling by @hedara90 in [#8407](https://github.com/rh-hideout/pokeemerald-expansion/pull/8407) +* Add a ci step that checks that documentation md files are mentioned in `docs/SUMMARY.md` by @rayrobdod in [#8439](https://github.com/rh-hideout/pokeemerald-expansion/pull/8439) +* Include FEATURES.md in documentation by @AsparagusEduardo in [#8464](https://github.com/rh-hideout/pokeemerald-expansion/pull/8464) +* Document magic number in `createspriteontargets` by @AsparagusEduardo in [#8551](https://github.com/rh-hideout/pokeemerald-expansion/pull/8551) +* fix CONTRIBUTING.md by @u8-Salem in [#8577](https://github.com/rh-hideout/pokeemerald-expansion/pull/8577) +* Update maintainer list by @pkmnsnfrn in [#8638](https://github.com/rh-hideout/pokeemerald-expansion/pull/8638) + +## πŸ“¦ Branch Synchronisation πŸ“¦ +### pret +* 1st of January, 2026 in [#8737](https://github.com/rh-hideout/pokeemerald-expansion/pull/8737) + * Document UpdateLegendaryMarkingColor by @mrgriffin in [pret#2221](https://github.com/pret/pokeemerald/pull/2221) + * Fix some typos by @Jaizu in [pret#2219](https://github.com/pret/pokeemerald/pull/2219) + * Document m4a xcmd_0C by @ShinyDragonHunter in [pret#2218](https://github.com/pret/pokeemerald/pull/2218) + * Fixed pokenav glow issue by @shachar700 in [pret#2215](https://github.com/pret/pokeemerald/pull/2215) + * Added bugfix for missing no weather case in Cmd_weather_get by @Mitsunee in [pret#2203](https://github.com/pret/pokeemerald/pull/2203) + * Label unused functions in siirtc.c, m4a.c & rtc.c with the "UNUSED" attribute by @ShinyDragonHunter in [pret#2171](https://github.com/pret/pokeemerald/pull/2171) + * Add fix for possible crash when decompressing trainer back pics by @GriffinRichards in [pret#2074](https://github.com/pret/pokeemerald/pull/2074) + * Change rangeX and rangeY to u8 in ObjectEvent struct by @NTx86 in [pret#2176](https://github.com/pret/pokeemerald/pull/2176) + * Fix sScrollableMultichoice_ListMenuItem allocation size magic number by @NTx86 in [pret#2177](https://github.com/pret/pokeemerald/pull/2177) + * Name pokemon summary screen remaining unnamed symbols by @FosterProgramming in [pret#2178](https://github.com/pret/pokeemerald/pull/2178) + * Fix FLAG_REGISTERED_WALLY by @mrgriffin in [pret#2201](https://github.com/pret/pokeemerald/pull/2201) + * Display error for invalid hidden item flags by @GriffinRichards in [pret#2214](https://github.com/pret/pokeemerald/pull/2214) + +## New Contributors +* @Stevebel made their first contribution in [#8541](https://github.com/rh-hideout/pokeemerald-expansion/pull/8541) +* @DaniRainbow made their first contribution in [#8341](https://github.com/rh-hideout/pokeemerald-expansion/pull/8341) +* @artsquirrelb made their first contribution in [#8625](https://github.com/rh-hideout/pokeemerald-expansion/pull/8625) +* @izrofid made their first contribution in [#8705](https://github.com/rh-hideout/pokeemerald-expansion/pull/8705) + +**Full Changelog**: https://github.com/rh-hideout/pokeemerald-expansion/compare/expansion/1.14.1...expansion/1.14.2 + + + + diff --git a/include/constants/flags.h b/include/constants/flags.h index 11fc817a88..d067a608a9 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) diff --git a/include/dexnav.h b/include/dexnav.h index b1956349b3..82350f665a 100644 --- a/include/dexnav.h +++ b/include/dexnav.h @@ -69,14 +69,15 @@ enum EncounterType #define DEXNAV_MASK_SPECIES 0x3FFF // First 14 bits #define DEXNAV_MASK_ENVIRONMENT 0xC000 // Last two bit -void EndDexNavSearch(u8 taskId); +void EndDexNavSearch(void); void Task_OpenDexNavFromStartMenu(u8 taskId); -bool8 TryStartDexNavSearch(void); +bool32 TryStartDexNavSearch(void); void TryIncrementSpeciesSearchLevel(void); void ResetDexNavSearch(void); -bool8 TryFindHiddenPokemon(void); +bool32 TryFindHiddenPokemon(void); u32 CalculateDexNavShinyRolls(void); void IncrementDexNavChain(void); +bool32 OnStep_DexNavSearch(void); extern u16 gDexNavSpecies; 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/include/global.fieldmap.h b/include/global.fieldmap.h index 5e0f99031d..2e162f2df9 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -232,8 +232,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; diff --git a/include/rtc.h b/include/rtc.h index d0bb6a43de..56c30735e9 100644 --- a/include/rtc.h +++ b/include/rtc.h @@ -23,11 +23,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); bool8 IsBetweenHours(s32 hours, s32 begin, s32 end); diff --git a/include/siirtc.h b/include/siirtc.h index 44dabfd11d..998f5b9623 100644 --- a/include/siirtc.h +++ b/include/siirtc.h @@ -28,6 +28,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/sound/direct_sound_samples/bicycle_bell.wav b/sound/direct_sound_samples/bicycle_bell.wav index 92f9634069..d07fcceecb 100644 Binary files a/sound/direct_sound_samples/bicycle_bell.wav and b/sound/direct_sound_samples/bicycle_bell.wav differ diff --git a/sound/direct_sound_samples/classical_choir_voice_ahhs.wav b/sound/direct_sound_samples/classical_choir_voice_ahhs.wav index 7e38d3a3f7..51f5656cc4 100644 Binary files a/sound/direct_sound_samples/classical_choir_voice_ahhs.wav and b/sound/direct_sound_samples/classical_choir_voice_ahhs.wav differ diff --git a/sound/direct_sound_samples/cries/abra.wav b/sound/direct_sound_samples/cries/abra.wav index 14aba2d7a5..34d645d9d3 100644 Binary files a/sound/direct_sound_samples/cries/abra.wav and b/sound/direct_sound_samples/cries/abra.wav differ diff --git a/sound/direct_sound_samples/cries/absol.wav b/sound/direct_sound_samples/cries/absol.wav index 4a90ec5c01..2da72c44a5 100644 Binary files a/sound/direct_sound_samples/cries/absol.wav and b/sound/direct_sound_samples/cries/absol.wav differ diff --git a/sound/direct_sound_samples/cries/aerodactyl.wav b/sound/direct_sound_samples/cries/aerodactyl.wav index 95518884b9..23479e7448 100644 Binary files a/sound/direct_sound_samples/cries/aerodactyl.wav and b/sound/direct_sound_samples/cries/aerodactyl.wav differ diff --git a/sound/direct_sound_samples/cries/aggron.wav b/sound/direct_sound_samples/cries/aggron.wav index bc75b2dbdd..1d22470368 100644 Binary files a/sound/direct_sound_samples/cries/aggron.wav and b/sound/direct_sound_samples/cries/aggron.wav differ diff --git a/sound/direct_sound_samples/cries/aipom.wav b/sound/direct_sound_samples/cries/aipom.wav index 4d7bc829cd..2fe15f8756 100644 Binary files a/sound/direct_sound_samples/cries/aipom.wav and b/sound/direct_sound_samples/cries/aipom.wav differ diff --git a/sound/direct_sound_samples/cries/alakazam.wav b/sound/direct_sound_samples/cries/alakazam.wav index f397363d15..911472dece 100644 Binary files a/sound/direct_sound_samples/cries/alakazam.wav and b/sound/direct_sound_samples/cries/alakazam.wav differ diff --git a/sound/direct_sound_samples/cries/altaria.wav b/sound/direct_sound_samples/cries/altaria.wav index ca35cbf519..08395d0d64 100644 Binary files a/sound/direct_sound_samples/cries/altaria.wav and b/sound/direct_sound_samples/cries/altaria.wav differ diff --git a/sound/direct_sound_samples/cries/ampharos.wav b/sound/direct_sound_samples/cries/ampharos.wav index 346b2aa48b..da0bd761ca 100644 Binary files a/sound/direct_sound_samples/cries/ampharos.wav and b/sound/direct_sound_samples/cries/ampharos.wav differ diff --git a/sound/direct_sound_samples/cries/anorith.wav b/sound/direct_sound_samples/cries/anorith.wav index 349ffacf04..5840c57697 100644 Binary files a/sound/direct_sound_samples/cries/anorith.wav and b/sound/direct_sound_samples/cries/anorith.wav differ diff --git a/sound/direct_sound_samples/cries/arbok.wav b/sound/direct_sound_samples/cries/arbok.wav index cebc9e3e56..a7b9de89e3 100644 Binary files a/sound/direct_sound_samples/cries/arbok.wav and b/sound/direct_sound_samples/cries/arbok.wav differ diff --git a/sound/direct_sound_samples/cries/arcanine.wav b/sound/direct_sound_samples/cries/arcanine.wav index f6e3e36801..65aa4e21fa 100644 Binary files a/sound/direct_sound_samples/cries/arcanine.wav and b/sound/direct_sound_samples/cries/arcanine.wav differ diff --git a/sound/direct_sound_samples/cries/ariados.wav b/sound/direct_sound_samples/cries/ariados.wav index f059bcfc93..168f97552f 100644 Binary files a/sound/direct_sound_samples/cries/ariados.wav and b/sound/direct_sound_samples/cries/ariados.wav differ diff --git a/sound/direct_sound_samples/cries/armaldo.wav b/sound/direct_sound_samples/cries/armaldo.wav index de11795664..aecebd18e9 100644 Binary files a/sound/direct_sound_samples/cries/armaldo.wav and b/sound/direct_sound_samples/cries/armaldo.wav differ diff --git a/sound/direct_sound_samples/cries/aron.wav b/sound/direct_sound_samples/cries/aron.wav index 35c69f8dc4..42860d46b3 100644 Binary files a/sound/direct_sound_samples/cries/aron.wav and b/sound/direct_sound_samples/cries/aron.wav differ diff --git a/sound/direct_sound_samples/cries/articuno.wav b/sound/direct_sound_samples/cries/articuno.wav index 348fbcd2f0..7ad8dfcd09 100644 Binary files a/sound/direct_sound_samples/cries/articuno.wav and b/sound/direct_sound_samples/cries/articuno.wav differ diff --git a/sound/direct_sound_samples/cries/azumarill.wav b/sound/direct_sound_samples/cries/azumarill.wav index f9e9ed89a1..331da9d90e 100644 Binary files a/sound/direct_sound_samples/cries/azumarill.wav and b/sound/direct_sound_samples/cries/azumarill.wav differ diff --git a/sound/direct_sound_samples/cries/azurill.wav b/sound/direct_sound_samples/cries/azurill.wav index 65fa56e65b..b3eda262b7 100644 Binary files a/sound/direct_sound_samples/cries/azurill.wav and b/sound/direct_sound_samples/cries/azurill.wav differ diff --git a/sound/direct_sound_samples/cries/bagon.wav b/sound/direct_sound_samples/cries/bagon.wav index af36a96eb8..2f36926eed 100644 Binary files a/sound/direct_sound_samples/cries/bagon.wav and b/sound/direct_sound_samples/cries/bagon.wav differ diff --git a/sound/direct_sound_samples/cries/baltoy.wav b/sound/direct_sound_samples/cries/baltoy.wav index 395954b565..59867a0ed5 100644 Binary files a/sound/direct_sound_samples/cries/baltoy.wav and b/sound/direct_sound_samples/cries/baltoy.wav differ diff --git a/sound/direct_sound_samples/cries/banette.wav b/sound/direct_sound_samples/cries/banette.wav index f030fb66c2..b2af33b685 100644 Binary files a/sound/direct_sound_samples/cries/banette.wav and b/sound/direct_sound_samples/cries/banette.wav differ diff --git a/sound/direct_sound_samples/cries/barboach.wav b/sound/direct_sound_samples/cries/barboach.wav index 40539ce514..a955c76c21 100644 Binary files a/sound/direct_sound_samples/cries/barboach.wav and b/sound/direct_sound_samples/cries/barboach.wav differ diff --git a/sound/direct_sound_samples/cries/bayleef.wav b/sound/direct_sound_samples/cries/bayleef.wav index 754e6e6e6e..6dbcaf918d 100644 Binary files a/sound/direct_sound_samples/cries/bayleef.wav and b/sound/direct_sound_samples/cries/bayleef.wav differ diff --git a/sound/direct_sound_samples/cries/beautifly.wav b/sound/direct_sound_samples/cries/beautifly.wav index f9c3f26a5b..248428abc5 100644 Binary files a/sound/direct_sound_samples/cries/beautifly.wav and b/sound/direct_sound_samples/cries/beautifly.wav differ diff --git a/sound/direct_sound_samples/cries/beedrill.wav b/sound/direct_sound_samples/cries/beedrill.wav index 6ba426baea..a3fa107ac1 100644 Binary files a/sound/direct_sound_samples/cries/beedrill.wav and b/sound/direct_sound_samples/cries/beedrill.wav differ diff --git a/sound/direct_sound_samples/cries/beldum.wav b/sound/direct_sound_samples/cries/beldum.wav index 5d6514af4c..427bb24771 100644 Binary files a/sound/direct_sound_samples/cries/beldum.wav and b/sound/direct_sound_samples/cries/beldum.wav differ diff --git a/sound/direct_sound_samples/cries/bellossom.wav b/sound/direct_sound_samples/cries/bellossom.wav index 71680c16b2..7d47d8a78f 100644 Binary files a/sound/direct_sound_samples/cries/bellossom.wav and b/sound/direct_sound_samples/cries/bellossom.wav differ diff --git a/sound/direct_sound_samples/cries/bellsprout.wav b/sound/direct_sound_samples/cries/bellsprout.wav index dc7da2e277..0f7a8ed63c 100644 Binary files a/sound/direct_sound_samples/cries/bellsprout.wav and b/sound/direct_sound_samples/cries/bellsprout.wav differ diff --git a/sound/direct_sound_samples/cries/blastoise.wav b/sound/direct_sound_samples/cries/blastoise.wav index fecb7733b4..bcd068dd87 100644 Binary files a/sound/direct_sound_samples/cries/blastoise.wav and b/sound/direct_sound_samples/cries/blastoise.wav differ diff --git a/sound/direct_sound_samples/cries/blaziken.wav b/sound/direct_sound_samples/cries/blaziken.wav index b7b663d8ec..dd570e0bb0 100644 Binary files a/sound/direct_sound_samples/cries/blaziken.wav and b/sound/direct_sound_samples/cries/blaziken.wav differ diff --git a/sound/direct_sound_samples/cries/blissey.wav b/sound/direct_sound_samples/cries/blissey.wav index a5012768c1..5cd44825d6 100644 Binary files a/sound/direct_sound_samples/cries/blissey.wav and b/sound/direct_sound_samples/cries/blissey.wav differ diff --git a/sound/direct_sound_samples/cries/breloom.wav b/sound/direct_sound_samples/cries/breloom.wav index 49f57f53ec..226a65193f 100644 Binary files a/sound/direct_sound_samples/cries/breloom.wav and b/sound/direct_sound_samples/cries/breloom.wav differ diff --git a/sound/direct_sound_samples/cries/bulbasaur.wav b/sound/direct_sound_samples/cries/bulbasaur.wav index 77a2d1bd1c..d081218bae 100644 Binary files a/sound/direct_sound_samples/cries/bulbasaur.wav and b/sound/direct_sound_samples/cries/bulbasaur.wav differ diff --git a/sound/direct_sound_samples/cries/butterfree.wav b/sound/direct_sound_samples/cries/butterfree.wav index 796a1afa9a..19e781569c 100644 Binary files a/sound/direct_sound_samples/cries/butterfree.wav and b/sound/direct_sound_samples/cries/butterfree.wav differ diff --git a/sound/direct_sound_samples/cries/cacnea.wav b/sound/direct_sound_samples/cries/cacnea.wav index b2786069b6..dcf4323c4b 100644 Binary files a/sound/direct_sound_samples/cries/cacnea.wav and b/sound/direct_sound_samples/cries/cacnea.wav differ diff --git a/sound/direct_sound_samples/cries/cacturne.wav b/sound/direct_sound_samples/cries/cacturne.wav index 34c4525227..bc54463170 100644 Binary files a/sound/direct_sound_samples/cries/cacturne.wav and b/sound/direct_sound_samples/cries/cacturne.wav differ diff --git a/sound/direct_sound_samples/cries/camerupt.wav b/sound/direct_sound_samples/cries/camerupt.wav index 95fdce3575..bef89f41d0 100644 Binary files a/sound/direct_sound_samples/cries/camerupt.wav and b/sound/direct_sound_samples/cries/camerupt.wav differ diff --git a/sound/direct_sound_samples/cries/carvanha.wav b/sound/direct_sound_samples/cries/carvanha.wav index ae10c3b10c..07a2f9d455 100644 Binary files a/sound/direct_sound_samples/cries/carvanha.wav and b/sound/direct_sound_samples/cries/carvanha.wav differ diff --git a/sound/direct_sound_samples/cries/cascoon.wav b/sound/direct_sound_samples/cries/cascoon.wav index fff0be6815..3e3daf6260 100644 Binary files a/sound/direct_sound_samples/cries/cascoon.wav and b/sound/direct_sound_samples/cries/cascoon.wav differ diff --git a/sound/direct_sound_samples/cries/castform.wav b/sound/direct_sound_samples/cries/castform.wav index 83748d45b8..8b50b35d98 100644 Binary files a/sound/direct_sound_samples/cries/castform.wav and b/sound/direct_sound_samples/cries/castform.wav differ diff --git a/sound/direct_sound_samples/cries/caterpie.wav b/sound/direct_sound_samples/cries/caterpie.wav index ccdf1ba1ac..c507364462 100644 Binary files a/sound/direct_sound_samples/cries/caterpie.wav and b/sound/direct_sound_samples/cries/caterpie.wav differ diff --git a/sound/direct_sound_samples/cries/celebi.wav b/sound/direct_sound_samples/cries/celebi.wav index e217a99e81..c5a560e4b2 100644 Binary files a/sound/direct_sound_samples/cries/celebi.wav and b/sound/direct_sound_samples/cries/celebi.wav differ diff --git a/sound/direct_sound_samples/cries/chansey.wav b/sound/direct_sound_samples/cries/chansey.wav index 62d8e6cd9f..418acc387e 100644 Binary files a/sound/direct_sound_samples/cries/chansey.wav and b/sound/direct_sound_samples/cries/chansey.wav differ diff --git a/sound/direct_sound_samples/cries/charizard.wav b/sound/direct_sound_samples/cries/charizard.wav index fbbf3c555d..fd748e8ee7 100644 Binary files a/sound/direct_sound_samples/cries/charizard.wav and b/sound/direct_sound_samples/cries/charizard.wav differ diff --git a/sound/direct_sound_samples/cries/charmander.wav b/sound/direct_sound_samples/cries/charmander.wav index 3d82aca2fa..09762f2103 100644 Binary files a/sound/direct_sound_samples/cries/charmander.wav and b/sound/direct_sound_samples/cries/charmander.wav differ diff --git a/sound/direct_sound_samples/cries/charmeleon.wav b/sound/direct_sound_samples/cries/charmeleon.wav index a491f0586e..a5289e2b01 100644 Binary files a/sound/direct_sound_samples/cries/charmeleon.wav and b/sound/direct_sound_samples/cries/charmeleon.wav differ diff --git a/sound/direct_sound_samples/cries/chikorita.wav b/sound/direct_sound_samples/cries/chikorita.wav index 65cb0c1765..485f364e72 100644 Binary files a/sound/direct_sound_samples/cries/chikorita.wav and b/sound/direct_sound_samples/cries/chikorita.wav differ diff --git a/sound/direct_sound_samples/cries/chimecho.wav b/sound/direct_sound_samples/cries/chimecho.wav index a063bf739e..2ffa593507 100644 Binary files a/sound/direct_sound_samples/cries/chimecho.wav and b/sound/direct_sound_samples/cries/chimecho.wav differ diff --git a/sound/direct_sound_samples/cries/chinchou.wav b/sound/direct_sound_samples/cries/chinchou.wav index 8822996828..4fe6c6a772 100644 Binary files a/sound/direct_sound_samples/cries/chinchou.wav and b/sound/direct_sound_samples/cries/chinchou.wav differ diff --git a/sound/direct_sound_samples/cries/clamperl.wav b/sound/direct_sound_samples/cries/clamperl.wav index 6615de8779..5e80ebab66 100644 Binary files a/sound/direct_sound_samples/cries/clamperl.wav and b/sound/direct_sound_samples/cries/clamperl.wav differ diff --git a/sound/direct_sound_samples/cries/claydol.wav b/sound/direct_sound_samples/cries/claydol.wav index 037a9a4063..27b7ed5765 100644 Binary files a/sound/direct_sound_samples/cries/claydol.wav and b/sound/direct_sound_samples/cries/claydol.wav differ diff --git a/sound/direct_sound_samples/cries/clefable.wav b/sound/direct_sound_samples/cries/clefable.wav index 09b0d19b86..602577cab0 100644 Binary files a/sound/direct_sound_samples/cries/clefable.wav and b/sound/direct_sound_samples/cries/clefable.wav differ diff --git a/sound/direct_sound_samples/cries/clefairy.wav b/sound/direct_sound_samples/cries/clefairy.wav index b447b700cd..2214cb445b 100644 Binary files a/sound/direct_sound_samples/cries/clefairy.wav and b/sound/direct_sound_samples/cries/clefairy.wav differ diff --git a/sound/direct_sound_samples/cries/cleffa.wav b/sound/direct_sound_samples/cries/cleffa.wav index 53d18df415..946a75959e 100644 Binary files a/sound/direct_sound_samples/cries/cleffa.wav and b/sound/direct_sound_samples/cries/cleffa.wav differ diff --git a/sound/direct_sound_samples/cries/cloyster.wav b/sound/direct_sound_samples/cries/cloyster.wav index 4fc766ae19..acd5f7fc30 100644 Binary files a/sound/direct_sound_samples/cries/cloyster.wav and b/sound/direct_sound_samples/cries/cloyster.wav differ diff --git a/sound/direct_sound_samples/cries/combusken.wav b/sound/direct_sound_samples/cries/combusken.wav index 8da9de64a1..6c23eb499c 100644 Binary files a/sound/direct_sound_samples/cries/combusken.wav and b/sound/direct_sound_samples/cries/combusken.wav differ diff --git a/sound/direct_sound_samples/cries/corphish.wav b/sound/direct_sound_samples/cries/corphish.wav index 990029d333..72af4a9e0c 100644 Binary files a/sound/direct_sound_samples/cries/corphish.wav and b/sound/direct_sound_samples/cries/corphish.wav differ diff --git a/sound/direct_sound_samples/cries/corsola.wav b/sound/direct_sound_samples/cries/corsola.wav index 890208bc73..c40b570a14 100644 Binary files a/sound/direct_sound_samples/cries/corsola.wav and b/sound/direct_sound_samples/cries/corsola.wav differ diff --git a/sound/direct_sound_samples/cries/cradily.wav b/sound/direct_sound_samples/cries/cradily.wav index bb9d5bd425..ba4f755c7f 100644 Binary files a/sound/direct_sound_samples/cries/cradily.wav and b/sound/direct_sound_samples/cries/cradily.wav differ diff --git a/sound/direct_sound_samples/cries/crawdaunt.wav b/sound/direct_sound_samples/cries/crawdaunt.wav index e270a31791..2ce6659a3f 100644 Binary files a/sound/direct_sound_samples/cries/crawdaunt.wav and b/sound/direct_sound_samples/cries/crawdaunt.wav differ diff --git a/sound/direct_sound_samples/cries/crobat.wav b/sound/direct_sound_samples/cries/crobat.wav index fdad8d4a63..9000b8c299 100644 Binary files a/sound/direct_sound_samples/cries/crobat.wav and b/sound/direct_sound_samples/cries/crobat.wav differ diff --git a/sound/direct_sound_samples/cries/croconaw.wav b/sound/direct_sound_samples/cries/croconaw.wav index deb2a70035..9fd775fc0c 100644 Binary files a/sound/direct_sound_samples/cries/croconaw.wav and b/sound/direct_sound_samples/cries/croconaw.wav differ diff --git a/sound/direct_sound_samples/cries/cubone.wav b/sound/direct_sound_samples/cries/cubone.wav index b198c25403..44b97c4bb2 100644 Binary files a/sound/direct_sound_samples/cries/cubone.wav and b/sound/direct_sound_samples/cries/cubone.wav differ diff --git a/sound/direct_sound_samples/cries/cyndaquil.wav b/sound/direct_sound_samples/cries/cyndaquil.wav index 87921c52eb..23e9b3273e 100644 Binary files a/sound/direct_sound_samples/cries/cyndaquil.wav and b/sound/direct_sound_samples/cries/cyndaquil.wav differ diff --git a/sound/direct_sound_samples/cries/delcatty.wav b/sound/direct_sound_samples/cries/delcatty.wav index dce5e73b7a..7807052669 100644 Binary files a/sound/direct_sound_samples/cries/delcatty.wav and b/sound/direct_sound_samples/cries/delcatty.wav differ diff --git a/sound/direct_sound_samples/cries/delibird.wav b/sound/direct_sound_samples/cries/delibird.wav index 7ccf645de6..f4b27e7326 100644 Binary files a/sound/direct_sound_samples/cries/delibird.wav and b/sound/direct_sound_samples/cries/delibird.wav differ diff --git a/sound/direct_sound_samples/cries/deoxys.wav b/sound/direct_sound_samples/cries/deoxys.wav index 7ed0f65cc1..c5943318db 100644 Binary files a/sound/direct_sound_samples/cries/deoxys.wav and b/sound/direct_sound_samples/cries/deoxys.wav differ diff --git a/sound/direct_sound_samples/cries/dewgong.wav b/sound/direct_sound_samples/cries/dewgong.wav index 24af04411a..c99284027e 100644 Binary files a/sound/direct_sound_samples/cries/dewgong.wav and b/sound/direct_sound_samples/cries/dewgong.wav differ diff --git a/sound/direct_sound_samples/cries/diglett.wav b/sound/direct_sound_samples/cries/diglett.wav index 8eecd3bedb..ba098f64a6 100644 Binary files a/sound/direct_sound_samples/cries/diglett.wav and b/sound/direct_sound_samples/cries/diglett.wav differ diff --git a/sound/direct_sound_samples/cries/ditto.wav b/sound/direct_sound_samples/cries/ditto.wav index bbd9d02804..b26b2d56ca 100644 Binary files a/sound/direct_sound_samples/cries/ditto.wav and b/sound/direct_sound_samples/cries/ditto.wav differ diff --git a/sound/direct_sound_samples/cries/dodrio.wav b/sound/direct_sound_samples/cries/dodrio.wav index e43a8a9770..c23d097d82 100644 Binary files a/sound/direct_sound_samples/cries/dodrio.wav and b/sound/direct_sound_samples/cries/dodrio.wav differ diff --git a/sound/direct_sound_samples/cries/doduo.wav b/sound/direct_sound_samples/cries/doduo.wav index 065e9fd62f..3d7bad39e7 100644 Binary files a/sound/direct_sound_samples/cries/doduo.wav and b/sound/direct_sound_samples/cries/doduo.wav differ diff --git a/sound/direct_sound_samples/cries/donphan.wav b/sound/direct_sound_samples/cries/donphan.wav index ba6caf5bd8..64a69a34f6 100644 Binary files a/sound/direct_sound_samples/cries/donphan.wav and b/sound/direct_sound_samples/cries/donphan.wav differ diff --git a/sound/direct_sound_samples/cries/dragonair.wav b/sound/direct_sound_samples/cries/dragonair.wav index 3fd2efee29..ab902f69d5 100644 Binary files a/sound/direct_sound_samples/cries/dragonair.wav and b/sound/direct_sound_samples/cries/dragonair.wav differ diff --git a/sound/direct_sound_samples/cries/dragonite.wav b/sound/direct_sound_samples/cries/dragonite.wav index 8517e0da0f..98f044cc37 100644 Binary files a/sound/direct_sound_samples/cries/dragonite.wav and b/sound/direct_sound_samples/cries/dragonite.wav differ diff --git a/sound/direct_sound_samples/cries/dratini.wav b/sound/direct_sound_samples/cries/dratini.wav index 711c6b9a30..ab59d4c180 100644 Binary files a/sound/direct_sound_samples/cries/dratini.wav and b/sound/direct_sound_samples/cries/dratini.wav differ diff --git a/sound/direct_sound_samples/cries/drowzee.wav b/sound/direct_sound_samples/cries/drowzee.wav index 4132109663..3294d5f83d 100644 Binary files a/sound/direct_sound_samples/cries/drowzee.wav and b/sound/direct_sound_samples/cries/drowzee.wav differ diff --git a/sound/direct_sound_samples/cries/dugtrio.wav b/sound/direct_sound_samples/cries/dugtrio.wav index d159a2fae0..59be4c5a7f 100644 Binary files a/sound/direct_sound_samples/cries/dugtrio.wav and b/sound/direct_sound_samples/cries/dugtrio.wav differ diff --git a/sound/direct_sound_samples/cries/dunsparce.wav b/sound/direct_sound_samples/cries/dunsparce.wav index 5154546d10..b3bc21a042 100644 Binary files a/sound/direct_sound_samples/cries/dunsparce.wav and b/sound/direct_sound_samples/cries/dunsparce.wav differ diff --git a/sound/direct_sound_samples/cries/dusclops.wav b/sound/direct_sound_samples/cries/dusclops.wav index 81353887b9..0ae486972e 100644 Binary files a/sound/direct_sound_samples/cries/dusclops.wav and b/sound/direct_sound_samples/cries/dusclops.wav differ diff --git a/sound/direct_sound_samples/cries/duskull.wav b/sound/direct_sound_samples/cries/duskull.wav index eba8fc3ff1..7ef72a3975 100644 Binary files a/sound/direct_sound_samples/cries/duskull.wav and b/sound/direct_sound_samples/cries/duskull.wav differ diff --git a/sound/direct_sound_samples/cries/dustox.wav b/sound/direct_sound_samples/cries/dustox.wav index 42f23c1289..7647585626 100644 Binary files a/sound/direct_sound_samples/cries/dustox.wav and b/sound/direct_sound_samples/cries/dustox.wav differ diff --git a/sound/direct_sound_samples/cries/eevee.wav b/sound/direct_sound_samples/cries/eevee.wav index e21ce1f0e7..833528278b 100644 Binary files a/sound/direct_sound_samples/cries/eevee.wav and b/sound/direct_sound_samples/cries/eevee.wav differ diff --git a/sound/direct_sound_samples/cries/ekans.wav b/sound/direct_sound_samples/cries/ekans.wav index 2ae3e4a180..5a75158471 100644 Binary files a/sound/direct_sound_samples/cries/ekans.wav and b/sound/direct_sound_samples/cries/ekans.wav differ diff --git a/sound/direct_sound_samples/cries/electabuzz.wav b/sound/direct_sound_samples/cries/electabuzz.wav index b555d6631a..8443823fb7 100644 Binary files a/sound/direct_sound_samples/cries/electabuzz.wav and b/sound/direct_sound_samples/cries/electabuzz.wav differ diff --git a/sound/direct_sound_samples/cries/electrike.wav b/sound/direct_sound_samples/cries/electrike.wav index 8a210865bf..9b09301ff4 100644 Binary files a/sound/direct_sound_samples/cries/electrike.wav and b/sound/direct_sound_samples/cries/electrike.wav differ diff --git a/sound/direct_sound_samples/cries/electrode.wav b/sound/direct_sound_samples/cries/electrode.wav index 8f28521464..4ad346759d 100644 Binary files a/sound/direct_sound_samples/cries/electrode.wav and b/sound/direct_sound_samples/cries/electrode.wav differ diff --git a/sound/direct_sound_samples/cries/elekid.wav b/sound/direct_sound_samples/cries/elekid.wav index 82a9a2f675..2491113869 100644 Binary files a/sound/direct_sound_samples/cries/elekid.wav and b/sound/direct_sound_samples/cries/elekid.wav differ diff --git a/sound/direct_sound_samples/cries/entei.wav b/sound/direct_sound_samples/cries/entei.wav index cf7e9c0c2f..cce2db4b03 100644 Binary files a/sound/direct_sound_samples/cries/entei.wav and b/sound/direct_sound_samples/cries/entei.wav differ diff --git a/sound/direct_sound_samples/cries/espeon.wav b/sound/direct_sound_samples/cries/espeon.wav index 20743268e1..8456a350d6 100644 Binary files a/sound/direct_sound_samples/cries/espeon.wav and b/sound/direct_sound_samples/cries/espeon.wav differ diff --git a/sound/direct_sound_samples/cries/exeggcute.wav b/sound/direct_sound_samples/cries/exeggcute.wav index bfd825f800..865aedc1f5 100644 Binary files a/sound/direct_sound_samples/cries/exeggcute.wav and b/sound/direct_sound_samples/cries/exeggcute.wav differ diff --git a/sound/direct_sound_samples/cries/exeggutor.wav b/sound/direct_sound_samples/cries/exeggutor.wav index f2a0d6bedc..831eb36cd9 100644 Binary files a/sound/direct_sound_samples/cries/exeggutor.wav and b/sound/direct_sound_samples/cries/exeggutor.wav differ diff --git a/sound/direct_sound_samples/cries/exploud.wav b/sound/direct_sound_samples/cries/exploud.wav index 9b3cbf896b..1b81512ce3 100644 Binary files a/sound/direct_sound_samples/cries/exploud.wav and b/sound/direct_sound_samples/cries/exploud.wav differ diff --git a/sound/direct_sound_samples/cries/farfetchd.wav b/sound/direct_sound_samples/cries/farfetchd.wav index d090445d41..294322e04c 100644 Binary files a/sound/direct_sound_samples/cries/farfetchd.wav and b/sound/direct_sound_samples/cries/farfetchd.wav differ diff --git a/sound/direct_sound_samples/cries/fearow.wav b/sound/direct_sound_samples/cries/fearow.wav index 6ef7eadee9..d2ab288dd1 100644 Binary files a/sound/direct_sound_samples/cries/fearow.wav and b/sound/direct_sound_samples/cries/fearow.wav differ diff --git a/sound/direct_sound_samples/cries/feebas.wav b/sound/direct_sound_samples/cries/feebas.wav index a8f60a55f6..1e9037b7ec 100644 Binary files a/sound/direct_sound_samples/cries/feebas.wav and b/sound/direct_sound_samples/cries/feebas.wav differ diff --git a/sound/direct_sound_samples/cries/feraligatr.wav b/sound/direct_sound_samples/cries/feraligatr.wav index d1da192f90..f17eec474b 100644 Binary files a/sound/direct_sound_samples/cries/feraligatr.wav and b/sound/direct_sound_samples/cries/feraligatr.wav differ diff --git a/sound/direct_sound_samples/cries/flaaffy.wav b/sound/direct_sound_samples/cries/flaaffy.wav index a0cf3df062..9459c8e06d 100644 Binary files a/sound/direct_sound_samples/cries/flaaffy.wav and b/sound/direct_sound_samples/cries/flaaffy.wav differ diff --git a/sound/direct_sound_samples/cries/flareon.wav b/sound/direct_sound_samples/cries/flareon.wav index 6bd51168b3..d138a75e03 100644 Binary files a/sound/direct_sound_samples/cries/flareon.wav and b/sound/direct_sound_samples/cries/flareon.wav differ diff --git a/sound/direct_sound_samples/cries/flygon.wav b/sound/direct_sound_samples/cries/flygon.wav index b6c5d90ba0..2d64627eee 100644 Binary files a/sound/direct_sound_samples/cries/flygon.wav and b/sound/direct_sound_samples/cries/flygon.wav differ diff --git a/sound/direct_sound_samples/cries/forretress.wav b/sound/direct_sound_samples/cries/forretress.wav index 3f704f65b5..008140c1ec 100644 Binary files a/sound/direct_sound_samples/cries/forretress.wav and b/sound/direct_sound_samples/cries/forretress.wav differ diff --git a/sound/direct_sound_samples/cries/furret.wav b/sound/direct_sound_samples/cries/furret.wav index e3e4ec5842..605eeec172 100644 Binary files a/sound/direct_sound_samples/cries/furret.wav and b/sound/direct_sound_samples/cries/furret.wav differ diff --git a/sound/direct_sound_samples/cries/gardevoir.wav b/sound/direct_sound_samples/cries/gardevoir.wav index bd3a99acc2..a40ef12626 100644 Binary files a/sound/direct_sound_samples/cries/gardevoir.wav and b/sound/direct_sound_samples/cries/gardevoir.wav differ diff --git a/sound/direct_sound_samples/cries/gastly.wav b/sound/direct_sound_samples/cries/gastly.wav index 1bc2ff9667..7d9c25de30 100644 Binary files a/sound/direct_sound_samples/cries/gastly.wav and b/sound/direct_sound_samples/cries/gastly.wav differ diff --git a/sound/direct_sound_samples/cries/gengar.wav b/sound/direct_sound_samples/cries/gengar.wav index 9e8c24c28b..74ec623df3 100644 Binary files a/sound/direct_sound_samples/cries/gengar.wav and b/sound/direct_sound_samples/cries/gengar.wav differ diff --git a/sound/direct_sound_samples/cries/geodude.wav b/sound/direct_sound_samples/cries/geodude.wav index f355fc7e1a..0c1336a8e2 100644 Binary files a/sound/direct_sound_samples/cries/geodude.wav and b/sound/direct_sound_samples/cries/geodude.wav differ diff --git a/sound/direct_sound_samples/cries/girafarig.wav b/sound/direct_sound_samples/cries/girafarig.wav index d78162a29f..089b8bb045 100644 Binary files a/sound/direct_sound_samples/cries/girafarig.wav and b/sound/direct_sound_samples/cries/girafarig.wav differ diff --git a/sound/direct_sound_samples/cries/glalie.wav b/sound/direct_sound_samples/cries/glalie.wav index bf35bd147b..6f81e7a2a4 100644 Binary files a/sound/direct_sound_samples/cries/glalie.wav and b/sound/direct_sound_samples/cries/glalie.wav differ diff --git a/sound/direct_sound_samples/cries/gligar.wav b/sound/direct_sound_samples/cries/gligar.wav index 8fa3efa6b1..fa49131d87 100644 Binary files a/sound/direct_sound_samples/cries/gligar.wav and b/sound/direct_sound_samples/cries/gligar.wav differ diff --git a/sound/direct_sound_samples/cries/gloom.wav b/sound/direct_sound_samples/cries/gloom.wav index abc408a0f7..ce3da97083 100644 Binary files a/sound/direct_sound_samples/cries/gloom.wav and b/sound/direct_sound_samples/cries/gloom.wav differ diff --git a/sound/direct_sound_samples/cries/golbat.wav b/sound/direct_sound_samples/cries/golbat.wav index 20d2ecf5c9..4f098e5f2c 100644 Binary files a/sound/direct_sound_samples/cries/golbat.wav and b/sound/direct_sound_samples/cries/golbat.wav differ diff --git a/sound/direct_sound_samples/cries/goldeen.wav b/sound/direct_sound_samples/cries/goldeen.wav index 342df710c9..ec3b48ad44 100644 Binary files a/sound/direct_sound_samples/cries/goldeen.wav and b/sound/direct_sound_samples/cries/goldeen.wav differ diff --git a/sound/direct_sound_samples/cries/golduck.wav b/sound/direct_sound_samples/cries/golduck.wav index a9bf91b2da..bc6cc95af9 100644 Binary files a/sound/direct_sound_samples/cries/golduck.wav and b/sound/direct_sound_samples/cries/golduck.wav differ diff --git a/sound/direct_sound_samples/cries/golem.wav b/sound/direct_sound_samples/cries/golem.wav index 17ed6128e4..9a26adcc94 100644 Binary files a/sound/direct_sound_samples/cries/golem.wav and b/sound/direct_sound_samples/cries/golem.wav differ diff --git a/sound/direct_sound_samples/cries/gorebyss.wav b/sound/direct_sound_samples/cries/gorebyss.wav index 3d375f6dcf..cd14f26dd5 100644 Binary files a/sound/direct_sound_samples/cries/gorebyss.wav and b/sound/direct_sound_samples/cries/gorebyss.wav differ diff --git a/sound/direct_sound_samples/cries/granbull.wav b/sound/direct_sound_samples/cries/granbull.wav index 959793b724..faffbc5629 100644 Binary files a/sound/direct_sound_samples/cries/granbull.wav and b/sound/direct_sound_samples/cries/granbull.wav differ diff --git a/sound/direct_sound_samples/cries/graveler.wav b/sound/direct_sound_samples/cries/graveler.wav index 6b8591406f..e5a2e9d19e 100644 Binary files a/sound/direct_sound_samples/cries/graveler.wav and b/sound/direct_sound_samples/cries/graveler.wav differ diff --git a/sound/direct_sound_samples/cries/grimer.wav b/sound/direct_sound_samples/cries/grimer.wav index 092dfeed61..8ae15f4063 100644 Binary files a/sound/direct_sound_samples/cries/grimer.wav and b/sound/direct_sound_samples/cries/grimer.wav differ diff --git a/sound/direct_sound_samples/cries/groudon.wav b/sound/direct_sound_samples/cries/groudon.wav index 680d0ec047..0571205792 100644 Binary files a/sound/direct_sound_samples/cries/groudon.wav and b/sound/direct_sound_samples/cries/groudon.wav differ diff --git a/sound/direct_sound_samples/cries/grovyle.wav b/sound/direct_sound_samples/cries/grovyle.wav index 7e2f1acd0f..6ae949e00a 100644 Binary files a/sound/direct_sound_samples/cries/grovyle.wav and b/sound/direct_sound_samples/cries/grovyle.wav differ diff --git a/sound/direct_sound_samples/cries/growlithe.wav b/sound/direct_sound_samples/cries/growlithe.wav index 3f72ea6f97..96ea21385a 100644 Binary files a/sound/direct_sound_samples/cries/growlithe.wav and b/sound/direct_sound_samples/cries/growlithe.wav differ diff --git a/sound/direct_sound_samples/cries/grumpig.wav b/sound/direct_sound_samples/cries/grumpig.wav index e9c8157e0f..99f7684d15 100644 Binary files a/sound/direct_sound_samples/cries/grumpig.wav and b/sound/direct_sound_samples/cries/grumpig.wav differ diff --git a/sound/direct_sound_samples/cries/gulpin.wav b/sound/direct_sound_samples/cries/gulpin.wav index d1ab06b6b0..af1c2dd99d 100644 Binary files a/sound/direct_sound_samples/cries/gulpin.wav and b/sound/direct_sound_samples/cries/gulpin.wav differ diff --git a/sound/direct_sound_samples/cries/gyarados.wav b/sound/direct_sound_samples/cries/gyarados.wav index 6a4124085e..b76327da26 100644 Binary files a/sound/direct_sound_samples/cries/gyarados.wav and b/sound/direct_sound_samples/cries/gyarados.wav differ diff --git a/sound/direct_sound_samples/cries/hariyama.wav b/sound/direct_sound_samples/cries/hariyama.wav index 5567aae3a1..879f7d1e1d 100644 Binary files a/sound/direct_sound_samples/cries/hariyama.wav and b/sound/direct_sound_samples/cries/hariyama.wav differ diff --git a/sound/direct_sound_samples/cries/haunter.wav b/sound/direct_sound_samples/cries/haunter.wav index e22b1cfc13..999a0d02d1 100644 Binary files a/sound/direct_sound_samples/cries/haunter.wav and b/sound/direct_sound_samples/cries/haunter.wav differ diff --git a/sound/direct_sound_samples/cries/heracross.wav b/sound/direct_sound_samples/cries/heracross.wav index ed68648ba8..1482499085 100644 Binary files a/sound/direct_sound_samples/cries/heracross.wav and b/sound/direct_sound_samples/cries/heracross.wav differ diff --git a/sound/direct_sound_samples/cries/hitmonchan.wav b/sound/direct_sound_samples/cries/hitmonchan.wav index 806d206d35..130169e6e1 100644 Binary files a/sound/direct_sound_samples/cries/hitmonchan.wav and b/sound/direct_sound_samples/cries/hitmonchan.wav differ diff --git a/sound/direct_sound_samples/cries/hitmonlee.wav b/sound/direct_sound_samples/cries/hitmonlee.wav index e40d852b99..9ec63520a9 100644 Binary files a/sound/direct_sound_samples/cries/hitmonlee.wav and b/sound/direct_sound_samples/cries/hitmonlee.wav differ diff --git a/sound/direct_sound_samples/cries/hitmontop.wav b/sound/direct_sound_samples/cries/hitmontop.wav index 652222dc6c..fa26c699b8 100644 Binary files a/sound/direct_sound_samples/cries/hitmontop.wav and b/sound/direct_sound_samples/cries/hitmontop.wav differ diff --git a/sound/direct_sound_samples/cries/ho_oh.wav b/sound/direct_sound_samples/cries/ho_oh.wav index acf8812532..e098f9806b 100644 Binary files a/sound/direct_sound_samples/cries/ho_oh.wav and b/sound/direct_sound_samples/cries/ho_oh.wav differ diff --git a/sound/direct_sound_samples/cries/hoothoot.wav b/sound/direct_sound_samples/cries/hoothoot.wav index e7ca2f5780..303fddb12b 100644 Binary files a/sound/direct_sound_samples/cries/hoothoot.wav and b/sound/direct_sound_samples/cries/hoothoot.wav differ diff --git a/sound/direct_sound_samples/cries/hoppip.wav b/sound/direct_sound_samples/cries/hoppip.wav index ab14fdaec7..525c720e93 100644 Binary files a/sound/direct_sound_samples/cries/hoppip.wav and b/sound/direct_sound_samples/cries/hoppip.wav differ diff --git a/sound/direct_sound_samples/cries/horsea.wav b/sound/direct_sound_samples/cries/horsea.wav index ab67381edd..26efb0ca79 100644 Binary files a/sound/direct_sound_samples/cries/horsea.wav and b/sound/direct_sound_samples/cries/horsea.wav differ diff --git a/sound/direct_sound_samples/cries/houndoom.wav b/sound/direct_sound_samples/cries/houndoom.wav index a34e4cda2b..1add97cb82 100644 Binary files a/sound/direct_sound_samples/cries/houndoom.wav and b/sound/direct_sound_samples/cries/houndoom.wav differ diff --git a/sound/direct_sound_samples/cries/houndour.wav b/sound/direct_sound_samples/cries/houndour.wav index 51310524a8..ef683e68f6 100644 Binary files a/sound/direct_sound_samples/cries/houndour.wav and b/sound/direct_sound_samples/cries/houndour.wav differ diff --git a/sound/direct_sound_samples/cries/huntail.wav b/sound/direct_sound_samples/cries/huntail.wav index b2e3f99853..9c4e7af021 100644 Binary files a/sound/direct_sound_samples/cries/huntail.wav and b/sound/direct_sound_samples/cries/huntail.wav differ diff --git a/sound/direct_sound_samples/cries/hypno.wav b/sound/direct_sound_samples/cries/hypno.wav index 4369110c2c..3b1e2dab6e 100644 Binary files a/sound/direct_sound_samples/cries/hypno.wav and b/sound/direct_sound_samples/cries/hypno.wav differ diff --git a/sound/direct_sound_samples/cries/igglybuff.wav b/sound/direct_sound_samples/cries/igglybuff.wav index efec9bf4c4..0b8a7dfcaf 100644 Binary files a/sound/direct_sound_samples/cries/igglybuff.wav and b/sound/direct_sound_samples/cries/igglybuff.wav differ diff --git a/sound/direct_sound_samples/cries/illumise.wav b/sound/direct_sound_samples/cries/illumise.wav index 6570492f79..f0234b92e4 100644 Binary files a/sound/direct_sound_samples/cries/illumise.wav and b/sound/direct_sound_samples/cries/illumise.wav differ diff --git a/sound/direct_sound_samples/cries/ivysaur.wav b/sound/direct_sound_samples/cries/ivysaur.wav index 07d10c0e8d..1110a63382 100644 Binary files a/sound/direct_sound_samples/cries/ivysaur.wav and b/sound/direct_sound_samples/cries/ivysaur.wav differ diff --git a/sound/direct_sound_samples/cries/jigglypuff.wav b/sound/direct_sound_samples/cries/jigglypuff.wav index d3e925fe94..4b8d4ccc8f 100644 Binary files a/sound/direct_sound_samples/cries/jigglypuff.wav and b/sound/direct_sound_samples/cries/jigglypuff.wav differ diff --git a/sound/direct_sound_samples/cries/jirachi.wav b/sound/direct_sound_samples/cries/jirachi.wav index 43850cbaa0..f548e50bf7 100644 Binary files a/sound/direct_sound_samples/cries/jirachi.wav and b/sound/direct_sound_samples/cries/jirachi.wav differ diff --git a/sound/direct_sound_samples/cries/jolteon.wav b/sound/direct_sound_samples/cries/jolteon.wav index 8c5f8bea4c..61b5cb1604 100644 Binary files a/sound/direct_sound_samples/cries/jolteon.wav and b/sound/direct_sound_samples/cries/jolteon.wav differ diff --git a/sound/direct_sound_samples/cries/jumpluff.wav b/sound/direct_sound_samples/cries/jumpluff.wav index cce951b1f7..d58b0b11fa 100644 Binary files a/sound/direct_sound_samples/cries/jumpluff.wav and b/sound/direct_sound_samples/cries/jumpluff.wav differ diff --git a/sound/direct_sound_samples/cries/jynx.wav b/sound/direct_sound_samples/cries/jynx.wav index faacb1e957..bb833749e4 100644 Binary files a/sound/direct_sound_samples/cries/jynx.wav and b/sound/direct_sound_samples/cries/jynx.wav differ diff --git a/sound/direct_sound_samples/cries/kabuto.wav b/sound/direct_sound_samples/cries/kabuto.wav index 448b178914..598845740a 100644 Binary files a/sound/direct_sound_samples/cries/kabuto.wav and b/sound/direct_sound_samples/cries/kabuto.wav differ diff --git a/sound/direct_sound_samples/cries/kabutops.wav b/sound/direct_sound_samples/cries/kabutops.wav index 0c7b74fea3..9cc76e4536 100644 Binary files a/sound/direct_sound_samples/cries/kabutops.wav and b/sound/direct_sound_samples/cries/kabutops.wav differ diff --git a/sound/direct_sound_samples/cries/kadabra.wav b/sound/direct_sound_samples/cries/kadabra.wav index d7030b27a2..f2e3788e4b 100644 Binary files a/sound/direct_sound_samples/cries/kadabra.wav and b/sound/direct_sound_samples/cries/kadabra.wav differ diff --git a/sound/direct_sound_samples/cries/kakuna.wav b/sound/direct_sound_samples/cries/kakuna.wav index f147428e38..0a7b43f946 100644 Binary files a/sound/direct_sound_samples/cries/kakuna.wav and b/sound/direct_sound_samples/cries/kakuna.wav differ diff --git a/sound/direct_sound_samples/cries/kangaskhan.wav b/sound/direct_sound_samples/cries/kangaskhan.wav index eaf7244627..32a12fcbc2 100644 Binary files a/sound/direct_sound_samples/cries/kangaskhan.wav and b/sound/direct_sound_samples/cries/kangaskhan.wav differ diff --git a/sound/direct_sound_samples/cries/kecleon.wav b/sound/direct_sound_samples/cries/kecleon.wav index 96ab74ff2b..5d16ee144b 100644 Binary files a/sound/direct_sound_samples/cries/kecleon.wav and b/sound/direct_sound_samples/cries/kecleon.wav differ diff --git a/sound/direct_sound_samples/cries/kingdra.wav b/sound/direct_sound_samples/cries/kingdra.wav index 2a47d1479d..2263e72cbd 100644 Binary files a/sound/direct_sound_samples/cries/kingdra.wav and b/sound/direct_sound_samples/cries/kingdra.wav differ diff --git a/sound/direct_sound_samples/cries/kingler.wav b/sound/direct_sound_samples/cries/kingler.wav index 62418456d0..6d3f58e8cf 100644 Binary files a/sound/direct_sound_samples/cries/kingler.wav and b/sound/direct_sound_samples/cries/kingler.wav differ diff --git a/sound/direct_sound_samples/cries/kirlia.wav b/sound/direct_sound_samples/cries/kirlia.wav index c7dd3078c8..36706ca6f2 100644 Binary files a/sound/direct_sound_samples/cries/kirlia.wav and b/sound/direct_sound_samples/cries/kirlia.wav differ diff --git a/sound/direct_sound_samples/cries/koffing.wav b/sound/direct_sound_samples/cries/koffing.wav index afa520c03e..5fd7b7d4a6 100644 Binary files a/sound/direct_sound_samples/cries/koffing.wav and b/sound/direct_sound_samples/cries/koffing.wav differ diff --git a/sound/direct_sound_samples/cries/krabby.wav b/sound/direct_sound_samples/cries/krabby.wav index 0072ea777a..31644bacc1 100644 Binary files a/sound/direct_sound_samples/cries/krabby.wav and b/sound/direct_sound_samples/cries/krabby.wav differ diff --git a/sound/direct_sound_samples/cries/kyogre.wav b/sound/direct_sound_samples/cries/kyogre.wav index 00db984c66..d73951bb6d 100644 Binary files a/sound/direct_sound_samples/cries/kyogre.wav and b/sound/direct_sound_samples/cries/kyogre.wav differ diff --git a/sound/direct_sound_samples/cries/lairon.wav b/sound/direct_sound_samples/cries/lairon.wav index 574ffac745..1d82d06545 100644 Binary files a/sound/direct_sound_samples/cries/lairon.wav and b/sound/direct_sound_samples/cries/lairon.wav differ diff --git a/sound/direct_sound_samples/cries/lanturn.wav b/sound/direct_sound_samples/cries/lanturn.wav index 6d8b21dd99..3b68f58ad9 100644 Binary files a/sound/direct_sound_samples/cries/lanturn.wav and b/sound/direct_sound_samples/cries/lanturn.wav differ diff --git a/sound/direct_sound_samples/cries/lapras.wav b/sound/direct_sound_samples/cries/lapras.wav index d79819a971..2c0714995f 100644 Binary files a/sound/direct_sound_samples/cries/lapras.wav and b/sound/direct_sound_samples/cries/lapras.wav differ diff --git a/sound/direct_sound_samples/cries/larvitar.wav b/sound/direct_sound_samples/cries/larvitar.wav index e0e22cd6f5..6ef5d45663 100644 Binary files a/sound/direct_sound_samples/cries/larvitar.wav and b/sound/direct_sound_samples/cries/larvitar.wav differ diff --git a/sound/direct_sound_samples/cries/latias.wav b/sound/direct_sound_samples/cries/latias.wav index 87e6205ada..dac6c463fd 100644 Binary files a/sound/direct_sound_samples/cries/latias.wav and b/sound/direct_sound_samples/cries/latias.wav differ diff --git a/sound/direct_sound_samples/cries/latios.wav b/sound/direct_sound_samples/cries/latios.wav index 1409dba11a..f07efb29fc 100644 Binary files a/sound/direct_sound_samples/cries/latios.wav and b/sound/direct_sound_samples/cries/latios.wav differ diff --git a/sound/direct_sound_samples/cries/ledian.wav b/sound/direct_sound_samples/cries/ledian.wav index 554829075d..075bb15f07 100644 Binary files a/sound/direct_sound_samples/cries/ledian.wav and b/sound/direct_sound_samples/cries/ledian.wav differ diff --git a/sound/direct_sound_samples/cries/ledyba.wav b/sound/direct_sound_samples/cries/ledyba.wav index e539c3d60a..95d9dff2e8 100644 Binary files a/sound/direct_sound_samples/cries/ledyba.wav and b/sound/direct_sound_samples/cries/ledyba.wav differ diff --git a/sound/direct_sound_samples/cries/lickitung.wav b/sound/direct_sound_samples/cries/lickitung.wav index 33a0ab5ff3..89808fd3dc 100644 Binary files a/sound/direct_sound_samples/cries/lickitung.wav and b/sound/direct_sound_samples/cries/lickitung.wav differ diff --git a/sound/direct_sound_samples/cries/lileep.wav b/sound/direct_sound_samples/cries/lileep.wav index f890086d37..5fd0ba803f 100644 Binary files a/sound/direct_sound_samples/cries/lileep.wav and b/sound/direct_sound_samples/cries/lileep.wav differ diff --git a/sound/direct_sound_samples/cries/linoone.wav b/sound/direct_sound_samples/cries/linoone.wav index b8c191bcd0..a182b4f329 100644 Binary files a/sound/direct_sound_samples/cries/linoone.wav and b/sound/direct_sound_samples/cries/linoone.wav differ diff --git a/sound/direct_sound_samples/cries/lombre.wav b/sound/direct_sound_samples/cries/lombre.wav index 6d7888619e..f7c36acddd 100644 Binary files a/sound/direct_sound_samples/cries/lombre.wav and b/sound/direct_sound_samples/cries/lombre.wav differ diff --git a/sound/direct_sound_samples/cries/lotad.wav b/sound/direct_sound_samples/cries/lotad.wav index 8e28b10f32..ee0cb6f69a 100644 Binary files a/sound/direct_sound_samples/cries/lotad.wav and b/sound/direct_sound_samples/cries/lotad.wav differ diff --git a/sound/direct_sound_samples/cries/loudred.wav b/sound/direct_sound_samples/cries/loudred.wav index ff8b2c8104..06495bf49c 100644 Binary files a/sound/direct_sound_samples/cries/loudred.wav and b/sound/direct_sound_samples/cries/loudred.wav differ diff --git a/sound/direct_sound_samples/cries/ludicolo.wav b/sound/direct_sound_samples/cries/ludicolo.wav index 420ac54595..fa300674f9 100644 Binary files a/sound/direct_sound_samples/cries/ludicolo.wav and b/sound/direct_sound_samples/cries/ludicolo.wav differ diff --git a/sound/direct_sound_samples/cries/lugia.wav b/sound/direct_sound_samples/cries/lugia.wav index 855920839e..1a1c46ef41 100644 Binary files a/sound/direct_sound_samples/cries/lugia.wav and b/sound/direct_sound_samples/cries/lugia.wav differ diff --git a/sound/direct_sound_samples/cries/lunatone.wav b/sound/direct_sound_samples/cries/lunatone.wav index 8edd9a17e1..afd9473b8f 100644 Binary files a/sound/direct_sound_samples/cries/lunatone.wav and b/sound/direct_sound_samples/cries/lunatone.wav differ diff --git a/sound/direct_sound_samples/cries/luvdisc.wav b/sound/direct_sound_samples/cries/luvdisc.wav index da1c84b80e..c4261d76ea 100644 Binary files a/sound/direct_sound_samples/cries/luvdisc.wav and b/sound/direct_sound_samples/cries/luvdisc.wav differ diff --git a/sound/direct_sound_samples/cries/machamp.wav b/sound/direct_sound_samples/cries/machamp.wav index b7e091dc72..9535dcbab7 100644 Binary files a/sound/direct_sound_samples/cries/machamp.wav and b/sound/direct_sound_samples/cries/machamp.wav differ diff --git a/sound/direct_sound_samples/cries/machoke.wav b/sound/direct_sound_samples/cries/machoke.wav index 5e0fc98bf1..de76612e35 100644 Binary files a/sound/direct_sound_samples/cries/machoke.wav and b/sound/direct_sound_samples/cries/machoke.wav differ diff --git a/sound/direct_sound_samples/cries/machop.wav b/sound/direct_sound_samples/cries/machop.wav index a34a0ccc80..2e5af3e55f 100644 Binary files a/sound/direct_sound_samples/cries/machop.wav and b/sound/direct_sound_samples/cries/machop.wav differ diff --git a/sound/direct_sound_samples/cries/magby.wav b/sound/direct_sound_samples/cries/magby.wav index 8b083206c2..c8129db69e 100644 Binary files a/sound/direct_sound_samples/cries/magby.wav and b/sound/direct_sound_samples/cries/magby.wav differ diff --git a/sound/direct_sound_samples/cries/magcargo.wav b/sound/direct_sound_samples/cries/magcargo.wav index 6d97b90c1b..1bdd97d3ba 100644 Binary files a/sound/direct_sound_samples/cries/magcargo.wav and b/sound/direct_sound_samples/cries/magcargo.wav differ diff --git a/sound/direct_sound_samples/cries/magikarp.wav b/sound/direct_sound_samples/cries/magikarp.wav index 6c665d9e75..115fa23f27 100644 Binary files a/sound/direct_sound_samples/cries/magikarp.wav and b/sound/direct_sound_samples/cries/magikarp.wav differ diff --git a/sound/direct_sound_samples/cries/magmar.wav b/sound/direct_sound_samples/cries/magmar.wav index 902c15bf2e..6a3621c3ca 100644 Binary files a/sound/direct_sound_samples/cries/magmar.wav and b/sound/direct_sound_samples/cries/magmar.wav differ diff --git a/sound/direct_sound_samples/cries/magnemite.wav b/sound/direct_sound_samples/cries/magnemite.wav index 4fdc93f296..7dd1d550b9 100644 Binary files a/sound/direct_sound_samples/cries/magnemite.wav and b/sound/direct_sound_samples/cries/magnemite.wav differ diff --git a/sound/direct_sound_samples/cries/magneton.wav b/sound/direct_sound_samples/cries/magneton.wav index d69c276443..12513343d8 100644 Binary files a/sound/direct_sound_samples/cries/magneton.wav and b/sound/direct_sound_samples/cries/magneton.wav differ diff --git a/sound/direct_sound_samples/cries/makuhita.wav b/sound/direct_sound_samples/cries/makuhita.wav index 79b055ef98..6df74f2c11 100644 Binary files a/sound/direct_sound_samples/cries/makuhita.wav and b/sound/direct_sound_samples/cries/makuhita.wav differ diff --git a/sound/direct_sound_samples/cries/manectric.wav b/sound/direct_sound_samples/cries/manectric.wav index 939fc16093..db806c46af 100644 Binary files a/sound/direct_sound_samples/cries/manectric.wav and b/sound/direct_sound_samples/cries/manectric.wav differ diff --git a/sound/direct_sound_samples/cries/mankey.wav b/sound/direct_sound_samples/cries/mankey.wav index ab15ac9af6..9cf9f48668 100644 Binary files a/sound/direct_sound_samples/cries/mankey.wav and b/sound/direct_sound_samples/cries/mankey.wav differ diff --git a/sound/direct_sound_samples/cries/mantine.wav b/sound/direct_sound_samples/cries/mantine.wav index 919242e8fe..bc6f17e5e4 100644 Binary files a/sound/direct_sound_samples/cries/mantine.wav and b/sound/direct_sound_samples/cries/mantine.wav differ diff --git a/sound/direct_sound_samples/cries/mareep.wav b/sound/direct_sound_samples/cries/mareep.wav index 386925f5d5..b0a523d7d7 100644 Binary files a/sound/direct_sound_samples/cries/mareep.wav and b/sound/direct_sound_samples/cries/mareep.wav differ diff --git a/sound/direct_sound_samples/cries/marill.wav b/sound/direct_sound_samples/cries/marill.wav index 93201d1c51..8842fb0183 100644 Binary files a/sound/direct_sound_samples/cries/marill.wav and b/sound/direct_sound_samples/cries/marill.wav differ diff --git a/sound/direct_sound_samples/cries/marowak.wav b/sound/direct_sound_samples/cries/marowak.wav index 7bddb4b347..6701514d21 100644 Binary files a/sound/direct_sound_samples/cries/marowak.wav and b/sound/direct_sound_samples/cries/marowak.wav differ diff --git a/sound/direct_sound_samples/cries/marshtomp.wav b/sound/direct_sound_samples/cries/marshtomp.wav index 0caa959e29..ed906f7d1a 100644 Binary files a/sound/direct_sound_samples/cries/marshtomp.wav and b/sound/direct_sound_samples/cries/marshtomp.wav differ diff --git a/sound/direct_sound_samples/cries/masquerain.wav b/sound/direct_sound_samples/cries/masquerain.wav index b0c5372ae3..d7f5c700a3 100644 Binary files a/sound/direct_sound_samples/cries/masquerain.wav and b/sound/direct_sound_samples/cries/masquerain.wav differ diff --git a/sound/direct_sound_samples/cries/mawile.wav b/sound/direct_sound_samples/cries/mawile.wav index 9c54d40a48..bf0eb2e0a3 100644 Binary files a/sound/direct_sound_samples/cries/mawile.wav and b/sound/direct_sound_samples/cries/mawile.wav differ diff --git a/sound/direct_sound_samples/cries/medicham.wav b/sound/direct_sound_samples/cries/medicham.wav index be3668b173..e0853bfa77 100644 Binary files a/sound/direct_sound_samples/cries/medicham.wav and b/sound/direct_sound_samples/cries/medicham.wav differ diff --git a/sound/direct_sound_samples/cries/meditite.wav b/sound/direct_sound_samples/cries/meditite.wav index 23db4f297f..08675830b5 100644 Binary files a/sound/direct_sound_samples/cries/meditite.wav and b/sound/direct_sound_samples/cries/meditite.wav differ diff --git a/sound/direct_sound_samples/cries/meganium.wav b/sound/direct_sound_samples/cries/meganium.wav index 8f7920e937..2aaf870343 100644 Binary files a/sound/direct_sound_samples/cries/meganium.wav and b/sound/direct_sound_samples/cries/meganium.wav differ diff --git a/sound/direct_sound_samples/cries/meowth.wav b/sound/direct_sound_samples/cries/meowth.wav index bebca1c27e..a3b97ff953 100644 Binary files a/sound/direct_sound_samples/cries/meowth.wav and b/sound/direct_sound_samples/cries/meowth.wav differ diff --git a/sound/direct_sound_samples/cries/metagross.wav b/sound/direct_sound_samples/cries/metagross.wav index 5112b3afa8..35aa032c40 100644 Binary files a/sound/direct_sound_samples/cries/metagross.wav and b/sound/direct_sound_samples/cries/metagross.wav differ diff --git a/sound/direct_sound_samples/cries/metang.wav b/sound/direct_sound_samples/cries/metang.wav index 700759d207..d9203a3301 100644 Binary files a/sound/direct_sound_samples/cries/metang.wav and b/sound/direct_sound_samples/cries/metang.wav differ diff --git a/sound/direct_sound_samples/cries/metapod.wav b/sound/direct_sound_samples/cries/metapod.wav index 6df3b6aefb..1ef8849fce 100644 Binary files a/sound/direct_sound_samples/cries/metapod.wav and b/sound/direct_sound_samples/cries/metapod.wav differ diff --git a/sound/direct_sound_samples/cries/mew.wav b/sound/direct_sound_samples/cries/mew.wav index e75fa95f35..067c71b85e 100644 Binary files a/sound/direct_sound_samples/cries/mew.wav and b/sound/direct_sound_samples/cries/mew.wav differ diff --git a/sound/direct_sound_samples/cries/mewtwo.wav b/sound/direct_sound_samples/cries/mewtwo.wav index 947984f672..554564c041 100644 Binary files a/sound/direct_sound_samples/cries/mewtwo.wav and b/sound/direct_sound_samples/cries/mewtwo.wav differ diff --git a/sound/direct_sound_samples/cries/mightyena.wav b/sound/direct_sound_samples/cries/mightyena.wav index 0149976e2b..4c818b12b7 100644 Binary files a/sound/direct_sound_samples/cries/mightyena.wav and b/sound/direct_sound_samples/cries/mightyena.wav differ diff --git a/sound/direct_sound_samples/cries/milotic.wav b/sound/direct_sound_samples/cries/milotic.wav index 20db44692f..016657130f 100644 Binary files a/sound/direct_sound_samples/cries/milotic.wav and b/sound/direct_sound_samples/cries/milotic.wav differ diff --git a/sound/direct_sound_samples/cries/miltank.wav b/sound/direct_sound_samples/cries/miltank.wav index 5f51f525bb..949fd2812b 100644 Binary files a/sound/direct_sound_samples/cries/miltank.wav and b/sound/direct_sound_samples/cries/miltank.wav differ diff --git a/sound/direct_sound_samples/cries/minun.wav b/sound/direct_sound_samples/cries/minun.wav index 9e9a62f7e8..80d608c673 100644 Binary files a/sound/direct_sound_samples/cries/minun.wav and b/sound/direct_sound_samples/cries/minun.wav differ diff --git a/sound/direct_sound_samples/cries/misdreavus.wav b/sound/direct_sound_samples/cries/misdreavus.wav index f632986da9..cce18c27bb 100644 Binary files a/sound/direct_sound_samples/cries/misdreavus.wav and b/sound/direct_sound_samples/cries/misdreavus.wav differ diff --git a/sound/direct_sound_samples/cries/moltres.wav b/sound/direct_sound_samples/cries/moltres.wav index 7173a8cad4..c9c65b334d 100644 Binary files a/sound/direct_sound_samples/cries/moltres.wav and b/sound/direct_sound_samples/cries/moltres.wav differ diff --git a/sound/direct_sound_samples/cries/mr_mime.wav b/sound/direct_sound_samples/cries/mr_mime.wav index 23cf310532..a8121159bc 100644 Binary files a/sound/direct_sound_samples/cries/mr_mime.wav and b/sound/direct_sound_samples/cries/mr_mime.wav differ diff --git a/sound/direct_sound_samples/cries/mudkip.wav b/sound/direct_sound_samples/cries/mudkip.wav index c965efe30c..bcb613e41c 100644 Binary files a/sound/direct_sound_samples/cries/mudkip.wav and b/sound/direct_sound_samples/cries/mudkip.wav differ diff --git a/sound/direct_sound_samples/cries/muk.wav b/sound/direct_sound_samples/cries/muk.wav index 27cd6bdeb1..3cb2813826 100644 Binary files a/sound/direct_sound_samples/cries/muk.wav and b/sound/direct_sound_samples/cries/muk.wav differ diff --git a/sound/direct_sound_samples/cries/murkrow.wav b/sound/direct_sound_samples/cries/murkrow.wav index 5da336fa90..1ba1f55149 100644 Binary files a/sound/direct_sound_samples/cries/murkrow.wav and b/sound/direct_sound_samples/cries/murkrow.wav differ diff --git a/sound/direct_sound_samples/cries/natu.wav b/sound/direct_sound_samples/cries/natu.wav index 4a2c853178..3cf1fc15ba 100644 Binary files a/sound/direct_sound_samples/cries/natu.wav and b/sound/direct_sound_samples/cries/natu.wav differ diff --git a/sound/direct_sound_samples/cries/nidoking.wav b/sound/direct_sound_samples/cries/nidoking.wav index 556b20bdac..4a068c9092 100644 Binary files a/sound/direct_sound_samples/cries/nidoking.wav and b/sound/direct_sound_samples/cries/nidoking.wav differ diff --git a/sound/direct_sound_samples/cries/nidoqueen.wav b/sound/direct_sound_samples/cries/nidoqueen.wav index 7c23623a17..2835f1b366 100644 Binary files a/sound/direct_sound_samples/cries/nidoqueen.wav and b/sound/direct_sound_samples/cries/nidoqueen.wav differ diff --git a/sound/direct_sound_samples/cries/nidoran_f.wav b/sound/direct_sound_samples/cries/nidoran_f.wav index 2997c2b579..3d50a69174 100644 Binary files a/sound/direct_sound_samples/cries/nidoran_f.wav and b/sound/direct_sound_samples/cries/nidoran_f.wav differ diff --git a/sound/direct_sound_samples/cries/nidoran_m.wav b/sound/direct_sound_samples/cries/nidoran_m.wav index 160ab71e7f..94fcf0e5bd 100644 Binary files a/sound/direct_sound_samples/cries/nidoran_m.wav and b/sound/direct_sound_samples/cries/nidoran_m.wav differ diff --git a/sound/direct_sound_samples/cries/nidorina.wav b/sound/direct_sound_samples/cries/nidorina.wav index a46c416701..a2e1aa9d63 100644 Binary files a/sound/direct_sound_samples/cries/nidorina.wav and b/sound/direct_sound_samples/cries/nidorina.wav differ diff --git a/sound/direct_sound_samples/cries/nidorino.wav b/sound/direct_sound_samples/cries/nidorino.wav index 38db59c2f1..f4dea729c2 100644 Binary files a/sound/direct_sound_samples/cries/nidorino.wav and b/sound/direct_sound_samples/cries/nidorino.wav differ diff --git a/sound/direct_sound_samples/cries/nincada.wav b/sound/direct_sound_samples/cries/nincada.wav index dd5feb818d..ec9b888583 100644 Binary files a/sound/direct_sound_samples/cries/nincada.wav and b/sound/direct_sound_samples/cries/nincada.wav differ diff --git a/sound/direct_sound_samples/cries/ninetales.wav b/sound/direct_sound_samples/cries/ninetales.wav index f84b874364..0e5939ed20 100644 Binary files a/sound/direct_sound_samples/cries/ninetales.wav and b/sound/direct_sound_samples/cries/ninetales.wav differ diff --git a/sound/direct_sound_samples/cries/ninjask.wav b/sound/direct_sound_samples/cries/ninjask.wav index b61f4d37f5..20b496bc32 100644 Binary files a/sound/direct_sound_samples/cries/ninjask.wav and b/sound/direct_sound_samples/cries/ninjask.wav differ diff --git a/sound/direct_sound_samples/cries/noctowl.wav b/sound/direct_sound_samples/cries/noctowl.wav index ab705b6f2c..64f38a0443 100644 Binary files a/sound/direct_sound_samples/cries/noctowl.wav and b/sound/direct_sound_samples/cries/noctowl.wav differ diff --git a/sound/direct_sound_samples/cries/nosepass.wav b/sound/direct_sound_samples/cries/nosepass.wav index 1e15fb10d3..996cfbe7d7 100644 Binary files a/sound/direct_sound_samples/cries/nosepass.wav and b/sound/direct_sound_samples/cries/nosepass.wav differ diff --git a/sound/direct_sound_samples/cries/numel.wav b/sound/direct_sound_samples/cries/numel.wav index 2d2d16f021..a0ae3ebd82 100644 Binary files a/sound/direct_sound_samples/cries/numel.wav and b/sound/direct_sound_samples/cries/numel.wav differ diff --git a/sound/direct_sound_samples/cries/nuzleaf.wav b/sound/direct_sound_samples/cries/nuzleaf.wav index 5efb6e8068..60d0809efb 100644 Binary files a/sound/direct_sound_samples/cries/nuzleaf.wav and b/sound/direct_sound_samples/cries/nuzleaf.wav differ diff --git a/sound/direct_sound_samples/cries/octillery.wav b/sound/direct_sound_samples/cries/octillery.wav index 190d42c674..11bc1361d4 100644 Binary files a/sound/direct_sound_samples/cries/octillery.wav and b/sound/direct_sound_samples/cries/octillery.wav differ diff --git a/sound/direct_sound_samples/cries/oddish.wav b/sound/direct_sound_samples/cries/oddish.wav index de6855d369..bffae4bcf5 100644 Binary files a/sound/direct_sound_samples/cries/oddish.wav and b/sound/direct_sound_samples/cries/oddish.wav differ diff --git a/sound/direct_sound_samples/cries/omanyte.wav b/sound/direct_sound_samples/cries/omanyte.wav index 3db237ac3f..46e47b0a2f 100644 Binary files a/sound/direct_sound_samples/cries/omanyte.wav and b/sound/direct_sound_samples/cries/omanyte.wav differ diff --git a/sound/direct_sound_samples/cries/omastar.wav b/sound/direct_sound_samples/cries/omastar.wav index 69a4ea868f..021355da9e 100644 Binary files a/sound/direct_sound_samples/cries/omastar.wav and b/sound/direct_sound_samples/cries/omastar.wav differ diff --git a/sound/direct_sound_samples/cries/onix.wav b/sound/direct_sound_samples/cries/onix.wav index 57da601410..f0dd1f45e0 100644 Binary files a/sound/direct_sound_samples/cries/onix.wav and b/sound/direct_sound_samples/cries/onix.wav differ diff --git a/sound/direct_sound_samples/cries/paras.wav b/sound/direct_sound_samples/cries/paras.wav index ba4a051c9f..27101a52f1 100644 Binary files a/sound/direct_sound_samples/cries/paras.wav and b/sound/direct_sound_samples/cries/paras.wav differ diff --git a/sound/direct_sound_samples/cries/parasect.wav b/sound/direct_sound_samples/cries/parasect.wav index 5ff6ac2907..909803da7c 100644 Binary files a/sound/direct_sound_samples/cries/parasect.wav and b/sound/direct_sound_samples/cries/parasect.wav differ diff --git a/sound/direct_sound_samples/cries/pelipper.wav b/sound/direct_sound_samples/cries/pelipper.wav index 665dbcac9e..5af1e79984 100644 Binary files a/sound/direct_sound_samples/cries/pelipper.wav and b/sound/direct_sound_samples/cries/pelipper.wav differ diff --git a/sound/direct_sound_samples/cries/persian.wav b/sound/direct_sound_samples/cries/persian.wav index 96acf8296c..890089a511 100644 Binary files a/sound/direct_sound_samples/cries/persian.wav and b/sound/direct_sound_samples/cries/persian.wav differ diff --git a/sound/direct_sound_samples/cries/phanpy.wav b/sound/direct_sound_samples/cries/phanpy.wav index 4de13cafe1..dcd6793429 100644 Binary files a/sound/direct_sound_samples/cries/phanpy.wav and b/sound/direct_sound_samples/cries/phanpy.wav differ diff --git a/sound/direct_sound_samples/cries/pichu.wav b/sound/direct_sound_samples/cries/pichu.wav index d325103719..cfbbb6adb6 100644 Binary files a/sound/direct_sound_samples/cries/pichu.wav and b/sound/direct_sound_samples/cries/pichu.wav differ diff --git a/sound/direct_sound_samples/cries/pidgeot.wav b/sound/direct_sound_samples/cries/pidgeot.wav index f93ed99656..d56e2e5597 100644 Binary files a/sound/direct_sound_samples/cries/pidgeot.wav and b/sound/direct_sound_samples/cries/pidgeot.wav differ diff --git a/sound/direct_sound_samples/cries/pidgeotto.wav b/sound/direct_sound_samples/cries/pidgeotto.wav index 8b40a41e99..b8d075754c 100644 Binary files a/sound/direct_sound_samples/cries/pidgeotto.wav and b/sound/direct_sound_samples/cries/pidgeotto.wav differ diff --git a/sound/direct_sound_samples/cries/pidgey.wav b/sound/direct_sound_samples/cries/pidgey.wav index 34a1d1bd6a..5b58ae59bf 100644 Binary files a/sound/direct_sound_samples/cries/pidgey.wav and b/sound/direct_sound_samples/cries/pidgey.wav differ diff --git a/sound/direct_sound_samples/cries/pikachu.wav b/sound/direct_sound_samples/cries/pikachu.wav index d5f68416f2..dc1d354c87 100644 Binary files a/sound/direct_sound_samples/cries/pikachu.wav and b/sound/direct_sound_samples/cries/pikachu.wav differ diff --git a/sound/direct_sound_samples/cries/piloswine.wav b/sound/direct_sound_samples/cries/piloswine.wav index 4f181b7ec6..f28be1f9b6 100644 Binary files a/sound/direct_sound_samples/cries/piloswine.wav and b/sound/direct_sound_samples/cries/piloswine.wav differ diff --git a/sound/direct_sound_samples/cries/pineco.wav b/sound/direct_sound_samples/cries/pineco.wav index 70d841b9e5..cfaf5b9eee 100644 Binary files a/sound/direct_sound_samples/cries/pineco.wav and b/sound/direct_sound_samples/cries/pineco.wav differ diff --git a/sound/direct_sound_samples/cries/pinsir.wav b/sound/direct_sound_samples/cries/pinsir.wav index 3d3dcc7929..76ac8fa157 100644 Binary files a/sound/direct_sound_samples/cries/pinsir.wav and b/sound/direct_sound_samples/cries/pinsir.wav differ diff --git a/sound/direct_sound_samples/cries/plusle.wav b/sound/direct_sound_samples/cries/plusle.wav index 1b3cf87497..dcbe5fdd06 100644 Binary files a/sound/direct_sound_samples/cries/plusle.wav and b/sound/direct_sound_samples/cries/plusle.wav differ diff --git a/sound/direct_sound_samples/cries/politoed.wav b/sound/direct_sound_samples/cries/politoed.wav index 6472a08f55..9a90e1785a 100644 Binary files a/sound/direct_sound_samples/cries/politoed.wav and b/sound/direct_sound_samples/cries/politoed.wav differ diff --git a/sound/direct_sound_samples/cries/poliwag.wav b/sound/direct_sound_samples/cries/poliwag.wav index d35c8f4d8f..64fe686c93 100644 Binary files a/sound/direct_sound_samples/cries/poliwag.wav and b/sound/direct_sound_samples/cries/poliwag.wav differ diff --git a/sound/direct_sound_samples/cries/poliwhirl.wav b/sound/direct_sound_samples/cries/poliwhirl.wav index 0c59fbed64..924bb457cd 100644 Binary files a/sound/direct_sound_samples/cries/poliwhirl.wav and b/sound/direct_sound_samples/cries/poliwhirl.wav differ diff --git a/sound/direct_sound_samples/cries/poliwrath.wav b/sound/direct_sound_samples/cries/poliwrath.wav index c32bd44859..93afcf2b65 100644 Binary files a/sound/direct_sound_samples/cries/poliwrath.wav and b/sound/direct_sound_samples/cries/poliwrath.wav differ diff --git a/sound/direct_sound_samples/cries/ponyta.wav b/sound/direct_sound_samples/cries/ponyta.wav index 911954226d..bfa5b06ef3 100644 Binary files a/sound/direct_sound_samples/cries/ponyta.wav and b/sound/direct_sound_samples/cries/ponyta.wav differ diff --git a/sound/direct_sound_samples/cries/poochyena.wav b/sound/direct_sound_samples/cries/poochyena.wav index 16cabc29c6..8d46225c5f 100644 Binary files a/sound/direct_sound_samples/cries/poochyena.wav and b/sound/direct_sound_samples/cries/poochyena.wav differ diff --git a/sound/direct_sound_samples/cries/porygon.wav b/sound/direct_sound_samples/cries/porygon.wav index 11dd528dda..48c43c2db7 100644 Binary files a/sound/direct_sound_samples/cries/porygon.wav and b/sound/direct_sound_samples/cries/porygon.wav differ diff --git a/sound/direct_sound_samples/cries/porygon2.wav b/sound/direct_sound_samples/cries/porygon2.wav index 5699d8e450..965c1b7039 100644 Binary files a/sound/direct_sound_samples/cries/porygon2.wav and b/sound/direct_sound_samples/cries/porygon2.wav differ diff --git a/sound/direct_sound_samples/cries/primeape.wav b/sound/direct_sound_samples/cries/primeape.wav index bcd98e6bb4..146e924075 100644 Binary files a/sound/direct_sound_samples/cries/primeape.wav and b/sound/direct_sound_samples/cries/primeape.wav differ diff --git a/sound/direct_sound_samples/cries/psyduck.wav b/sound/direct_sound_samples/cries/psyduck.wav index bdc0d673e3..7b1a76da7a 100644 Binary files a/sound/direct_sound_samples/cries/psyduck.wav and b/sound/direct_sound_samples/cries/psyduck.wav differ diff --git a/sound/direct_sound_samples/cries/pupitar.wav b/sound/direct_sound_samples/cries/pupitar.wav index 5e797d420f..7768967293 100644 Binary files a/sound/direct_sound_samples/cries/pupitar.wav and b/sound/direct_sound_samples/cries/pupitar.wav differ diff --git a/sound/direct_sound_samples/cries/quagsire.wav b/sound/direct_sound_samples/cries/quagsire.wav index e4a8c0aad3..116c1bdf47 100644 Binary files a/sound/direct_sound_samples/cries/quagsire.wav and b/sound/direct_sound_samples/cries/quagsire.wav differ diff --git a/sound/direct_sound_samples/cries/quilava.wav b/sound/direct_sound_samples/cries/quilava.wav index ef0bd7381f..5b44632ece 100644 Binary files a/sound/direct_sound_samples/cries/quilava.wav and b/sound/direct_sound_samples/cries/quilava.wav differ diff --git a/sound/direct_sound_samples/cries/qwilfish.wav b/sound/direct_sound_samples/cries/qwilfish.wav index 0b11276dec..1f857d2c26 100644 Binary files a/sound/direct_sound_samples/cries/qwilfish.wav and b/sound/direct_sound_samples/cries/qwilfish.wav differ diff --git a/sound/direct_sound_samples/cries/raichu.wav b/sound/direct_sound_samples/cries/raichu.wav index 4e5dbaeb40..7b93bb5a3d 100644 Binary files a/sound/direct_sound_samples/cries/raichu.wav and b/sound/direct_sound_samples/cries/raichu.wav differ diff --git a/sound/direct_sound_samples/cries/raikou.wav b/sound/direct_sound_samples/cries/raikou.wav index fefeb1e3a5..35757a0ac8 100644 Binary files a/sound/direct_sound_samples/cries/raikou.wav and b/sound/direct_sound_samples/cries/raikou.wav differ diff --git a/sound/direct_sound_samples/cries/ralts.wav b/sound/direct_sound_samples/cries/ralts.wav index 4327c13a12..37948dc494 100644 Binary files a/sound/direct_sound_samples/cries/ralts.wav and b/sound/direct_sound_samples/cries/ralts.wav differ diff --git a/sound/direct_sound_samples/cries/rapidash.wav b/sound/direct_sound_samples/cries/rapidash.wav index 14ce75be75..953acc4504 100644 Binary files a/sound/direct_sound_samples/cries/rapidash.wav and b/sound/direct_sound_samples/cries/rapidash.wav differ diff --git a/sound/direct_sound_samples/cries/raticate.wav b/sound/direct_sound_samples/cries/raticate.wav index 545ebfcf12..bbef0c0af9 100644 Binary files a/sound/direct_sound_samples/cries/raticate.wav and b/sound/direct_sound_samples/cries/raticate.wav differ diff --git a/sound/direct_sound_samples/cries/rattata.wav b/sound/direct_sound_samples/cries/rattata.wav index 9e7a6b3cf6..951c3bd8a1 100644 Binary files a/sound/direct_sound_samples/cries/rattata.wav and b/sound/direct_sound_samples/cries/rattata.wav differ diff --git a/sound/direct_sound_samples/cries/rayquaza.wav b/sound/direct_sound_samples/cries/rayquaza.wav index c4e50535fc..94c4f7c014 100644 Binary files a/sound/direct_sound_samples/cries/rayquaza.wav and b/sound/direct_sound_samples/cries/rayquaza.wav differ diff --git a/sound/direct_sound_samples/cries/regice.wav b/sound/direct_sound_samples/cries/regice.wav index b65a79b4d4..8a2bfe7424 100644 Binary files a/sound/direct_sound_samples/cries/regice.wav and b/sound/direct_sound_samples/cries/regice.wav differ diff --git a/sound/direct_sound_samples/cries/regirock.wav b/sound/direct_sound_samples/cries/regirock.wav index 0df3c1a720..271b91f31d 100644 Binary files a/sound/direct_sound_samples/cries/regirock.wav and b/sound/direct_sound_samples/cries/regirock.wav differ diff --git a/sound/direct_sound_samples/cries/registeel.wav b/sound/direct_sound_samples/cries/registeel.wav index 0e2b21beb2..8bab7591fe 100644 Binary files a/sound/direct_sound_samples/cries/registeel.wav and b/sound/direct_sound_samples/cries/registeel.wav differ diff --git a/sound/direct_sound_samples/cries/relicanth.wav b/sound/direct_sound_samples/cries/relicanth.wav index 1a8c04473c..8561780d64 100644 Binary files a/sound/direct_sound_samples/cries/relicanth.wav and b/sound/direct_sound_samples/cries/relicanth.wav differ diff --git a/sound/direct_sound_samples/cries/remoraid.wav b/sound/direct_sound_samples/cries/remoraid.wav index 0465e033f1..ebab789ad3 100644 Binary files a/sound/direct_sound_samples/cries/remoraid.wav and b/sound/direct_sound_samples/cries/remoraid.wav differ diff --git a/sound/direct_sound_samples/cries/rhydon.wav b/sound/direct_sound_samples/cries/rhydon.wav index e4f024f312..2c3907c91e 100644 Binary files a/sound/direct_sound_samples/cries/rhydon.wav and b/sound/direct_sound_samples/cries/rhydon.wav differ diff --git a/sound/direct_sound_samples/cries/rhyhorn.wav b/sound/direct_sound_samples/cries/rhyhorn.wav index 10c6841f43..8583759915 100644 Binary files a/sound/direct_sound_samples/cries/rhyhorn.wav and b/sound/direct_sound_samples/cries/rhyhorn.wav differ diff --git a/sound/direct_sound_samples/cries/roselia.wav b/sound/direct_sound_samples/cries/roselia.wav index cd01f19f68..f9c67fae1f 100644 Binary files a/sound/direct_sound_samples/cries/roselia.wav and b/sound/direct_sound_samples/cries/roselia.wav differ diff --git a/sound/direct_sound_samples/cries/sableye.wav b/sound/direct_sound_samples/cries/sableye.wav index 9f32fbdd60..a1458cadc8 100644 Binary files a/sound/direct_sound_samples/cries/sableye.wav and b/sound/direct_sound_samples/cries/sableye.wav differ diff --git a/sound/direct_sound_samples/cries/salamence.wav b/sound/direct_sound_samples/cries/salamence.wav index 1c426adfad..135d90ecdc 100644 Binary files a/sound/direct_sound_samples/cries/salamence.wav and b/sound/direct_sound_samples/cries/salamence.wav differ diff --git a/sound/direct_sound_samples/cries/sandshrew.wav b/sound/direct_sound_samples/cries/sandshrew.wav index 8c324ed3d6..94f98193d1 100644 Binary files a/sound/direct_sound_samples/cries/sandshrew.wav and b/sound/direct_sound_samples/cries/sandshrew.wav differ diff --git a/sound/direct_sound_samples/cries/sandslash.wav b/sound/direct_sound_samples/cries/sandslash.wav index 95bcdb8698..ba3e29e083 100644 Binary files a/sound/direct_sound_samples/cries/sandslash.wav and b/sound/direct_sound_samples/cries/sandslash.wav differ diff --git a/sound/direct_sound_samples/cries/sceptile.wav b/sound/direct_sound_samples/cries/sceptile.wav index 32673bc773..5ff4d51010 100644 Binary files a/sound/direct_sound_samples/cries/sceptile.wav and b/sound/direct_sound_samples/cries/sceptile.wav differ diff --git a/sound/direct_sound_samples/cries/scizor.wav b/sound/direct_sound_samples/cries/scizor.wav index 8196df16b2..bc37f521c9 100644 Binary files a/sound/direct_sound_samples/cries/scizor.wav and b/sound/direct_sound_samples/cries/scizor.wav differ diff --git a/sound/direct_sound_samples/cries/scyther.wav b/sound/direct_sound_samples/cries/scyther.wav index 5b6ba415a1..021a6e0170 100644 Binary files a/sound/direct_sound_samples/cries/scyther.wav and b/sound/direct_sound_samples/cries/scyther.wav differ diff --git a/sound/direct_sound_samples/cries/seadra.wav b/sound/direct_sound_samples/cries/seadra.wav index c68a68a196..84c6ad7c76 100644 Binary files a/sound/direct_sound_samples/cries/seadra.wav and b/sound/direct_sound_samples/cries/seadra.wav differ diff --git a/sound/direct_sound_samples/cries/seaking.wav b/sound/direct_sound_samples/cries/seaking.wav index 6f2533e946..0534a12eda 100644 Binary files a/sound/direct_sound_samples/cries/seaking.wav and b/sound/direct_sound_samples/cries/seaking.wav differ diff --git a/sound/direct_sound_samples/cries/sealeo.wav b/sound/direct_sound_samples/cries/sealeo.wav index ad01a5fed3..744ab73901 100644 Binary files a/sound/direct_sound_samples/cries/sealeo.wav and b/sound/direct_sound_samples/cries/sealeo.wav differ diff --git a/sound/direct_sound_samples/cries/seedot.wav b/sound/direct_sound_samples/cries/seedot.wav index b4d74f65d6..367104936a 100644 Binary files a/sound/direct_sound_samples/cries/seedot.wav and b/sound/direct_sound_samples/cries/seedot.wav differ diff --git a/sound/direct_sound_samples/cries/seel.wav b/sound/direct_sound_samples/cries/seel.wav index 6e252b375a..95e027d5e8 100644 Binary files a/sound/direct_sound_samples/cries/seel.wav and b/sound/direct_sound_samples/cries/seel.wav differ diff --git a/sound/direct_sound_samples/cries/sentret.wav b/sound/direct_sound_samples/cries/sentret.wav index 0c6746c456..c7e1bb8a65 100644 Binary files a/sound/direct_sound_samples/cries/sentret.wav and b/sound/direct_sound_samples/cries/sentret.wav differ diff --git a/sound/direct_sound_samples/cries/seviper.wav b/sound/direct_sound_samples/cries/seviper.wav index b467378f4c..73529d9c1c 100644 Binary files a/sound/direct_sound_samples/cries/seviper.wav and b/sound/direct_sound_samples/cries/seviper.wav differ diff --git a/sound/direct_sound_samples/cries/sharpedo.wav b/sound/direct_sound_samples/cries/sharpedo.wav index 26c52b43c3..7f773d4fbb 100644 Binary files a/sound/direct_sound_samples/cries/sharpedo.wav and b/sound/direct_sound_samples/cries/sharpedo.wav differ diff --git a/sound/direct_sound_samples/cries/shedinja.wav b/sound/direct_sound_samples/cries/shedinja.wav index 956ae0be9f..6dda64b5d3 100644 Binary files a/sound/direct_sound_samples/cries/shedinja.wav and b/sound/direct_sound_samples/cries/shedinja.wav differ diff --git a/sound/direct_sound_samples/cries/shelgon.wav b/sound/direct_sound_samples/cries/shelgon.wav index 7648d06f9a..85ed3939c2 100644 Binary files a/sound/direct_sound_samples/cries/shelgon.wav and b/sound/direct_sound_samples/cries/shelgon.wav differ diff --git a/sound/direct_sound_samples/cries/shellder.wav b/sound/direct_sound_samples/cries/shellder.wav index 1fe4367d78..5c38501ba1 100644 Binary files a/sound/direct_sound_samples/cries/shellder.wav and b/sound/direct_sound_samples/cries/shellder.wav differ diff --git a/sound/direct_sound_samples/cries/shiftry.wav b/sound/direct_sound_samples/cries/shiftry.wav index 533115f404..dbba7208b9 100644 Binary files a/sound/direct_sound_samples/cries/shiftry.wav and b/sound/direct_sound_samples/cries/shiftry.wav differ diff --git a/sound/direct_sound_samples/cries/shroomish.wav b/sound/direct_sound_samples/cries/shroomish.wav index 07658c8801..05fa696706 100644 Binary files a/sound/direct_sound_samples/cries/shroomish.wav and b/sound/direct_sound_samples/cries/shroomish.wav differ diff --git a/sound/direct_sound_samples/cries/shuckle.wav b/sound/direct_sound_samples/cries/shuckle.wav index bb196dbfe9..afc303e4d8 100644 Binary files a/sound/direct_sound_samples/cries/shuckle.wav and b/sound/direct_sound_samples/cries/shuckle.wav differ diff --git a/sound/direct_sound_samples/cries/shuppet.wav b/sound/direct_sound_samples/cries/shuppet.wav index 6b043a2772..da206414c4 100644 Binary files a/sound/direct_sound_samples/cries/shuppet.wav and b/sound/direct_sound_samples/cries/shuppet.wav differ diff --git a/sound/direct_sound_samples/cries/silcoon.wav b/sound/direct_sound_samples/cries/silcoon.wav index 15827329e4..e5af66fbc2 100644 Binary files a/sound/direct_sound_samples/cries/silcoon.wav and b/sound/direct_sound_samples/cries/silcoon.wav differ diff --git a/sound/direct_sound_samples/cries/skarmory.wav b/sound/direct_sound_samples/cries/skarmory.wav index 2924973023..7062c9813d 100644 Binary files a/sound/direct_sound_samples/cries/skarmory.wav and b/sound/direct_sound_samples/cries/skarmory.wav differ diff --git a/sound/direct_sound_samples/cries/skiploom.wav b/sound/direct_sound_samples/cries/skiploom.wav index 30f9c26662..8aa05f5b7e 100644 Binary files a/sound/direct_sound_samples/cries/skiploom.wav and b/sound/direct_sound_samples/cries/skiploom.wav differ diff --git a/sound/direct_sound_samples/cries/skitty.wav b/sound/direct_sound_samples/cries/skitty.wav index 02aaa4fcbd..ee5717d07c 100644 Binary files a/sound/direct_sound_samples/cries/skitty.wav and b/sound/direct_sound_samples/cries/skitty.wav differ diff --git a/sound/direct_sound_samples/cries/slaking.wav b/sound/direct_sound_samples/cries/slaking.wav index ef34d94d69..44681126d4 100644 Binary files a/sound/direct_sound_samples/cries/slaking.wav and b/sound/direct_sound_samples/cries/slaking.wav differ diff --git a/sound/direct_sound_samples/cries/slakoth.wav b/sound/direct_sound_samples/cries/slakoth.wav index d4588b3a21..4c442f9c14 100644 Binary files a/sound/direct_sound_samples/cries/slakoth.wav and b/sound/direct_sound_samples/cries/slakoth.wav differ diff --git a/sound/direct_sound_samples/cries/slowbro.wav b/sound/direct_sound_samples/cries/slowbro.wav index fe03ab4cdd..c46e751f51 100644 Binary files a/sound/direct_sound_samples/cries/slowbro.wav and b/sound/direct_sound_samples/cries/slowbro.wav differ diff --git a/sound/direct_sound_samples/cries/slowking.wav b/sound/direct_sound_samples/cries/slowking.wav index f802796282..a32fea33df 100644 Binary files a/sound/direct_sound_samples/cries/slowking.wav and b/sound/direct_sound_samples/cries/slowking.wav differ diff --git a/sound/direct_sound_samples/cries/slowpoke.wav b/sound/direct_sound_samples/cries/slowpoke.wav index b3a45bef0a..275c2d9da1 100644 Binary files a/sound/direct_sound_samples/cries/slowpoke.wav and b/sound/direct_sound_samples/cries/slowpoke.wav differ diff --git a/sound/direct_sound_samples/cries/slugma.wav b/sound/direct_sound_samples/cries/slugma.wav index 389bc88657..fed73cced4 100644 Binary files a/sound/direct_sound_samples/cries/slugma.wav and b/sound/direct_sound_samples/cries/slugma.wav differ diff --git a/sound/direct_sound_samples/cries/smeargle.wav b/sound/direct_sound_samples/cries/smeargle.wav index e206f8f61b..abb48580b3 100644 Binary files a/sound/direct_sound_samples/cries/smeargle.wav and b/sound/direct_sound_samples/cries/smeargle.wav differ diff --git a/sound/direct_sound_samples/cries/smoochum.wav b/sound/direct_sound_samples/cries/smoochum.wav index a4abdde7ec..33f50b0469 100644 Binary files a/sound/direct_sound_samples/cries/smoochum.wav and b/sound/direct_sound_samples/cries/smoochum.wav differ diff --git a/sound/direct_sound_samples/cries/sneasel.wav b/sound/direct_sound_samples/cries/sneasel.wav index da76aefb71..dc960be0dc 100644 Binary files a/sound/direct_sound_samples/cries/sneasel.wav and b/sound/direct_sound_samples/cries/sneasel.wav differ diff --git a/sound/direct_sound_samples/cries/snorlax.wav b/sound/direct_sound_samples/cries/snorlax.wav index 12e717be17..c0e45a4572 100644 Binary files a/sound/direct_sound_samples/cries/snorlax.wav and b/sound/direct_sound_samples/cries/snorlax.wav differ diff --git a/sound/direct_sound_samples/cries/snorunt.wav b/sound/direct_sound_samples/cries/snorunt.wav index b4ecc4537f..586c131168 100644 Binary files a/sound/direct_sound_samples/cries/snorunt.wav and b/sound/direct_sound_samples/cries/snorunt.wav differ diff --git a/sound/direct_sound_samples/cries/snubbull.wav b/sound/direct_sound_samples/cries/snubbull.wav index 37cacda8f7..626da01c14 100644 Binary files a/sound/direct_sound_samples/cries/snubbull.wav and b/sound/direct_sound_samples/cries/snubbull.wav differ diff --git a/sound/direct_sound_samples/cries/solrock.wav b/sound/direct_sound_samples/cries/solrock.wav index 12f766af71..d99dcbd2b4 100644 Binary files a/sound/direct_sound_samples/cries/solrock.wav and b/sound/direct_sound_samples/cries/solrock.wav differ diff --git a/sound/direct_sound_samples/cries/spearow.wav b/sound/direct_sound_samples/cries/spearow.wav index a648481368..e441d27ed4 100644 Binary files a/sound/direct_sound_samples/cries/spearow.wav and b/sound/direct_sound_samples/cries/spearow.wav differ diff --git a/sound/direct_sound_samples/cries/spheal.wav b/sound/direct_sound_samples/cries/spheal.wav index 818caf8cd8..5602399340 100644 Binary files a/sound/direct_sound_samples/cries/spheal.wav and b/sound/direct_sound_samples/cries/spheal.wav differ diff --git a/sound/direct_sound_samples/cries/spinarak.wav b/sound/direct_sound_samples/cries/spinarak.wav index 3c45731327..764efce71f 100644 Binary files a/sound/direct_sound_samples/cries/spinarak.wav and b/sound/direct_sound_samples/cries/spinarak.wav differ diff --git a/sound/direct_sound_samples/cries/spinda.wav b/sound/direct_sound_samples/cries/spinda.wav index 4481e3a887..a865817789 100644 Binary files a/sound/direct_sound_samples/cries/spinda.wav and b/sound/direct_sound_samples/cries/spinda.wav differ diff --git a/sound/direct_sound_samples/cries/spoink.wav b/sound/direct_sound_samples/cries/spoink.wav index 36447fb84b..880637b5cc 100644 Binary files a/sound/direct_sound_samples/cries/spoink.wav and b/sound/direct_sound_samples/cries/spoink.wav differ diff --git a/sound/direct_sound_samples/cries/squirtle.wav b/sound/direct_sound_samples/cries/squirtle.wav index 0cf32c6b6c..fb533d7184 100644 Binary files a/sound/direct_sound_samples/cries/squirtle.wav and b/sound/direct_sound_samples/cries/squirtle.wav differ diff --git a/sound/direct_sound_samples/cries/stantler.wav b/sound/direct_sound_samples/cries/stantler.wav index f59953beb0..febf2e6163 100644 Binary files a/sound/direct_sound_samples/cries/stantler.wav and b/sound/direct_sound_samples/cries/stantler.wav differ diff --git a/sound/direct_sound_samples/cries/starmie.wav b/sound/direct_sound_samples/cries/starmie.wav index e3ace4fcf2..40edec6b9e 100644 Binary files a/sound/direct_sound_samples/cries/starmie.wav and b/sound/direct_sound_samples/cries/starmie.wav differ diff --git a/sound/direct_sound_samples/cries/staryu.wav b/sound/direct_sound_samples/cries/staryu.wav index c726206f43..611c0571ba 100644 Binary files a/sound/direct_sound_samples/cries/staryu.wav and b/sound/direct_sound_samples/cries/staryu.wav differ diff --git a/sound/direct_sound_samples/cries/steelix.wav b/sound/direct_sound_samples/cries/steelix.wav index 8683e3d242..85de343abe 100644 Binary files a/sound/direct_sound_samples/cries/steelix.wav and b/sound/direct_sound_samples/cries/steelix.wav differ diff --git a/sound/direct_sound_samples/cries/sudowoodo.wav b/sound/direct_sound_samples/cries/sudowoodo.wav index 48661df94e..97bb1d51a2 100644 Binary files a/sound/direct_sound_samples/cries/sudowoodo.wav and b/sound/direct_sound_samples/cries/sudowoodo.wav differ diff --git a/sound/direct_sound_samples/cries/suicune.wav b/sound/direct_sound_samples/cries/suicune.wav index f675d8fdc4..90218ad013 100644 Binary files a/sound/direct_sound_samples/cries/suicune.wav and b/sound/direct_sound_samples/cries/suicune.wav differ diff --git a/sound/direct_sound_samples/cries/sunflora.wav b/sound/direct_sound_samples/cries/sunflora.wav index 613422881c..ccad9c8c36 100644 Binary files a/sound/direct_sound_samples/cries/sunflora.wav and b/sound/direct_sound_samples/cries/sunflora.wav differ diff --git a/sound/direct_sound_samples/cries/sunkern.wav b/sound/direct_sound_samples/cries/sunkern.wav index b183f9ee94..0b670dadb2 100644 Binary files a/sound/direct_sound_samples/cries/sunkern.wav and b/sound/direct_sound_samples/cries/sunkern.wav differ diff --git a/sound/direct_sound_samples/cries/surskit.wav b/sound/direct_sound_samples/cries/surskit.wav index 04b1be882d..650fde3d18 100644 Binary files a/sound/direct_sound_samples/cries/surskit.wav and b/sound/direct_sound_samples/cries/surskit.wav differ diff --git a/sound/direct_sound_samples/cries/swablu.wav b/sound/direct_sound_samples/cries/swablu.wav index f24d349307..0fafb27d0d 100644 Binary files a/sound/direct_sound_samples/cries/swablu.wav and b/sound/direct_sound_samples/cries/swablu.wav differ diff --git a/sound/direct_sound_samples/cries/swalot.wav b/sound/direct_sound_samples/cries/swalot.wav index cfed979342..56e0b170b1 100644 Binary files a/sound/direct_sound_samples/cries/swalot.wav and b/sound/direct_sound_samples/cries/swalot.wav differ diff --git a/sound/direct_sound_samples/cries/swampert.wav b/sound/direct_sound_samples/cries/swampert.wav index a06f15992f..eab813edb7 100644 Binary files a/sound/direct_sound_samples/cries/swampert.wav and b/sound/direct_sound_samples/cries/swampert.wav differ diff --git a/sound/direct_sound_samples/cries/swellow.wav b/sound/direct_sound_samples/cries/swellow.wav index 637ff46540..118eb684c3 100644 Binary files a/sound/direct_sound_samples/cries/swellow.wav and b/sound/direct_sound_samples/cries/swellow.wav differ diff --git a/sound/direct_sound_samples/cries/swinub.wav b/sound/direct_sound_samples/cries/swinub.wav index 93eafa458d..e84ba9454a 100644 Binary files a/sound/direct_sound_samples/cries/swinub.wav and b/sound/direct_sound_samples/cries/swinub.wav differ diff --git a/sound/direct_sound_samples/cries/taillow.wav b/sound/direct_sound_samples/cries/taillow.wav index 9f1bb25f48..7d4135c76a 100644 Binary files a/sound/direct_sound_samples/cries/taillow.wav and b/sound/direct_sound_samples/cries/taillow.wav differ diff --git a/sound/direct_sound_samples/cries/tangela.wav b/sound/direct_sound_samples/cries/tangela.wav index 023a0362f9..991b787ff4 100644 Binary files a/sound/direct_sound_samples/cries/tangela.wav and b/sound/direct_sound_samples/cries/tangela.wav differ diff --git a/sound/direct_sound_samples/cries/tauros.wav b/sound/direct_sound_samples/cries/tauros.wav index a982d052d9..f7610d2dd0 100644 Binary files a/sound/direct_sound_samples/cries/tauros.wav and b/sound/direct_sound_samples/cries/tauros.wav differ diff --git a/sound/direct_sound_samples/cries/teddiursa.wav b/sound/direct_sound_samples/cries/teddiursa.wav index adc9b80d9c..d55bc9e4a6 100644 Binary files a/sound/direct_sound_samples/cries/teddiursa.wav and b/sound/direct_sound_samples/cries/teddiursa.wav differ diff --git a/sound/direct_sound_samples/cries/tentacool.wav b/sound/direct_sound_samples/cries/tentacool.wav index cd8f5afc7a..f35d2a6252 100644 Binary files a/sound/direct_sound_samples/cries/tentacool.wav and b/sound/direct_sound_samples/cries/tentacool.wav differ diff --git a/sound/direct_sound_samples/cries/tentacruel.wav b/sound/direct_sound_samples/cries/tentacruel.wav index dfbc8c7f09..3799a10754 100644 Binary files a/sound/direct_sound_samples/cries/tentacruel.wav and b/sound/direct_sound_samples/cries/tentacruel.wav differ diff --git a/sound/direct_sound_samples/cries/togepi.wav b/sound/direct_sound_samples/cries/togepi.wav index e13355c554..ac6bbf9ff8 100644 Binary files a/sound/direct_sound_samples/cries/togepi.wav and b/sound/direct_sound_samples/cries/togepi.wav differ diff --git a/sound/direct_sound_samples/cries/togetic.wav b/sound/direct_sound_samples/cries/togetic.wav index 957a45dc94..f8b70c0f41 100644 Binary files a/sound/direct_sound_samples/cries/togetic.wav and b/sound/direct_sound_samples/cries/togetic.wav differ diff --git a/sound/direct_sound_samples/cries/torchic.wav b/sound/direct_sound_samples/cries/torchic.wav index 39a2522b32..5dd5c56bed 100644 Binary files a/sound/direct_sound_samples/cries/torchic.wav and b/sound/direct_sound_samples/cries/torchic.wav differ diff --git a/sound/direct_sound_samples/cries/torkoal.wav b/sound/direct_sound_samples/cries/torkoal.wav index 497e92af20..aed3842962 100644 Binary files a/sound/direct_sound_samples/cries/torkoal.wav and b/sound/direct_sound_samples/cries/torkoal.wav differ diff --git a/sound/direct_sound_samples/cries/totodile.wav b/sound/direct_sound_samples/cries/totodile.wav index 93c0788473..4a4263ec2d 100644 Binary files a/sound/direct_sound_samples/cries/totodile.wav and b/sound/direct_sound_samples/cries/totodile.wav differ diff --git a/sound/direct_sound_samples/cries/trapinch.wav b/sound/direct_sound_samples/cries/trapinch.wav index 5cad4ad23e..abb851c1b7 100644 Binary files a/sound/direct_sound_samples/cries/trapinch.wav and b/sound/direct_sound_samples/cries/trapinch.wav differ diff --git a/sound/direct_sound_samples/cries/treecko.wav b/sound/direct_sound_samples/cries/treecko.wav index 0c982f8408..da43048452 100644 Binary files a/sound/direct_sound_samples/cries/treecko.wav and b/sound/direct_sound_samples/cries/treecko.wav differ diff --git a/sound/direct_sound_samples/cries/tropius.wav b/sound/direct_sound_samples/cries/tropius.wav index 55de362aa7..f7f7cbc389 100644 Binary files a/sound/direct_sound_samples/cries/tropius.wav and b/sound/direct_sound_samples/cries/tropius.wav differ diff --git a/sound/direct_sound_samples/cries/typhlosion.wav b/sound/direct_sound_samples/cries/typhlosion.wav index f1759989d7..cd525d5610 100644 Binary files a/sound/direct_sound_samples/cries/typhlosion.wav and b/sound/direct_sound_samples/cries/typhlosion.wav differ diff --git a/sound/direct_sound_samples/cries/tyranitar.wav b/sound/direct_sound_samples/cries/tyranitar.wav index 5bec5f7279..f2b7682106 100644 Binary files a/sound/direct_sound_samples/cries/tyranitar.wav and b/sound/direct_sound_samples/cries/tyranitar.wav differ diff --git a/sound/direct_sound_samples/cries/tyrogue.wav b/sound/direct_sound_samples/cries/tyrogue.wav index 46d032063d..4905a85661 100644 Binary files a/sound/direct_sound_samples/cries/tyrogue.wav and b/sound/direct_sound_samples/cries/tyrogue.wav differ diff --git a/sound/direct_sound_samples/cries/umbreon.wav b/sound/direct_sound_samples/cries/umbreon.wav index 48f62064af..8735d9fdec 100644 Binary files a/sound/direct_sound_samples/cries/umbreon.wav and b/sound/direct_sound_samples/cries/umbreon.wav differ diff --git a/sound/direct_sound_samples/cries/unown.wav b/sound/direct_sound_samples/cries/unown.wav index 1956ecef75..befaaedd00 100644 Binary files a/sound/direct_sound_samples/cries/unown.wav and b/sound/direct_sound_samples/cries/unown.wav differ diff --git a/sound/direct_sound_samples/cries/unused_265.wav b/sound/direct_sound_samples/cries/unused_265.wav index 12c3d8640f..5735db46fd 100644 Binary files a/sound/direct_sound_samples/cries/unused_265.wav and b/sound/direct_sound_samples/cries/unused_265.wav differ diff --git a/sound/direct_sound_samples/cries/unused_268.wav b/sound/direct_sound_samples/cries/unused_268.wav index 3501b24ef8..c698955e8d 100644 Binary files a/sound/direct_sound_samples/cries/unused_268.wav and b/sound/direct_sound_samples/cries/unused_268.wav differ diff --git a/sound/direct_sound_samples/cries/ursaring.wav b/sound/direct_sound_samples/cries/ursaring.wav index b3d4a99cb7..e8ccc67cac 100644 Binary files a/sound/direct_sound_samples/cries/ursaring.wav and b/sound/direct_sound_samples/cries/ursaring.wav differ diff --git a/sound/direct_sound_samples/cries/vaporeon.wav b/sound/direct_sound_samples/cries/vaporeon.wav index 8ec3094851..861bc93cbe 100644 Binary files a/sound/direct_sound_samples/cries/vaporeon.wav and b/sound/direct_sound_samples/cries/vaporeon.wav differ diff --git a/sound/direct_sound_samples/cries/venomoth.wav b/sound/direct_sound_samples/cries/venomoth.wav index ab5179df66..76deea6e8d 100644 Binary files a/sound/direct_sound_samples/cries/venomoth.wav and b/sound/direct_sound_samples/cries/venomoth.wav differ diff --git a/sound/direct_sound_samples/cries/venonat.wav b/sound/direct_sound_samples/cries/venonat.wav index 450c2bb222..52763c4ea1 100644 Binary files a/sound/direct_sound_samples/cries/venonat.wav and b/sound/direct_sound_samples/cries/venonat.wav differ diff --git a/sound/direct_sound_samples/cries/venusaur.wav b/sound/direct_sound_samples/cries/venusaur.wav index fdd299ae27..4273ac8471 100644 Binary files a/sound/direct_sound_samples/cries/venusaur.wav and b/sound/direct_sound_samples/cries/venusaur.wav differ diff --git a/sound/direct_sound_samples/cries/vibrava.wav b/sound/direct_sound_samples/cries/vibrava.wav index 5370104875..9f4b2b3625 100644 Binary files a/sound/direct_sound_samples/cries/vibrava.wav and b/sound/direct_sound_samples/cries/vibrava.wav differ diff --git a/sound/direct_sound_samples/cries/victreebel.wav b/sound/direct_sound_samples/cries/victreebel.wav index 19f11202f9..cea271b30b 100644 Binary files a/sound/direct_sound_samples/cries/victreebel.wav and b/sound/direct_sound_samples/cries/victreebel.wav differ diff --git a/sound/direct_sound_samples/cries/vigoroth.wav b/sound/direct_sound_samples/cries/vigoroth.wav index 5d21bd23b0..800a4989f9 100644 Binary files a/sound/direct_sound_samples/cries/vigoroth.wav and b/sound/direct_sound_samples/cries/vigoroth.wav differ diff --git a/sound/direct_sound_samples/cries/vileplume.wav b/sound/direct_sound_samples/cries/vileplume.wav index 7189097b18..06dfaab478 100644 Binary files a/sound/direct_sound_samples/cries/vileplume.wav and b/sound/direct_sound_samples/cries/vileplume.wav differ diff --git a/sound/direct_sound_samples/cries/volbeat.wav b/sound/direct_sound_samples/cries/volbeat.wav index ae6375b95f..d29a8ddbe1 100644 Binary files a/sound/direct_sound_samples/cries/volbeat.wav and b/sound/direct_sound_samples/cries/volbeat.wav differ diff --git a/sound/direct_sound_samples/cries/voltorb.wav b/sound/direct_sound_samples/cries/voltorb.wav index e303a3db73..0c698af270 100644 Binary files a/sound/direct_sound_samples/cries/voltorb.wav and b/sound/direct_sound_samples/cries/voltorb.wav differ diff --git a/sound/direct_sound_samples/cries/vulpix.wav b/sound/direct_sound_samples/cries/vulpix.wav index 71d58b0a72..895bf7f358 100644 Binary files a/sound/direct_sound_samples/cries/vulpix.wav and b/sound/direct_sound_samples/cries/vulpix.wav differ diff --git a/sound/direct_sound_samples/cries/wailmer.wav b/sound/direct_sound_samples/cries/wailmer.wav index ef43c515fd..514200f855 100644 Binary files a/sound/direct_sound_samples/cries/wailmer.wav and b/sound/direct_sound_samples/cries/wailmer.wav differ diff --git a/sound/direct_sound_samples/cries/wailord.wav b/sound/direct_sound_samples/cries/wailord.wav index a7e9d89f69..163660c6a9 100644 Binary files a/sound/direct_sound_samples/cries/wailord.wav and b/sound/direct_sound_samples/cries/wailord.wav differ diff --git a/sound/direct_sound_samples/cries/walrein.wav b/sound/direct_sound_samples/cries/walrein.wav index cbc5fa8cb4..9389f92273 100644 Binary files a/sound/direct_sound_samples/cries/walrein.wav and b/sound/direct_sound_samples/cries/walrein.wav differ diff --git a/sound/direct_sound_samples/cries/wartortle.wav b/sound/direct_sound_samples/cries/wartortle.wav index 950f87d74b..040292e128 100644 Binary files a/sound/direct_sound_samples/cries/wartortle.wav and b/sound/direct_sound_samples/cries/wartortle.wav differ diff --git a/sound/direct_sound_samples/cries/weedle.wav b/sound/direct_sound_samples/cries/weedle.wav index 6a209fede1..2c891cd309 100644 Binary files a/sound/direct_sound_samples/cries/weedle.wav and b/sound/direct_sound_samples/cries/weedle.wav differ diff --git a/sound/direct_sound_samples/cries/weepinbell.wav b/sound/direct_sound_samples/cries/weepinbell.wav index 48f7225cf5..206bd24e45 100644 Binary files a/sound/direct_sound_samples/cries/weepinbell.wav and b/sound/direct_sound_samples/cries/weepinbell.wav differ diff --git a/sound/direct_sound_samples/cries/weezing.wav b/sound/direct_sound_samples/cries/weezing.wav index b5a7b189d0..ee60585955 100644 Binary files a/sound/direct_sound_samples/cries/weezing.wav and b/sound/direct_sound_samples/cries/weezing.wav differ diff --git a/sound/direct_sound_samples/cries/whiscash.wav b/sound/direct_sound_samples/cries/whiscash.wav index ebec93d188..927713b050 100644 Binary files a/sound/direct_sound_samples/cries/whiscash.wav and b/sound/direct_sound_samples/cries/whiscash.wav differ diff --git a/sound/direct_sound_samples/cries/whismur.wav b/sound/direct_sound_samples/cries/whismur.wav index af3e3e0e31..3470acc99f 100644 Binary files a/sound/direct_sound_samples/cries/whismur.wav and b/sound/direct_sound_samples/cries/whismur.wav differ diff --git a/sound/direct_sound_samples/cries/wigglytuff.wav b/sound/direct_sound_samples/cries/wigglytuff.wav index a6b632a6ce..7e9e668a44 100644 Binary files a/sound/direct_sound_samples/cries/wigglytuff.wav and b/sound/direct_sound_samples/cries/wigglytuff.wav differ diff --git a/sound/direct_sound_samples/cries/wingull.wav b/sound/direct_sound_samples/cries/wingull.wav index 4e158409ad..b780295935 100644 Binary files a/sound/direct_sound_samples/cries/wingull.wav and b/sound/direct_sound_samples/cries/wingull.wav differ diff --git a/sound/direct_sound_samples/cries/wobbuffet.wav b/sound/direct_sound_samples/cries/wobbuffet.wav index 17e7464ad9..049aa83ba8 100644 Binary files a/sound/direct_sound_samples/cries/wobbuffet.wav and b/sound/direct_sound_samples/cries/wobbuffet.wav differ diff --git a/sound/direct_sound_samples/cries/wooper.wav b/sound/direct_sound_samples/cries/wooper.wav index 83c7e589df..280845b2b8 100644 Binary files a/sound/direct_sound_samples/cries/wooper.wav and b/sound/direct_sound_samples/cries/wooper.wav differ diff --git a/sound/direct_sound_samples/cries/wurmple.wav b/sound/direct_sound_samples/cries/wurmple.wav index b58d5007cf..09ac95d59b 100644 Binary files a/sound/direct_sound_samples/cries/wurmple.wav and b/sound/direct_sound_samples/cries/wurmple.wav differ diff --git a/sound/direct_sound_samples/cries/wynaut.wav b/sound/direct_sound_samples/cries/wynaut.wav index 6febe26aa4..dcdc2b3394 100644 Binary files a/sound/direct_sound_samples/cries/wynaut.wav and b/sound/direct_sound_samples/cries/wynaut.wav differ diff --git a/sound/direct_sound_samples/cries/xatu.wav b/sound/direct_sound_samples/cries/xatu.wav index 7c84f65723..47c470c4c3 100644 Binary files a/sound/direct_sound_samples/cries/xatu.wav and b/sound/direct_sound_samples/cries/xatu.wav differ diff --git a/sound/direct_sound_samples/cries/yanma.wav b/sound/direct_sound_samples/cries/yanma.wav index 166b373616..3fea5ab36f 100644 Binary files a/sound/direct_sound_samples/cries/yanma.wav and b/sound/direct_sound_samples/cries/yanma.wav differ diff --git a/sound/direct_sound_samples/cries/zangoose.wav b/sound/direct_sound_samples/cries/zangoose.wav index b1e3e9ffc3..a5306a2d16 100644 Binary files a/sound/direct_sound_samples/cries/zangoose.wav and b/sound/direct_sound_samples/cries/zangoose.wav differ diff --git a/sound/direct_sound_samples/cries/zapdos.wav b/sound/direct_sound_samples/cries/zapdos.wav index 58415b9344..f8168a603c 100644 Binary files a/sound/direct_sound_samples/cries/zapdos.wav and b/sound/direct_sound_samples/cries/zapdos.wav differ diff --git a/sound/direct_sound_samples/cries/zigzagoon.wav b/sound/direct_sound_samples/cries/zigzagoon.wav index ac0b68edcd..fca81cf0f3 100644 Binary files a/sound/direct_sound_samples/cries/zigzagoon.wav and b/sound/direct_sound_samples/cries/zigzagoon.wav differ diff --git a/sound/direct_sound_samples/cries/zubat.wav b/sound/direct_sound_samples/cries/zubat.wav index dc0756a06d..58c0c16e58 100644 Binary files a/sound/direct_sound_samples/cries/zubat.wav and b/sound/direct_sound_samples/cries/zubat.wav differ diff --git a/sound/direct_sound_samples/dance_drums_ride_bell.wav b/sound/direct_sound_samples/dance_drums_ride_bell.wav index a79a5c26f9..7a0e9eb3ea 100644 Binary files a/sound/direct_sound_samples/dance_drums_ride_bell.wav and b/sound/direct_sound_samples/dance_drums_ride_bell.wav differ diff --git a/sound/direct_sound_samples/drum_and_percussion_kick.wav b/sound/direct_sound_samples/drum_and_percussion_kick.wav index 49ba617f0c..4b6969b6eb 100644 Binary files a/sound/direct_sound_samples/drum_and_percussion_kick.wav and b/sound/direct_sound_samples/drum_and_percussion_kick.wav differ diff --git a/sound/direct_sound_samples/ethnic_flavours_atarigane.wav b/sound/direct_sound_samples/ethnic_flavours_atarigane.wav index d1fb2c1a4f..ebe975fee8 100644 Binary files a/sound/direct_sound_samples/ethnic_flavours_atarigane.wav and b/sound/direct_sound_samples/ethnic_flavours_atarigane.wav differ diff --git a/sound/direct_sound_samples/ethnic_flavours_hyoushigi.wav b/sound/direct_sound_samples/ethnic_flavours_hyoushigi.wav index 18731f5034..bb8653d051 100644 Binary files a/sound/direct_sound_samples/ethnic_flavours_hyoushigi.wav and b/sound/direct_sound_samples/ethnic_flavours_hyoushigi.wav differ diff --git a/sound/direct_sound_samples/ethnic_flavours_kotsuzumi.wav b/sound/direct_sound_samples/ethnic_flavours_kotsuzumi.wav index 5c99fedf38..133368a57a 100644 Binary files a/sound/direct_sound_samples/ethnic_flavours_kotsuzumi.wav and b/sound/direct_sound_samples/ethnic_flavours_kotsuzumi.wav differ diff --git a/sound/direct_sound_samples/ethnic_flavours_ohtsuzumi.wav b/sound/direct_sound_samples/ethnic_flavours_ohtsuzumi.wav index c12ae6de34..e7f08c8100 100644 Binary files a/sound/direct_sound_samples/ethnic_flavours_ohtsuzumi.wav and b/sound/direct_sound_samples/ethnic_flavours_ohtsuzumi.wav differ diff --git a/sound/direct_sound_samples/heart_of_asia_gamelan.wav b/sound/direct_sound_samples/heart_of_asia_gamelan.wav index a6258c97d4..48513e4b79 100644 Binary files a/sound/direct_sound_samples/heart_of_asia_gamelan.wav and b/sound/direct_sound_samples/heart_of_asia_gamelan.wav differ diff --git a/sound/direct_sound_samples/phonemes/01.wav b/sound/direct_sound_samples/phonemes/01.wav index d7f43544f5..ebc90ac2f7 100644 Binary files a/sound/direct_sound_samples/phonemes/01.wav and b/sound/direct_sound_samples/phonemes/01.wav differ diff --git a/sound/direct_sound_samples/phonemes/02.wav b/sound/direct_sound_samples/phonemes/02.wav index 6b9e4134c8..4c6bdbff7e 100644 Binary files a/sound/direct_sound_samples/phonemes/02.wav and b/sound/direct_sound_samples/phonemes/02.wav differ diff --git a/sound/direct_sound_samples/phonemes/03.wav b/sound/direct_sound_samples/phonemes/03.wav index a080496adb..d2e9934376 100644 Binary files a/sound/direct_sound_samples/phonemes/03.wav and b/sound/direct_sound_samples/phonemes/03.wav differ diff --git a/sound/direct_sound_samples/phonemes/04.wav b/sound/direct_sound_samples/phonemes/04.wav index 0525f8f5d3..ecba93ebf9 100644 Binary files a/sound/direct_sound_samples/phonemes/04.wav and b/sound/direct_sound_samples/phonemes/04.wav differ diff --git a/sound/direct_sound_samples/phonemes/05.wav b/sound/direct_sound_samples/phonemes/05.wav index 5df5562768..d7726826a6 100644 Binary files a/sound/direct_sound_samples/phonemes/05.wav and b/sound/direct_sound_samples/phonemes/05.wav differ diff --git a/sound/direct_sound_samples/phonemes/06.wav b/sound/direct_sound_samples/phonemes/06.wav index 3774664d97..0034485041 100644 Binary files a/sound/direct_sound_samples/phonemes/06.wav and b/sound/direct_sound_samples/phonemes/06.wav differ diff --git a/sound/direct_sound_samples/phonemes/07.wav b/sound/direct_sound_samples/phonemes/07.wav index fc44b7f771..5ed58e7010 100644 Binary files a/sound/direct_sound_samples/phonemes/07.wav and b/sound/direct_sound_samples/phonemes/07.wav differ diff --git a/sound/direct_sound_samples/phonemes/08.wav b/sound/direct_sound_samples/phonemes/08.wav index 47c50d63b0..c353b5c50b 100644 Binary files a/sound/direct_sound_samples/phonemes/08.wav and b/sound/direct_sound_samples/phonemes/08.wav differ diff --git a/sound/direct_sound_samples/phonemes/09.wav b/sound/direct_sound_samples/phonemes/09.wav index 762ece0dd8..b0eb9bd4bf 100644 Binary files a/sound/direct_sound_samples/phonemes/09.wav and b/sound/direct_sound_samples/phonemes/09.wav differ diff --git a/sound/direct_sound_samples/phonemes/10.wav b/sound/direct_sound_samples/phonemes/10.wav index da9fa6727c..e931a7d9df 100644 Binary files a/sound/direct_sound_samples/phonemes/10.wav and b/sound/direct_sound_samples/phonemes/10.wav differ diff --git a/sound/direct_sound_samples/phonemes/11.wav b/sound/direct_sound_samples/phonemes/11.wav index 5cd1904b42..949865e64a 100644 Binary files a/sound/direct_sound_samples/phonemes/11.wav and b/sound/direct_sound_samples/phonemes/11.wav differ diff --git a/sound/direct_sound_samples/phonemes/12.wav b/sound/direct_sound_samples/phonemes/12.wav index da638d82b0..573867ca92 100644 Binary files a/sound/direct_sound_samples/phonemes/12.wav and b/sound/direct_sound_samples/phonemes/12.wav differ diff --git a/sound/direct_sound_samples/phonemes/13.wav b/sound/direct_sound_samples/phonemes/13.wav index 2eb58a5f3f..a4629fa1d6 100644 Binary files a/sound/direct_sound_samples/phonemes/13.wav and b/sound/direct_sound_samples/phonemes/13.wav differ diff --git a/sound/direct_sound_samples/phonemes/14.wav b/sound/direct_sound_samples/phonemes/14.wav index fef0bb0ded..d6ae4c4bce 100644 Binary files a/sound/direct_sound_samples/phonemes/14.wav and b/sound/direct_sound_samples/phonemes/14.wav differ diff --git a/sound/direct_sound_samples/phonemes/15.wav b/sound/direct_sound_samples/phonemes/15.wav index 1dbe8cbfa3..80ac82c0ef 100644 Binary files a/sound/direct_sound_samples/phonemes/15.wav and b/sound/direct_sound_samples/phonemes/15.wav differ diff --git a/sound/direct_sound_samples/phonemes/16.wav b/sound/direct_sound_samples/phonemes/16.wav index 83f1818582..451b571f8e 100644 Binary files a/sound/direct_sound_samples/phonemes/16.wav and b/sound/direct_sound_samples/phonemes/16.wav differ diff --git a/sound/direct_sound_samples/phonemes/17.wav b/sound/direct_sound_samples/phonemes/17.wav index ad55b8bda5..79ddc5e756 100644 Binary files a/sound/direct_sound_samples/phonemes/17.wav and b/sound/direct_sound_samples/phonemes/17.wav differ diff --git a/sound/direct_sound_samples/phonemes/18.wav b/sound/direct_sound_samples/phonemes/18.wav index ecadb6f608..5bff7c6b97 100644 Binary files a/sound/direct_sound_samples/phonemes/18.wav and b/sound/direct_sound_samples/phonemes/18.wav differ diff --git a/sound/direct_sound_samples/phonemes/19.wav b/sound/direct_sound_samples/phonemes/19.wav index ff905abe22..5f846bea00 100644 Binary files a/sound/direct_sound_samples/phonemes/19.wav and b/sound/direct_sound_samples/phonemes/19.wav differ diff --git a/sound/direct_sound_samples/phonemes/20.wav b/sound/direct_sound_samples/phonemes/20.wav index 595702e084..e79694f650 100644 Binary files a/sound/direct_sound_samples/phonemes/20.wav and b/sound/direct_sound_samples/phonemes/20.wav differ diff --git a/sound/direct_sound_samples/phonemes/21.wav b/sound/direct_sound_samples/phonemes/21.wav index 7d1709212c..b399a3bd5f 100644 Binary files a/sound/direct_sound_samples/phonemes/21.wav and b/sound/direct_sound_samples/phonemes/21.wav differ diff --git a/sound/direct_sound_samples/phonemes/22.wav b/sound/direct_sound_samples/phonemes/22.wav index 274f6137aa..13f47560d8 100644 Binary files a/sound/direct_sound_samples/phonemes/22.wav and b/sound/direct_sound_samples/phonemes/22.wav differ diff --git a/sound/direct_sound_samples/phonemes/23.wav b/sound/direct_sound_samples/phonemes/23.wav index 72633f73c1..f399a12fe4 100644 Binary files a/sound/direct_sound_samples/phonemes/23.wav and b/sound/direct_sound_samples/phonemes/23.wav differ diff --git a/sound/direct_sound_samples/phonemes/24.wav b/sound/direct_sound_samples/phonemes/24.wav index 1d0e7b1a14..f7d92b633d 100644 Binary files a/sound/direct_sound_samples/phonemes/24.wav and b/sound/direct_sound_samples/phonemes/24.wav differ diff --git a/sound/direct_sound_samples/phonemes/25.wav b/sound/direct_sound_samples/phonemes/25.wav index 135bb246dd..429f608fb8 100644 Binary files a/sound/direct_sound_samples/phonemes/25.wav and b/sound/direct_sound_samples/phonemes/25.wav differ diff --git a/sound/direct_sound_samples/phonemes/26.wav b/sound/direct_sound_samples/phonemes/26.wav index e466df4d86..032ab3fd36 100644 Binary files a/sound/direct_sound_samples/phonemes/26.wav and b/sound/direct_sound_samples/phonemes/26.wav differ diff --git a/sound/direct_sound_samples/phonemes/27.wav b/sound/direct_sound_samples/phonemes/27.wav index c4d4ce8008..73589258c0 100644 Binary files a/sound/direct_sound_samples/phonemes/27.wav and b/sound/direct_sound_samples/phonemes/27.wav differ diff --git a/sound/direct_sound_samples/phonemes/28.wav b/sound/direct_sound_samples/phonemes/28.wav index fe9dde8e35..4050d35113 100644 Binary files a/sound/direct_sound_samples/phonemes/28.wav and b/sound/direct_sound_samples/phonemes/28.wav differ diff --git a/sound/direct_sound_samples/phonemes/29.wav b/sound/direct_sound_samples/phonemes/29.wav index d05658c97e..ae48eac22b 100644 Binary files a/sound/direct_sound_samples/phonemes/29.wav and b/sound/direct_sound_samples/phonemes/29.wav differ diff --git a/sound/direct_sound_samples/phonemes/30.wav b/sound/direct_sound_samples/phonemes/30.wav index aaf163ae97..fd76403a08 100644 Binary files a/sound/direct_sound_samples/phonemes/30.wav and b/sound/direct_sound_samples/phonemes/30.wav differ diff --git a/sound/direct_sound_samples/phonemes/31.wav b/sound/direct_sound_samples/phonemes/31.wav index 64b2c7f6db..b43bba09a9 100644 Binary files a/sound/direct_sound_samples/phonemes/31.wav and b/sound/direct_sound_samples/phonemes/31.wav differ diff --git a/sound/direct_sound_samples/phonemes/32.wav b/sound/direct_sound_samples/phonemes/32.wav index 98862f1b64..02599973ef 100644 Binary files a/sound/direct_sound_samples/phonemes/32.wav and b/sound/direct_sound_samples/phonemes/32.wav differ diff --git a/sound/direct_sound_samples/phonemes/33.wav b/sound/direct_sound_samples/phonemes/33.wav index f96a5e49fd..0a88ce09d9 100644 Binary files a/sound/direct_sound_samples/phonemes/33.wav and b/sound/direct_sound_samples/phonemes/33.wav differ diff --git a/sound/direct_sound_samples/phonemes/34.wav b/sound/direct_sound_samples/phonemes/34.wav index 1439810d44..145cf68e89 100644 Binary files a/sound/direct_sound_samples/phonemes/34.wav and b/sound/direct_sound_samples/phonemes/34.wav differ diff --git a/sound/direct_sound_samples/phonemes/35.wav b/sound/direct_sound_samples/phonemes/35.wav index aa6599bcc8..9c65433459 100644 Binary files a/sound/direct_sound_samples/phonemes/35.wav and b/sound/direct_sound_samples/phonemes/35.wav differ diff --git a/sound/direct_sound_samples/phonemes/36.wav b/sound/direct_sound_samples/phonemes/36.wav index 59f90f4614..1465286781 100644 Binary files a/sound/direct_sound_samples/phonemes/36.wav and b/sound/direct_sound_samples/phonemes/36.wav differ diff --git a/sound/direct_sound_samples/phonemes/37.wav b/sound/direct_sound_samples/phonemes/37.wav index 4df9cffee6..9ecae8d509 100644 Binary files a/sound/direct_sound_samples/phonemes/37.wav and b/sound/direct_sound_samples/phonemes/37.wav differ diff --git a/sound/direct_sound_samples/phonemes/38.wav b/sound/direct_sound_samples/phonemes/38.wav index 759a23d514..49aaa6863a 100644 Binary files a/sound/direct_sound_samples/phonemes/38.wav and b/sound/direct_sound_samples/phonemes/38.wav differ diff --git a/sound/direct_sound_samples/phonemes/39.wav b/sound/direct_sound_samples/phonemes/39.wav index da335b2690..89d0abc6fa 100644 Binary files a/sound/direct_sound_samples/phonemes/39.wav and b/sound/direct_sound_samples/phonemes/39.wav differ diff --git a/sound/direct_sound_samples/phonemes/40.wav b/sound/direct_sound_samples/phonemes/40.wav index 14944784a4..d6f65e9121 100644 Binary files a/sound/direct_sound_samples/phonemes/40.wav and b/sound/direct_sound_samples/phonemes/40.wav differ diff --git a/sound/direct_sound_samples/phonemes/41.wav b/sound/direct_sound_samples/phonemes/41.wav index 57e38fb3c8..917ca8a163 100644 Binary files a/sound/direct_sound_samples/phonemes/41.wav and b/sound/direct_sound_samples/phonemes/41.wav differ diff --git a/sound/direct_sound_samples/phonemes/42.wav b/sound/direct_sound_samples/phonemes/42.wav index a990969146..a97bbadcb5 100644 Binary files a/sound/direct_sound_samples/phonemes/42.wav and b/sound/direct_sound_samples/phonemes/42.wav differ diff --git a/sound/direct_sound_samples/phonemes/43.wav b/sound/direct_sound_samples/phonemes/43.wav index ab4a046743..8b7392277e 100644 Binary files a/sound/direct_sound_samples/phonemes/43.wav and b/sound/direct_sound_samples/phonemes/43.wav differ diff --git a/sound/direct_sound_samples/phonemes/44.wav b/sound/direct_sound_samples/phonemes/44.wav index efca4e3f97..4b412698b9 100644 Binary files a/sound/direct_sound_samples/phonemes/44.wav and b/sound/direct_sound_samples/phonemes/44.wav differ diff --git a/sound/direct_sound_samples/phonemes/45.wav b/sound/direct_sound_samples/phonemes/45.wav index 0369d3c2a1..0e2bfb5674 100644 Binary files a/sound/direct_sound_samples/phonemes/45.wav and b/sound/direct_sound_samples/phonemes/45.wav differ diff --git a/sound/direct_sound_samples/phonemes/46.wav b/sound/direct_sound_samples/phonemes/46.wav index 0fa8eb1f88..589cc1cd1f 100644 Binary files a/sound/direct_sound_samples/phonemes/46.wav and b/sound/direct_sound_samples/phonemes/46.wav differ diff --git a/sound/direct_sound_samples/phonemes/47.wav b/sound/direct_sound_samples/phonemes/47.wav index a55f03a153..45668adda6 100644 Binary files a/sound/direct_sound_samples/phonemes/47.wav and b/sound/direct_sound_samples/phonemes/47.wav differ diff --git a/sound/direct_sound_samples/phonemes/48.wav b/sound/direct_sound_samples/phonemes/48.wav index f6c7dd4502..d4ad0fec8d 100644 Binary files a/sound/direct_sound_samples/phonemes/48.wav and b/sound/direct_sound_samples/phonemes/48.wav differ diff --git a/sound/direct_sound_samples/phonemes/49.wav b/sound/direct_sound_samples/phonemes/49.wav index 4168f2e137..f9f949503e 100644 Binary files a/sound/direct_sound_samples/phonemes/49.wav and b/sound/direct_sound_samples/phonemes/49.wav differ diff --git a/sound/direct_sound_samples/phonemes/50.wav b/sound/direct_sound_samples/phonemes/50.wav index 88ce07d9d7..bdb57f46e2 100644 Binary files a/sound/direct_sound_samples/phonemes/50.wav and b/sound/direct_sound_samples/phonemes/50.wav differ diff --git a/sound/direct_sound_samples/phonemes/51.wav b/sound/direct_sound_samples/phonemes/51.wav index bd1a514180..9c734aaba8 100644 Binary files a/sound/direct_sound_samples/phonemes/51.wav and b/sound/direct_sound_samples/phonemes/51.wav differ diff --git a/sound/direct_sound_samples/register_noise.wav b/sound/direct_sound_samples/register_noise.wav index 89d94e61cc..090b0cd5aa 100644 Binary files a/sound/direct_sound_samples/register_noise.wav and b/sound/direct_sound_samples/register_noise.wav differ diff --git a/sound/direct_sound_samples/sc88pro_accordion.wav b/sound/direct_sound_samples/sc88pro_accordion.wav index f19a98d277..1b28fa0e6c 100644 Binary files a/sound/direct_sound_samples/sc88pro_accordion.wav and b/sound/direct_sound_samples/sc88pro_accordion.wav differ diff --git a/sound/direct_sound_samples/sc88pro_accordion_duplicate.wav b/sound/direct_sound_samples/sc88pro_accordion_duplicate.wav index f19a98d277..1b28fa0e6c 100644 Binary files a/sound/direct_sound_samples/sc88pro_accordion_duplicate.wav and b/sound/direct_sound_samples/sc88pro_accordion_duplicate.wav differ diff --git a/sound/direct_sound_samples/sc88pro_bubbles.wav b/sound/direct_sound_samples/sc88pro_bubbles.wav index d6e61596d5..17d3eaa64f 100644 Binary files a/sound/direct_sound_samples/sc88pro_bubbles.wav and b/sound/direct_sound_samples/sc88pro_bubbles.wav differ diff --git a/sound/direct_sound_samples/sc88pro_church_organ3_high.wav b/sound/direct_sound_samples/sc88pro_church_organ3_high.wav index 0766a8503d..d71d5d7be2 100644 Binary files a/sound/direct_sound_samples/sc88pro_church_organ3_high.wav and b/sound/direct_sound_samples/sc88pro_church_organ3_high.wav differ diff --git a/sound/direct_sound_samples/sc88pro_church_organ3_low.wav b/sound/direct_sound_samples/sc88pro_church_organ3_low.wav index afc9c18907..38af40268b 100644 Binary files a/sound/direct_sound_samples/sc88pro_church_organ3_low.wav and b/sound/direct_sound_samples/sc88pro_church_organ3_low.wav differ diff --git a/sound/direct_sound_samples/sc88pro_fingered_bass.wav b/sound/direct_sound_samples/sc88pro_fingered_bass.wav index 0e723b742b..dff67c22c5 100644 Binary files a/sound/direct_sound_samples/sc88pro_fingered_bass.wav and b/sound/direct_sound_samples/sc88pro_fingered_bass.wav differ diff --git a/sound/direct_sound_samples/sc88pro_flute.wav b/sound/direct_sound_samples/sc88pro_flute.wav index 409ce0f744..6ec093c817 100644 Binary files a/sound/direct_sound_samples/sc88pro_flute.wav and b/sound/direct_sound_samples/sc88pro_flute.wav differ diff --git a/sound/direct_sound_samples/sc88pro_french_horn_60.wav b/sound/direct_sound_samples/sc88pro_french_horn_60.wav index 105c186a2a..da82c73b64 100644 Binary files a/sound/direct_sound_samples/sc88pro_french_horn_60.wav and b/sound/direct_sound_samples/sc88pro_french_horn_60.wav differ diff --git a/sound/direct_sound_samples/sc88pro_french_horn_72.wav b/sound/direct_sound_samples/sc88pro_french_horn_72.wav index 380d796307..3221dc49bc 100644 Binary files a/sound/direct_sound_samples/sc88pro_french_horn_72.wav and b/sound/direct_sound_samples/sc88pro_french_horn_72.wav differ diff --git a/sound/direct_sound_samples/sc88pro_fretless_bass.wav b/sound/direct_sound_samples/sc88pro_fretless_bass.wav index f639d5ccf2..e7c59f564e 100644 Binary files a/sound/direct_sound_samples/sc88pro_fretless_bass.wav and b/sound/direct_sound_samples/sc88pro_fretless_bass.wav differ diff --git a/sound/direct_sound_samples/sc88pro_glockenspiel.wav b/sound/direct_sound_samples/sc88pro_glockenspiel.wav index 4c9cbae149..d24e64efe9 100644 Binary files a/sound/direct_sound_samples/sc88pro_glockenspiel.wav and b/sound/direct_sound_samples/sc88pro_glockenspiel.wav differ diff --git a/sound/direct_sound_samples/sc88pro_harp.wav b/sound/direct_sound_samples/sc88pro_harp.wav index bdb176720c..3a137c593d 100644 Binary files a/sound/direct_sound_samples/sc88pro_harp.wav and b/sound/direct_sound_samples/sc88pro_harp.wav differ diff --git a/sound/direct_sound_samples/sc88pro_jingle_bell.wav b/sound/direct_sound_samples/sc88pro_jingle_bell.wav index 1eb6b1de1a..8342322428 100644 Binary files a/sound/direct_sound_samples/sc88pro_jingle_bell.wav and b/sound/direct_sound_samples/sc88pro_jingle_bell.wav differ diff --git a/sound/direct_sound_samples/sc88pro_mute_high_conga.wav b/sound/direct_sound_samples/sc88pro_mute_high_conga.wav index c009d7265c..afa56506a1 100644 Binary files a/sound/direct_sound_samples/sc88pro_mute_high_conga.wav and b/sound/direct_sound_samples/sc88pro_mute_high_conga.wav differ diff --git a/sound/direct_sound_samples/sc88pro_nylon_str_guitar.wav b/sound/direct_sound_samples/sc88pro_nylon_str_guitar.wav index 7538f508ad..e40e641802 100644 Binary files a/sound/direct_sound_samples/sc88pro_nylon_str_guitar.wav and b/sound/direct_sound_samples/sc88pro_nylon_str_guitar.wav differ diff --git a/sound/direct_sound_samples/sc88pro_open_low_conga.wav b/sound/direct_sound_samples/sc88pro_open_low_conga.wav index 34a1e3f32a..030797c0d6 100644 Binary files a/sound/direct_sound_samples/sc88pro_open_low_conga.wav and b/sound/direct_sound_samples/sc88pro_open_low_conga.wav differ diff --git a/sound/direct_sound_samples/sc88pro_orchestra_cymbal_crash.wav b/sound/direct_sound_samples/sc88pro_orchestra_cymbal_crash.wav index c3f89f9c78..58d90c404f 100644 Binary files a/sound/direct_sound_samples/sc88pro_orchestra_cymbal_crash.wav and b/sound/direct_sound_samples/sc88pro_orchestra_cymbal_crash.wav differ diff --git a/sound/direct_sound_samples/sc88pro_orchestra_snare.wav b/sound/direct_sound_samples/sc88pro_orchestra_snare.wav index 96b10bb05f..43bb9ed9b8 100644 Binary files a/sound/direct_sound_samples/sc88pro_orchestra_snare.wav and b/sound/direct_sound_samples/sc88pro_orchestra_snare.wav differ diff --git a/sound/direct_sound_samples/sc88pro_organ2.wav b/sound/direct_sound_samples/sc88pro_organ2.wav index bf6f2ba520..437ee2d03c 100644 Binary files a/sound/direct_sound_samples/sc88pro_organ2.wav and b/sound/direct_sound_samples/sc88pro_organ2.wav differ diff --git a/sound/direct_sound_samples/sc88pro_piano1_48.wav b/sound/direct_sound_samples/sc88pro_piano1_48.wav index c7bcfca138..72e1cb4aa2 100644 Binary files a/sound/direct_sound_samples/sc88pro_piano1_48.wav and b/sound/direct_sound_samples/sc88pro_piano1_48.wav differ diff --git a/sound/direct_sound_samples/sc88pro_piano1_60.wav b/sound/direct_sound_samples/sc88pro_piano1_60.wav index 7199386c7b..29cb5a8801 100644 Binary files a/sound/direct_sound_samples/sc88pro_piano1_60.wav and b/sound/direct_sound_samples/sc88pro_piano1_60.wav differ diff --git a/sound/direct_sound_samples/sc88pro_piano1_72.wav b/sound/direct_sound_samples/sc88pro_piano1_72.wav index 603006eb6f..396f094525 100644 Binary files a/sound/direct_sound_samples/sc88pro_piano1_72.wav and b/sound/direct_sound_samples/sc88pro_piano1_72.wav differ diff --git a/sound/direct_sound_samples/sc88pro_piano1_84.wav b/sound/direct_sound_samples/sc88pro_piano1_84.wav index 0d76370756..1956f95dad 100644 Binary files a/sound/direct_sound_samples/sc88pro_piano1_84.wav and b/sound/direct_sound_samples/sc88pro_piano1_84.wav differ diff --git a/sound/direct_sound_samples/sc88pro_pizzicato_strings.wav b/sound/direct_sound_samples/sc88pro_pizzicato_strings.wav index 6bb6bc74a9..d89ea7c8d4 100644 Binary files a/sound/direct_sound_samples/sc88pro_pizzicato_strings.wav and b/sound/direct_sound_samples/sc88pro_pizzicato_strings.wav differ diff --git a/sound/direct_sound_samples/sc88pro_rnd_kick.wav b/sound/direct_sound_samples/sc88pro_rnd_kick.wav index b05d88a812..02c440ce4c 100644 Binary files a/sound/direct_sound_samples/sc88pro_rnd_kick.wav and b/sound/direct_sound_samples/sc88pro_rnd_kick.wav differ diff --git a/sound/direct_sound_samples/sc88pro_rnd_snare.wav b/sound/direct_sound_samples/sc88pro_rnd_snare.wav index c00ee759f7..69c9a6010e 100644 Binary files a/sound/direct_sound_samples/sc88pro_rnd_snare.wav and b/sound/direct_sound_samples/sc88pro_rnd_snare.wav differ diff --git a/sound/direct_sound_samples/sc88pro_slap_bass.wav b/sound/direct_sound_samples/sc88pro_slap_bass.wav index 41d747259e..4883695165 100644 Binary files a/sound/direct_sound_samples/sc88pro_slap_bass.wav and b/sound/direct_sound_samples/sc88pro_slap_bass.wav differ diff --git a/sound/direct_sound_samples/sc88pro_square_wave.wav b/sound/direct_sound_samples/sc88pro_square_wave.wav index 020dae03a4..5689c13f4e 100644 Binary files a/sound/direct_sound_samples/sc88pro_square_wave.wav and b/sound/direct_sound_samples/sc88pro_square_wave.wav differ diff --git a/sound/direct_sound_samples/sc88pro_string_ensemble_60.wav b/sound/direct_sound_samples/sc88pro_string_ensemble_60.wav index 26e9db076c..1e43b2e5e2 100644 Binary files a/sound/direct_sound_samples/sc88pro_string_ensemble_60.wav and b/sound/direct_sound_samples/sc88pro_string_ensemble_60.wav differ diff --git a/sound/direct_sound_samples/sc88pro_string_ensemble_72.wav b/sound/direct_sound_samples/sc88pro_string_ensemble_72.wav index 1699f831ca..5a3560bd3e 100644 Binary files a/sound/direct_sound_samples/sc88pro_string_ensemble_72.wav and b/sound/direct_sound_samples/sc88pro_string_ensemble_72.wav differ diff --git a/sound/direct_sound_samples/sc88pro_string_ensemble_84.wav b/sound/direct_sound_samples/sc88pro_string_ensemble_84.wav index 5616d094a0..c07c8c4318 100644 Binary files a/sound/direct_sound_samples/sc88pro_string_ensemble_84.wav and b/sound/direct_sound_samples/sc88pro_string_ensemble_84.wav differ diff --git a/sound/direct_sound_samples/sc88pro_synth_bass.wav b/sound/direct_sound_samples/sc88pro_synth_bass.wav index 5aa61ab8ca..98f6a4ef20 100644 Binary files a/sound/direct_sound_samples/sc88pro_synth_bass.wav and b/sound/direct_sound_samples/sc88pro_synth_bass.wav differ diff --git a/sound/direct_sound_samples/sc88pro_taiko.wav b/sound/direct_sound_samples/sc88pro_taiko.wav index af01253368..433ab727ee 100644 Binary files a/sound/direct_sound_samples/sc88pro_taiko.wav and b/sound/direct_sound_samples/sc88pro_taiko.wav differ diff --git a/sound/direct_sound_samples/sc88pro_tambourine.wav b/sound/direct_sound_samples/sc88pro_tambourine.wav index 016b2cc209..929ed5daca 100644 Binary files a/sound/direct_sound_samples/sc88pro_tambourine.wav and b/sound/direct_sound_samples/sc88pro_tambourine.wav differ diff --git a/sound/direct_sound_samples/sc88pro_timpani.wav b/sound/direct_sound_samples/sc88pro_timpani.wav index bed5f113a1..03fb3ee714 100644 Binary files a/sound/direct_sound_samples/sc88pro_timpani.wav and b/sound/direct_sound_samples/sc88pro_timpani.wav differ diff --git a/sound/direct_sound_samples/sc88pro_timpani_with_snare.wav b/sound/direct_sound_samples/sc88pro_timpani_with_snare.wav index 8ab1862d02..1c1560ed28 100644 Binary files a/sound/direct_sound_samples/sc88pro_timpani_with_snare.wav and b/sound/direct_sound_samples/sc88pro_timpani_with_snare.wav differ diff --git a/sound/direct_sound_samples/sc88pro_tr909_hand_clap.wav b/sound/direct_sound_samples/sc88pro_tr909_hand_clap.wav index 2e07040cb4..9dba2ac9d6 100644 Binary files a/sound/direct_sound_samples/sc88pro_tr909_hand_clap.wav and b/sound/direct_sound_samples/sc88pro_tr909_hand_clap.wav differ diff --git a/sound/direct_sound_samples/sc88pro_trumpet_60.wav b/sound/direct_sound_samples/sc88pro_trumpet_60.wav index 0c857d971d..0675873a14 100644 Binary files a/sound/direct_sound_samples/sc88pro_trumpet_60.wav and b/sound/direct_sound_samples/sc88pro_trumpet_60.wav differ diff --git a/sound/direct_sound_samples/sc88pro_trumpet_72.wav b/sound/direct_sound_samples/sc88pro_trumpet_72.wav index 93a62dc0ef..27f75206e1 100644 Binary files a/sound/direct_sound_samples/sc88pro_trumpet_72.wav and b/sound/direct_sound_samples/sc88pro_trumpet_72.wav differ diff --git a/sound/direct_sound_samples/sc88pro_trumpet_84.wav b/sound/direct_sound_samples/sc88pro_trumpet_84.wav index 12549376b5..f1713f901c 100644 Binary files a/sound/direct_sound_samples/sc88pro_trumpet_84.wav and b/sound/direct_sound_samples/sc88pro_trumpet_84.wav differ diff --git a/sound/direct_sound_samples/sc88pro_tuba_39.wav b/sound/direct_sound_samples/sc88pro_tuba_39.wav index c3b78eea55..619ebf6e3a 100644 Binary files a/sound/direct_sound_samples/sc88pro_tuba_39.wav and b/sound/direct_sound_samples/sc88pro_tuba_39.wav differ diff --git a/sound/direct_sound_samples/sc88pro_tuba_51.wav b/sound/direct_sound_samples/sc88pro_tuba_51.wav index fed8c72f43..4bb436de79 100644 Binary files a/sound/direct_sound_samples/sc88pro_tuba_51.wav and b/sound/direct_sound_samples/sc88pro_tuba_51.wav differ diff --git a/sound/direct_sound_samples/sc88pro_tubular_bell.wav b/sound/direct_sound_samples/sc88pro_tubular_bell.wav index 8c892236b9..eed5b32b2b 100644 Binary files a/sound/direct_sound_samples/sc88pro_tubular_bell.wav and b/sound/direct_sound_samples/sc88pro_tubular_bell.wav differ diff --git a/sound/direct_sound_samples/sc88pro_wind.wav b/sound/direct_sound_samples/sc88pro_wind.wav index 3856a4af1f..1b3c78c42d 100644 Binary files a/sound/direct_sound_samples/sc88pro_wind.wav and b/sound/direct_sound_samples/sc88pro_wind.wav differ diff --git a/sound/direct_sound_samples/sc88pro_xylophone.wav b/sound/direct_sound_samples/sc88pro_xylophone.wav index a08296baa1..59aec0711c 100644 Binary files a/sound/direct_sound_samples/sc88pro_xylophone.wav and b/sound/direct_sound_samples/sc88pro_xylophone.wav differ diff --git a/sound/direct_sound_samples/sd90_ambient_tom.wav b/sound/direct_sound_samples/sd90_ambient_tom.wav index 6f390959fc..f524a7c882 100644 Binary files a/sound/direct_sound_samples/sd90_ambient_tom.wav and b/sound/direct_sound_samples/sd90_ambient_tom.wav differ 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 3c96f1cbca..2940e14a58 100644 Binary files a/sound/direct_sound_samples/sd90_classical_detuned_ep1_high.wav and b/sound/direct_sound_samples/sd90_classical_detuned_ep1_high.wav differ 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 39e25a89ce..f1f8dac798 100644 Binary files a/sound/direct_sound_samples/sd90_classical_detuned_ep1_low.wav and b/sound/direct_sound_samples/sd90_classical_detuned_ep1_low.wav differ 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 097d91f734..23ab4ff457 100644 Binary files a/sound/direct_sound_samples/sd90_classical_distortion_guitar_high.wav and b/sound/direct_sound_samples/sd90_classical_distortion_guitar_high.wav differ 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 d281d77572..475a15e82c 100644 Binary files a/sound/direct_sound_samples/sd90_classical_distortion_guitar_low.wav and b/sound/direct_sound_samples/sd90_classical_distortion_guitar_low.wav differ diff --git a/sound/direct_sound_samples/sd90_classical_oboe.wav b/sound/direct_sound_samples/sd90_classical_oboe.wav index 2b9e96afc4..5bfa900421 100644 Binary files a/sound/direct_sound_samples/sd90_classical_oboe.wav and b/sound/direct_sound_samples/sd90_classical_oboe.wav differ diff --git a/sound/direct_sound_samples/sd90_classical_overdrive_guitar.wav b/sound/direct_sound_samples/sd90_classical_overdrive_guitar.wav index 7380be1e1b..231c987087 100644 Binary files a/sound/direct_sound_samples/sd90_classical_overdrive_guitar.wav and b/sound/direct_sound_samples/sd90_classical_overdrive_guitar.wav differ diff --git a/sound/direct_sound_samples/sd90_classical_shakuhachi.wav b/sound/direct_sound_samples/sd90_classical_shakuhachi.wav index 587cee2cb7..62609c87b0 100644 Binary files a/sound/direct_sound_samples/sd90_classical_shakuhachi.wav and b/sound/direct_sound_samples/sd90_classical_shakuhachi.wav differ diff --git a/sound/direct_sound_samples/sd90_classical_whistle.wav b/sound/direct_sound_samples/sd90_classical_whistle.wav index 61a58445bf..fd8b1395ac 100644 Binary files a/sound/direct_sound_samples/sd90_classical_whistle.wav and b/sound/direct_sound_samples/sd90_classical_whistle.wav differ diff --git a/sound/direct_sound_samples/sd90_cowbell.wav b/sound/direct_sound_samples/sd90_cowbell.wav index 9c35bf6541..7e5bd33541 100644 Binary files a/sound/direct_sound_samples/sd90_cowbell.wav and b/sound/direct_sound_samples/sd90_cowbell.wav differ diff --git a/sound/direct_sound_samples/sd90_enhanced_delay_shaku.wav b/sound/direct_sound_samples/sd90_enhanced_delay_shaku.wav index d87fc68b2b..92c04b1615 100644 Binary files a/sound/direct_sound_samples/sd90_enhanced_delay_shaku.wav and b/sound/direct_sound_samples/sd90_enhanced_delay_shaku.wav differ diff --git a/sound/direct_sound_samples/sd90_open_triangle.wav b/sound/direct_sound_samples/sd90_open_triangle.wav index 92df2b3074..415054e23c 100644 Binary files a/sound/direct_sound_samples/sd90_open_triangle.wav and b/sound/direct_sound_samples/sd90_open_triangle.wav differ diff --git a/sound/direct_sound_samples/sd90_solo_snare.wav b/sound/direct_sound_samples/sd90_solo_snare.wav index ad5d872844..7ff2c98e49 100644 Binary files a/sound/direct_sound_samples/sd90_solo_snare.wav and b/sound/direct_sound_samples/sd90_solo_snare.wav differ diff --git a/sound/direct_sound_samples/sd90_special_scream_drive.wav b/sound/direct_sound_samples/sd90_special_scream_drive.wav index 8b4b563ac7..3f97406269 100644 Binary files a/sound/direct_sound_samples/sd90_special_scream_drive.wav and b/sound/direct_sound_samples/sd90_special_scream_drive.wav differ diff --git a/sound/direct_sound_samples/steinway_b_piano.wav b/sound/direct_sound_samples/steinway_b_piano.wav index 5a4d94b0a8..ef5a4849c3 100644 Binary files a/sound/direct_sound_samples/steinway_b_piano.wav and b/sound/direct_sound_samples/steinway_b_piano.wav differ diff --git a/sound/direct_sound_samples/trinity_30303_mega_bass.wav b/sound/direct_sound_samples/trinity_30303_mega_bass.wav index 6ad677b7d8..6a6e249a47 100644 Binary files a/sound/direct_sound_samples/trinity_30303_mega_bass.wav and b/sound/direct_sound_samples/trinity_30303_mega_bass.wav differ diff --git a/sound/direct_sound_samples/trinity_big_boned.wav b/sound/direct_sound_samples/trinity_big_boned.wav index 7f42b9fcd9..5967713d65 100644 Binary files a/sound/direct_sound_samples/trinity_big_boned.wav and b/sound/direct_sound_samples/trinity_big_boned.wav differ diff --git a/sound/direct_sound_samples/trinity_cymbal_crash.wav b/sound/direct_sound_samples/trinity_cymbal_crash.wav index c3e52d3e29..36337b641c 100644 Binary files a/sound/direct_sound_samples/trinity_cymbal_crash.wav and b/sound/direct_sound_samples/trinity_cymbal_crash.wav differ diff --git a/sound/direct_sound_samples/unknown_01.wav b/sound/direct_sound_samples/unknown_01.wav index 75d05e7f4d..4e069d0bfd 100644 Binary files a/sound/direct_sound_samples/unknown_01.wav and b/sound/direct_sound_samples/unknown_01.wav differ diff --git a/sound/direct_sound_samples/unknown_02.wav b/sound/direct_sound_samples/unknown_02.wav index 1a25b1fe18..7c87e021b4 100644 Binary files a/sound/direct_sound_samples/unknown_02.wav and b/sound/direct_sound_samples/unknown_02.wav differ diff --git a/sound/direct_sound_samples/unknown_03.wav b/sound/direct_sound_samples/unknown_03.wav index 1a64c4b25d..922f43db1b 100644 Binary files a/sound/direct_sound_samples/unknown_03.wav and b/sound/direct_sound_samples/unknown_03.wav differ diff --git a/sound/direct_sound_samples/unknown_04.wav b/sound/direct_sound_samples/unknown_04.wav index a278be2758..d2d216aa9d 100644 Binary files a/sound/direct_sound_samples/unknown_04.wav and b/sound/direct_sound_samples/unknown_04.wav differ diff --git a/sound/direct_sound_samples/unknown_05.wav b/sound/direct_sound_samples/unknown_05.wav index dd5eee1d2c..c344cc5c6f 100644 Binary files a/sound/direct_sound_samples/unknown_05.wav and b/sound/direct_sound_samples/unknown_05.wav differ diff --git a/sound/direct_sound_samples/unknown_06.wav b/sound/direct_sound_samples/unknown_06.wav index 396eb3e721..01ac24db5f 100644 Binary files a/sound/direct_sound_samples/unknown_06.wav and b/sound/direct_sound_samples/unknown_06.wav differ diff --git a/sound/direct_sound_samples/unknown_07.wav b/sound/direct_sound_samples/unknown_07.wav index b1e0a0d08f..437393e8bb 100644 Binary files a/sound/direct_sound_samples/unknown_07.wav and b/sound/direct_sound_samples/unknown_07.wav differ diff --git a/sound/direct_sound_samples/unknown_08.wav b/sound/direct_sound_samples/unknown_08.wav index 420ee23ce3..70fbefc215 100644 Binary files a/sound/direct_sound_samples/unknown_08.wav and b/sound/direct_sound_samples/unknown_08.wav differ diff --git a/sound/direct_sound_samples/unknown_09.wav b/sound/direct_sound_samples/unknown_09.wav index fd1ee4dd78..1ed463a664 100644 Binary files a/sound/direct_sound_samples/unknown_09.wav and b/sound/direct_sound_samples/unknown_09.wav differ diff --git a/sound/direct_sound_samples/unknown_10.wav b/sound/direct_sound_samples/unknown_10.wav index 63cf6043cb..5732a06edd 100644 Binary files a/sound/direct_sound_samples/unknown_10.wav and b/sound/direct_sound_samples/unknown_10.wav differ diff --git a/sound/direct_sound_samples/unknown_11.wav b/sound/direct_sound_samples/unknown_11.wav index f2e648045b..e911c04a9b 100644 Binary files a/sound/direct_sound_samples/unknown_11.wav and b/sound/direct_sound_samples/unknown_11.wav differ diff --git a/sound/direct_sound_samples/unknown_12.wav b/sound/direct_sound_samples/unknown_12.wav index 146db2c348..39d75f2de4 100644 Binary files a/sound/direct_sound_samples/unknown_12.wav and b/sound/direct_sound_samples/unknown_12.wav differ diff --git a/sound/direct_sound_samples/unknown_13.wav b/sound/direct_sound_samples/unknown_13.wav index 1618ea28b5..79fe36dc1b 100644 Binary files a/sound/direct_sound_samples/unknown_13.wav and b/sound/direct_sound_samples/unknown_13.wav differ diff --git a/sound/direct_sound_samples/unknown_14.wav b/sound/direct_sound_samples/unknown_14.wav index 4c509795ad..2a44425a5f 100644 Binary files a/sound/direct_sound_samples/unknown_14.wav and b/sound/direct_sound_samples/unknown_14.wav differ diff --git a/sound/direct_sound_samples/unknown_15.wav b/sound/direct_sound_samples/unknown_15.wav index 080c4ad841..d9a4ae6a41 100644 Binary files a/sound/direct_sound_samples/unknown_15.wav and b/sound/direct_sound_samples/unknown_15.wav differ diff --git a/sound/direct_sound_samples/unknown_16.wav b/sound/direct_sound_samples/unknown_16.wav index 72cf7dcc95..a13c322bfe 100644 Binary files a/sound/direct_sound_samples/unknown_16.wav and b/sound/direct_sound_samples/unknown_16.wav differ diff --git a/sound/direct_sound_samples/unknown_17.wav b/sound/direct_sound_samples/unknown_17.wav index 5a277f7d44..639dd8fcc8 100644 Binary files a/sound/direct_sound_samples/unknown_17.wav and b/sound/direct_sound_samples/unknown_17.wav differ diff --git a/sound/direct_sound_samples/unknown_18.wav b/sound/direct_sound_samples/unknown_18.wav index 9ee0027921..5533e49898 100644 Binary files a/sound/direct_sound_samples/unknown_18.wav and b/sound/direct_sound_samples/unknown_18.wav differ diff --git a/sound/direct_sound_samples/unknown_bell.wav b/sound/direct_sound_samples/unknown_bell.wav index 4dc82a170b..d996d9274b 100644 Binary files a/sound/direct_sound_samples/unknown_bell.wav and b/sound/direct_sound_samples/unknown_bell.wav differ diff --git a/sound/direct_sound_samples/unknown_close_hihat.wav b/sound/direct_sound_samples/unknown_close_hihat.wav index 86774ce3ce..1c0ddae804 100644 Binary files a/sound/direct_sound_samples/unknown_close_hihat.wav and b/sound/direct_sound_samples/unknown_close_hihat.wav differ diff --git a/sound/direct_sound_samples/unknown_female_voice.wav b/sound/direct_sound_samples/unknown_female_voice.wav index 44e73b3395..75ebea6183 100644 Binary files a/sound/direct_sound_samples/unknown_female_voice.wav and b/sound/direct_sound_samples/unknown_female_voice.wav differ diff --git a/sound/direct_sound_samples/unknown_koto_high.wav b/sound/direct_sound_samples/unknown_koto_high.wav index b9591a098f..a37b333aab 100644 Binary files a/sound/direct_sound_samples/unknown_koto_high.wav and b/sound/direct_sound_samples/unknown_koto_high.wav differ diff --git a/sound/direct_sound_samples/unknown_koto_low.wav b/sound/direct_sound_samples/unknown_koto_low.wav index a1736cafc7..a8ea9d5fbe 100644 Binary files a/sound/direct_sound_samples/unknown_koto_low.wav and b/sound/direct_sound_samples/unknown_koto_low.wav differ diff --git a/sound/direct_sound_samples/unknown_open_hihat.wav b/sound/direct_sound_samples/unknown_open_hihat.wav index 3a9ee824c1..d9fb05ab7c 100644 Binary files a/sound/direct_sound_samples/unknown_open_hihat.wav and b/sound/direct_sound_samples/unknown_open_hihat.wav differ diff --git a/sound/direct_sound_samples/unknown_snare.wav b/sound/direct_sound_samples/unknown_snare.wav index 03295e4763..f9047e0d98 100644 Binary files a/sound/direct_sound_samples/unknown_snare.wav and b/sound/direct_sound_samples/unknown_snare.wav differ diff --git a/sound/direct_sound_samples/unknown_synth_snare.wav b/sound/direct_sound_samples/unknown_synth_snare.wav index 774194423d..1ec62fb576 100644 Binary files a/sound/direct_sound_samples/unknown_synth_snare.wav and b/sound/direct_sound_samples/unknown_synth_snare.wav differ 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 c75373087b..4dae4f0f7a 100644 Binary files a/sound/direct_sound_samples/unused_guitar_separates_power_chord.wav and b/sound/direct_sound_samples/unused_guitar_separates_power_chord.wav differ diff --git a/sound/direct_sound_samples/unused_heart_of_asia_indian_drum.wav b/sound/direct_sound_samples/unused_heart_of_asia_indian_drum.wav index 49d67a30f3..7ee8c27f6d 100644 Binary files a/sound/direct_sound_samples/unused_heart_of_asia_indian_drum.wav and b/sound/direct_sound_samples/unused_heart_of_asia_indian_drum.wav differ diff --git a/sound/direct_sound_samples/unused_sc55_tom.wav b/sound/direct_sound_samples/unused_sc55_tom.wav index b4c225827f..944e1031f5 100644 Binary files a/sound/direct_sound_samples/unused_sc55_tom.wav and b/sound/direct_sound_samples/unused_sc55_tom.wav differ diff --git a/sound/direct_sound_samples/unused_sc88pro_unison_slap.wav b/sound/direct_sound_samples/unused_sc88pro_unison_slap.wav index 690cbc9183..e9f48d6ff7 100644 Binary files a/sound/direct_sound_samples/unused_sc88pro_unison_slap.wav and b/sound/direct_sound_samples/unused_sc88pro_unison_slap.wav differ diff --git a/sound/direct_sound_samples/unused_sd90_oboe.wav b/sound/direct_sound_samples/unused_sd90_oboe.wav index e7609ed53d..6ffcb4e003 100644 Binary files a/sound/direct_sound_samples/unused_sd90_oboe.wav and b/sound/direct_sound_samples/unused_sd90_oboe.wav differ diff --git a/sound/direct_sound_samples/unused_unknown_male_voice.wav b/sound/direct_sound_samples/unused_unknown_male_voice.wav index 7612c9b61d..cd6f8b1cdf 100644 Binary files a/sound/direct_sound_samples/unused_unknown_male_voice.wav and b/sound/direct_sound_samples/unused_unknown_male_voice.wav differ diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 5743720dc5..a47f8b7979 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7425,7 +7425,6 @@ static void Cmd_setprotectlike(void) { CMD_ARGS(); - bool32 protectFails = TRUE; bool32 notLastTurn = TRUE; u32 protectMethod = GetMoveProtectMethod(gCurrentMove); @@ -7455,10 +7454,8 @@ static void Cmd_setprotectlike(void) } gBattleMons[gBattlerAttacker].volatiles.protectUses++; - protectFails = FALSE; } - - if (protectFails) + else // Protect failed { gBattleMons[gBattlerAttacker].volatiles.protectUses = 0; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_PROTECT_FAILED; diff --git a/src/dexnav.c b/src/dexnav.c index 88c340a2ca..b6421a3804 100644 --- a/src/dexnav.c +++ b/src/dexnav.c @@ -107,6 +107,7 @@ struct DexNavSearch u8 starSpriteIds[3]; u8 ownedIconSpriteId; u8 exclamationSpriteId; + u32 startingTime; u8 hiddenSearch:1; u8 isHiddenMon:1; u8 unk:6; @@ -155,11 +156,10 @@ static u8 DexNavPickTile(enum EncounterType environment, u8 xSize, u8 ySize, boo static void DexNavProximityUpdate(void); static void DexNavDrawIcons(void); static void DexNavUpdateSearchWindow(u8 proximity, u8 searchLevel); -static void Task_DexNavSearch(u8 taskId); -static void EndDexNavSearchSetupScript(const u8 *script, u8 taskId); // HIDDEN MONS static void DexNavDrawHiddenIcons(void); static void DrawHiddenSearchWindow(u8 width); +static void RevealHiddenMon(void); //// Const Data // gui image data @@ -790,16 +790,8 @@ static u8 GetSearchLevel(u16 species) return searchLevel; } -#define tProximity data[0] -#define tFrameCount data[1] -#define tSpecies data[2] -#define tEnvironment data[3] -#define tRevealed data[4] - -static void Task_SetUpDexNavSearch(u8 taskId) +static void SetUpDexNavSearch(void) { - struct Task *task = &gTasks[taskId]; - u16 species = sDexNavSearchDataPtr->species; u8 searchLevel = GetSearchLevel(species); @@ -831,34 +823,29 @@ static void Task_SetUpDexNavSearch(u8 taskId) DexNavUpdateSearchWindow(sDexNavSearchDataPtr->proximity, searchLevel); } - FlagSet(DN_FLAG_SEARCHING); gPlayerAvatar.creeping = TRUE; //initialize as true in case mon appears beside you - task->tProximity = gSprites[gPlayerAvatar.spriteId].x; - task->tFrameCount = 0; - task->func = Task_DexNavSearch; + sDexNavSearchDataPtr->proximity = gSprites[gPlayerAvatar.spriteId].x; + sDexNavSearchDataPtr->startingTime = gMain.vblankCounter1; IncrementGameStat(GAME_STAT_DEXNAV_SCANNED); } -static void DexNavSearchBail(u8 taskId, const u8 *script) +static void DexNavSearchBail(const u8 *script) { TRY_FREE_AND_SET_NULL(sDexNavSearchDataPtr); + FlagClear(DN_FLAG_SEARCHING); FreeMonIconPalettes(); ScriptContext_SetupScript(script); - DestroyTask(taskId); } -static void Task_InitDexNavSearch(u8 taskId) +static bool8 InitDexNavSearch(u32 species, u32 environment) { - struct Task *task = &gTasks[taskId]; - u16 species = task->tSpecies; - u8 environment = task->tEnvironment; - sDexNavSearchDataPtr = AllocZeroed(sizeof(struct DexNavSearch)); if (sDexNavSearchDataPtr == NULL) { - DexNavSearchBail(taskId, EventScript_NotFoundNearby); - return; + DexNavSearchBail(EventScript_NotFoundNearby); + return TRUE; } + FlagSet(DN_FLAG_SEARCHING); // assign non-objects to struct sDexNavSearchDataPtr->species = species; @@ -868,19 +855,19 @@ static void Task_InitDexNavSearch(u8 taskId) if (GetFlashLevel() > 0) { - DexNavSearchBail(taskId, EventScript_TooDark); - return; + DexNavSearchBail(EventScript_TooDark); + return TRUE; } if (sDexNavSearchDataPtr->monLevel == MON_LEVEL_NONEXISTENT || !TryStartHiddenMonFieldEffect(sDexNavSearchDataPtr->environment, 12, 12, FALSE)) { - DexNavSearchBail(taskId, EventScript_NotFoundNearby); - return; + DexNavSearchBail(EventScript_NotFoundNearby); + return TRUE; } sDexNavSearchDataPtr->hiddenSearch = FALSE; - task->tRevealed = TRUE; //search window revealed - task->func = Task_SetUpDexNavSearch; + SetUpDexNavSearch(); + return FALSE; } static void DexNavDrawPotentialStars(u8 potential, u8 *dst) @@ -949,36 +936,50 @@ static void DexNavDrawIcons(void) ///////////////////// //// SEARCH TASK //// ///////////////////// -bool8 TryStartDexNavSearch(void) +static void RevealHiddenSearch(void) +{ + PlaySE(SE_DEX_SEARCH); + ClearStdWindowAndFrameToTransparent(sDexNavSearchDataPtr->windowId, FALSE); + CopyWindowToVram(sDexNavSearchDataPtr->windowId, 3); + RemoveWindow(sDexNavSearchDataPtr->windowId); + DestroySprite(&gSprites[sDexNavSearchDataPtr->iconSpriteId]); + sDexNavSearchDataPtr->hiddenSearch = FALSE; //now its a regular dexnav search + RevealHiddenMon(); +} + +bool32 TryStartDexNavSearch(void) { - u8 taskId; u16 val = VarGet(DN_VAR_SPECIES); + if (FlagGet(DN_FLAG_SEARCHING) && sDexNavSearchDataPtr->hiddenSearch) + { + RevealHiddenSearch(); + return FALSE; + } + if (FlagGet(DN_FLAG_SEARCHING) || (val & DEXNAV_MASK_SPECIES) == SPECIES_NONE) return FALSE; HideMapNamePopUpWindow(); ChangeBgY_ScreenOff(0, 0, 0); - taskId = CreateTask(Task_InitDexNavSearch, 0); - gTasks[taskId].tSpecies = val & DEXNAV_MASK_SPECIES; - gTasks[taskId].tEnvironment = val >> 14; PlaySE(SE_DEX_SEARCH); - return FALSE; //we dont actually want to enable the script context + return InitDexNavSearch(val & DEXNAV_MASK_SPECIES, val >> 14); } -void EndDexNavSearch(u8 taskId) +void EndDexNavSearch(void) { - FlagClear(DN_FLAG_SEARCHING); - DestroyTask(taskId); + if (!FlagGet(DN_FLAG_SEARCHING)) + return; RemoveDexNavWindowAndGfx(); FieldEffectStop(&gSprites[sDexNavSearchDataPtr->fldEffSpriteId], sDexNavSearchDataPtr->fldEffId); - Free(sDexNavSearchDataPtr); + FREE_AND_SET_NULL(sDexNavSearchDataPtr); + FlagClear(DN_FLAG_SEARCHING); } -static void EndDexNavSearchSetupScript(const u8 *script, u8 taskId) +static void EndDexNavSearchSetupScript(const u8 *script) { gSaveBlock3Ptr->dexNavChain = 0; //reset chain - EndDexNavSearch(taskId); + EndDexNavSearch(); ScriptContext_SetupScript(script); } @@ -992,9 +993,8 @@ static u8 GetMovementProximityBySearchLevel(void) return 4; } -static void Task_RevealHiddenMon(u8 taskId) +static void RevealHiddenMon(void) { - struct Task *task = &gTasks[taskId]; u16 species = sDexNavSearchDataPtr->species; // remove owned icon if it exists @@ -1031,53 +1031,68 @@ static void Task_RevealHiddenMon(u8 taskId) DrawDexNavSearchMonIcon(species, &sDexNavSearchDataPtr->iconSpriteId, GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_CAUGHT)); } + sDexNavSearchDataPtr->startingTime = gMain.vblankCounter1; DexNavUpdateDirectionArrow(); - task->func = Task_DexNavSearch; - task->tFrameCount = 0; //restart search clock } -static void Task_DexNavSearch(u8 taskId) +bool32 OnStep_DexNavSearch(void) { - struct Task *task = &gTasks[taskId]; + if (!FlagGet(DN_FLAG_SEARCHING)) + return FALSE; + + u32 frameCount = gMain.vblankCounter1 - sDexNavSearchDataPtr->startingTime; + DexNavProximityUpdate(); + if (!sDexNavSearchDataPtr->hiddenSearch) //update search window info only if revealed mon + DexNavUpdateSearchWindow(sDexNavSearchDataPtr->proximity, sDexNavSearchDataPtr->searchLevel); if (sDexNavSearchDataPtr->proximity > MAX_PROXIMITY) { // out of range - if (sDexNavSearchDataPtr->hiddenSearch && !task->tRevealed) - EndDexNavSearch(taskId); + if (sDexNavSearchDataPtr->hiddenSearch) + { + EndDexNavSearch(); + return FALSE; + } else - EndDexNavSearchSetupScript(EventScript_LostSignal, taskId); - return; + { + EndDexNavSearchSetupScript(EventScript_LostSignal); + return TRUE; + } } - if (sDexNavSearchDataPtr->proximity <= CREEPING_PROXIMITY && !gPlayerAvatar.creeping && task->tFrameCount > 60) + if (sDexNavSearchDataPtr->proximity <= CREEPING_PROXIMITY && !gPlayerAvatar.creeping && frameCount > 60) { //should be creeping but player walks normally - if (sDexNavSearchDataPtr->hiddenSearch && !task->tRevealed) - EndDexNavSearch(taskId); + if (sDexNavSearchDataPtr->hiddenSearch) + { + EndDexNavSearch(); + return FALSE; + } else - EndDexNavSearchSetupScript(EventScript_MovedTooFast, taskId); - return; + { + EndDexNavSearchSetupScript(EventScript_MovedTooFast); + return TRUE; + } } if (sDexNavSearchDataPtr->proximity <= SNEAKING_PROXIMITY && TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH | PLAYER_AVATAR_FLAG_BIKE)) { // running/biking too close //always do event script, even if player hasn't revealed a hidden mon. It's assumed they would be creeping towards it - EndDexNavSearchSetupScript(EventScript_MovedTooFast, taskId); - return; + EndDexNavSearchSetupScript(EventScript_MovedTooFast); + return TRUE; } - if (ArePlayerFieldControlsLocked() == TRUE) - { // check if script just executed - EndDexNavSearch(taskId); - return; - } - - if (gTasks[taskId].tFrameCount > DEXNAV_TIMEOUT * 60) + if (frameCount > DEXNAV_TIMEOUT * 60) { // player took too long - if (sDexNavSearchDataPtr->hiddenSearch && !task->tRevealed) - EndDexNavSearch(taskId); + if (sDexNavSearchDataPtr->hiddenSearch) + { + EndDexNavSearch(); + return FALSE; + } else - EndDexNavSearchSetupScript(EventScript_PokemonGotAway, taskId); - return; + { + EndDexNavSearchSetupScript(EventScript_PokemonGotAway); + return TRUE; + } + return FALSE; } if (sDexNavSearchDataPtr->proximity < 1) @@ -1086,54 +1101,34 @@ static void Task_DexNavSearch(u8 taskId) CreateDexNavWildMon(sDexNavSearchDataPtr->species, sDexNavSearchDataPtr->potential, sDexNavSearchDataPtr->monLevel, sDexNavSearchDataPtr->abilityNum, sDexNavSearchDataPtr->heldItem, sDexNavSearchDataPtr->moves); - FlagClear(DN_FLAG_SEARCHING); ScriptContext_SetupScript(EventScript_StartDexNavBattle); - Free(sDexNavSearchDataPtr); - DestroyTask(taskId); - return; + FREE_AND_SET_NULL(sDexNavSearchDataPtr); + FlagClear(DN_FLAG_SEARCHING); + return TRUE; } - if (sDexNavSearchDataPtr->hiddenSearch && !task->tRevealed && - (JOY_NEW(R_BUTTON) || (sDexNavSearchDataPtr->proximity < CREEPING_PROXIMITY))) + if (sDexNavSearchDataPtr->hiddenSearch && sDexNavSearchDataPtr->proximity < CREEPING_PROXIMITY) { - PlaySE(SE_DEX_SEARCH); - ClearStdWindowAndFrameToTransparent(sDexNavSearchDataPtr->windowId, FALSE); - CopyWindowToVram(sDexNavSearchDataPtr->windowId, 3); - RemoveWindow(sDexNavSearchDataPtr->windowId); - DestroySprite(&gSprites[sDexNavSearchDataPtr->iconSpriteId]); - task->tRevealed = TRUE; //regular dexnav search - //sDexNavSearchDataPtr->hiddenSearch = FALSE; //now its a regular dexnav search - task->func = Task_RevealHiddenMon; - return; + RevealHiddenSearch(); + return FALSE; } //Caves and water the pokemon moves around if ((sDexNavSearchDataPtr->environment == ENCOUNTER_TYPE_WATER || GetCurrentMapType() == MAP_TYPE_UNDERGROUND) && sDexNavSearchDataPtr->proximity < GetMovementProximityBySearchLevel() && sDexNavSearchDataPtr->movementCount < 2 - && task->tRevealed) + && !sDexNavSearchDataPtr->hiddenSearch) { FieldEffectStop(&gSprites[sDexNavSearchDataPtr->fldEffSpriteId], sDexNavSearchDataPtr->fldEffId); if (!TryStartHiddenMonFieldEffect(sDexNavSearchDataPtr->environment, 10, 10, TRUE)) { - EndDexNavSearchSetupScript(EventScript_PokemonGotAway, taskId); - return; + EndDexNavSearchSetupScript(EventScript_PokemonGotAway); + return TRUE; } sDexNavSearchDataPtr->movementCount++; } - - DexNavProximityUpdate(); - if (task->tProximity != sDexNavSearchDataPtr->proximity) - { - //player has moved - if (task->tRevealed) //update search window info only if hidden mon has been revealed (always true for search mode) - DexNavUpdateSearchWindow(sDexNavSearchDataPtr->proximity, sDexNavSearchDataPtr->searchLevel); - - task->tProximity = sDexNavSearchDataPtr->proximity; - } - - task->tFrameCount++; + return FALSE; } static void DexNavUpdateSearchWindow(u8 proximity, u8 searchLevel) @@ -1836,14 +1831,10 @@ static void DexNavGuiFreeResources(void) static void CB1_InitDexNavSearch(void) { - u8 taskId; - if (!gPaletteFade.active && !ArePlayerFieldControlsLocked() && gMain.callback2 == CB2_Overworld) { SetMainCallback1(CB1_Overworld); - taskId = CreateTask(Task_InitDexNavSearch, 0); - gTasks[taskId].tSpecies = gSpecialVar_0x8000; - gTasks[taskId].tEnvironment = gSpecialVar_0x8001; + InitDexNavSearch(gSpecialVar_0x8000, gSpecialVar_0x8001); } } @@ -2204,6 +2195,9 @@ static void CreateTypeIconSprites(void) } } +#define tSpecies data[2] +#define tEnvironment data[3] + static bool8 DexNav_DoGfxSetup(void) { u8 taskId; @@ -2481,7 +2475,7 @@ static void Task_DexNavMain(u8 taskId) ///////////////////////// //// HIDDEN POKEMON ///// ///////////////////////// -bool8 TryFindHiddenPokemon(void) +bool32 TryFindHiddenPokemon(void) { u16 *stepPtr = GetVarPointer(DN_VAR_STEP_COUNTER); @@ -2504,7 +2498,6 @@ bool8 TryFindHiddenPokemon(void) u8 index; u16 species; enum EncounterType environment; - u8 taskId; enum TimeOfDay timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_HIDDEN); const struct WildPokemonInfo *hiddenMonsInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].hiddenMonsInfo; @@ -2569,7 +2562,7 @@ bool8 TryFindHiddenPokemon(void) return FALSE; sDexNavSearchDataPtr = AllocZeroed(sizeof(struct DexNavSearch)); - + FlagSet(DN_FLAG_SEARCHING); // init search data sDexNavSearchDataPtr->isHiddenMon = isHiddenMon; sDexNavSearchDataPtr->species = species; @@ -2578,13 +2571,18 @@ bool8 TryFindHiddenPokemon(void) sDexNavSearchDataPtr->monLevel = DexNavTryGenerateMonLevel(species, environment); if (sDexNavSearchDataPtr->monLevel == MON_LEVEL_NONEXISTENT) { - Free(sDexNavSearchDataPtr); + FREE_AND_SET_NULL(sDexNavSearchDataPtr); + FlagClear(DN_FLAG_SEARCHING); return FALSE; } // find tile for hidden mon and start effect if possible if (!TryStartHiddenMonFieldEffect(sDexNavSearchDataPtr->environment, 8, 8, TRUE)) + { + FREE_AND_SET_NULL(sDexNavSearchDataPtr); + FlagClear(DN_FLAG_SEARCHING); return FALSE; + } // exclamation mark over player gFieldEffectArguments[0] = gSaveBlock1Ptr->pos.x; @@ -2595,10 +2593,7 @@ bool8 TryFindHiddenPokemon(void) FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON); PlayCry_Script(species, 0); - taskId = CreateTask(Task_SetUpDexNavSearch, 0); - gTasks[taskId].tSpecies = sDexNavSearchDataPtr->species; - gTasks[taskId].tEnvironment = sDexNavSearchDataPtr->environment; - gTasks[taskId].tRevealed = FALSE; + SetUpDexNavSearch(); HideMapNamePopUpWindow(); ChangeBgY_ScreenOff(0, 0, 0); return FALSE; // we dont actually want to enable the script context or the game will freeze @@ -2672,7 +2667,7 @@ void ResetDexNavSearch(void) gSaveBlock3Ptr->dexNavChain = 0; //reset dex nav chaining on new map VarSet(DN_VAR_STEP_COUNTER, 0); //reset hidden pokemon step counter if (FlagGet(DN_FLAG_SEARCHING)) - EndDexNavSearch(FindTaskIdByFunc(Task_DexNavSearch)); //moving to new map ends dexnav search + EndDexNavSearch(); //moving to new map ends dexnav search } void IncrementDexNavChain(void) diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index f35c349fc6..d3272d33ae 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -119,7 +119,7 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) input->pressedAButton = TRUE; if (newKeys & B_BUTTON) input->pressedBButton = TRUE; - if (newKeys & R_BUTTON && !FlagGet(DN_FLAG_SEARCHING)) + if (newKeys & R_BUTTON) input->pressedRButton = TRUE; } @@ -618,6 +618,8 @@ static bool8 TryStartStepBasedScript(struct MapPosition *position, u16 metatileB return TRUE; if (UpdateRepelCounter() == TRUE) return TRUE; + if (OnStep_DexNavSearch()) + return TRUE; return FALSE; } diff --git a/src/field_specials.c b/src/field_specials.c index 4965a13504..db06bc9aeb 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -2632,7 +2632,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(); diff --git a/src/m4a.c b/src/m4a.c index 24f9f3e16c..83abb44223 100644 --- a/src/m4a.c +++ b/src/m4a.c @@ -40,7 +40,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) { } @@ -132,7 +132,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; @@ -158,7 +158,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; @@ -322,7 +322,7 @@ void MPlayExtender(struct CgbChannel *cgbChans) soundInfo->ident = ident; } -void MusicPlayerJumpTableCopy(void) +static void UNUSED MusicPlayerJumpTableCopy(void) { asm("swi 0x2A"); } @@ -1609,26 +1609,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; } } @@ -1716,7 +1716,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, }; diff --git a/src/overworld.c b/src/overworld.c index 5388284f6b..671d8354f4 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -1116,7 +1116,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; @@ -1141,7 +1141,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; @@ -1157,11 +1157,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; diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index d204a44b75..9c4ef40132 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -231,12 +231,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 *); @@ -374,32 +374,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[] = @@ -1543,8 +1563,8 @@ static void SetDefaultTilemaps(void) || sMonSummaryScreen->mode == SUMMARY_MODE_RELEARNER_BATTLE || sMonSummaryScreen->mode == SUMMARY_MODE_RELEARNER_CONTEST) { - HandlePowerAccTilemap(0, 0xFF); - HandleAppealJamTilemap(0, 0xFF, 0); + PositionPowerAccSlidingWindow(0, 0xFF); + PositionAppealJamSlidingWindow(0, 0xFF, 0); } else { @@ -1584,7 +1604,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) || sMonSummaryScreen->mode == SUMMARY_MODE_RELEARNER_BATTLE || sMonSummaryScreen->mode == SUMMARY_MODE_RELEARNER_CONTEST) @@ -2030,7 +2050,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; @@ -2096,7 +2116,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; @@ -2122,7 +2142,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; @@ -2365,9 +2385,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) { if (ShouldShowMoveRelearner()) @@ -2482,8 +2501,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 @@ -2493,8 +2512,8 @@ static void ChangeSelectedMove(s16 *taskData, s8 direction, u8 *moveIndexPtr) ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); DestroyCategoryIcon(); ScheduleBgCopyTilemapToVram(0); - HandlePowerAccTilemap(0, 3); - HandleAppealJamTilemap(0, 3, 0); + PositionPowerAccSlidingWindow(0, 3); + PositionAppealJamSlidingWindow(0, 3, 0); } *moveIndexPtr = newMoveIndex; @@ -2521,8 +2540,8 @@ static void CloseMoveSelectMode(u8 taskId) ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_POWER_ACC); ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); DestroyCategoryIcon(); - HandlePowerAccTilemap(0, 3); - HandleAppealJamTilemap(0, 3, 0); + PositionPowerAccSlidingWindow(0, 3); + PositionAppealJamSlidingWindow(0, 3, 0); } ScheduleBgCopyTilemapToVram(0); ScheduleBgCopyTilemapToVram(1); @@ -2749,8 +2768,8 @@ static void ShowCantForgetHMsWindow(u8 taskId) ClearWindowTilemap(PSS_LABEL_WINDOW_MOVES_APPEAL_JAM); gSprites[sMonSummaryScreen->categoryIconSpriteId].invisible = TRUE; ScheduleBgCopyTilemapToVram(0); - HandlePowerAccTilemap(0, 3); - HandleAppealJamTilemap(0, 3, 0); + PositionPowerAccSlidingWindow(0, 3); + PositionAppealJamSlidingWindow(0, 3, 0); PrintHMMovesCantBeForgotten(); gTasks[taskId].func = Task_HandleInputCantForgetHMsMoves; } @@ -2760,7 +2779,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)) { @@ -2788,8 +2807,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) @@ -2802,8 +2821,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)) @@ -2814,8 +2833,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; } } @@ -2893,65 +2912,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); @@ -2969,46 +2992,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 { @@ -3025,37 +3048,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); @@ -3065,6 +3088,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) { diff --git a/src/pokenav_menu_handler_gfx.c b/src/pokenav_menu_handler_gfx.c index 2ac8892a93..195c381080 100644 --- a/src/pokenav_menu_handler_gfx.c +++ b/src/pokenav_menu_handler_gfx.c @@ -1312,7 +1312,14 @@ 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 + // 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); +#endif ScanlineEffect_Stop(); SetMenuOptionGlow(); ScanlineEffect_SetParams(sPokenavMainMenuScanlineEffectParams); diff --git a/src/rtc.c b/src/rtc.c index 25add5920c..888c2b7eeb 100644 --- a/src/rtc.c +++ b/src/rtc.c @@ -240,7 +240,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; @@ -250,7 +250,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; @@ -260,12 +260,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; @@ -275,7 +275,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/script.c b/src/script.c index 38482f59a5..6a4a906451 100644 --- a/src/script.c +++ b/src/script.c @@ -11,6 +11,8 @@ #include "constants/script_commands.h" #include "field_message_box.h" +#include "dexnav.h" + #define RAM_SCRIPT_MAGIC 51 enum { @@ -211,6 +213,7 @@ u32 ScriptPeekWord(struct ScriptContext *ctx) void LockPlayerFieldControls(void) { sLockFieldControls = TRUE; + EndDexNavSearch(); } void UnlockPlayerFieldControls(void) diff --git a/src/siirtc.c b/src/siirtc.c index ecce71a03c..156005dc14 100644 --- a/src/siirtc.c +++ b/src/siirtc.c @@ -343,7 +343,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]; diff --git a/src/title_screen.c b/src/title_screen.c index ea85f817f8..1b553e4545 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -850,10 +850,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)); diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c index 6dc2a69956..b60f3fe7e6 100644 --- a/src/trainer_pokemon_sprites.c +++ b/src/trainer_pokemon_sprites.c @@ -57,18 +57,20 @@ bool16 ResetAllPicSprites(void) return FALSE; } -static bool16 DecompressPic(u16 species, u32 personality, bool8 isFrontPic, u8 *dest, bool8 isTrainer) +static bool16 DecompressPic(u16 picId, u32 personality, bool8 isFrontPic, u8 *dest, bool8 isTrainer) { if (!isTrainer) { + u16 species = picId; LoadSpecialPokePic(dest, species, personality, isFrontPic); } else { + u16 trainerPicId = picId; if (isFrontPic) - DecompressPicFromTable(&gTrainerSprites[species].frontPic, dest); + DecompressPicFromTable(&gTrainerSprites[trainerPicId].frontPic, dest); else - CopyTrainerBackspriteFramesToDest(species, dest); + CopyTrainerBackspriteFramesToDest(trainerPicId, dest); } return FALSE; } diff --git a/test/battle/move_effect/beak_blast.c b/test/battle/move_effect/beak_blast.c index 6e94a908e5..a837bda712 100644 --- a/test/battle/move_effect/beak_blast.c +++ b/test/battle/move_effect/beak_blast.c @@ -141,6 +141,71 @@ SINGLE_BATTLE_TEST("Beak Blast doesn't burn after being used") } } +DOUBLE_BATTLE_TEST("Beak Blast doesn't burn if the target is protected") +{ + u32 move; + + PARAMETRIZE { move = MOVE_SPIKY_SHIELD; } + PARAMETRIZE { move = MOVE_BANEFUL_BUNKER; } + PARAMETRIZE { move = MOVE_BURNING_BULWARK; } + PARAMETRIZE { move = MOVE_SILK_TRAP; } + + GIVEN { + ASSUME(GetMoveEffect(move) == EFFECT_PROTECT); + ASSUME(GetMoveEffect(MOVE_INSTRUCT) == EFFECT_INSTRUCT); + ASSUME(GetMovePriority(MOVE_BEAK_BLAST) > GetMovePriority(MOVE_TRICK_ROOM)); + PLAYER(SPECIES_WOBBUFFET) { Speed(1); } + PLAYER(SPECIES_WYNAUT) { Speed(2); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(5); } + OPPONENT(SPECIES_WYNAUT) { Speed(10); } + } WHEN { + TURN { MOVE(opponentLeft, move); } + TURN { MOVE(opponentRight, MOVE_INSTRUCT, target: opponentLeft, WITH_RNG(RNG_PROTECT_FAIL, 0)); + MOVE(opponentLeft, MOVE_BEAK_BLAST, target: playerLeft); + MOVE(playerRight, MOVE_TRICK_ROOM); + MOVE(playerLeft, MOVE_POUND, target: opponentLeft); } + } SCENE { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_BEAK_BLAST_SETUP, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, move, opponentLeft); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_POUND, playerLeft); + if (move == MOVE_SPIKY_SHIELD) { + HP_BAR(playerLeft); + } else if (move == MOVE_BANEFUL_BUNKER) { + STATUS_ICON(playerLeft, STATUS1_POISON); + } else if (move == MOVE_BURNING_BULWARK) { + STATUS_ICON(playerLeft, STATUS1_BURN); + } else if (move == MOVE_SILK_TRAP) { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, playerLeft); + } + NOT STATUS_ICON(playerLeft, STATUS1_BURN); + } +} + +DOUBLE_BATTLE_TEST("Beak Blast doesn't burn if the target is protected by Quick Guard") +{ + GIVEN { + ASSUME(GetMoveEffect(MOVE_QUICK_GUARD) == EFFECT_PROTECT); + ASSUME(GetMoveProtectMethod(MOVE_QUICK_GUARD) == PROTECT_QUICK_GUARD); + ASSUME(GetMovePriority(MOVE_QUICK_ATTACK) > 0); + PLAYER(SPECIES_WOBBUFFET) { Speed(1); } + PLAYER(SPECIES_WYNAUT) { Speed(2); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(5); } + OPPONENT(SPECIES_WYNAUT) { Speed(10); } + } WHEN { + TURN { MOVE(opponentLeft, MOVE_BEAK_BLAST, target: playerLeft); + MOVE(opponentRight, MOVE_QUICK_GUARD); + MOVE(playerLeft, MOVE_QUICK_ATTACK, target: opponentLeft); } + } SCENE { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_BEAK_BLAST_SETUP, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_GUARD, opponentRight); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_ATTACK, playerLeft); + STATUS_ICON(playerLeft, STATUS1_BURN); + } + } +} + TO_DO_BATTLE_TEST("Beak Blast's charging message is shown regardless if it would've missed"); TO_DO_BATTLE_TEST("Beak Blast fails if it's forced by Encore after choosing a different move"); TO_DO_BATTLE_TEST("Bulletproof is immune to Beak Blast but not to the burn it causes"); 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) 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/converter.cpp b/tools/wav2agb/converter.cpp index c96135c149..c826e0a784 100644 --- a/tools/wav2agb/converter.cpp +++ b/tools/wav2agb/converter.cpp @@ -396,6 +396,11 @@ void convert(const std::string& wav_file_str, const std::string& out_file_str, pitch_value = static_cast(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/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 4b242c5c00..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,38 +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) + if (chunkLen >= 4) { + 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 @@ -185,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() @@ -285,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 b88da4eeb6..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,5 +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) };