This commit is contained in:
dannye 2023-04-19 21:08:01 -05:00
commit 8021cbdf04
530 changed files with 153841 additions and 14088 deletions

View file

@ -204,7 +204,7 @@ PlayAnimation:
push hl
push de
call GetMoveSound
call PlaySound
call nc, PlayBattleSound
pop de
pop hl
.skipPlayingSound
@ -577,7 +577,7 @@ PlaySubanimation:
cp NO_MOVE - 1
jr z, .skipPlayingSound
call GetMoveSound
call PlaySound
call nc, PlayBattleSound
.skipPlayingSound
ld hl, wShadowOAM
ld a, l
@ -2211,25 +2211,44 @@ GetMoveSound:
.next
ld a, [wEnemyMonSpecies]
.Continue
push hl
call GetCryData
ld b, a
pop hl
ld a, [wFrequencyModifier]
add [hl]
ld [wFrequencyModifier], a
inc hl
ld a, [wTempoModifier]
add [hl]
ld [wTempoModifier], a
jr .done
.NotCryMove
ld a, [hli]
ld [wFrequencyModifier], a
ld a, [hli]
ld [wTempoModifier], a
.done
push af
ld a, 1
ld [wSFXDontWait], a
pop af
call PlayCry
xor a
ld [wSFXDontWait], a
ld a, b
scf
ret
; push hl
; call GetCryData
; ld b, a
; pop hl
; ld a, [wFrequencyModifier]
; add [hl]
; ld [wFrequencyModifier], a
; inc hl
; ld a, [wTempoModifier]
; add [hl]
; ld [wTempoModifier], a
; jr .done
.NotCryMove
push bc
ld a, [hli]
ld c, a
ld b, 0
ld a, [hli]
add $80
ld e, a
ld a, 0
adc 0
ld d, a
pop af
.done
and a
ret
IsCryMove:
@ -2640,20 +2659,20 @@ PlayApplyingAttackSound:
and $7f
ret z
cp 10
ld a, $20
ld b, $30
ld c, SFX_DAMAGE
ld bc, $20
ld de, $30 + $80
ld a, SFX_DAMAGE
jr z, .playSound
ld a, $e0
ld b, $ff
ld c, SFX_SUPER_EFFECTIVE
ld bc, $e0
ld de, $ff + $80
ld a, SFX_SUPER_EFFECTIVE
jr nc, .playSound
ld a, $50
ld b, $1
ld c, SFX_NOT_VERY_EFFECTIVE
ld bc, $50
ld de, $1 + $80
ld a, SFX_NOT_VERY_EFFECTIVE
.playSound
ld [wFrequencyModifier], a
ld a, b
ld [wTempoModifier], a
ld a, c
jp PlaySound
; ld [wFrequencyModifier], a
; ld a, b
; ld [wTempoModifier], a
; ld a, c
jp PlayBattleSound

View file

@ -60,10 +60,10 @@ PrintBeginningBattleText:
call PrintText
.playSFX
xor a
ld [wFrequencyModifier], a
ld a, $80
ld [wTempoModifier], a
; xor a
; ld [wFrequencyModifier], a
; ld a, $80
; ld [wTempoModifier], a
ld a, SFX_SILPH_SCOPE
call PlaySound
jp WaitForSoundToFinish

View file

