diff options
author | dannye <33dannye@gmail.com> | 2020-11-04 00:06:44 -0600 |
---|---|---|
committer | dannye <33dannye@gmail.com> | 2020-11-04 00:06:44 -0600 |
commit | 5647ca687b92954dcf37a6ea6bfbc9a341c32de4 (patch) | |
tree | dde1937a1bfdb3a835f4155e1c2eb8f1aaf86f63 /audio.asm | |
parent | 53fcd05aa24693093d8af1dc8ec4fedd3957decc (diff) |
Sync with pokered
Diffstat (limited to 'audio.asm')
-rw-r--r-- | audio.asm | 254 |
1 files changed, 27 insertions, 227 deletions
@@ -1,33 +1,33 @@ INCLUDE "constants.asm" -SECTION "Sound Effect Headers 1", ROMX ; BANK $02 +SECTION "Sound Effect Headers 1", ROMX INCLUDE "audio/headers/sfxheaders1.asm" -SECTION "Sound Effect Headers 2", ROMX ; BANK $08 +SECTION "Sound Effect Headers 2", ROMX INCLUDE "audio/headers/sfxheaders2.asm" -SECTION "Sound Effect Headers 3", ROMX ; BANK $1f +SECTION "Sound Effect Headers 3", ROMX INCLUDE "audio/headers/sfxheaders3.asm" -SECTION "Sound Effect Headers 4", ROMX ; BANK $20 +SECTION "Sound Effect Headers 4", ROMX INCLUDE "audio/headers/sfxheaders4.asm" -SECTION "Music Headers 1", ROMX ; BANK $02 +SECTION "Music Headers 1", ROMX INCLUDE "audio/headers/musicheaders1.asm" -SECTION "Music Headers 2", ROMX ; BANK $08 +SECTION "Music Headers 2", ROMX INCLUDE "audio/headers/musicheaders2.asm" -SECTION "Music Headers 3", ROMX ; BANK $1f +SECTION "Music Headers 3", ROMX INCLUDE "audio/headers/musicheaders3.asm" -SECTION "Music Headers 4", ROMX ; BANK $20 +SECTION "Music Headers 4", ROMX INCLUDE "audio/headers/musicheaders4.asm" -SECTION "Sound Effects 1", ROMX ; BANK $02 +SECTION "Sound Effects 1", ROMX INCLUDE "audio/sfx/noise_instrument01_1.asm" INCLUDE "audio/sfx/noise_instrument02_1.asm" @@ -49,8 +49,6 @@ INCLUDE "audio/sfx/noise_instrument17_1.asm" INCLUDE "audio/sfx/noise_instrument18_1.asm" INCLUDE "audio/sfx/noise_instrument19_1.asm" -; Audio1_WavePointers: INCLUDE "audio/wave_instruments.asm" - INCLUDE "audio/sfx/start_menu_1.asm" INCLUDE "audio/sfx/pokeflute.asm" INCLUDE "audio/sfx/cut_1.asm" @@ -126,7 +124,7 @@ INCLUDE "audio/sfx/cry21_1.asm" INCLUDE "audio/sfx/cry22_1.asm" -SECTION "Sound Effects 2", ROMX ; BANK $08 +SECTION "Sound Effects 2", ROMX INCLUDE "audio/sfx/noise_instrument01_2.asm" INCLUDE "audio/sfx/noise_instrument02_2.asm" @@ -148,8 +146,6 @@ INCLUDE "audio/sfx/noise_instrument17_2.asm" INCLUDE "audio/sfx/noise_instrument18_2.asm" INCLUDE "audio/sfx/noise_instrument19_2.asm" -; Audio2_WavePointers: INCLUDE "audio/wave_instruments.asm" - INCLUDE "audio/sfx/press_ab_2.asm" INCLUDE "audio/sfx/start_menu_2.asm" INCLUDE "audio/sfx/tink_2.asm" @@ -252,7 +248,7 @@ INCLUDE "audio/sfx/cry21_2.asm" INCLUDE "audio/sfx/cry22_2.asm" -SECTION "Sound Effects 3", ROMX ; BANK $1f +SECTION "Sound Effects 3", ROMX INCLUDE "audio/sfx/noise_instrument01_3.asm" INCLUDE "audio/sfx/noise_instrument02_3.asm" @@ -274,8 +270,6 @@ INCLUDE "audio/sfx/noise_instrument17_3.asm" INCLUDE "audio/sfx/noise_instrument18_3.asm" INCLUDE "audio/sfx/noise_instrument19_3.asm" -; Audio3_WavePointers: INCLUDE "audio/wave_instruments.asm" - INCLUDE "audio/sfx/start_menu_3.asm" INCLUDE "audio/sfx/cut_3.asm" INCLUDE "audio/sfx/go_inside_3.asm" @@ -359,7 +353,7 @@ INCLUDE "audio/sfx/cry21_3.asm" INCLUDE "audio/sfx/cry22_3.asm" -SECTION "Sound Effects 4", ROMX ; BANK $20 +SECTION "Sound Effects 4", ROMX INCLUDE "audio/sfx/noise_instrument01_4.asm" INCLUDE "audio/sfx/noise_instrument02_4.asm" @@ -437,230 +431,36 @@ INCLUDE "audio/sfx/get_item1_4_2.asm" INCLUDE "audio/sfx/get_item2_4.asm" -SECTION "Audio Engine 1", ROMX ; BANK $02 +SECTION "Audio Engine 1", ROMX AudioEngine1:: -PlayBattleMusic:: - xor a - ld [wAudioFadeOutControl], a - ld [wLowHealthAlarm], a - call StopAllMusic - call DelayFrame - ld c, BANK(Music_GymLeaderBattle) - ld a, [wGymLeaderNo] - and a - jr z, .notGymLeaderBattle - ld a, MUSIC_GYM_LEADER_BATTLE - jr .playSong -.notGymLeaderBattle - ld a, [wCurOpponent] - cp OPP_ID_OFFSET - jr c, .wildBattle - cp OPP_SONY3 - jr z, .finalBattle - cp OPP_LANCE - jr nz, .normalTrainerBattle - ld a, MUSIC_GYM_LEADER_BATTLE ; lance also plays gym leader theme - jr .playSong -.normalTrainerBattle - ld a, MUSIC_TRAINER_BATTLE - jr .playSong -.finalBattle - ld a, MUSIC_FINAL_BATTLE - jr .playSong -.wildBattle - ld a, MUSIC_WILD_BATTLE -.playSong - jp PlayMusic +INCLUDE "audio/play_battle_music.asm" +INCLUDE "audio/engine_1.asm" +INCLUDE "audio/alternate_tempo.asm" + +SECTION "Low Health Alarm (Audio Engine 2)", ROMX -INCLUDE "audio/engine_1.asm" +INCLUDE "audio/low_health_alarm.asm" -; an alternate start for MeetRival which has a different first measure -Music_RivalAlternateStart:: - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - ld hl, wChannelCommandPointers - ld de, Music_MeetRival_branch_b1a2 - call Audio1_OverwriteChannelPointer - ld de, Music_MeetRival_branch_b21d - call Audio1_OverwriteChannelPointer - ld de, Music_MeetRival_branch_b2b5 - -Audio1_OverwriteChannelPointer: - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ret - -; an alternate tempo for MeetRival which is slightly slower -Music_RivalAlternateTempo:: - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - ld de, Music_MeetRival_branch_b119 - jr asm_99ed - -; applies both the alternate start and alternate tempo -Music_RivalAlternateStartAndTempo:: - call Music_RivalAlternateStart - ld de, Music_MeetRival_branch_b19b -asm_99ed: - ld hl, wChannelCommandPointers - jp Audio1_OverwriteChannelPointer - -; XXX - ret - -; an alternate tempo for Cities1 which is used for the Hall of Fame room -Music_Cities1AlternateTempo:: - ld a, 10 - ld [wAudioFadeOutCounterReloadValue], a - ld [wAudioFadeOutCounter], a - ld a, $ff ; stop playing music after the fade-out is finished - ld [wAudioFadeOutControl], a - ld c, 100 - call DelayFrames ; wait for the fade-out to finish - ld c, BANK(Music_Cities1) - ld a, MUSIC_CITIES1 - call PlayMusic - ld hl, wChannelCommandPointers - ld de, Music_Cities1_branch_aa6f - jp Audio1_OverwriteChannelPointer - - -SECTION "Audio Engine 2", ROMX ; BANK $08 +SECTION "Audio Engine 2", ROMX AudioEngine2:: -Music_DoLowHealthAlarm:: - ld a, [wLowHealthAlarm] - cp $ff - jr z, .disableAlarm - - bit 7, a ;alarm enabled? - ret z ;nope - - and $7f ;low 7 bits are the timer. - jr nz, .asm_21383 ;if timer > 0, play low tone. - - call .playToneHi - ld a, 30 ;keep this tone for 30 frames. - jr .asm_21395 ;reset the timer. - -.asm_21383 - cp 20 - jr nz, .asm_2138a ;if timer == 20, - call .playToneLo ;actually set the sound registers. - -.asm_2138a - ld a, $86 - ld [wChannelSoundIDs + Ch5], a ;disable sound channel? - ld a, [wLowHealthAlarm] - and $7f ;decrement alarm timer. - dec a - -.asm_21395 - ; reset the timer and enable flag. - set 7, a - ld [wLowHealthAlarm], a - ret - -.disableAlarm - xor a - ld [wLowHealthAlarm], a ;disable alarm - ld [wChannelSoundIDs + Ch5], a ;re-enable sound channel? - ld de, .toneDataSilence - jr .playTone - -;update the sound registers to change the frequency. -;the tone set here stays until we change it. -.playToneHi - ld de, .toneDataHi - jr .playTone - -.playToneLo - ld de, .toneDataLo - -;update sound channel 1 to play the alarm, overriding all other sounds. -.playTone - ld hl, rNR10 ;channel 1 sound register - ld c, $5 - xor a - -.copyLoop - ld [hli], a - ld a, [de] - inc de - dec c - jr nz, .copyLoop - ret - -;bytes to write to sound channel 1 registers for health alarm. -;starting at FF11 (FF10 is always zeroed), so these bytes are: -;length, envelope, freq lo, freq hi -.toneDataHi - db $A0,$E2,$50,$87 - -.toneDataLo - db $B0,$E2,$EE,$86 - -;written to stop the alarm -.toneDataSilence - db $00,$00,$00,$80 - -INCLUDE "engine/menu/bills_pc.asm" - INCLUDE "audio/engine_2.asm" -SECTION "Audio Engine 3", ROMX ; BANK $1f +SECTION "Audio Engine 3", ROMX AudioEngine3:: -PlayPokedexRatingSfx:: - ld a, [$ffdc] - ld c, $0 - ld hl, OwnedMonValues -.getSfxPointer - cp [hl] - jr c, .gotSfxPointer - inc c - inc hl - jr .getSfxPointer -.gotSfxPointer - push bc - call StopAllMusic - pop bc - ld b, $0 - ld hl, PokedexRatingSfxPointers - add hl, bc - add hl, bc - ld a, [hli] - ld c, [hl] - call PlayMusic - jp PlayDefaultMusic - -PokedexRatingSfxPointers: - db SFX_DENIED, BANK(SFX_Denied_3) - db SFX_POKEDEX_RATING, BANK(SFX_Pokedex_Rating_1) - db SFX_GET_ITEM_1, BANK(SFX_Get_Item1_1) - db SFX_CAUGHT_MON, BANK(SFX_Caught_Mon) - db SFX_LEVEL_UP, BANK(SFX_Level_Up) - db SFX_GET_KEY_ITEM, BANK(SFX_Get_Key_Item_1) - db SFX_GET_ITEM_2, BANK(SFX_Get_Item2_1) - -OwnedMonValues: - db 10, 40, 60, 90, 120, 150, $ff - +INCLUDE "audio/pokedex_rating_sfx.asm" INCLUDE "audio/engine_3.asm" -SECTION "Audio Engine 4", ROMX ; BANK $20 +SECTION "Audio Engine 4", ROMX SurfingPikachu1Graphics1:: INCBIN "gfx/surfing_pikachu_1a.2bpp" SurfingPikachu1Graphics2:: INCBIN "gfx/surfing_pikachu_1b.2bpp" @@ -669,7 +469,7 @@ SurfingPikachu1Graphics3:: INCBIN "gfx/surfing_pikachu_1c.2bpp" INCLUDE "audio/engine_4.asm" -SECTION "Music 1", ROMX ; BANK $02 +SECTION "Music 1", ROMX Audio1_WavePointers: INCLUDE "audio/wave_instruments.asm" @@ -700,7 +500,7 @@ INCLUDE "audio/music/gym.asm" INCLUDE "audio/music/pokecenter.asm" -SECTION "Music 2", ROMX ; BANK $08 +SECTION "Music 2", ROMX INCLUDE "audio/sfx/unused2_2.asm" INCLUDE "audio/music/gymleaderbattle.asm" @@ -715,7 +515,7 @@ INCLUDE "audio/music/defeatedwildmon.asm" INCLUDE "audio/music/defeatedgymleader.asm" -SECTION "Music 3", ROMX ; BANK $1f +SECTION "Music 3", ROMX INCLUDE "audio/music/bikeriding.asm" INCLUDE "audio/music/dungeon1.asm" @@ -742,7 +542,7 @@ INCLUDE "audio/music/credits.asm" INCLUDE "audio/music/yellowintro.asm" -SECTION "Music 4", ROMX ; BANK $20 +SECTION "Music 4", ROMX INCLUDE "audio/music/surfingpikachu.asm" INCLUDE "audio/music/yellowunusedsong.asm" |