shithub: pokecrystal

Download patch

ref: bb5ae04ca5654b8c22585bcc094ee05d1ab5e055
parent: 1ba907e3539f51c70c95eed6189c14cea259b71a
parent: 4757e299be8c7c6981b75b1159bf5e3d28ee544e
author: Bryan Bishop <kanzure@gmail.com>
date: Sat Jul 19 10:25:28 EDT 2014

Merge pull request #259 from yenatch/cries

Shorten cry defs now that cry parameters are all words.

--- a/audio/cry_headers.asm
+++ b/audio/cry_headers.asm
@@ -1,1530 +1,257 @@
-BulbasaurCryHeader: ; 0xf2787
-	dw $0f  ; cry id
-	db $80  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-IvysaurCryHeader: ; 0xf278d
-	dw $0f  ; cry id
-	db $20  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-VenusaurCryHeader: ; 0xf2793
-	dw $0f  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-CharmanderCryHeader: ; 0xf2799
-	dw $04  ; cry id
-	db $60  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-CharmeleonCryHeader: ; 0xf279f
-	dw $04  ; cry id
-	db $20  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-CharizardCryHeader: ; 0xf27a5
-	dw $04  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-SquirtleCryHeader: ; 0xf27ab
-	dw $1d  ; cry id
-	db $60  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-WartortleCryHeader: ; 0xf27b1
-	dw $1d  ; cry id
-	db $20  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-BlastoiseCryHeader: ; 0xf27b7
-	dw $13  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-CaterpieCryHeader: ; 0xf27bd
-	dw $16  ; cry id
-	db $80  ; pitch
-	db $00  ; echo
-	dw $0a0 ; length
-
-MetapodCryHeader: ; 0xf27c3
-	dw $1c  ; cry id
-	db $cc  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-ButterfreeCryHeader: ; 0xf27c9
-	dw $16  ; cry id
-	db $77  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-WeedleCryHeader: ; 0xf27cf
-	dw $15  ; cry id
-	db $ee  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-KakunaCryHeader: ; 0xf27d5
-	dw $13  ; cry id
-	db $ff  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-BeedrillCryHeader: ; 0xf27db
-	dw $13  ; cry id
-	db $60  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-PidgeyCryHeader: ; 0xf27e1
-	dw $0e  ; cry id
-	db $df  ; pitch
-	db $00  ; echo
-	dw $084 ; length
-
-PidgeottoCryHeader: ; 0xf27e7
-	dw $14  ; cry id
-	db $28  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-PidgeotCryHeader: ; 0xf27ed
-	dw $14  ; cry id
-	db $11  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-RattataCryHeader: ; 0xf27f3
-	dw $22  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-RaticateCryHeader: ; 0xf27f9
-	dw $22  ; cry id
-	db $20  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-SpearowCryHeader: ; 0xf27ff
-	dw $10  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-FearowCryHeader: ; 0xf2805
-	dw $18  ; cry id
-	db $40  ; pitch
-	db $00  ; echo
-	dw $120 ; length
-
-EkansCryHeader: ; 0xf280b
-	dw $17  ; cry id
-	db $12  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-ArbokCryHeader: ; 0xf2811
-	dw $17  ; cry id
-	db $e0  ; pitch
-	db $00  ; echo
-	dw $090 ; length
-
-PikachuCryHeader: ; 0xf2817
-	dw $0f  ; cry id
-	db $ee  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-RaichuCryHeader: ; 0xf281d
-	dw $09  ; cry id
-	db $ee  ; pitch
-	db $00  ; echo
-	dw $088 ; length
-
-SandshrewCryHeader: ; 0xf2823
-	dw $00  ; cry id
-	db $20  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-SandslashCryHeader: ; 0xf2829
-	dw $00  ; cry id
-	db $ff  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-NidoranFCryHeader: ; 0xf282f
-	dw $01  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-NidorinaCryHeader: ; 0xf2835
-	dw $01  ; cry id
-	db $2c  ; pitch
-	db $00  ; echo
-	dw $160 ; length
-
-NidoqueenCryHeader: ; 0xf283b
-	dw $0a  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-NidoranMCryHeader: ; 0xf2841
-	dw $00  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-NidorinoCryHeader: ; 0xf2847
-	dw $00  ; cry id
-	db $2c  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-NidokingCryHeader: ; 0xf284d
-	dw $09  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-ClefairyCryHeader: ; 0xf2853
-	dw $19  ; cry id
-	db $cc  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-ClefableCryHeader: ; 0xf2859
-	dw $19  ; cry id
-	db $aa  ; pitch
-	db $00  ; echo
-	dw $0a0 ; length
-
-VulpixCryHeader: ; 0xf285f
-	dw $24  ; cry id
-	db $4f  ; pitch
-	db $00  ; echo
-	dw $090 ; length
-
-NinetalesCryHeader: ; 0xf2865
-	dw $24  ; cry id
-	db $88  ; pitch
-	db $00  ; echo
-	dw $0e0 ; length
-
-JigglypuffCryHeader: ; 0xf286b
-	dw $0e  ; cry id
-	db $ff  ; pitch
-	db $00  ; echo
-	dw $0b5 ; length
-
-WigglytuffCryHeader: ; 0xf2871
-	dw $0e  ; cry id
-	db $68  ; pitch
-	db $00  ; echo
-	dw $0e0 ; length
-
-ZubatCryHeader: ; 0xf2877
-	dw $1d  ; cry id
-	db $e0  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-GolbatCryHeader: ; 0xf287d
-	dw $1d  ; cry id
-	db $fa  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-OddishCryHeader: ; 0xf2883
-	dw $08  ; cry id
-	db $dd  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-GloomCryHeader: ; 0xf2889
-	dw $08  ; cry id
-	db $aa  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-VileplumeCryHeader: ; 0xf288f
-	dw $23  ; cry id
-	db $22  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-ParasCryHeader: ; 0xf2895
-	dw $1e  ; cry id
-	db $20  ; pitch
-	db $00  ; echo
-	dw $160 ; length
-
-ParasectCryHeader: ; 0xf289b
-	dw $1e  ; cry id
-	db $42  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-VenonatCryHeader: ; 0xf28a1
-	dw $1a  ; cry id
-	db $44  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-VenomothCryHeader: ; 0xf28a7
-	dw $1a  ; cry id
-	db $29  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-DiglettCryHeader: ; 0xf28ad
-	dw $0b  ; cry id
-	db $aa  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-DugtrioCryHeader: ; 0xf28b3
-	dw $0b  ; cry id
-	db $2a  ; pitch
-	db $00  ; echo
-	dw $090 ; length
-
-MeowthCryHeader: ; 0xf28b9
-	dw $19  ; cry id
-	db $77  ; pitch
-	db $00  ; echo
-	dw $090 ; length
-
-PersianCryHeader: ; 0xf28bf
-	dw $19  ; cry id
-	db $99  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-PsyduckCryHeader: ; 0xf28c5
-	dw $21  ; cry id
-	db $20  ; pitch
-	db $00  ; echo
-	dw $0e0 ; length
-
-GolduckCryHeader: ; 0xf28cb
-	dw $21  ; cry id
-	db $ff  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-MankeyCryHeader: ; 0xf28d1
-	dw $0a  ; cry id
-	db $dd  ; pitch
-	db $00  ; echo
-	dw $0e0 ; length
-
-PrimeapeCryHeader: ; 0xf28d7
-	dw $0a  ; cry id
-	db $af  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-GrowlitheCryHeader: ; 0xf28dd
-	dw $1f  ; cry id
-	db $20  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-ArcanineCryHeader: ; 0xf28e3
-	dw $15  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-PoliwagCryHeader: ; 0xf28e9
-	dw $0e  ; cry id
-	db $ff  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-PoliwhirlCryHeader: ; 0xf28ef
-	dw $0e  ; cry id
-	db $77  ; pitch
-	db $00  ; echo
-	dw $0e0 ; length
-
-PoliwrathCryHeader: ; 0xf28f5
-	dw $0e  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-AbraCryHeader: ; 0xf28fb
-	dw $1c  ; cry id
-	db $c0  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-KadabraCryHeader: ; 0xf2901
-	dw $1c  ; cry id
-	db $a8  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-AlakazamCryHeader: ; 0xf2907
-	dw $1c  ; cry id
-	db $98  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-MachopCryHeader: ; 0xf290d
-	dw $1f  ; cry id
-	db $ee  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-MachokeCryHeader: ; 0xf2913
-	dw $1f  ; cry id
-	db $48  ; pitch
-	db $00  ; echo
-	dw $0e0 ; length
-
-MachampCryHeader: ; 0xf2919
-	dw $1f  ; cry id
-	db $08  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-BellsproutCryHeader: ; 0xf291f
-	dw $21  ; cry id
-	db $55  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-WeepinbellCryHeader: ; 0xf2925
-	dw $25  ; cry id
-	db $44  ; pitch
-	db $00  ; echo
-	dw $0a0 ; length
-
-VictreebelCryHeader: ; 0xf292b
-	dw $25  ; cry id
-	db $66  ; pitch
-	db $00  ; echo
-	dw $14c ; length
-
-TentacoolCryHeader: ; 0xf2931
-	dw $1a  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-TentacruelCryHeader: ; 0xf2937
-	dw $1a  ; cry id
-	db $ee  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-GeodudeCryHeader: ; 0xf293d
-	dw $24  ; cry id
-	db $f0  ; pitch
-	db $00  ; echo
-	dw $090 ; length
-
-GravelerCryHeader: ; 0xf2943
-	dw $24  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-GolemCryHeader: ; 0xf2949
-	dw $12  ; cry id
-	db $e0  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-PonytaCryHeader: ; 0xf294f
-	dw $25  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-RapidashCryHeader: ; 0xf2955
-	dw $25  ; cry id
-	db $20  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-SlowpokeCryHeader: ; 0xf295b
-	dw $02  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-SlowbroCryHeader: ; 0xf2961
-	dw $1f  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-MagnemiteCryHeader: ; 0xf2967
-	dw $1c  ; cry id
-	db $80  ; pitch
-	db $00  ; echo
-	dw $0e0 ; length
-
-MagnetonCryHeader: ; 0xf296d
-	dw $1c  ; cry id
-	db $20  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-FarfetchDCryHeader: ; 0xf2973
-	dw $10  ; cry id
-	db $dd  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-DoduoCryHeader: ; 0xf2979
-	dw $0b  ; cry id
-	db $bb  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-DodrioCryHeader: ; 0xf297f
-	dw $0b  ; cry id
-	db $99  ; pitch
-	db $00  ; echo
-	dw $0a0 ; length
-
-SeelCryHeader: ; 0xf2985
-	dw $0c  ; cry id
-	db $88  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-DewgongCryHeader: ; 0xf298b
-	dw $0c  ; cry id
-	db $23  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-GrimerCryHeader: ; 0xf2991
-	dw $05  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-MukCryHeader: ; 0xf2997
-	dw $07  ; cry id
-	db $ef  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-ShellderCryHeader: ; 0xf299d
-	dw $18  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-CloysterCryHeader: ; 0xf29a3
-	dw $18  ; cry id
-	db $6f  ; pitch
-	db $00  ; echo
-	dw $160 ; length
-
-GastlyCryHeader: ; 0xf29a9
-	dw $1c  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-HaunterCryHeader: ; 0xf29af
-	dw $1c  ; cry id
-	db $30  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-GengarCryHeader: ; 0xf29b5
-	dw $07  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-OnixCryHeader: ; 0xf29bb
-	dw $17  ; cry id
-	db $ff  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-DrowzeeCryHeader: ; 0xf29c1
-	dw $0d  ; cry id
-	db $88  ; pitch
-	db $00  ; echo
-	dw $0a0 ; length
-
-HypnoCryHeader: ; 0xf29c7
-	dw $0d  ; cry id
-	db $ee  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-KrabbyCryHeader: ; 0xf29cd
-	dw $20  ; cry id
-	db $20  ; pitch
-	db $00  ; echo
-	dw $160 ; length
-
-KinglerCryHeader: ; 0xf29d3
-	dw $20  ; cry id
-	db $ee  ; pitch
-	db $00  ; echo
-	dw $160 ; length
-
-VoltorbCryHeader: ; 0xf29d9
-	dw $06  ; cry id
-	db $ed  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-ElectrodeCryHeader: ; 0xf29df
-	dw $06  ; cry id
-	db $a8  ; pitch
-	db $00  ; echo
-	dw $110 ; length
-
-ExeggcuteCryHeader: ; 0xf29e5
-	dw $0b  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-ExeggutorCryHeader: ; 0xf29eb
-	dw $0d  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-CuboneCryHeader: ; 0xf29f1
-	dw $19  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-MarowakCryHeader: ; 0xf29f7
-	dw $08  ; cry id
-	db $4f  ; pitch
-	db $00  ; echo
-	dw $0e0 ; length
-
-HitmonleeCryHeader: ; 0xf29fd
-	dw $12  ; cry id
-	db $80  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-HitmonchanCryHeader: ; 0xf2a03
-	dw $0c  ; cry id
-	db $ee  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-LickitungCryHeader: ; 0xf2a09
-	dw $0c  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-KoffingCryHeader: ; 0xf2a0f
-	dw $12  ; cry id
-	db $e6  ; pitch
-	db $00  ; echo
-	dw $15d ; length
-
-WeezingCryHeader: ; 0xf2a15
-	dw $12  ; cry id
-	db $ff  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-RhyhornCryHeader: ; 0xf2a1b
-	dw $04  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-RhydonCryHeader: ; 0xf2a21
-	dw $11  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-ChanseyCryHeader: ; 0xf2a27
-	dw $14  ; cry id
-	db $0a  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-TangelaCryHeader: ; 0xf2a2d
-	dw $12  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-KangaskhanCryHeader: ; 0xf2a33
-	dw $03  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-HorseaCryHeader: ; 0xf2a39
-	dw $19  ; cry id
-	db $99  ; pitch
-	db $00  ; echo
-	dw $090 ; length
-
-SeadraCryHeader: ; 0xf2a3f
-	dw $19  ; cry id
-	db $3c  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-GoldeenCryHeader: ; 0xf2a45
-	dw $16  ; cry id
-	db $80  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-SeakingCryHeader: ; 0xf2a4b
-	dw $16  ; cry id
-	db $10  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-StaryuCryHeader: ; 0xf2a51
-	dw $1e  ; cry id
-	db $02  ; pitch
-	db $00  ; echo
-	dw $0a0 ; length
-
-StarmieCryHeader: ; 0xf2a57
-	dw $1e  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-MrMimeCryHeader: ; 0xf2a5d
-	dw $20  ; cry id
-	db $08  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-ScytherCryHeader: ; 0xf2a63
-	dw $16  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-JynxCryHeader: ; 0xf2a69
-	dw $0d  ; cry id
-	db $ff  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-ElectabuzzCryHeader: ; 0xf2a6f
-	dw $06  ; cry id
-	db $8f  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-MagmarCryHeader: ; 0xf2a75
-	dw $04  ; cry id
-	db $ff  ; pitch
-	db $00  ; echo
-	dw $0b0 ; length
-
-PinsirCryHeader: ; 0xf2a7b
-	dw $14  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-TaurosCryHeader: ; 0xf2a81
-	dw $1d  ; cry id
-	db $11  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-MagikarpCryHeader: ; 0xf2a87
-	dw $17  ; cry id
-	db $80  ; pitch
-	db $00  ; echo
-	dw $080 ; length
-
-GyaradosCryHeader: ; 0xf2a8d
-	dw $17  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-LaprasCryHeader: ; 0xf2a93
-	dw $1b  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-DittoCryHeader: ; 0xf2a99
-	dw $0e  ; cry id
-	db $ff  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-EeveeCryHeader: ; 0xf2a9f
-	dw $1a  ; cry id
-	db $88  ; pitch
-	db $00  ; echo
-	dw $0e0 ; length
-
-VaporeonCryHeader: ; 0xf2aa5
-	dw $1a  ; cry id
-	db $aa  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-JolteonCryHeader: ; 0xf2aab
-	dw $1a  ; cry id
-	db $3d  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-FlareonCryHeader: ; 0xf2ab1
-	dw $1a  ; cry id
-	db $10  ; pitch
-	db $00  ; echo
-	dw $0a0 ; length
-
-PorygonCryHeader: ; 0xf2ab7
-	dw $25  ; cry id
-	db $aa  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-OmanyteCryHeader: ; 0xf2abd
-	dw $1f  ; cry id
-	db $f0  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-OmastarCryHeader: ; 0xf2ac3
-	dw $1f  ; cry id
-	db $ff  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-KabutoCryHeader: ; 0xf2ac9
-	dw $16  ; cry id
-	db $bb  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-KabutopsCryHeader: ; 0xf2acf
-	dw $18  ; cry id
-	db $ee  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-AerodactylCryHeader: ; 0xf2ad5
-	dw $23  ; cry id
-	db $20  ; pitch
-	db $00  ; echo
-	dw $170 ; length
-
-SnorlaxCryHeader: ; 0xf2adb
-	dw $05  ; cry id
-	db $55  ; pitch
-	db $00  ; echo
-	dw $081 ; length
-
-ArticunoCryHeader: ; 0xf2ae1
-	dw $09  ; cry id
-	db $80  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-ZapdosCryHeader: ; 0xf2ae7
-	dw $18  ; cry id
-	db $ff  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-MoltresCryHeader: ; 0xf2aed
-	dw $09  ; cry id
-	db $f8  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-DratiniCryHeader: ; 0xf2af3
-	dw $0f  ; cry id
-	db $60  ; pitch
-	db $00  ; echo
-	dw $0c0 ; length
-
-DragonairCryHeader: ; 0xf2af9
-	dw $0f  ; cry id
-	db $40  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-DragoniteCryHeader: ; 0xf2aff
-	dw $0f  ; cry id
-	db $3c  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-MewtwoCryHeader: ; 0xf2b05
-	dw $1e  ; cry id
-	db $99  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-MewCryHeader: ; 0xf2b0b
-	dw $1e  ; cry id
-	db $ee  ; pitch
-	db $00  ; echo
-	dw $17f ; length
-
-ChikoritaCryHeader: ; 0xf2b11
-	dw $31  ; cry id
-	db $f0  ; pitch
-	db $ff  ; echo
-	dw $0b0 ; length
-
-BayleefCryHeader: ; 0xf2b17
-	dw $31  ; cry id
-	db $de  ; pitch
-	db $ff  ; echo
-	dw $120 ; length
-
-MeganiumCryHeader: ; 0xf2b1d
-	dw $31  ; cry id
-	db $49  ; pitch
-	db $ff  ; echo
-	dw $200 ; length
-
-CyndaquilCryHeader: ; 0xf2b23
-	dw $30  ; cry id
-	db $47  ; pitch
-	db $03  ; echo
-	dw $080 ; length
-
-QuilavaCryHeader: ; 0xf2b29
-	dw $30  ; cry id
-	db $21  ; pitch
-	db $03  ; echo
-	dw $120 ; length
-
-TyphlosionCryHeader: ; 0xf2b2f
-	dw $3a  ; cry id
-	db $00  ; pitch
-	db $0f  ; echo
-	dw $0d4 ; length
-
-TotodileCryHeader: ; 0xf2b35
-	dw $32  ; cry id
-	db $6c  ; pitch
-	db $04  ; echo
-	dw $0e8 ; length
-
-CroconawCryHeader: ; 0xf2b3b
-	dw $32  ; cry id
-	db $40  ; pitch
-	db $04  ; echo
-	dw $110 ; length
-
-FeraligatrCryHeader: ; 0xf2b41
-	dw $32  ; cry id
-	db $fc  ; pitch
-	db $03  ; echo
-	dw $180 ; length
-
-SentretCryHeader: ; 0xf2b47
-	dw $2e  ; cry id
-	db $8a  ; pitch
-	db $00  ; echo
-	dw $0b8 ; length
-
-FurretCryHeader: ; 0xf2b4d
-	dw $2e  ; cry id
-	db $6b  ; pitch
-	db $00  ; echo
-	dw $102 ; length
-
-HoothootCryHeader: ; 0xf2b53
-	dw $2d  ; cry id
-	db $91  ; pitch
-	db $00  ; echo
-	dw $0d8 ; length
-
-NoctowlCryHeader: ; 0xf2b59
-	dw $2d  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $1a0 ; length
-
-LedybaCryHeader: ; 0xf2b5f
-	dw $36  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $0de ; length
-
-LedianCryHeader: ; 0xf2b65
-	dw $36  ; cry id
-	db $6a  ; pitch
-	db $ff  ; echo
-	dw $138 ; length
-
-SpinarakCryHeader: ; 0xf2b6b
-	dw $27  ; cry id
-	db $11  ; pitch
-	db $00  ; echo
-	dw $200 ; length
-
-AriadosCryHeader: ; 0xf2b71
-	dw $27  ; cry id
-	db $52  ; pitch
-	db $ff  ; echo
-	dw $1e2 ; length
-
-CrobatCryHeader: ; 0xf2b77
-	dw $1d  ; cry id
-	db $f0  ; pitch
-	db $ff  ; echo
-	dw $140 ; length
-
-ChinchouCryHeader: ; 0xf2b7d
-	dw $30  ; cry id
-	db $c9  ; pitch
-	db $03  ; echo
-	dw $140 ; length
-
-LanturnCryHeader: ; 0xf2b83
-	dw $30  ; cry id
-	db $d0  ; pitch
-	db $02  ; echo
-	dw $110 ; length
-
-PichuCryHeader: ; 0xf2b89
-	dw $40  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-CleffaCryHeader: ; 0xf2b8f
-	dw $34  ; cry id
-	db $61  ; pitch
-	db $00  ; echo
-	dw $091 ; length
-
-IgglybuffCryHeader: ; 0xf2b95
-	dw $31  ; cry id
-	db $e8  ; pitch
-	db $00  ; echo
-	dw $0e8 ; length
-
-TogepiCryHeader: ; 0xf2b9b
-	dw $28  ; cry id
-	db $10  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-TogeticCryHeader: ; 0xf2ba1
-	dw $2c  ; cry id
-	db $3b  ; pitch
-	db $00  ; echo
-	dw $038 ; length
-
-NatuCryHeader: ; 0xf2ba7
-	dw $3b  ; cry id
-	db $99  ; pitch
-	db $ff  ; echo
-	dw $100 ; length
-
-XatuCryHeader: ; 0xf2bad
-	dw $3b  ; cry id
-	db $59  ; pitch
-	db $ff  ; echo
-	dw $168 ; length
-
-MareepCryHeader: ; 0xf2bb3
-	dw $2b  ; cry id
-	db $22  ; pitch
-	db $00  ; echo
-	dw $0d8 ; length
-
-FlaaffyCryHeader: ; 0xf2bb9
-	dw $2b  ; cry id
-	db $f9  ; pitch
-	db $ff  ; echo
-	dw $180 ; length
-
-AmpharosCryHeader: ; 0xf2bbf
-	dw $3e  ; cry id
-	db $84  ; pitch
-	db $ff  ; echo
-	dw $0e8 ; length
-
-BellossomCryHeader: ; 0xf2bc5
-	dw $34  ; cry id
-	db $84  ; pitch
-	db $00  ; echo
-	dw $150 ; length
-
-MarillCryHeader: ; 0xf2bcb
-	dw $26  ; cry id
-	db $1b  ; pitch
-	db $01  ; echo
-	dw $120 ; length
-
-AzumarillCryHeader: ; 0xf2bd1
-	dw $26  ; cry id
-	db $b6  ; pitch
-	db $00  ; echo
-	dw $180 ; length
-
-SudowoodoCryHeader: ; 0xf2bd7
-	dw $34  ; cry id
-	db $40  ; pitch
-	db $0f  ; echo
-	dw $180 ; length
-
-PolitoedCryHeader: ; 0xf2bdd
-	dw $34  ; cry id
-	db $5d  ; pitch
-	db $fd  ; echo
-	dw $1c8 ; length
-
-HoppipCryHeader: ; 0xf2be3
-	dw $34  ; cry id
-	db $3b  ; pitch
-	db $00  ; echo
-	dw $0c8 ; length
-
-SkiploomCryHeader: ; 0xf2be9
-	dw $34  ; cry id
-	db $27  ; pitch
-	db $00  ; echo
-	dw $138 ; length
-
-JumpluffCryHeader: ; 0xf2bef
-	dw $34  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $180 ; length
-
-AipomCryHeader: ; 0xf2bf5
-	dw $41  ; cry id
-	db $af  ; pitch
-	db $ff  ; echo
-	dw $0e8 ; length
-
-SunkernCryHeader: ; 0xf2bfb
-	dw $26  ; cry id
-	db $2b  ; pitch
-	db $01  ; echo
-	dw $0b8 ; length
-
-SunfloraCryHeader: ; 0xf2c01
-	dw $3d  ; cry id
-	db $e0  ; pitch
-	db $ff  ; echo
-	dw $180 ; length
-
-YanmaCryHeader: ; 0xf2c07
-	dw $32  ; cry id
-	db $31  ; pitch
-	db $00  ; echo
-	dw $0c8 ; length
-
-WooperCryHeader: ; 0xf2c0d
-	dw $38  ; cry id
-	db $93  ; pitch
-	db $00  ; echo
-	dw $0af ; length
-
-QuagsireCryHeader: ; 0xf2c13
-	dw $38  ; cry id
-	db $3a  ; pitch
-	db $ff  ; echo
-	dw $140 ; length
-
-EspeonCryHeader: ; 0xf2c19
-	dw $41  ; cry id
-	db $a2  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-UmbreonCryHeader: ; 0xf2c1f
-	dw $1a  ; cry id
-	db $17  ; pitch
-	db $ff  ; echo
-	dw $0f0 ; length
-
-MurkrowCryHeader: ; 0xf2c25
-	dw $26  ; cry id
-	db $e1  ; pitch
-	db $ff  ; echo
-	dw $180 ; length
-
-SlowkingCryHeader: ; 0xf2c2b
-	dw $2f  ; cry id
-	db $04  ; pitch
-	db $01  ; echo
-	dw $200 ; length
-
-MisdreavusCryHeader: ; 0xf2c31
-	dw $2d  ; cry id
-	db $30  ; pitch
-	db $01  ; echo
-	dw $0e8 ; length
-
-UnownCryHeader: ; 0xf2c37
-	dw $2d  ; cry id
-	db $62  ; pitch
-	db $01  ; echo
-	dw $100 ; length
-
-WobbuffetCryHeader: ; 0xf2c3d
-	dw $3e  ; cry id
-	db $7b  ; pitch
-	db $02  ; echo
-	dw $144 ; length
-
-GirafarigCryHeader: ; 0xf2c43
-	dw $29  ; cry id
-	db $41  ; pitch
-	db $00  ; echo
-	dw $200 ; length
-
-PinecoCryHeader: ; 0xf2c49
-	dw $2f  ; cry id
-	db $80  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-ForretressCryHeader: ; 0xf2c4f
-	dw $2f  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $180 ; length
-
-DunsparceCryHeader: ; 0xf2c55
-	dw $42  ; cry id
-	db $c4  ; pitch
-	db $01  ; echo
-	dw $100 ; length
-
-GligarCryHeader: ; 0xf2c5b
-	dw $33  ; cry id
-	db $fe  ; pitch
-	db $fe  ; echo
-	dw $100 ; length
-
-SteelixCryHeader: ; 0xf2c61
-	dw $3a  ; cry id
-	db $ef  ; pitch
-	db $00  ; echo
-	dw $0f7 ; length
-
-SnubbullCryHeader: ; 0xf2c67
-	dw $42  ; cry id
-	db $12  ; pitch
-	db $01  ; echo
-	dw $0e8 ; length
-
-GranbullCryHeader: ; 0xf2c6d
-	dw $42  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $180 ; length
-
-QwilfishCryHeader: ; 0xf2c73
-	dw $2f  ; cry id
-	db $60  ; pitch
-	db $01  ; echo
-	dw $0e0 ; length
-
-ScizorCryHeader: ; 0xf2c79
-	dw $3e  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $160 ; length
-
-ShuckleCryHeader: ; 0xf2c7f
-	dw $42  ; cry id
-	db $90  ; pitch
-	db $02  ; echo
-	dw $0a8 ; length
-
-HeracrossCryHeader: ; 0xf2c85
-	dw $3e  ; cry id
-	db $35  ; pitch
-	db $00  ; echo
-	dw $0e0 ; length
-
-SneaselCryHeader: ; 0xf2c8b
-	dw $38  ; cry id
-	db $53  ; pitch
-	db $00  ; echo
-	dw $0af ; length
-
-TeddiursaCryHeader: ; 0xf2c91
-	dw $3c  ; cry id
-	db $a2  ; pitch
-	db $07  ; echo
-	dw $06e ; length
-
-UrsaringCryHeader: ; 0xf2c97
-	dw $3c  ; cry id
-	db $40  ; pitch
-	db $06  ; echo
-	dw $0d8 ; length
-
-SlugmaCryHeader: ; 0xf2c9d
-	dw $35  ; cry id
-	db $28  ; pitch
-	db $fe  ; echo
-	dw $140 ; length
-
-MagcargoCryHeader: ; 0xf2ca3
-	dw $3f  ; cry id
-	db $f3  ; pitch
-	db $fd  ; echo
-	dw $1c0 ; length
-
-SwinubCryHeader: ; 0xf2ca9
-	dw $30  ; cry id
-	db $fe  ; pitch
-	db $01  ; echo
-	dw $140 ; length
-
-PiloswineCryHeader: ; 0xf2caf
-	dw $3f  ; cry id
-	db $f7  ; pitch
-	db $fe  ; echo
-	dw $100 ; length
-
-CorsolaCryHeader: ; 0xf2cb5
-	dw $3f  ; cry id
-	db $a1  ; pitch
-	db $00  ; echo
-	dw $0e8 ; length
-
-RemoraidCryHeader: ; 0xf2cbb
-	dw $3d  ; cry id
-	db $0d  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-OctilleryCryHeader: ; 0xf2cc1
-	dw $32  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $180 ; length
-
-DelibirdCryHeader: ; 0xf2cc7
-	dw $3c  ; cry id
-	db $02  ; pitch
-	db $00  ; echo
-	dw $06a ; length
-
-MantineCryHeader: ; 0xf2ccd
-	dw $39  ; cry id
-	db $42  ; pitch
-	db $ff  ; echo
-	dw $0f0 ; length
-
-SkarmoryCryHeader: ; 0xf2cd3
-	dw $3e  ; cry id
-	db $a9  ; pitch
-	db $08  ; echo
-	dw $180 ; length
-
-HoundourCryHeader: ; 0xf2cd9
-	dw $30  ; cry id
-	db $39  ; pitch
-	db $00  ; echo
-	dw $140 ; length
-
-HoundoomCryHeader: ; 0xf2cdf
-	dw $32  ; cry id
-	db $f6  ; pitch
-	db $fe  ; echo
-	dw $100 ; length
-
-KingdraCryHeader: ; 0xf2ce5
-	dw $35  ; cry id
-	db $fb  ; pitch
-	db $02  ; echo
-	dw $100 ; length
-
-PhanpyCryHeader: ; 0xf2ceb
-	dw $2e  ; cry id
-	db $48  ; pitch
-	db $00  ; echo
-	dw $230 ; length
-
-DonphanCryHeader: ; 0xf2cf1
-	dw $43  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $1a0 ; length
-
-Porygon2CryHeader: ; 0xf2cf7
-	dw $29  ; cry id
-	db $73  ; pitch
-	db $00  ; echo
-	dw $240 ; length
-
-StantlerCryHeader: ; 0xf2cfd
-	dw $41  ; cry id
-	db $a0  ; pitch
-	db $fe  ; echo
-	dw $180 ; length
-
-SmeargleCryHeader: ; 0xf2d03
-	dw $40  ; cry id
-	db $e6  ; pitch
-	db $fd  ; echo
-	dw $1f0 ; length
-
-TyrogueCryHeader: ; 0xf2d09
-	dw $41  ; cry id
-	db $2c  ; pitch
-	db $00  ; echo
-	dw $108 ; length
-
-HitmontopCryHeader: ; 0xf2d0f
-	dw $35  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-SmoochumCryHeader: ; 0xf2d15
-	dw $26  ; cry id
-	db $68  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-ElekidCryHeader: ; 0xf2d1b
-	dw $3d  ; cry id
-	db $28  ; pitch
-	db $fd  ; echo
-	dw $0b4 ; length
-
-MagbyCryHeader: ; 0xf2d21
-	dw $3c  ; cry id
-	db $76  ; pitch
-	db $01  ; echo
-	dw $03a ; length
-
-MiltankCryHeader: ; 0xf2d27
-	dw $33  ; cry id
-	db $33  ; pitch
-	db $fe  ; echo
-	dw $1a0 ; length
-
-BlisseyCryHeader: ; 0xf2d2d
-	dw $2f  ; cry id
-	db $93  ; pitch
-	db $02  ; echo
-	dw $140 ; length
-
-RaikouCryHeader: ; 0xf2d33
-	dw $2a  ; cry id
-	db $2e  ; pitch
-	db $02  ; echo
-	dw $120 ; length
-
-EnteiCryHeader: ; 0xf2d39
-	dw $37  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $1a0 ; length
-
-SuicuneCryHeader: ; 0xf2d3f
-	dw $3f  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $180 ; length
-
-LarvitarCryHeader: ; 0xf2d45
-	dw $2a  ; cry id
-	db $5f  ; pitch
-	db $00  ; echo
-	dw $0d0 ; length
-
-PupitarCryHeader: ; 0xf2d4b
-	dw $27  ; cry id
-	db $25  ; pitch
-	db $fe  ; echo
-	dw $150 ; length
-
-TyranitarCryHeader: ; 0xf2d51
-	dw $2a  ; cry id
-	db $00  ; pitch
-	db $ff  ; echo
-	dw $180 ; length
-
-LugiaCryHeader: ; 0xf2d57
-	dw $3a  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $100 ; length
-
-HoOhCryHeader: ; 0xf2d5d
-	dw $41  ; cry id
-	db $00  ; pitch
-	db $00  ; echo
-	dw $180 ; length
-
-CelebiCryHeader: ; 0xf2d63
-	dw $37  ; cry id
-	db $4a  ; pitch
-	db $01  ; echo
-	dw $111 ; length
-
-CryHeader252: ; 0xf2d69
-	dw 0    ; cry id
-	db 0    ; pitch
-	db 0    ; echo
-	dw 0    ; length
-
-CryHeader253: ; 0xf2d6f
-	dw 0    ; cry id
-	db 0    ; pitch
-	db 0    ; echo
-	dw 0    ; length
-
-CryHeader254: ; 0xf2d75
-	dw 0    ; cry id
-	db 0    ; pitch
-	db 0    ; echo
-	dw 0    ; length
-
-CryHeader255: ; 0xf2d7b
-	dw 0    ; cry id
-	db 0    ; pitch
-	db 0    ; echo
-	dw 0    ; length
-
+; f2787
+BulbasaurCryHeader:   dw $0f,  $080,  $081
+IvysaurCryHeader:     dw $0f,  $020,  $100
+VenusaurCryHeader:    dw $0f,  $000,  $140
+CharmanderCryHeader:  dw $04,  $060,  $0c0
+CharmeleonCryHeader:  dw $04,  $020,  $0c0
+CharizardCryHeader:   dw $04,  $000,  $100
+SquirtleCryHeader:    dw $1d,  $060,  $0c0
+WartortleCryHeader:   dw $1d,  $020,  $0c0
+BlastoiseCryHeader:   dw $13,  $000,  $100
+CaterpieCryHeader:    dw $16,  $080,  $0a0
+MetapodCryHeader:     dw $1c,  $0cc,  $081
+ButterfreeCryHeader:  dw $16,  $077,  $0c0
+WeedleCryHeader:      dw $15,  $0ee,  $081
+KakunaCryHeader:      dw $13,  $0ff,  $081
+BeedrillCryHeader:    dw $13,  $060,  $100
+PidgeyCryHeader:      dw $0e,  $0df,  $084
+PidgeottoCryHeader:   dw $14,  $028,  $140
+PidgeotCryHeader:     dw $14,  $011,  $17f
+RattataCryHeader:     dw $22,  $000,  $100
+RaticateCryHeader:    dw $22,  $020,  $17f
+SpearowCryHeader:     dw $10,  $000,  $100
+FearowCryHeader:      dw $18,  $040,  $120
+EkansCryHeader:       dw $17,  $012,  $0c0
+ArbokCryHeader:       dw $17,  $0e0,  $090
+PikachuCryHeader:     dw $0f,  $0ee,  $081
+RaichuCryHeader:      dw $09,  $0ee,  $088
+SandshrewCryHeader:   dw $00,  $020,  $0c0
+SandslashCryHeader:   dw $00,  $0ff,  $17f
+NidoranFCryHeader:    dw $01,  $000,  $100
+NidorinaCryHeader:    dw $01,  $02c,  $160
+NidoqueenCryHeader:   dw $0a,  $000,  $100
+NidoranMCryHeader:    dw $00,  $000,  $100
+NidorinoCryHeader:    dw $00,  $02c,  $140
+NidokingCryHeader:    dw $09,  $000,  $100
+ClefairyCryHeader:    dw $19,  $0cc,  $081
+ClefableCryHeader:    dw $19,  $0aa,  $0a0
+VulpixCryHeader:      dw $24,  $04f,  $090
+NinetalesCryHeader:   dw $24,  $088,  $0e0
+JigglypuffCryHeader:  dw $0e,  $0ff,  $0b5
+WigglytuffCryHeader:  dw $0e,  $068,  $0e0
+ZubatCryHeader:       dw $1d,  $0e0,  $100
+GolbatCryHeader:      dw $1d,  $0fa,  $100
+OddishCryHeader:      dw $08,  $0dd,  $081
+GloomCryHeader:       dw $08,  $0aa,  $0c0
+VileplumeCryHeader:   dw $23,  $022,  $17f
+ParasCryHeader:       dw $1e,  $020,  $160
+ParasectCryHeader:    dw $1e,  $042,  $17f
+VenonatCryHeader:     dw $1a,  $044,  $0c0
+VenomothCryHeader:    dw $1a,  $029,  $100
+DiglettCryHeader:     dw $0b,  $0aa,  $081
+DugtrioCryHeader:     dw $0b,  $02a,  $090
+MeowthCryHeader:      dw $19,  $077,  $090
+PersianCryHeader:     dw $19,  $099,  $17f
+PsyduckCryHeader:     dw $21,  $020,  $0e0
+GolduckCryHeader:     dw $21,  $0ff,  $0c0
+MankeyCryHeader:      dw $0a,  $0dd,  $0e0
+PrimeapeCryHeader:    dw $0a,  $0af,  $0c0
+GrowlitheCryHeader:   dw $1f,  $020,  $0c0
+ArcanineCryHeader:    dw $15,  $000,  $100
+PoliwagCryHeader:     dw $0e,  $0ff,  $17f
+PoliwhirlCryHeader:   dw $0e,  $077,  $0e0
+PoliwrathCryHeader:   dw $0e,  $000,  $17f
+AbraCryHeader:        dw $1c,  $0c0,  $081
+KadabraCryHeader:     dw $1c,  $0a8,  $140
+AlakazamCryHeader:    dw $1c,  $098,  $17f
+MachopCryHeader:      dw $1f,  $0ee,  $081
+MachokeCryHeader:     dw $1f,  $048,  $0e0
+MachampCryHeader:     dw $1f,  $008,  $140
+BellsproutCryHeader:  dw $21,  $055,  $081
+WeepinbellCryHeader:  dw $25,  $044,  $0a0
+VictreebelCryHeader:  dw $25,  $066,  $14c
+TentacoolCryHeader:   dw $1a,  $000,  $100
+TentacruelCryHeader:  dw $1a,  $0ee,  $17f
+GeodudeCryHeader:     dw $24,  $0f0,  $090
+GravelerCryHeader:    dw $24,  $000,  $100
+GolemCryHeader:       dw $12,  $0e0,  $0c0
+PonytaCryHeader:      dw $25,  $000,  $100
+RapidashCryHeader:    dw $25,  $020,  $140
+SlowpokeCryHeader:    dw $02,  $000,  $100
+SlowbroCryHeader:     dw $1f,  $000,  $100
+MagnemiteCryHeader:   dw $1c,  $080,  $0e0
+MagnetonCryHeader:    dw $1c,  $020,  $140
+FarfetchDCryHeader:   dw $10,  $0dd,  $081
+DoduoCryHeader:       dw $0b,  $0bb,  $081
+DodrioCryHeader:      dw $0b,  $099,  $0a0
+SeelCryHeader:        dw $0c,  $088,  $140
+DewgongCryHeader:     dw $0c,  $023,  $17f
+GrimerCryHeader:      dw $05,  $000,  $100
+MukCryHeader:         dw $07,  $0ef,  $17f
+ShellderCryHeader:    dw $18,  $000,  $100
+CloysterCryHeader:    dw $18,  $06f,  $160
+GastlyCryHeader:      dw $1c,  $000,  $100
+HaunterCryHeader:     dw $1c,  $030,  $0c0
+GengarCryHeader:      dw $07,  $000,  $17f
+OnixCryHeader:        dw $17,  $0ff,  $140
+DrowzeeCryHeader:     dw $0d,  $088,  $0a0
+HypnoCryHeader:       dw $0d,  $0ee,  $0c0
+KrabbyCryHeader:      dw $20,  $020,  $160
+KinglerCryHeader:     dw $20,  $0ee,  $160
+VoltorbCryHeader:     dw $06,  $0ed,  $100
+ElectrodeCryHeader:   dw $06,  $0a8,  $110
+ExeggcuteCryHeader:   dw $0b,  $000,  $100
+ExeggutorCryHeader:   dw $0d,  $000,  $100
+CuboneCryHeader:      dw $19,  $000,  $100
+MarowakCryHeader:     dw $08,  $04f,  $0e0
+HitmonleeCryHeader:   dw $12,  $080,  $140
+HitmonchanCryHeader:  dw $0c,  $0ee,  $140
+LickitungCryHeader:   dw $0c,  $000,  $100
+KoffingCryHeader:     dw $12,  $0e6,  $15d
+WeezingCryHeader:     dw $12,  $0ff,  $17f
+RhyhornCryHeader:     dw $04,  $000,  $100
+RhydonCryHeader:      dw $11,  $000,  $100
+ChanseyCryHeader:     dw $14,  $00a,  $140
+TangelaCryHeader:     dw $12,  $000,  $100
+KangaskhanCryHeader:  dw $03,  $000,  $100
+HorseaCryHeader:      dw $19,  $099,  $090
+SeadraCryHeader:      dw $19,  $03c,  $081
+GoldeenCryHeader:     dw $16,  $080,  $0c0
+SeakingCryHeader:     dw $16,  $010,  $17f
+StaryuCryHeader:      dw $1e,  $002,  $0a0
+StarmieCryHeader:     dw $1e,  $000,  $100
+MrMimeCryHeader:      dw $20,  $008,  $0c0
+ScytherCryHeader:     dw $16,  $000,  $100
+JynxCryHeader:        dw $0d,  $0ff,  $17f
+ElectabuzzCryHeader:  dw $06,  $08f,  $17f
+MagmarCryHeader:      dw $04,  $0ff,  $0b0
+PinsirCryHeader:      dw $14,  $000,  $100
+TaurosCryHeader:      dw $1d,  $011,  $0c0
+MagikarpCryHeader:    dw $17,  $080,  $080
+GyaradosCryHeader:    dw $17,  $000,  $100
+LaprasCryHeader:      dw $1b,  $000,  $100
+DittoCryHeader:       dw $0e,  $0ff,  $17f
+EeveeCryHeader:       dw $1a,  $088,  $0e0
+VaporeonCryHeader:    dw $1a,  $0aa,  $17f
+JolteonCryHeader:     dw $1a,  $03d,  $100
+FlareonCryHeader:     dw $1a,  $010,  $0a0
+PorygonCryHeader:     dw $25,  $0aa,  $17f
+OmanyteCryHeader:     dw $1f,  $0f0,  $081
+OmastarCryHeader:     dw $1f,  $0ff,  $0c0
+KabutoCryHeader:      dw $16,  $0bb,  $0c0
+KabutopsCryHeader:    dw $18,  $0ee,  $081
+AerodactylCryHeader:  dw $23,  $020,  $170
+SnorlaxCryHeader:     dw $05,  $055,  $081
+ArticunoCryHeader:    dw $09,  $080,  $0c0
+ZapdosCryHeader:      dw $18,  $0ff,  $100
+MoltresCryHeader:     dw $09,  $0f8,  $0c0
+DratiniCryHeader:     dw $0f,  $060,  $0c0
+DragonairCryHeader:   dw $0f,  $040,  $100
+DragoniteCryHeader:   dw $0f,  $03c,  $140
+MewtwoCryHeader:      dw $1e,  $099,  $17f
+MewCryHeader:         dw $1e,  $0ee,  $17f
+ChikoritaCryHeader:   dw $31, -$010,  $0b0
+BayleefCryHeader:     dw $31, -$022,  $120
+MeganiumCryHeader:    dw $31, -$0b7,  $200
+CyndaquilCryHeader:   dw $30,  $347,  $080
+QuilavaCryHeader:     dw $30,  $321,  $120
+TyphlosionCryHeader:  dw $3a,  $f00,  $0d4
+TotodileCryHeader:    dw $32,  $46c,  $0e8
+CroconawCryHeader:    dw $32,  $440,  $110
+FeraligatrCryHeader:  dw $32,  $3fc,  $180
+SentretCryHeader:     dw $2e,  $08a,  $0b8
+FurretCryHeader:      dw $2e,  $06b,  $102
+HoothootCryHeader:    dw $2d,  $091,  $0d8
+NoctowlCryHeader:     dw $2d,  $000,  $1a0
+LedybaCryHeader:      dw $36,  $000,  $0de
+LedianCryHeader:      dw $36, -$096,  $138
+SpinarakCryHeader:    dw $27,  $011,  $200
+AriadosCryHeader:     dw $27, -$0ae,  $1e2
+CrobatCryHeader:      dw $1d, -$010,  $140
+ChinchouCryHeader:    dw $30,  $3c9,  $140
+LanturnCryHeader:     dw $30,  $2d0,  $110
+PichuCryHeader:       dw $40,  $000,  $140
+CleffaCryHeader:      dw $34,  $061,  $091
+IgglybuffCryHeader:   dw $31,  $0e8,  $0e8
+TogepiCryHeader:      dw $28,  $010,  $100
+TogeticCryHeader:     dw $2c,  $03b,  $038
+NatuCryHeader:        dw $3b, -$067,  $100
+XatuCryHeader:        dw $3b, -$0a7,  $168
+MareepCryHeader:      dw $2b,  $022,  $0d8
+FlaaffyCryHeader:     dw $2b, -$007,  $180
+AmpharosCryHeader:    dw $3e, -$07c,  $0e8
+BellossomCryHeader:   dw $34,  $084,  $150
+MarillCryHeader:      dw $26,  $11b,  $120
+AzumarillCryHeader:   dw $26,  $0b6,  $180
+SudowoodoCryHeader:   dw $34,  $f40,  $180
+PolitoedCryHeader:    dw $34, -$2a3,  $1c8
+HoppipCryHeader:      dw $34,  $03b,  $0c8
+SkiploomCryHeader:    dw $34,  $027,  $138
+JumpluffCryHeader:    dw $34,  $000,  $180
+AipomCryHeader:       dw $41, -$051,  $0e8
+SunkernCryHeader:     dw $26,  $12b,  $0b8
+SunfloraCryHeader:    dw $3d, -$020,  $180
+YanmaCryHeader:       dw $32,  $031,  $0c8
+WooperCryHeader:      dw $38,  $093,  $0af
+QuagsireCryHeader:    dw $38, -$0c6,  $140
+EspeonCryHeader:      dw $41,  $0a2,  $140
+UmbreonCryHeader:     dw $1a, -$0e9,  $0f0
+MurkrowCryHeader:     dw $26, -$01f,  $180
+SlowkingCryHeader:    dw $2f,  $104,  $200
+MisdreavusCryHeader:  dw $2d,  $130,  $0e8
+UnownCryHeader:       dw $2d,  $162,  $100
+WobbuffetCryHeader:   dw $3e,  $27b,  $144
+GirafarigCryHeader:   dw $29,  $041,  $200
+PinecoCryHeader:      dw $2f,  $080,  $100
+ForretressCryHeader:  dw $2f,  $000,  $180
+DunsparceCryHeader:   dw $42,  $1c4,  $100
+GligarCryHeader:      dw $33, -$102,  $100
+SteelixCryHeader:     dw $3a,  $0ef,  $0f7
+SnubbullCryHeader:    dw $42,  $112,  $0e8
+GranbullCryHeader:    dw $42,  $000,  $180
+QwilfishCryHeader:    dw $2f,  $160,  $0e0
+ScizorCryHeader:      dw $3e,  $000,  $160
+ShuckleCryHeader:     dw $42,  $290,  $0a8
+HeracrossCryHeader:   dw $3e,  $035,  $0e0
+SneaselCryHeader:     dw $38,  $053,  $0af
+TeddiursaCryHeader:   dw $3c,  $7a2,  $06e
+UrsaringCryHeader:    dw $3c,  $640,  $0d8
+SlugmaCryHeader:      dw $35, -$1d8,  $140
+MagcargoCryHeader:    dw $3f, -$20d,  $1c0
+SwinubCryHeader:      dw $30,  $1fe,  $140
+PiloswineCryHeader:   dw $3f, -$109,  $100
+CorsolaCryHeader:     dw $3f,  $0a1,  $0e8
+RemoraidCryHeader:    dw $3d,  $00d,  $100
+OctilleryCryHeader:   dw $32,  $000,  $180
+DelibirdCryHeader:    dw $3c,  $002,  $06a
+MantineCryHeader:     dw $39, -$0be,  $0f0
+SkarmoryCryHeader:    dw $3e,  $8a9,  $180
+HoundourCryHeader:    dw $30,  $039,  $140
+HoundoomCryHeader:    dw $32, -$10a,  $100
+KingdraCryHeader:     dw $35,  $2fb,  $100
+PhanpyCryHeader:      dw $2e,  $048,  $230
+DonphanCryHeader:     dw $43,  $000,  $1a0
+Porygon2CryHeader:    dw $29,  $073,  $240
+StantlerCryHeader:    dw $41, -$160,  $180
+SmeargleCryHeader:    dw $40, -$21a,  $1f0
+TyrogueCryHeader:     dw $41,  $02c,  $108
+HitmontopCryHeader:   dw $35,  $000,  $100
+SmoochumCryHeader:    dw $26,  $068,  $100
+ElekidCryHeader:      dw $3d, -$2d8,  $0b4
+MagbyCryHeader:       dw $3c,  $176,  $03a
+MiltankCryHeader:     dw $33, -$1cd,  $1a0
+BlisseyCryHeader:     dw $2f,  $293,  $140
+RaikouCryHeader:      dw $2a,  $22e,  $120
+EnteiCryHeader:       dw $37,  $000,  $1a0
+SuicuneCryHeader:     dw $3f,  $000,  $180
+LarvitarCryHeader:    dw $2a,  $05f,  $0d0
+PupitarCryHeader:     dw $27, -$1db,  $150
+TyranitarCryHeader:   dw $2a, -$100,  $180
+LugiaCryHeader:       dw $3a,  $000,  $100
+HoOhCryHeader:        dw $41,  $000,  $180
+CelebiCryHeader:      dw $37,  $14a,  $111
+CryHeader252:         dw 0,    0,     0
+CryHeader253:         dw 0,    0,     0
+CryHeader254:         dw 0,    0,     0
+CryHeader255:         dw 0,    0,     0
+; f2d81
--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -5,7 +5,6 @@
 ; Notable functions:
 ; 	FadeMusic
 ; 	PlayStereoSFX