@ -787,15 +787,24 @@ FaintEnemyPokemon:
ld a, [wIsInBattle]
dec a
jr z, .wild_win
xor a
ld [wFrequencyModifier], a
ld [wTempoModifier], a
call WaitForSoundToFinish
ld bc, $00
ld de, $80
ld a, SFX_FAINT_FALL
call PlaySoundWaitForCurrent
.sfxwait
ld a, [wChannelSoundIDs + CHAN5]
cp SFX_FAINT_FALL
jr z, .sfxwait
call PlayBattleSound
; xor a
; ld [wFrequencyModifier], a
; ld [wTempoModifier], a
; ld a, SFX_FAINT_FALL
; call PlaySoundWaitForCurrent
call WaitForSoundToFinish
;.sfxwait
; ld a, [wChannelSoundIDs + CHAN5]
; cp SFX_FAINT_FALL
; jr z, .sfxwait
ld a, SFX_FAINT_THUD
call PlaySound
call WaitForSoundToFinish
@ -878,7 +887,7 @@ EndLowHealthAlarm:
; the low health alarm and prevents it from reactivating until the next battle.
xor a
ld [wLowHealthAlarm], a ; turn off low health alarm
ld [wChannelSoundIDs + CHAN5], a
; ld [wChannelSoundIDs + CHAN5], a
inc a
ld [wLowHealthAlarmDisabled], a ; prevent it from reactivating
ret
@ -977,9 +986,9 @@ TrainerDefeatedText:
PlayBattleVictoryMusic:
push af
ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
; ld [wNewSoundID], a
call PlaySoundWaitForCurrent
ld c, BANK(Music_DefeatedTrainer)
ld c, 0 ; BANK(Music_DefeatedTrainer)
pop af
call PlayMusic
jp Delay3
@ -1884,7 +1893,7 @@ DrawPlayerHUDAndHPBar:
ld [hl], $0
ret z
xor a
ld [wChannelSoundIDs + CHAN5], a
; ld [wChannelSoundIDs + CHAN5], a
ret
.setLowHealthAlarm
ld hl, wLowHealthAlarm
@ -6973,8 +6982,8 @@ _LoadTrainerPic:
; unreferenced
ResetCryModifiers:
xor a
ld [wFrequencyModifier], a
ld [wTempoModifier], a
; ld [wFrequencyModifier], a
; ld [wTempoModifier], a
jp PlaySound
; animates the mon "growing" out of the pokeball

View file

@ -46,7 +46,7 @@ EndOfBattle:
.resetVariables
xor a
ld [wLowHealthAlarm], a ;disable low health alarm
ld [wChannelSoundIDs + CHAN5], a
; ld [wChannelSoundIDs + CHAN5], a
ld [wIsInBattle], a
ld [wBattleType], a
ld [wMoveMissed], a

View file

@ -53,7 +53,7 @@ BillsHouseInitiatedText::
text_promptbutton
text_asm
ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
; ld [wNewSoundID], a
call PlaySound
ld c, 16
call DelayFrames

View file

@ -30,16 +30,19 @@ SafariZoneGameStillGoing:
SafariZoneGameOver:
call EnableAutoTextBoxDrawing
xor a
ld [wAudioFadeOutControl], a
ld [wMusicFade], a
dec a ; SFX_STOP_ALL_MUSIC
call PlaySound
ld c, BANK(SFX_Safari_Zone_PA)
ld c, 0 ; BANK(SFX_Safari_Zone_PA)
ld a, SFX_SAFARI_ZONE_PA
call PlayMusic
.waitForMusicToPlay
ld a, [wChannelSoundIDs + CHAN5]
cp SFX_SAFARI_ZONE_PA
jr nz, .waitForMusicToPlay
call PlaySound
call WaitForSoundToFinish
;.waitForMusicToPlay
; ld a, [wChannelSoundIDs + CHAN5]
; cp SFX_SAFARI_ZONE_PA
; jr nz, .waitForMusicToPlay
ld a, TEXT_SAFARI_GAME_OVER
ldh [hSpriteIndexOrTextID], a
call DisplayTextID

View file

@ -167,3 +167,10 @@ VermilionGymTrashFailText::
call PlaySound
call WaitForSoundToFinish
jp TextScriptEnd
; Trash cans are broken and can read the 255th entry sometimes for
; the second can.
; rgblink was placing stuff here, so the behavior was different from
; original Red. This is the simplest non-code fix: allocate zeroes as
; far as the broken code could reach.
ds 255

View file

@ -24,13 +24,13 @@ DisplayPokemonCenterDialogue_::
predef HealParty
farcall AnimateHealingMachine ; do the healing machine animation
xor a
ld [wAudioFadeOutControl], a
ld a, [wAudioSavedROMBank]
ld [wAudioROMBank], a
ld [wMusicFade], a
; ld a, [wAudioSavedROMBank]
; ld [wAudioROMBank], a
ld a, [wMapMusicSoundID]
ld [wLastMusicSoundID], a
ld [wNewSoundID], a
call PlaySound
; ld [wNewSoundID], a
call PlayMusic
ld hl, PokemonFightingFitText
call PrintText
ld a, $14

