summaryrefslogtreecommitdiff
path: root/audio/engine.asm
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2016-04-18 08:01:12 -0400
committeryenatch <yenatch@gmail.com>2016-04-18 08:01:12 -0400
commit7aef59841489ea449b9a34d424c681a4b48b88ab (patch)
tree72d46f1cc076564f62b11f5379960cd745a7fc9a /audio/engine.asm
parentc5fb2c947ffcdd0ddd80319a24a6acbe828d9598 (diff)
parent5d94fb22ed0e4c9edfca506b80f50ef71fd78664 (diff)
Merge pull request #338 from PikalaxALT/master
Battle anims, HP Bar anim
Diffstat (limited to 'audio/engine.asm')
-rw-r--r--audio/engine.asm100
1 files changed, 50 insertions, 50 deletions
diff --git a/audio/engine.asm b/audio/engine.asm
index ad03c16a5..c8e976cc4 100644
--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -38,8 +38,8 @@ _MapSetup_Sound_Off:: ; e8000
dec e
jr nz, .clearsound
- ld hl, Channel1 ; start of channel data
- ld de, $1bf ; length of area to clear (entire sound wram area)
+ ld hl, Channels ; start of channel data
+ ld de, ChannelsEnd - Channels ; length of area to clear (entire sound wram area)
.clearchannels ; clear Channel1-$c2bf
xor a
ld [hli], a
@@ -233,7 +233,7 @@ UpdateChannels: ; e8125
jp [hl]
-.ChannelFnPtrs
+.ChannelFnPtrs:
dw .Channel1
dw .Channel2
dw .Channel3
@@ -245,11 +245,11 @@ UpdateChannels: ; e8125
dw .Channel7
dw .Channel8
-.Channel1
+.Channel1:
ld a, [Danger]
bit 7, a
ret nz
-.Channel5
+.Channel5:
ld hl, Channel1NoteFlags - Channel1
add hl, bc
bit NOTE_UNKN_3, [hl]
@@ -317,8 +317,8 @@ UpdateChannels: ; e8125
ld [rNR14], a
ret
-.Channel2
-.Channel6
+.Channel2:
+.Channel6:
ld hl, Channel1NoteFlags - Channel1
add hl, bc
bit NOTE_REST, [hl] ; rest
@@ -377,8 +377,8 @@ UpdateChannels: ; e8125
ld [rNR24], a
ret
-.Channel3
-.Channel7
+.Channel3:
+.Channel7:
ld hl, Channel1NoteFlags - Channel1
add hl, bc
bit NOTE_REST, [hl] ; rest
@@ -478,8 +478,8 @@ endr
ld [rNR32], a
ret
-.Channel4
-.Channel8
+.Channel4:
+.Channel8:
ld hl, Channel1NoteFlags - Channel1
add hl, bc
bit NOTE_REST, [hl] ; rest
@@ -2483,62 +2483,62 @@ _PlayCryHeader:: ; e8b79
; Play cry de using parameters:
; CryPitch
; CryLength
-
+
call MusicOff
-
+
; Overload the music id with the cry id
ld hl, MusicID
ld [hl], e
inc hl
ld [hl], d
-
+
; 3-byte pointers (bank, address)
ld hl, Cries
rept 3
add hl, de
endr
-
+
ld a, [hli]
ld [MusicBank], a
-
+
ld e, [hl]
inc hl
ld d, [hl]
-
+
; Read the cry's sound header
call LoadMusicByte
; Top 2 bits contain the number of channels
rlca
rlca
and 3
-
+
; For each channel:
inc a
.loop
push af
call LoadChannel
-
+
ld hl, Channel1Flags - Channel1
add hl, bc
set SOUND_REST, [hl]
-
+
ld hl, Channel1Flags2 - Channel1
add hl, bc
set SOUND_CRY_PITCH, [hl]
-
+
ld hl, Channel1CryPitch - Channel1
add hl, bc
ld a, [CryPitch]
ld [hli], a
ld a, [CryPitch + 1]
ld [hl], a
-
+
; No tempo for channel 4
ld a, [CurChannel]
and 3
cp 3
jr nc, .start
-
+
; Tempo is effectively length
ld hl, Channel1Tempo - Channel1
add hl, bc
@@ -2551,14 +2551,14 @@ endr
ld a, [wStereoPanningMask]
and a
jr z, .next
-
+
; Stereo only: Play cry from the monster's side.
; This only applies in-battle.
-
+
ld a, [Options]
bit 5, a ; stereo
jr z, .next
-
+
; [Tracks] &= [CryTracks]
ld hl, Channel1Tracks - Channel1
add hl, bc
@@ -2568,23 +2568,23 @@ endr
ld hl, Channel1Tracks - Channel1
add hl, bc
ld [hl], a
-
+
.next
pop af
dec a
jr nz, .loop
-
-
+
+
; Cries play at max volume, so we save the current volume for later.
ld a, [LastVolume]
and a
jr nz, .end
-
+
ld a, [Volume]
ld [LastVolume], a
ld a, $77
ld [Volume], a
-
+
.end
ld a, 1 ; stop playing music
ld [SFXPriority], a
@@ -2699,24 +2699,24 @@ PlayStereoSFX:: ; e8ca6
; play sfx de
call MusicOff
-
+
; standard procedure if stereo's off
ld a, [Options]
bit 5, a
jp z, _PlaySFX
-
+
; else, let's go ahead with this
ld hl, MusicID
ld [hl], e
inc hl
ld [hl], d
-
+
; get sfx ptr
ld hl, SFX
rept 3
add hl, de
endr
-
+
; bank
ld a, [hli]
ld [MusicBank], a
@@ -2724,22 +2724,22 @@ endr
ld e, [hl]
inc hl
ld d, [hl]
-
+
; bit 2-3
call LoadMusicByte
rlca
rlca
and 3 ; ch1-4
inc a
-
+
.loop
push af
call LoadChannel
-
+
ld hl, Channel1Flags - Channel1
add hl, bc
set SOUND_SFX, [hl]
-
+
push de
; get tracks for this channel
ld a, [CurChannel]
@@ -2751,47 +2751,47 @@ endr
ld a, [hl]
ld hl, wStereoPanningMask
and [hl]
-
+
ld hl, Channel1Tracks - Channel1
add hl, bc
ld [hl], a
-
+
ld hl, Channel1Field0x30 - Channel1 ; $c131 - Channel1
add hl, bc
ld [hl], a
-
+
ld a, [CryTracks]
cp 2 ; ch 1-2
jr c, .skip
-
+
; ch3-4
ld a, [wSFXDuration]
-
+
ld hl, Channel1Field0x2e - Channel1 ; $c12f - Channel1
add hl, bc
ld [hl], a
-
+
ld hl, Channel1Field0x2f - Channel1 ; $c130 - Channel1
add hl, bc
ld [hl], a
-
+
ld hl, Channel1Flags2 - Channel1
add hl, bc
set SOUND_UNKN_0F, [hl]
-
+
.skip
pop de
-
+
; turn channel on
ld hl, Channel1Flags - Channel1
add hl, bc
set SOUND_CHANNEL_ON, [hl] ; on
-
+
; done?
pop af
dec a
jr nz, .loop
-
+
; we're done
call MusicOn
ret