-; 	PlayCry
 
 _SoundRestart:: ; e8000
 ; restart sound operation
@@ -828,7 +827,7 @@
 	add hl, bc
 	bit 4, [hl]
 	jr z, .vibrato
-	ld hl, $0027
+	ld hl, Channel1CryPitch - Channel1
 	add hl, bc
 	ld e, [hl]
 	inc hl
@@ -1758,7 +1757,7 @@
 	ld hl, Channel1Flags2 - Channel1
 	add hl, bc
 	set 4, [hl]
-	ld hl, $0028
+	ld hl, Channel1CryPitch + 1 - Channel1
 	add hl, bc
 	call GetMusicByte
 	ld [hld], a
@@ -2364,10 +2363,9 @@
 	ret
 ; e8b79
 
-PlayCry:: ; e8b79
+_PlayCryHeader:: ; e8b79
 ; Play cry de using parameters:
 ;	CryPitch
-;	CryEcho
 ;	CryLength
 	
 	call MusicOff
@@ -2416,7 +2414,7 @@
 	add hl, bc
 	ld a, [CryPitch]
 	ld [hli], a
-	ld a, [CryEcho]
+	ld a, [CryPitch + 1]
 	ld [hl], a
 	
 ; No tempo for channel 4
--- a/battle/anim_commands.asm
+++ b/battle/anim_commands.asm
@@ -1317,7 +1317,7 @@
 
 .asm_cc834
 	push hl
