PlayStereoCry:: push af ld a, 1 ld [wStereoPanningMask], a pop af call _PlayMonCry call WaitSFX ret PlayStereoCry2:: ; Don't wait for the cry to end. ; Used during pic animations. push af ld a, 1 ld [wStereoPanningMask], a pop af jp _PlayMonCry PlayMonCry:: call PlayMonCry2 call WaitSFX ret PlayMonCry2:: ; Don't wait for the cry to end. push af xor a ld [wStereoPanningMask], a ld [wCryTracks], a pop af call _PlayMonCry ret _PlayMonCry:: push hl push de push bc call GetCryIndex jr c, .done ld e, c ld d, b call PlayCry .done pop bc pop de pop hl ret LoadCry:: ; Load cry bc. call GetCryIndex ret c ld a, [hROMBank] push af ld a, BANK(PokemonCries) rst Bankswitch ld hl, PokemonCries rept 6 ; sizeof(mon_cry) add hl, bc endr ld e, [hl] inc hl ld d, [hl] inc hl ld a, [hli] ld [wCryPitch], a ld a, [hli] ld [wCryPitch + 1], a ld a, [hli] ld [wCryLength], a ld a, [hl] ld [wCryLength + 1], a pop af rst Bankswitch and a ret GetCryIndex:: 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