View file

@ -1019,7 +1019,7 @@ ItemUseMedicine:
.notFullHP ; if the pokemon's current HP doesn't equal its max HP
xor a
ld [wLowHealthAlarm], a ;disable low health alarm
ld [wChannelSoundIDs + CHAN5], a
; ld [wChannelSoundIDs + CHAN5], a
push hl
push de
ld bc, wPartyMon1MaxHP - (wPartyMon1HP + 1)
@ -1758,11 +1758,16 @@ ItemUsePokeflute:
and $80
jr nz, .skipMusic
call WaitForSoundToFinish ; wait for sound to end
farcall Music_PokeFluteInBattle ; play in-battle pokeflute music
.musicWaitLoop ; wait for music to finish playing
ld a, [wChannelSoundIDs + CHAN7]
and a ; music off?
jr nz, .musicWaitLoop
ld a, SFX_POKEFLUTE_IN_BATTLE
call PlaySound
call WaitForSoundToFinish
; farcall Music_PokeFluteInBattle ; play in-battle pokeflute music
;.musicWaitLoop ; wait for music to finish playing
; ld a, [wChannelSoundIDs + CHAN7]
; and a ; music off?
; jr nz, .musicWaitLoop
.skipMusic
ld hl, FluteWokeUpText
jp PrintText
@ -1824,12 +1829,12 @@ PlayedFluteHadEffectText:
ld a, SFX_STOP_ALL_MUSIC
call PlaySound
ld a, SFX_POKEFLUTE
ld c, BANK(SFX_Pokeflute)
call PlayMusic
.musicWaitLoop ; wait for music to finish playing
ld a, [wChannelSoundIDs + CHAN3]
cp SFX_POKEFLUTE
jr z, .musicWaitLoop
ld c, 0 ; BANK(SFX_Pokeflute)
call PlaySound
;.musicWaitLoop ; wait for music to finish playing
; ld a, [wChannelSoundIDs + CHAN3]
; cp SFX_POKEFLUTE
; jr z, .musicWaitLoop
call PlayDefaultMusic ; start playing normal music again
.done
jp TextScriptEnd ; end text

View file

@ -287,7 +287,7 @@ CableClub_DoBattleOrTradeAgain:
predef HealParty
jp ReturnToCableClubRoom
.trading
ld c, BANK(Music_GameCorner)
ld c, 0 ; BANK(Music_GameCorner)
ld a, MUSIC_GAME_CORNER
call PlayMusic
jr CallCurrentTradeCenterFunction
@ -828,12 +828,12 @@ TradeCenter_Trade:
ld a, [hl]
ld [wTradedEnemyMonSpecies], a
ld a, 10
ld [wAudioFadeOutControl], a
ld a, BANK(Music_SafariZone)
ld [wAudioSavedROMBank], a
ld [wMusicFade], a
; ld a, 0 ; BANK(Music_SafariZone)
; ld [wAudioSavedROMBank], a
ld a, MUSIC_SAFARI_ZONE
ld [wNewSoundID], a
call PlaySound
ld [wMusicFadeID], a
; call PlayMusic
ld c, 100
call DelayFrames
call ClearScreen
@ -920,12 +920,13 @@ CableClub_Run:
ld [wLinkState], a
ldh [hJoy5], a
ld a, 10
ld [wAudioFadeOutControl], a
ld a, BANK(Music_Celadon)
ld [wAudioSavedROMBank], a
ld [wMusicFade], a
; ld a, 0 ; BANK(Music_Celadon)
; ld [wAudioSavedROMBank], a
ld a, MUSIC_CELADON
ld [wNewSoundID], a
jp PlaySound
ld [wMusicFadeID], a
; jp PlayMusic
ret
EmptyFunc:
ret

View file