-	call Function37f3
+	call LoadCryHeader
 	pop hl
 	jr c, .done
 
@@ -1327,15 +1327,15 @@
 	ld b, a
 
 	push hl
-	ld hl, CryPitch ; $c2b0
+	ld hl, CryPitch
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
 	add hl, bc
 	ld a, l
-	ld [CryPitch], a ; $c2b0
+	ld [CryPitch], a
 	ld a, h
-	ld [CryEcho], a ; $c2b1
+	ld [CryPitch + 1], a
 	pop hl
 
 	ld a, [hli]
@@ -1354,7 +1354,7 @@
 	ld a, 1
 	ld [$c2bc], a
 
-	callab PlayCry
+	callab _PlayCryHeader
 
 .done
 	pop af
@@ -1363,11 +1363,11 @@
 ; cc871 (33:4871)
 
 Datacc871: ; cc871
-; +pitch, +echo, +length
-	db $00, $00, $c0, $00
-	db $00, $00, $40, $00
-	db $00, $00, $00, $00
-	db $00, $00, $00, $00
+; +pitch, +length
+	dw 0, $c0
+	dw 0, $40
+	dw 0, $00
+	dw 0, $00
 ; cc881
 
 
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -2350,7 +2350,7 @@
 	ld a, $f0
 	ld [CryTracks], a
 	ld a, [BattleMonSpecies]
