rearrange audio.asm

This commit is contained in:
yenatch 2014-01-09 14:41:40 -05:00
parent 1107dff7c1
commit 2622824f1b

487
audio.asm
View file

@ -14,14 +14,26 @@ INCLUDE "constants/move_constants.asm"
SECTION "Sound Effect Headers 1", ROMX, BANK[AUDIO_1]
INCLUDE "music/headers/sfxheaders02.asm"
SECTION "Sound Effect Headers 2", ROMX, BANK[AUDIO_2]
INCLUDE "music/headers/sfxheaders08.asm"
SECTION "Sound Effect Headers 3", ROMX, BANK[AUDIO_3]
INCLUDE "music/headers/sfxheaders1f.asm"
SECTION "Music Headers 1", ROMX, BANK[AUDIO_1]
INCLUDE "music/headers/musicheaders02.asm"
SECTION "Music Headers 2", ROMX, BANK[AUDIO_2]
INCLUDE "music/headers/musicheaders08.asm"
SECTION "Music Headers 3", ROMX, BANK[AUDIO_3]
INCLUDE "music/headers/musicheaders1f.asm"
SECTION "Sound Effects 1", ROMX, BANK[AUDIO_1]
@ -122,139 +134,6 @@ INCLUDE "music/sfx/sfx_02_35.asm"
INCLUDE "music/sfx/sfx_02_36.asm"
SECTION "Audio Engine 1", ROMX, BANK[AUDIO_1]
PlayBattleMusic:: ; 0x90c6
xor a
ld [wMusicHeaderPointer], a
ld [$d083], a
dec a
ld [$c0ee], a
call PlaySound ; stop music
call DelayFrame
ld c, BANK(Music_GymLeaderBattle)
ld a, [W_GYMLEADERNO]
and a
jr z, .notGymLeaderBattle
ld a, (Music_GymLeaderBattle - $4000) / 3
jr .playSong
.notGymLeaderBattle
ld a, [W_CUROPPONENT]
cp $c8
jr c, .wildBattle
cp SONY3 + $c8
jr z, .finalBattle
cp LANCE + $c8
jr nz, .normalTrainerBattle
ld a, (Music_GymLeaderBattle - $4000) / 3 ; lance also plays gym leader theme
jr .playSong
.normalTrainerBattle
ld a, (Music_TrainerBattle - $4000) / 3
jr .playSong
.finalBattle
ld a, (Music_FinalBattle - $4000) / 3
jr .playSong
.wildBattle
ld a, (Music_WildBattle - $4000) / 3
.playSong
jp PlayMusic
INCLUDE "audio/engine_1.asm"
; an alternate start for MeetRival which has a different first measure
Music_RivalAlternateStart:: ; 0x9b47
ld c, BANK(Music_MeetRival)
ld a, (Music_MeetRival - $4000) / 3
call PlayMusic
ld hl, $c006
ld de, Music_MeetRival_branch_b1a2
call Music2_OverwriteChannelPointer
ld de, Music_MeetRival_branch_b21d
call Music2_OverwriteChannelPointer
ld de, Music_MeetRival_branch_b2b5
Music2_OverwriteChannelPointer: ; 0x9b60
ld a, e
ld [hli], a
ld a, d
ld [hli], a
ret
; an alternate tempo for MeetRival which is slightly slower
Music_RivalAlternateTempo:: ; 0x9b65
ld c, BANK(Music_MeetRival)
ld a, (Music_MeetRival - $4000) / 3
call PlayMusic
ld hl, $c006
ld de, Music_MeetRival_branch_b119
jp Music2_OverwriteChannelPointer
; applies both the alternate start and alternate tempo
Music_RivalAlternateStartAndTempo:: ; 0x9b75
call Music_RivalAlternateStart
ld hl, $c006
ld de, Music_MeetRival_branch_b19b
jp Music2_OverwriteChannelPointer
; an alternate tempo for Cities1 which is used for the Hall of Fame room
Music_Cities1AlternateTempo:: ; 0x9b81
ld a, $a
ld [$cfc8], a
ld [$cfc9], a
ld a, $ff
ld [wMusicHeaderPointer], a
ld c, $64
call DelayFrames
ld c, BANK(Music_Cities1)
ld a, (Music_Cities1 - $4000) / 3
call PlayMusic
ld hl, $c006
ld de, Music_Cities1_branch_aa6f
jp Music2_OverwriteChannelPointer
SECTION "Music 1", ROMX, BANK[AUDIO_1]
INCLUDE "music/pkmnhealed.asm"
INCLUDE "music/routes1.asm"
INCLUDE "music/routes2.asm"
INCLUDE "music/routes3.asm"
INCLUDE "music/routes4.asm"
INCLUDE "music/indigoplateau.asm"
INCLUDE "music/pallettown.asm"
INCLUDE "music/unusedsong.asm"
INCLUDE "music/cities1.asm"
INCLUDE "music/sfx/sfx_02_3a.asm"
INCLUDE "music/museumguy.asm"
INCLUDE "music/meetprofoak.asm"
INCLUDE "music/meetrival.asm"
INCLUDE "music/sfx/sfx_02_41.asm"
INCLUDE "music/sfx/sfx_02_3b.asm"
INCLUDE "music/sfx/sfx_02_42.asm"
INCLUDE "music/ssanne.asm"
INCLUDE "music/cities2.asm"
INCLUDE "music/celadon.asm"
INCLUDE "music/cinnabar.asm"
INCLUDE "music/vermilion.asm"
INCLUDE "music/lavender.asm"
INCLUDE "music/safarizone.asm"
INCLUDE "music/gym.asm"
INCLUDE "music/pokecenter.asm"
SECTION "Sound Effect Headers 2", ROMX, BANK[AUDIO_2]
INCLUDE "music/headers/sfxheaders08.asm"
SECTION "Music Headers 2", ROMX, BANK[AUDIO_2]
INCLUDE "music/headers/musicheaders08.asm"
SECTION "Sound Effects 2", ROMX, BANK[AUDIO_2]
INCLUDE "music/sfx/sfx_08_01.asm"
@ -380,119 +259,6 @@ INCLUDE "music/sfx/sfx_08_35.asm"
INCLUDE "music/sfx/sfx_08_36.asm"
SECTION "Audio Engine 2", ROMX, BANK[AUDIO_2]
Func_2136e: ; 2136e (8:536e)
ld a, [$d083]
cp $ff
jr z, .asm_2139b
bit 7, a
ret z
and $7f
jr nz, .asm_21383
call Func_213a7
ld a, $1e
jr .asm_21395
.asm_21383
cp $14
jr nz, .asm_2138a
call Func_213ac
.asm_2138a
ld a, $86
ld [$c02a], a
ld a, [$d083]
and $7f
dec a
.asm_21395
set 7, a
ld [$d083], a
ret
.asm_2139b
xor a
ld [$d083], a
ld [$c02a], a
ld de, Unknown_213c4 ; $53c4
jr asm_213af
Func_213a7: ; 213a7 (8:53a7)
ld de, Unknown_213bc ; $53bc
jr asm_213af
Func_213ac: ; 213ac (8:53ac)
ld de, Unknown_213c0 ; $53c0
asm_213af: ; 213af (8:53af)
ld hl, $ff10
ld c, $5
xor a
.asm_213b5
ld [hli], a
ld a, [de]
inc de
dec c
jr nz, .asm_213b5
ret
Unknown_213bc: ; 213bc (8:53bc)
db $A0,$E2,$50,$87
Unknown_213c0: ; 213c0 (8:53c0)
db $B0,$E2,$EE,$86
Unknown_213c4: ; 213c4 (8:53c4)
db $00,$00,$00,$80
INCLUDE "menu/pc.asm"
INCLUDE "audio/engine_2.asm"
Music_PokeFluteInBattle: ; 22306 (8:6306)
ld a, (SFX_08_46 - $4000) / 3 ; PokeFlute outside of battle
call PlaySoundWaitForCurrent
ld hl, $c00e
ld de, SFX_08_PokeFlute_Ch1
call Music8_OverwriteChannelPointer
ld de, SFX_08_PokeFlute_Ch2
call Music8_OverwriteChannelPointer
ld de, SFX_08_PokeFlute_Ch3
Music8_OverwriteChannelPointer: ; 2231d (8:631d)
ld a, e
ld [hli], a
ld a, d
ld [hli], a
ret
SECTION "Music 2", ROMX, BANK[AUDIO_2]
INCLUDE "music/sfx/sfx_08_pokeflute.asm"
INCLUDE "music/sfx/sfx_08_unused2.asm"
INCLUDE "music/gymleaderbattle.asm"
INCLUDE "music/trainerbattle.asm"
INCLUDE "music/wildbattle.asm"
INCLUDE "music/finalbattle.asm"
INCLUDE "music/sfx/sfx_08_3a.asm"
INCLUDE "music/sfx/sfx_08_3b.asm"
INCLUDE "music/sfx/sfx_08_46.asm"
INCLUDE "music/defeatedtrainer.asm"
INCLUDE "music/defeatedwildmon.asm"
INCLUDE "music/defeatedgymleader.asm"
SECTION "Sound Effect Headers 3", ROMX, BANK[AUDIO_3]
INCLUDE "music/headers/sfxheaders1f.asm"
SECTION "Music Headers 3", ROMX, BANK[AUDIO_3]
INCLUDE "music/headers/musicheaders1f.asm"
SECTION "Sound Effects 3", ROMX, BANK[AUDIO_3]
INCLUDE "music/sfx/sfx_1f_01.asm"
@ -600,6 +366,185 @@ INCLUDE "music/sfx/sfx_1f_35.asm"
INCLUDE "music/sfx/sfx_1f_36.asm"
SECTION "Audio Engine 1", ROMX, BANK[AUDIO_1]
PlayBattleMusic:: ; 0x90c6
xor a
ld [wMusicHeaderPointer], a
ld [$d083], a
dec a
ld [$c0ee], a
call PlaySound ; stop music
call DelayFrame
ld c, BANK(Music_GymLeaderBattle)
ld a, [W_GYMLEADERNO]
and a
jr z, .notGymLeaderBattle
ld a, (Music_GymLeaderBattle - $4000) / 3
jr .playSong
.notGymLeaderBattle
ld a, [W_CUROPPONENT]
cp $c8
jr c, .wildBattle
cp SONY3 + $c8
jr z, .finalBattle
cp LANCE + $c8
jr nz, .normalTrainerBattle
ld a, (Music_GymLeaderBattle - $4000) / 3 ; lance also plays gym leader theme
jr .playSong
.normalTrainerBattle
ld a, (Music_TrainerBattle - $4000) / 3
jr .playSong
.finalBattle
ld a, (Music_FinalBattle - $4000) / 3
jr .playSong
.wildBattle
ld a, (Music_WildBattle - $4000) / 3
.playSong
jp PlayMusic
INCLUDE "audio/engine_1.asm"
; an alternate start for MeetRival which has a different first measure
Music_RivalAlternateStart:: ; 0x9b47
ld c, BANK(Music_MeetRival)
ld a, (Music_MeetRival - $4000) / 3
call PlayMusic
ld hl, $c006
ld de, Music_MeetRival_branch_b1a2
call Music2_OverwriteChannelPointer
ld de, Music_MeetRival_branch_b21d
call Music2_OverwriteChannelPointer
ld de, Music_MeetRival_branch_b2b5
Music2_OverwriteChannelPointer: ; 0x9b60
ld a, e
ld [hli], a
ld a, d
ld [hli], a
ret
; an alternate tempo for MeetRival which is slightly slower
Music_RivalAlternateTempo:: ; 0x9b65
ld c, BANK(Music_MeetRival)
ld a, (Music_MeetRival - $4000) / 3
call PlayMusic
ld hl, $c006
ld de, Music_MeetRival_branch_b119
jp Music2_OverwriteChannelPointer
; applies both the alternate start and alternate tempo
Music_RivalAlternateStartAndTempo:: ; 0x9b75
call Music_RivalAlternateStart
ld hl, $c006
ld de, Music_MeetRival_branch_b19b
jp Music2_OverwriteChannelPointer
; an alternate tempo for Cities1 which is used for the Hall of Fame room
Music_Cities1AlternateTempo:: ; 0x9b81
ld a, $a
ld [$cfc8], a
ld [$cfc9], a
ld a, $ff
ld [wMusicHeaderPointer], a
ld c, $64
call DelayFrames
ld c, BANK(Music_Cities1)
ld a, (Music_Cities1 - $4000) / 3
call PlayMusic
ld hl, $c006
ld de, Music_Cities1_branch_aa6f
jp Music2_OverwriteChannelPointer
SECTION "Audio Engine 2", ROMX, BANK[AUDIO_2]
Func_2136e: ; 2136e (8:536e)
ld a, [$d083]
cp $ff
jr z, .asm_2139b
bit 7, a
ret z
and $7f
jr nz, .asm_21383
call Func_213a7
ld a, $1e
jr .asm_21395
.asm_21383
cp $14
jr nz, .asm_2138a
call Func_213ac
.asm_2138a
ld a, $86
ld [$c02a], a
ld a, [$d083]
and $7f
dec a
.asm_21395
set 7, a
ld [$d083], a
ret
.asm_2139b
xor a
ld [$d083], a
ld [$c02a], a
ld de, Unknown_213c4 ; $53c4
jr asm_213af
Func_213a7: ; 213a7 (8:53a7)
ld de, Unknown_213bc ; $53bc
jr asm_213af
Func_213ac: ; 213ac (8:53ac)
ld de, Unknown_213c0 ; $53c0
asm_213af: ; 213af (8:53af)
ld hl, $ff10
ld c, $5
xor a
.asm_213b5
ld [hli], a
ld a, [de]
inc de
dec c
jr nz, .asm_213b5
ret
Unknown_213bc: ; 213bc (8:53bc)
db $A0,$E2,$50,$87
Unknown_213c0: ; 213c0 (8:53c0)
db $B0,$E2,$EE,$86
Unknown_213c4: ; 213c4 (8:53c4)
db $00,$00,$00,$80
INCLUDE "menu/pc.asm"
INCLUDE "audio/engine_2.asm"
Music_PokeFluteInBattle: ; 22306 (8:6306)
ld a, (SFX_08_46 - $4000) / 3 ; PokeFlute outside of battle
call PlaySoundWaitForCurrent
ld hl, $c00e
ld de, SFX_08_PokeFlute_Ch1
call Music8_OverwriteChannelPointer
ld de, SFX_08_PokeFlute_Ch2
call Music8_OverwriteChannelPointer
ld de, SFX_08_PokeFlute_Ch3
Music8_OverwriteChannelPointer: ; 2231d (8:631d)
ld a, e
ld [hli], a
ld a, d
ld [hli], a
ret
SECTION "Audio Engine 3", ROMX, BANK[AUDIO_3]
Func_7d13b:: ; 7d13b (1f:513b)
@ -650,6 +595,52 @@ OwnedMonValues: ; 7d170 (1f:5170)
INCLUDE "audio/engine_3.asm"
SECTION "Music 1", ROMX, BANK[AUDIO_1]
INCLUDE "music/pkmnhealed.asm"
INCLUDE "music/routes1.asm"
INCLUDE "music/routes2.asm"
INCLUDE "music/routes3.asm"
INCLUDE "music/routes4.asm"
INCLUDE "music/indigoplateau.asm"
INCLUDE "music/pallettown.asm"
INCLUDE "music/unusedsong.asm"
INCLUDE "music/cities1.asm"
INCLUDE "music/sfx/sfx_02_3a.asm"
INCLUDE "music/museumguy.asm"
INCLUDE "music/meetprofoak.asm"
INCLUDE "music/meetrival.asm"
INCLUDE "music/sfx/sfx_02_41.asm"
INCLUDE "music/sfx/sfx_02_3b.asm"
INCLUDE "music/sfx/sfx_02_42.asm"
INCLUDE "music/ssanne.asm"
INCLUDE "music/cities2.asm"
INCLUDE "music/celadon.asm"
INCLUDE "music/cinnabar.asm"
INCLUDE "music/vermilion.asm"
INCLUDE "music/lavender.asm"
INCLUDE "music/safarizone.asm"
INCLUDE "music/gym.asm"
INCLUDE "music/pokecenter.asm"
SECTION "Music 2", ROMX, BANK[AUDIO_2]
INCLUDE "music/sfx/sfx_08_pokeflute.asm"
INCLUDE "music/sfx/sfx_08_unused2.asm"
INCLUDE "music/gymleaderbattle.asm"
INCLUDE "music/trainerbattle.asm"
INCLUDE "music/wildbattle.asm"
INCLUDE "music/finalbattle.asm"
INCLUDE "music/sfx/sfx_08_3a.asm"
INCLUDE "music/sfx/sfx_08_3b.asm"
INCLUDE "music/sfx/sfx_08_46.asm"
INCLUDE "music/defeatedtrainer.asm"
INCLUDE "music/defeatedwildmon.asm"
INCLUDE "music/defeatedgymleader.asm"
SECTION "Music 3", ROMX, BANK[AUDIO_3]
INCLUDE "music/bikeriding.asm"