@ -143,8 +143,12 @@ HandlePokedexSideMenu:
; play pokemon cry
.choseCry
ld a, [wd11e]
call GetCryData
call PlaySound
push af
call PlayCry
pop af
ld [wd11e], a
; call GetCryData
; call PlaySound
jr .handleMenuInput
.choseArea

View file

@ -23,7 +23,7 @@ HallOfFamePC:
call EnableLCD
ld a, SFX_STOP_ALL_MUSIC
call PlaySoundWaitForCurrent
ld c, BANK(Music_Credits)
ld c, 0 ; BANK(Music_Credits)
ld a, MUSIC_CREDITS
call PlayMusic
ld c, 128

View file

@ -8,9 +8,9 @@ EvolveMon:
push af
xor a
ld [wLowHealthAlarm], a
ld [wChannelSoundIDs + CHAN5], a
; ld [wChannelSoundIDs + CHAN5], a
dec a ; SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
; ld [wNewSoundID], a
call PlaySound
ld a, $1
ldh [hAutoBGTransferEnabled], a
@ -41,7 +41,7 @@ EvolveMon:
ld a, [wEvoOldSpecies]
call PlayCry
call WaitForSoundToFinish
ld c, BANK(Music_SafariZone)
ld c, 0 ; BANK(Music_SafariZone)
ld a, MUSIC_SAFARI_ZONE
call PlayMusic
ld c, 80
@ -68,7 +68,7 @@ EvolveMon:
.done
ld [wWholeScreenPaletteMonSpecies], a
ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
; ld [wNewSoundID], a
call PlaySound
ld a, [wWholeScreenPaletteMonSpecies]
call PlayCry

View file

@ -33,7 +33,7 @@ AnimateHallOfFame:
.skipInc
ld a, $90
ldh [hWY], a
ld c, BANK(Music_HallOfFame)
ld c, 0 ; BANK(Music_HallOfFame)
ld a, MUSIC_HALL_OF_FAME
call PlayMusic
ld hl, wPartySpecies
@ -281,8 +281,7 @@ HoFRecordMonInfo:
HoFFadeOutScreenAndMusic:
ld a, 10
ld [wAudioFadeOutCounterReloadValue], a
ld [wAudioFadeOutCounter], a
ld a, $ff
ld [wAudioFadeOutControl], a
ld [wMusicFade], a
xor a
ld [wMusicFadeID], a
jp GBFadeOutToWhite

View file

@ -338,12 +338,12 @@ PlayShootingStar:
ld c, 40
call DelayFrames
.next
ld a, BANK(Music_IntroBattle)
ld [wAudioROMBank], a
ld [wAudioSavedROMBank], a
; ld a, 0 ; BANK(Music_IntroBattle)
; ld [wAudioROMBank], a
; ld [wAudioSavedROMBank], a
ld a, MUSIC_INTRO_BATTLE
ld [wNewSoundID], a
call PlaySound
; ld [wNewSoundID], a
call PlayMusic
call IntroClearMiddleOfScreen
call ClearSprites
jp Delay3

View file

@ -36,7 +36,7 @@ PrepareOakSpeech:
OakSpeech:
ld a, SFX_STOP_ALL_MUSIC
call PlaySound
ld a, BANK(Music_Routes2)
ld a, 0 ; BANK(Music_Routes2)
ld c, a
ld a, MUSIC_ROUTES2
call PlayMusic
@ -130,14 +130,15 @@ OakSpeech:
call ResetPlayerSpriteData
ldh a, [hLoadedROMBank]
push af
ld a, BANK(Music_PalletTown)
ld [wAudioROMBank], a
ld [wAudioSavedROMBank], a
; ld a, 0 ; BANK(Music_PalletTown)
; ld [wAudioROMBank], a
; ld [wAudioSavedROMBank], a
ld a, 10
ld [wAudioFadeOutControl], a
ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
ld [wMusicFade], a
xor a
ld [wMusicFadeID], a
pop af
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a

View file