-	call Function37b6
+	call PlayStereoCry
 	call Function3d43b
 	hlcoord 9, 7
 	lb bc, 5, 11
@@ -3741,7 +3741,7 @@
 	ld a, $f
 	ld [CryTracks], a
 	ld a, [TempEnemyMonSpecies]
-	call Function37b6
+	call PlayStereoCry
 
 .asm_3d82c
 	call UpdateEnemyHUD
@@ -4235,7 +4235,7 @@
 	ld a, $f0
 	ld [CryTracks], a
 	ld a, [CurPartySpecies]
-	call Function37b6
+	call PlayStereoCry
 
 .asm_3dbd6
 	call UpdatePlayerHUD
@@ -4368,7 +4368,7 @@
 	ld a, $f0
 	ld [CryTracks], a
 	ld a, [BattleMonSpecies]
-	call Function37b6
+	call PlayStereoCry
 	ld a, [$c71a]
 	ld c, a
 	ld hl, $c664
@@ -9490,7 +9490,7 @@
 	ld a, $0f
 	ld [CryTracks], a
 	ld a, [TempEnemyMonSpecies]
-	call Function37b6
+	call PlayStereoCry
 
 .asm_3fceb
 	ld a, [BattleType]
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -1040,10 +1040,10 @@
 	call GetScriptByte
 	pop af
 	and a
