From f275790aec4a796ed969b099364abfdf25385967 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 2 Jul 2020 23:30:21 -0400 Subject: Add subdirectories to engine/ similar to pokecrystal --- audio.asm | 234 ++------------------------------------------------------------ 1 file changed, 6 insertions(+), 228 deletions(-) (limited to 'audio.asm') diff --git a/audio.asm b/audio.asm index 9675c98a..effcb6f7 100644 --- a/audio.asm +++ b/audio.asm @@ -352,248 +352,27 @@ INCLUDE "audio/sfx/cry21_3.asm" INCLUDE "audio/sfx/cry22_3.asm" - SECTION "Audio Engine 1", ROMX -PlayBattleMusic:: - xor a - ld [wAudioFadeOutControl], a - ld [wLowHealthAlarm], a - dec a - ld [wNewSoundID], a - call PlaySound ; stop music - 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" - - -; 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 hl, wChannelCommandPointers - ld de, Music_MeetRival_branch_b119 - jp Audio1_OverwriteChannelPointer - -; applies both the alternate start and alternate tempo -Music_RivalAlternateStartAndTempo:: - call Music_RivalAlternateStart - ld hl, wChannelCommandPointers - ld de, Music_MeetRival_branch_b19b - jp Audio1_OverwriteChannelPointer - -; 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 +INCLUDE "audio/alternate_tempo.asm" SECTION "Audio Engine 2", ROMX -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/low_health_alarm.asm" +INCLUDE "engine/pokemon/bills_pc.asm" INCLUDE "audio/engine_2.asm" - - -Music_PokeFluteInBattle:: - ; begin playing the "caught mon" sound effect - ld a, SFX_CAUGHT_MON - call PlaySoundWaitForCurrent - ; then immediately overwrite the channel pointers - ld hl, wChannelCommandPointers + Ch5 * 2 - ld de, SFX_Pokeflute_Ch5 - call Audio2_OverwriteChannelPointer - ld de, SFX_Pokeflute_Ch6 - call Audio2_OverwriteChannelPointer - ld de, SFX_Pokeflute_Ch7 - -Audio2_OverwriteChannelPointer: - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ret +INCLUDE "audio/poke_flute.asm" SECTION "Audio Engine 3", ROMX -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 - ld a, $ff - ld [wNewSoundID], a - call PlaySoundWaitForCurrent - 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 "Music 1", ROMX INCLUDE "audio/music/pkmnhealed.asm" @@ -663,4 +442,3 @@ INCLUDE "audio/music/surfing.asm" INCLUDE "audio/music/jigglypuffsong.asm" INCLUDE "audio/music/halloffame.asm" INCLUDE "audio/music/credits.asm" - -- cgit v1.3.1-sl0p From 881e0059704b9134a80d30f203f54677a7c6fb89 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 01:09:58 -0400 Subject: INCLUDE "engine/pokemon/bills_pc.asm" in main.asm, not audio.asm --- audio.asm | 7 +++++-- layout.link | 2 ++ main.asm | 5 +++++ 3 files changed, 12 insertions(+), 2 deletions(-) (limited to 'audio.asm') diff --git a/audio.asm b/audio.asm index effcb6f7..94d63f25 100644 --- a/audio.asm +++ b/audio.asm @@ -359,10 +359,13 @@ INCLUDE "audio/engine_1.asm" INCLUDE "audio/alternate_tempo.asm" -SECTION "Audio Engine 2", ROMX +SECTION "Low Health Alarm (Audio Engine 2)", ROMX INCLUDE "audio/low_health_alarm.asm" -INCLUDE "engine/pokemon/bills_pc.asm" + + +SECTION "Audio Engine 2", ROMX + INCLUDE "audio/engine_2.asm" INCLUDE "audio/poke_flute.asm" diff --git a/layout.link b/layout.link index c9ad5839..6391c9d5 100644 --- a/layout.link +++ b/layout.link @@ -94,6 +94,8 @@ ROMX $8 "Sound Effect Headers 2" "Music Headers 2" "Sound Effects 2" + "Low Health Alarm (Audio Engine 2)" + "Bill's PC" "Audio Engine 2" "Music 2" diff --git a/main.asm b/main.asm index be29dfd7..50930bb4 100755 --- a/main.asm +++ b/main.asm @@ -160,6 +160,11 @@ INCLUDE "engine/menus/oaks_pc.asm" INCLUDE "engine/events/hidden_object_functions7.asm" +SECTION "Bill's PC", ROMX + +INCLUDE "engine/pokemon/bills_pc.asm" + + SECTION "Battle (BANK 9)", ROMX INCLUDE "engine/battle/print_type.asm" -- cgit v1.3.1-sl0p