@ -19,9 +19,9 @@ PrepareTitleScreen::
ld [hli], a
ld [hli], a
ld [hl], a
ld a, BANK(Music_TitleScreen)
ld [wAudioROMBank], a
ld [wAudioSavedROMBank], a
; ld a, 0 ; BANK(Music_TitleScreen)
; ld [wAudioROMBank], a
; ld [wAudioSavedROMBank], a
DisplayTitleScreen:
call GBPalWhiteOut
@ -210,8 +210,8 @@ DisplayTitleScreen:
call Delay3
call WaitForSoundToFinish
ld a, MUSIC_TITLE_SCREEN
ld [wNewSoundID], a
call PlaySound
; ld [wNewSoundID], a
call PlayMusic
xor a
ld [wUnusedCC5B], a

View file

@ -162,12 +162,12 @@ PewterMuseumGuyMovementScriptPointerTable::
dw PewterMovementScript_Done
PewterMovementScript_WalkToMuseum:
ld a, BANK(Music_MuseumGuy)
ld [wAudioROMBank], a
ld [wAudioSavedROMBank], a
; ld a, 0 ; BANK(Music_MuseumGuy)
; ld [wAudioROMBank], a
; ld [wAudioSavedROMBank], a
ld a, MUSIC_MUSEUM_GUY
ld [wNewSoundID], a
call PlaySound
; ld [wNewSoundID], a
call PlayMusic
ld a, [wSpriteIndex]
swap a
ld [wNPCMovementScriptSpriteOffset], a
@ -218,12 +218,12 @@ PewterGymGuyMovementScriptPointerTable::
dw PewterMovementScript_Done
PewterMovementScript_WalkToGym:
ld a, BANK(Music_MuseumGuy)
ld [wAudioROMBank], a
ld [wAudioSavedROMBank], a
; ld a, 0 ; BANK(Music_MuseumGuy)
; ld [wAudioROMBank], a
; ld [wAudioSavedROMBank], a
ld a, MUSIC_MUSEUM_GUY
ld [wNewSoundID], a
call PlaySound
; ld [wNewSoundID], a
call PlayMusic
ld a, [wSpriteIndex]
swap a
ld [wNPCMovementScriptSpriteOffset], a

View file

@ -17,9 +17,9 @@ ShakeElevator::
add d
ldh [hSCY], a
push bc
ld c, BANK(SFX_Collision_1)
ld c, 0 ; BANK(SFX_Collision_1)
ld a, SFX_COLLISION
call PlayMusic
call PlaySound
pop bc
ld c, 2
call DelayFrames
@ -29,13 +29,13 @@ ShakeElevator::
ldh [hSCY], a
ld a, SFX_STOP_ALL_MUSIC
call PlaySound
ld c, BANK(SFX_Safari_Zone_PA)
ld c, 0 ; BANK(SFX_Safari_Zone_PA)
ld a, SFX_SAFARI_ZONE_PA
call PlayMusic
.musicLoop
ld a, [wChannelSoundIDs + CHAN5]
cp SFX_SAFARI_ZONE_PA
jr z, .musicLoop
call PlaySound
;.musicLoop
; ld a, [wChannelSoundIDs + CHAN5]
; cp SFX_SAFARI_ZONE_PA
; jr z, .musicLoop
call UpdateSprites
jp PlayDefaultMusic

View file