-	jr nz, .asm_971df ; 0x971da $3
+	jr nz, .ok
 	ld a, [ScriptVar]
-.asm_971df
-	call Function37ce
+.ok
+	call PlayCry
 	ret
 ; 0x971e3
 
--- a/gfx/pics/animation.asm
+++ b/gfx/pics/animation.asm
@@ -180,7 +180,7 @@
 
 Functiond017a: ; d017a
 	ld a, [$d16b]
-	call Function37e2
+	call _PlayCry
 	ld a, [$d168]
 	inc a
 	ld [$d168], a
@@ -189,7 +189,7 @@
 
 Functiond0188: ; d0188
 	ld a, [$d16b]
-	call Function37d5
+	call PlayCry2
 	ld a, [$d168]
 	inc a
 	ld [$d168], a
@@ -200,7 +200,7 @@
 	ld a, $f
 	ld [CryTracks], a
 	ld a, [$d16b]
-	call Function37c4
+	call PlayStereoCry2
 	ld a, [$d168]
 	inc a
 	ld [$d168], a
--- a/home.asm
+++ b/home.asm
@@ -1718,109 +1718,8 @@
 	ret
 ; 37b6
 
-Function37b6:: ; 37b6
-	push af
-	ld a, $1
-	ld [$c2bc], a
-	pop af
-	call Function37e2
-	call WaitSFX
-	ret
-; 37c4
 
