Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pret
GitHub Repository: pret/pokered
Path: blob/master/home/fade_audio.asm
1270 views
1
FadeOutAudio::
2
ld a, [wAudioFadeOutControl]
3
and a ; currently fading out audio?
4
jr nz, .fadingOut
5
ld a, [wStatusFlags2]
6
bit BIT_NO_AUDIO_FADE_OUT, a
7
ret nz
8
ld a, $77
9
ldh [rAUDVOL], a
10
ret
11
.fadingOut
12
ld a, [wAudioFadeOutCounter]
13
and a
14
jr z, .counterReachedZero
15
dec a
16
ld [wAudioFadeOutCounter], a
17
ret
18
.counterReachedZero
19
ld a, [wAudioFadeOutCounterReloadValue]
20
ld [wAudioFadeOutCounter], a
21
ldh a, [rAUDVOL]
22
and a ; has the volume reached 0?
23
jr z, .fadeOutComplete
24
ld b, a
25
and $f
26
dec a
27
ld c, a
28
ld a, b
29
and $f0
30
swap a
31
dec a
32
swap a
33
or c
34
ldh [rAUDVOL], a
35
ret
36
.fadeOutComplete
37
ld a, [wAudioFadeOutControl]
38
ld b, a
39
xor a
40
ld [wAudioFadeOutControl], a
41
ld a, SFX_STOP_ALL_MUSIC
42
ld [wNewSoundID], a
43
call PlaySound
44
ld a, [wAudioSavedROMBank]
45
ld [wAudioROMBank], a
46
ld a, b
47
ld [wNewSoundID], a
48
jp PlaySound
49
50