prep for next commit

This commit is contained in:
padz
2012-11-02 18:43:05 -04:00
parent ef93cdf313
commit 95ac2a8da6
3 changed files with 467 additions and 59 deletions

View File

@@ -1287,15 +1287,15 @@ Function3927: ; 3927
INCBIN "baserom.gbc",$392d,$3b86 - $392d
LoadMusicHeader: ; 3b86
; store music header in ram
LoadMusicByte: ; 3b86
; load music data into CurMusicByte
; input:
; a: bank
; de: address
ld [$ff00+$9d], a
ld [$2000], a ; bankswitch
ld a, [de]
ld [MusicHeaderBuffer], a
ld [CurMusicByte], a
ld a, $3a ; manual bank restore
ld [$ff00+$9d], a
ld [$2000], a ; bankswitch
@@ -1335,15 +1335,18 @@ StartMusic: ; 3b97
INCBIN "baserom.gbc",$3bbc,$3c23 - $3bbc
StartSFX: ; 3c23
; not sure why this was written differently from StartMusic
; sfx id order is by priority (highest to lowest)
; to disable this, remove the check!
; input: de = sfx id
push hl
push de
push bc
push af
call CheckSFX ; is something already playing?
; is something already playing?
call CheckSFX
jr nc, .asm_3c32
ld a, [CurSFX] ; i guess sfx order is by priority
; only play sfx if it has priority
ld a, [CurSFX]
cp e
jr c, .quit
.asm_3c32
@@ -74421,14 +74424,14 @@ SetLRTracks: ; e8b1b
; bc = Channels ($c101)
; seems to be redundant since this is overwritten by stereo data later
push de
ld a, [CurMusicChannel]
ld a, [CurChannel]
and a, $03 ; bit 0-1
ld e, a
ld d, $00
call GetLRTracks ; hl = mono / stereo table
add hl, de ; + channel #
ld a, [hl] ; get result
ld hl, Channel1LR - Channel1
ld hl, Channel1Tracks - Channel1
add hl, bc
ld [hl], a ; set tracks
pop de
@@ -74451,7 +74454,7 @@ LoadMusic: ; e8b30
ld e, [hl]
inc hl
ld d, [hl] ; music header address
call GetByteFromMusicHeader ; store first byte of music header in [a]
call FarLoadMusicByte ; store first byte of music header in [a]
rlca
rlca
and a, $03 ; get number of channels
@@ -74556,7 +74559,7 @@ LoadSFX: ; e8c04
ld e, [hl] ; get address
inc hl
ld d, [hl]
call GetByteFromMusicHeader ; get # channels
call FarLoadMusicByte ; get # channels
rlca
rlca
and a, $03 ; bit 0-1
@@ -74582,10 +74585,10 @@ INCBIN "baserom.gbc",$e8ca6,$e8d1b - $e8ca6
LoadChannel: ; e8d1b
; prep channel for use
; get pointer to current channel
call GetByteFromMusicHeader
call FarLoadMusicByte
inc de
and a, $07 ; bit 0-2 (current channel)
ld [CurMusicChannel], a
ld [CurChannel], a
ld c, a
ld b, $00
ld hl, ChannelPointers
@@ -74601,10 +74604,10 @@ LoadChannel: ; e8d1b
; load music pointer
ld hl, Channel1MusicAddress - Channel1
add hl, bc
call GetByteFromMusicHeader
call FarLoadMusicByte
ld [hli], a
inc de
call GetByteFromMusicHeader
call FarLoadMusicByte
ld [hl], a
inc de
; load music id
@@ -74637,27 +74640,27 @@ ChannelInit: ; e8d5b
ld [hli], a
dec e
jr nz, .loop
ld hl, Channel1NoteLength - Channel1
ld hl, Channel1Tempo - Channel1
add hl, bc
xor a
ld [hli], a
inc a
ld [hl], a ; default note length $100
ld hl, Channel1Tempo - Channel1
ld hl, Channel1NoteLength - Channel1
add hl, bc
ld [hl], a ; default tempo $01 (fast)
pop de
ret
; e8d76
GetByteFromMusicHeader: ; e8d76
FarLoadMusicByte: ; e8d76
; input:
; de = address of current spot in music header
; output:
; a
ld a, [MusicBank]
call LoadMusicHeader
ld a, [MusicHeaderBuffer]
call LoadMusicByte
ld a, [CurMusicByte]
ret
; e8d80
@@ -74711,7 +74714,7 @@ PlayTrainerEncounterMusic: ; e900a
; input: e = trainer type
; turn music off for one frame
xor a
ld [MusicLength], a ; $00 = infinite
ld [MusicFade], a ; $00 = infinite
push de
ld de, $0000
call StartMusic