-Function37c4:: ; 37c4
-	push af
-	ld a, $1
-	ld [$c2bc], a
-	pop af
-	jp Function37e2
-; 37ce
-
-Function37ce:: ; 37ce
-	call Function37d5
-	call WaitSFX
-	ret
-; 37d5
-
-Function37d5:: ; 37d5
-	push af
-	xor a
-	ld [$c2bc], a
-	ld [CryTracks], a
-	pop af
-	call Function37e2
-	ret
-; 37e2
-
-Function37e2:: ; 37e2
-	push hl
-	push de
-	push bc
-
-	call Function381e
-	jr c, .asm_37ef
-	ld e, c
-	ld d, b
-	call PlayCryHeader
-.asm_37ef
-
-	pop bc
-	pop de
-	pop hl
-	ret
-; 37f3
-
-Function37f3:: ; 37f3
-	call Function381e
-	ret c
-	ld a, [hROMBank]
-	push af
-	ld a, BANK(CryHeaders)
-	rst Bankswitch
-
-	ld hl, CryHeaders
-	add hl, bc
-	add hl, bc
-	add hl, bc
-	add hl, bc
-	add hl, bc
-	add hl, bc
-
-	ld e, [hl]
-	inc hl
-	ld d, [hl]
-	inc hl
-	ld a, [hli]
-	ld [CryPitch], a
-	ld a, [hli]
-	ld [CryEcho], a
-	ld a, [hli]
-	ld [CryLength], a
-	ld a, [hl]
-	ld [CryLength + 1], a
-
-	pop af
-	rst Bankswitch
-	and a
-	ret
-; 381e
-
-Function381e:: ; 381e
-	and a
-	jr z, .asm_382b
-	cp NUM_POKEMON + 1
-	jr nc, .asm_382b
-
-	dec a
-	ld c, a
-	ld b, 0
-	and a
-	ret
-
-.asm_382b
-	scf
-	ret
-; 382d
+INCLUDE "home/cry.asm"
 
 
 PrintLevel:: ; 382d