@ -15,15 +15,16 @@ AnimateHealingMachine:
ld hl, wShadowOAMSprite33
ld de, PokeCenterOAMData
call CopyHealingMachineOAM
ld a, 4
ld [wAudioFadeOutControl], a
ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
ld [wMusicFade], a
xor a
ld [wMusicFadeID], a
.waitLoop
ld a, [wAudioFadeOutControl]
ld a, [wMusicFade]
and a ; is fade-out finished?
jr nz, .waitLoop ; if not, check again
ld a, [wPartyCount]
ld b, a
.partyLoop
@ -34,25 +35,29 @@ AnimateHealingMachine:
call DelayFrames
dec b
jr nz, .partyLoop
ld a, [wAudioROMBank]
cp BANK("Audio Engine 3")
ld [wAudioSavedROMBank], a
jr nz, .next
ld a, SFX_STOP_ALL_MUSIC
ld [wNewSoundID], a
call PlaySound
ld a, BANK(Music_PkmnHealed)
ld [wAudioROMBank], a
.next
; ld a, [wAudioROMBank]
; cp BANK("Audio Engine 3")
; ld [wAudioSavedROMBank], a
; jr nz, .next
; ld a, SFX_STOP_ALL_MUSIC
; ld [wNewSoundID], a
; call PlaySound
; ld a, 0 ; BANK(Music_PkmnHealed)
; ld [wAudioROMBank], a
;.next
ld a, MUSIC_PKMN_HEALED
ld [wNewSoundID], a
call PlaySound
; ld [wNewSoundID], a
call PlayMusic
ld d, $28
call FlashSprite8Times
.waitLoop2
ld a, [wChannelSoundIDs]
cp MUSIC_PKMN_HEALED ; is the healed music still playing?
jr z, .waitLoop2 ; if so, check gain
ld a, [wChannel1MusicID]
and a
jr nz, .waitLoop2
; ld a, [wChannelSoundIDs]
; cp MUSIC_PKMN_HEALED ; is the healed music still playing?
; jr z, .waitLoop2 ; if so, check gain
ld c, 32
call DelayFrames
pop af

View file

@ -225,8 +225,11 @@ BillsPCDeposit:
call DisplayDepositWithdrawMenu
jp nc, BillsPCMenu
ld a, [wcf91]
call GetCryData
call PlaySoundWaitForCurrent
call PlayCry
; call GetCryData
; call PlaySoundWaitForCurrent
ld a, PARTY_TO_BOX
ld [wMoveMonType], a
call MoveMon
@ -277,8 +280,11 @@ BillsPCWithdraw:
ld hl, wBoxMonNicks
call GetPartyMonName
ld a, [wcf91]
call GetCryData
call PlaySoundWaitForCurrent
call PlayCry
; call GetCryData
; call PlaySoundWaitForCurrent
xor a ; BOX_TO_PARTY
ld [wMoveMonType], a
call MoveMon

View file

@ -205,38 +205,12 @@ TryingToLearnText:
text_far _TryingToLearnText
text_end
OneTwoAndText: ; uses the fixed move swap sound - PvK
OneTwoAndText:
text_far _OneTwoAndText
text_pause
text_asm
text_far _OneTwoAndText
text_pause
text_asm
push af
push bc
push de
push hl
ld a, $1
ld [wMuteAudioAndPauseMusic], a
call DelayFrame
ld a, [wAudioROMBank]
push af
ld a, BANK(SFX_Swap_1)
ld [wAudioROMBank], a
ld [wAudioSavedROMBank], a
call WaitForSoundToFinish
ld a, SFX_SWAP
call PlaySound
call WaitForSoundToFinish
pop af
ld [wAudioROMBank], a
ld [wAudioSavedROMBank], a
xor a
ld [wMuteAudioAndPauseMusic], a
pop hl
pop de
pop bc
pop af
call PlaySoundWaitForCurrent
ld hl, PoofText
ret

View file

@ -415,7 +415,8 @@ SlotMachine_CheckForMatches:
call PrintText
.done
xor a
ld [wMuteAudioAndPauseMusic], a
ld [wSFXPriority], a
; ld [wMuteAudioAndPauseMusic], a
ret
.rollWheel3DownByOneSymbol
call SlotMachine_AnimWheel3
@ -659,7 +660,7 @@ SlotMachine_PrintPayoutCoins:
SlotMachine_PayCoinsToPlayer:
ld a, $1
ld [wMuteAudioAndPauseMusic], a
; ld [wMuteAudioAndPauseMusic], a
call WaitForSoundToFinish
; Put 1 in the temp coins variable. This value is added to the player's coins
@ -696,6 +697,8 @@ SlotMachine_PayCoinsToPlayer:
call SlotMachine_PrintPayoutCoins
ld a, SFX_SLOTS_REWARD
call PlaySound
ld a, 1
ld [wSFXPriority], a
ld a, [wAnimCounter]
dec a
jr nz, .skip1