--- a/home/audio.asm
+++ b/home/audio.asm
@@ -142,7 +142,7 @@
 
 
 PlayCryHeader:: ; 3be3
-; Play a cry given parameters at header de
+; Play cry header de.
 
 	push hl
 	push de
@@ -173,17 +173,17 @@
 	ld a, [hli]
 	ld [CryPitch], a
 	ld a, [hli]
-	ld [CryEcho], a
+	ld [CryPitch + 1], a
 	ld a, [hli]
 	ld [CryLength], a
 	ld a, [hl]
 	ld [CryLength + 1], a
 
-	ld a, BANK(PlayCry)
+	ld a, BANK(_PlayCryHeader)
 	ld [hROMBank], a
 	ld [MBC3RomBank], a
 
-	call PlayCry
+	call _PlayCryHeader
 
 	pop af
 	ld [hROMBank], a
--- /dev/null
+++ b/home/cry.asm
@@ -1,0 +1,111 @@
+PlayStereoCry:: ; 37b6
+	push af
+	ld a, 1
+	ld [$c2bc], a
+	pop af
+	call _PlayCry
+	call WaitSFX
+	ret
+; 37c4
+
+PlayStereoCry2:: ; 37c4
+; Don't wait for the cry to end.
+; Used during pic animations.
+	push af
+	ld a, 1
+	ld [$c2bc], a
+	pop af
+	jp _PlayCry
+; 37ce
+
+PlayCry:: ; 37ce
+	call PlayCry2
+	call WaitSFX
+	ret
+; 37d5
+
+PlayCry2:: ; 37d5
+; Don't wait for the cry to end.
+	push af
+	xor a
+	ld [$c2bc], a
+	ld [CryTracks], a
+	pop af
+	call _PlayCry
+	ret
+; 37e2
+
+_PlayCry:: ; 37e2
+	push hl
+	push de
+	push bc
+
+	call GetCryIndex
+	jr c, .done
+
+	ld e, c
+	ld d, b
+	call PlayCryHeader
+
+.done
+	pop bc
+	pop de
+	pop hl
+	ret
+; 37f3
+
+LoadCryHeader:: ; 37f3
+; Load cry header bc.
+
+	call GetCryIndex
+	ret c
+
+	ld a, [hROMBank]
+	push af
+	ld a, BANK(CryHeaders)
+	rst Bankswitch
+
+	ld hl, CryHeaders
+	add hl, bc
+	add hl, bc
+	add hl, bc
+	add hl, bc
+	add hl, bc
+	add hl, bc
+
+	ld e, [hl]
+	inc hl
+	ld d, [hl]
+	inc hl
+
+	ld a, [hli]
+	ld [CryPitch], a
+	ld a, [hli]
+	ld [CryPitch + 1], a
+	ld a, [hli]
+	ld [CryLength], a
+	ld a, [hl]
+	ld [CryLength + 1], a
+
+	pop af
+	rst Bankswitch
+	and a
+	ret
+; 381e
+
+GetCryIndex:: ; 381e
+	and a
+	jr z, .no
+	cp NUM_POKEMON + 1
+	jr nc, .no
+
+	dec a
+	ld c, a
+	ld b, 0
+	and a
+	ret
+
+.no
+	scf
+	ret
+; 382d
--- a/home/text.asm
+++ b/home/text.asm
@@ -1108,7 +1108,7 @@
 	ld e, [hl]
 	inc hl
 	ld d, [hl]
-	call Function37ce
+	call PlayCry
 	pop de
 	pop hl
 	pop bc
--- a/main.asm
+++ b/main.asm
@@ -4426,7 +4426,7 @@
 	call Function4b6
 	call ClearTileMap
 
-	ld a, $c2
+	ld a, WOOPER
 	ld [CurSpecies], a
 	ld [CurPartySpecies], a
 	call GetBaseData
@@ -4487,7 +4487,7 @@
 	TX_FAR _OakText2
 	start_asm
 	ld a,WOOPER
-	call Function37ce
+	call PlayCry
 	call WaitSFX
 	ld hl,OakText3
 	ret
@@ -8443,7 +8443,7 @@
 
 Functionc472: ; c472
 	ld a, [CurPartySpecies]
-	jp Function37ce
+	jp PlayCry
 ; c478
 
 SpecialGameboyCheck: ; c478
@@ -9339,16 +9339,16 @@
 
 ; no known jump sources
 Functionc922: ; c922 (3:4922)
-	ld de, $1e
+	ld de, ENGINE_FOGBADGE
 	call CheckBadge
 	jr c, .asm_c956
-	ld hl, BikeFlags ; $dbf5
-	bit 1, [hl]
+	ld hl, BikeFlags
+	bit 1, [hl] ; always on bike
 	jr nz, .asm_c95c
-	ld a, [PlayerState] ; $d95d
-	cp $4
+	ld a, [PlayerState]
+	cp PLAYER_SURF
 	jr z, .asm_c959
-	cp $8
+	cp PLAYER_SURF_PIKA
 	jr z, .asm_c959
 	call GetFacingTileCoord
 	call GetTileCollision
@@ -9422,18 +9422,18 @@
 ; c9a9
 
 UsedSurfText: ; c9a9
-	TX_FAR _UsedSurfText ; [MONSTER] used
-	db "@"	       ; SURF!
+	TX_FAR _UsedSurfText
+	db "@"
 ; c9ae
 
 CantSurfText: ; c9ae
-	TX_FAR _CantSurfText ; You can't SURF
-	db "@"	       ; here.
+	TX_FAR _CantSurfText
+	db "@"
 ; c9b3
 
 AlreadySurfingText: ; c9b3
-	TX_FAR _AlreadySurfingText ; You're already
-	db "@"		     ; SURFING.
+	TX_FAR _AlreadySurfingText
+	db "@"
 ; c9b8
 
 
@@ -10143,25 +10143,31 @@
 ; 0xcd78
 
 Functioncd78: ; cd78
-	ld d, $46
+	ld d, STRENGTH
 	call CheckPartyMove
 	jr c, .asm_cd92
-	ld de, $1d
+
+	ld de, ENGINE_PLAINBADGE
 	call CheckEngineFlag
 	jr c, .asm_cd92
+
 	ld hl, BikeFlags ; $dbf5
 	bit 0, [hl]
 	jr z, .asm_cd96
-	ld a, $2
+
+	ld a, 2
 	jr .asm_cd99
+
 .asm_cd92
-	ld a, $1
+	ld a, 1
 	jr .asm_cd99
+
 .asm_cd96
 	xor a
 	jr .asm_cd99
+
 .asm_cd99
-	ld [ScriptVar], a ; $c2dd
+	ld [ScriptVar], a
 	ret
 ; cd9d
 
@@ -10521,7 +10527,7 @@
 ; 0xcf7c
 
 Functioncf7c: ; cf7c
-	ld d, $f9
+	ld d, ROCK_SMASH
 	call CheckPartyMove
 	jr nc, .asm_cf87
 	ld a, $1
@@ -28842,7 +28848,7 @@
 	ld a, $5
 	call Function1689b
 	ld a, [CurPartySpecies]
-	call Function37ce
+	call PlayCry
 	ld a, $9
 	call Function1689b
 	ret
@@ -28902,7 +28908,7 @@
 	ld a, $d
 	call Function1689b
 	ld a, [CurPartySpecies]
-	call Function37ce
+	call PlayCry
 	ld a, $e
 	call Function1689b
 	ret
@@ -30624,7 +30630,7 @@
 	ld hl, UnknownText_0x17467
 	call PrintText
 	ld a, [wBreedMon1Species]
-	call Function37ce
+	call PlayCry
 	ld a, [wDaycareLady]
 	bit 0, a
 	jr z, Function1745f
@@ -30637,7 +30643,7 @@
 	ld hl, UnknownText_0x17462
 	call PrintText
 	ld a, [wBreedMon2Species]
-	call Function37ce
+	call PlayCry
 	ld a, [wDaycareMan]
 	bit 0, a
 	jr z, Function1745f
@@ -39022,14 +39028,15 @@
 	ld a, $e4
 	call DmgToCgbBGPals
 	call Function294bb
+
 	ld a, [PlayerSDefLevel]
-	call Function381e
+	call GetCryIndex
 	jr c, .asm_2945d
 	ld e, c
 	ld d, b
 	call PlayCryHeader
-
 .asm_2945d
+
 	call Function29114
 	ret
 ; 29461
@@ -44298,7 +44305,7 @@
 	ld a, $4
 	call Function41423
 	ld a, [CurPartySpecies] ; $d108
-	call Function37ce
+	call PlayCry
 	call Function40131
 	ret
 
@@ -44370,7 +44377,7 @@
 	ld a, $4
 	call Function41423
 	ld a, [CurPartySpecies] ; $d108
-	call Function37ce
+	call PlayCry
 	ld hl, $cf63
 	dec [hl]
 	ret
@@ -44426,7 +44433,7 @@
 Function40340: ; 40340
 	call Function40bb1
 	ld a, [$d265]
-	call Function381e
+	call GetCryIndex
 	ld e, c
 	ld d, b
 	call PlayCryHeader
@@ -46626,7 +46633,7 @@
 	ld a, $4
 	call Function41423
 	ld a, [CurPartySpecies]
-	call Function37ce
+	call PlayCry
 	ret
 ; 41ad7
 
@@ -56942,7 +56949,7 @@
 	call Function32f9
 	call Function4e253
 	ld a, [CurPartySpecies] ; $d108
-	call Function37d5
+	call PlayCry2
 	ret
 
 ; known jump sources: 4e23f (13:623f), 4e249 (13:6249)
@@ -57469,7 +57476,7 @@
 	jr c, .asm_4e67c
 
 	ld a, [Buffer1]
-	call Function37ce
+	call PlayCry
 
 .asm_4e67c
 	ld de, MUSIC_EVOLUTION
@@ -57538,7 +57545,7 @@
 	ret c
 
 	ld a, [PlayerHPPal]
-	call Function37ce
+	call PlayCry
 	ret
 ; 4e703
 
@@ -95608,7 +95615,7 @@
 	ld [$d10b], a
 	callba Functione039
 	ld a, [CurPartySpecies] ; $d108
-	call Function37ce
+	call PlayCry
 	ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
 	ld bc, $f08
 	call ClearBox
@@ -95663,7 +95670,7 @@
 	ld [$d10b], a
 	callba Functione039
 	ld a, [CurPartySpecies] ; $d108
-	call Function37ce
+	call PlayCry
 	ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
 	ld bc, $f08
 	call ClearBox
@@ -95709,14 +95716,16 @@
 	hlcoord 0, 15
 	ld bc, $112
 	call TextBox
+
 	call WaitBGMap
 	ld a, [CurPartySpecies] ; $d108
-	call Function381e
+	call GetCryIndex
 	jr c, .asm_e31ab
 	ld e, c
 	ld d, b
 	call PlayCryHeader
 .asm_e31ab
+
 	ld a, [CurPartySpecies] ; $d108
 	ld [$d265], a
 	call GetPokemonName
@@ -99726,32 +99735,33 @@
 
 Functionfb841: ; fb841
 	ld a, [ScriptVar]
-	call Function37f3
-	jr c, .asm_fb876
+	call LoadCryHeader
+	jr c, .done
+
 	ld hl, CryPitch
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-	ld bc, $fec0
+	ld bc, -$140
 	add hl, bc
 	ld a, l
 	ld [CryPitch], a
 	ld a, h
-	ld [CryEcho], a
+	ld [CryPitch + 1], a
 	ld hl, CryLength
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-	ld bc, $0060
+	ld bc, $60
 	add hl, bc
 	ld a, l
 	ld [CryLength], a
 	ld a, h
-	ld [$c2b3], a
-	callba PlayCry
+	ld [CryLength + 1], a
+	callba _PlayCryHeader
 	call WaitSFX
 
-.asm_fb876
+.done
 	ret
 ; fb877
 
--- a/wram.asm
+++ b/wram.asm
@@ -107,8 +107,7 @@
                       ds 1 ; c125
                       ds 1 ; c126
                       ds 1 ; c127
-\1CryPitch::          db
-\1CryEcho::           db
+\1CryPitch::          dw
                       ds 4
 \1NoteLength::        db ; frames per 16th note
                       ds 1 ; c12f
@@ -227,9 +226,7 @@
 	ds 1
 	ds 5
 CryPitch:: ; c2b0
-	ds 1
-CryEcho:: ; c2b1
-	ds 1
+	ds 2
 CryLength:: ; c2b2
 	ds 2
 LastVolume:: ; c2b4
--