diff options
-rw-r--r-- | audio.asm | 233 | ||||
-rw-r--r-- | audio/alternate_tempo.asm | 50 | ||||
-rw-r--r-- | audio/low_health_alarm.asm | 75 | ||||
-rw-r--r-- | audio/notes.asm | 2 | ||||
-rw-r--r-- | audio/play_battle_music.asm | 34 | ||||
-rw-r--r-- | audio/poke_flute.asm | 18 | ||||
-rw-r--r-- | audio/pokedex_rating_sfx.asm | 36 | ||||
-rw-r--r-- | audio/wave_instruments.asm | 2 | ||||
-rw-r--r-- | data/hm_moves.asm | 7 | ||||
-rwxr-xr-x | engine/battle/misc.asm (renamed from engine/battle/bank_e_misc.asm) | 0 | ||||
-rw-r--r-- | engine/battle/move_effects/conversion.asm (renamed from engine/battle/moveEffects/conversion_effect.asm) | 0 | ||||
-rw-r--r-- | engine/battle/move_effects/drain_hp.asm (renamed from engine/battle/moveEffects/drain_hp_effect.asm) | 0 | ||||
-rw-r--r-- | engine/battle/move_effects/focus_energy.asm (renamed from engine/battle/moveEffects/focus_energy_effect.asm) | 0 | ||||
-rw-r--r-- | engine/battle/move_effects/haze.asm (renamed from engine/battle/moveEffects/haze_effect.asm) | 0 | ||||
-rw-r--r-- | engine/battle/move_effects/heal.asm (renamed from engine/battle/moveEffects/heal_effect.asm) | 0 | ||||
-rw-r--r-- | engine/battle/move_effects/leech_seed.asm (renamed from engine/battle/moveEffects/leech_seed_effect.asm) | 0 | ||||
-rw-r--r-- | engine/battle/move_effects/mist.asm (renamed from engine/battle/moveEffects/mist_effect.asm) | 0 | ||||
-rw-r--r-- | engine/battle/move_effects/one_hit_ko.asm (renamed from engine/battle/moveEffects/one_hit_ko_effect.asm) | 0 | ||||
-rw-r--r-- | engine/battle/move_effects/paralyze.asm (renamed from engine/battle/moveEffects/paralyze_effect.asm) | 0 | ||||
-rw-r--r-- | engine/battle/move_effects/pay_day.asm (renamed from engine/battle/moveEffects/pay_day_effect.asm) | 0 | ||||
-rw-r--r-- | engine/battle/move_effects/recoil.asm (renamed from engine/battle/moveEffects/recoil_effect.asm) | 0 | ||||
-rw-r--r-- | engine/battle/move_effects/reflect_light_screen.asm (renamed from engine/battle/moveEffects/reflect_light_screen_effect.asm) | 0 | ||||
-rw-r--r-- | engine/battle/move_effects/substitute.asm (renamed from engine/battle/moveEffects/substitute_effect.asm) | 0 | ||||
-rw-r--r-- | engine/battle/move_effects/transform.asm (renamed from engine/battle/moveEffects/transform_effect.asm) | 0 | ||||
-rw-r--r-- | engine/battle/trainer_ai.asm | 2 | ||||
-rw-r--r-- | engine/debug/debug_party.asm (renamed from engine/debug1.asm) | 0 | ||||
-rw-r--r-- | engine/debug/test_battle.asm (renamed from engine/test_battle.asm) | 0 | ||||
-rw-r--r-- | engine/events/black_out.asm (renamed from engine/black_out.asm) | 0 | ||||
-rwxr-xr-x | engine/events/card_key.asm (renamed from engine/overworld/card_key.asm) | 0 | ||||
-rwxr-xr-x | engine/events/cinnabar_lab.asm (renamed from engine/overworld/cinnabar_lab.asm) | 0 | ||||
-rwxr-xr-x | engine/events/diploma.asm (renamed from engine/menu/diploma.asm) | 0 | ||||
-rw-r--r-- | engine/events/display_pokedex.asm (renamed from engine/display_pokedex.asm) | 0 | ||||
-rwxr-xr-x | engine/events/elevator.asm (renamed from engine/predefs7.asm) | 0 | ||||
-rwxr-xr-x | engine/events/evolve_trade.asm (renamed from engine/evolve_trade.asm) | 0 | ||||
-rwxr-xr-x | engine/events/give_pokemon.asm (renamed from engine/give_pokemon.asm) | 0 | ||||
-rw-r--r-- | engine/events/heal_party.asm (renamed from engine/heal_party.asm) | 0 | ||||
-rwxr-xr-x | engine/events/hidden_items.asm (renamed from engine/overworld/hidden_items.asm) | 0 | ||||
-rwxr-xr-x | engine/events/hidden_object_functions14.asm (renamed from engine/hidden_object_functions14.asm) | 0 | ||||
-rwxr-xr-x | engine/events/hidden_object_functions17.asm (renamed from engine/hidden_object_functions17.asm) | 0 | ||||
-rwxr-xr-x | engine/events/hidden_object_functions18.asm (renamed from engine/hidden_object_functions18.asm) | 0 | ||||
-rwxr-xr-x | engine/events/hidden_object_functions3.asm (renamed from engine/hidden_object_functions3.asm) | 0 | ||||
-rwxr-xr-x | engine/events/hidden_object_functions7.asm (renamed from engine/hidden_object_functions7.asm) | 0 | ||||
-rwxr-xr-x | engine/events/in_game_trades.asm (renamed from engine/in_game_trades.asm) | 0 | ||||
-rwxr-xr-x | engine/events/oaks_aide.asm (renamed from engine/overworld/oaks_aide.asm) | 0 | ||||
-rwxr-xr-x | engine/events/pewter_guys.asm (renamed from engine/overworld/pewter_guys.asm) | 0 | ||||
-rw-r--r-- | engine/events/pick_up_item.asm (renamed from engine/overworld/item.asm) | 0 | ||||
-rw-r--r-- | engine/events/poison.asm (renamed from engine/overworld/poison.asm) | 0 | ||||
-rwxr-xr-x | engine/events/pokecenter.asm (renamed from engine/overworld/pokecenter.asm) | 0 | ||||
-rwxr-xr-x | engine/events/pokedex_rating.asm (renamed from engine/pokedex_rating.asm) | 0 | ||||
-rwxr-xr-x | engine/events/pokemart.asm (renamed from engine/overworld/pokemart.asm) | 0 | ||||
-rwxr-xr-x | engine/events/prize_menu.asm (renamed from engine/menu/prize_menu.asm) | 0 | ||||
-rwxr-xr-x | engine/events/saffron_guards.asm (renamed from engine/overworld/saffron_guards.asm) | 0 | ||||
-rw-r--r-- | engine/events/set_blackout_map.asm (renamed from engine/overworld/set_blackout_map.asm) | 0 | ||||
-rwxr-xr-x | engine/events/starter_dex.asm (renamed from engine/predefs17.asm) | 0 | ||||
-rwxr-xr-x | engine/events/vending_machine.asm (renamed from engine/menu/vending_machine.asm) | 0 | ||||
-rwxr-xr-x | engine/gfx/hp_bar.asm (renamed from engine/hp_bar.asm) | 0 | ||||
-rwxr-xr-x | engine/gfx/load_pokedex_tiles.asm (renamed from engine/load_pokedex_tiles.asm) | 0 | ||||
-rwxr-xr-x | engine/gfx/mon_icons.asm (renamed from engine/mon_party_sprites.asm) | 0 | ||||
-rw-r--r-- | engine/gfx/oam_dma.asm (renamed from engine/oam_dma.asm) | 0 | ||||
-rwxr-xr-x | engine/gfx/palettes.asm (renamed from engine/palettes.asm) | 0 | ||||
-rwxr-xr-x | engine/gfx/screen_effects.asm (renamed from engine/predefs12.asm) | 0 | ||||
-rw-r--r-- | engine/gfx/sprite_oam.asm (renamed from engine/overworld/oam.asm) | 0 | ||||
-rw-r--r-- | engine/items/get_bag_item_quantity.asm (renamed from engine/get_bag_item_quantity.asm) | 0 | ||||
-rwxr-xr-x | engine/items/item_effects.asm (renamed from engine/items/items.asm) | 0 | ||||
-rw-r--r-- | engine/items/subtract_paid_money.asm (renamed from engine/subtract_paid_money.asm) | 0 | ||||
-rwxr-xr-x | engine/items/town_map.asm (renamed from engine/town_map.asm) | 0 | ||||
-rwxr-xr-x | engine/link/cable_club.asm (renamed from engine/cable_club.asm) | 0 | ||||
-rwxr-xr-x | engine/link/cable_club_npc.asm (renamed from engine/overworld/cable_club_npc.asm) | 0 | ||||
-rw-r--r-- | engine/link/print_waiting_text.asm (renamed from engine/print_waiting_text.asm) | 0 | ||||
-rw-r--r-- | engine/math/bcd.asm (renamed from engine/bcd.asm) | 0 | ||||
-rwxr-xr-x | engine/math/multiply_divide.asm (renamed from engine/multiply_divide.asm) | 0 | ||||
-rwxr-xr-x | engine/math/random.asm (renamed from engine/random.asm) | 0 | ||||
-rw-r--r-- | engine/menus/display_text_id_init.asm (renamed from engine/display_text_id_init.asm) | 0 | ||||
-rw-r--r-- | engine/menus/draw_badges.asm (renamed from engine/menu/draw_badges.asm) | 0 | ||||
-rw-r--r-- | engine/menus/draw_start_menu.asm (renamed from engine/menu/draw_start_menu.asm) | 0 | ||||
-rwxr-xr-x | engine/menus/league_pc.asm (renamed from engine/menu/league_pc.asm) | 0 | ||||
-rwxr-xr-x | engine/menus/main_menu.asm (renamed from engine/menu/main_menu.asm) | 0 | ||||
-rwxr-xr-x | engine/menus/naming_screen.asm (renamed from engine/menu/naming_screen.asm) | 0 | ||||
-rwxr-xr-x | engine/menus/oaks_pc.asm (renamed from engine/menu/oaks_pc.asm) | 0 | ||||
-rwxr-xr-x | engine/menus/party_menu.asm (renamed from engine/menu/party_menu.asm) | 0 | ||||
-rwxr-xr-x | engine/menus/pc.asm (renamed from engine/menu/pc.asm) | 0 | ||||
-rwxr-xr-x | engine/menus/players_pc.asm (renamed from engine/menu/players_pc.asm) | 0 | ||||
-rwxr-xr-x | engine/menus/pokedex.asm (renamed from engine/menu/pokedex.asm) | 0 | ||||
-rwxr-xr-x | engine/menus/save.asm (renamed from engine/save.asm) | 0 | ||||
-rwxr-xr-x | engine/menus/start_sub_menus.asm (renamed from engine/menu/start_sub_menus.asm) | 0 | ||||
-rw-r--r-- | engine/menus/swap_items.asm (renamed from engine/menu/swap_items.asm) | 0 | ||||
-rw-r--r-- | engine/menus/text_box.asm (renamed from engine/menu/text_box.asm) | 0 | ||||
-rwxr-xr-x | engine/movie/credits.asm (renamed from engine/HoF_room_pc.asm) | 0 | ||||
-rwxr-xr-x | engine/movie/evolution.asm (renamed from engine/evolution.asm) | 0 | ||||
-rwxr-xr-x | engine/movie/gamefreak.asm (renamed from engine/gamefreak.asm) | 0 | ||||
-rwxr-xr-x | engine/movie/hall_of_fame.asm (renamed from engine/hall_of_fame.asm) | 0 | ||||
-rwxr-xr-x | engine/movie/intro.asm (renamed from engine/intro.asm) | 0 | ||||
-rwxr-xr-x | engine/movie/oak_speech/clear_save.asm (renamed from engine/clear_save.asm) | 0 | ||||
-rw-r--r-- | engine/movie/oak_speech/init_player_data.asm (renamed from engine/init_player_data.asm) | 0 | ||||
-rwxr-xr-x | engine/movie/oak_speech/oak_speech.asm (renamed from engine/oak_speech.asm) | 0 | ||||
-rwxr-xr-x | engine/movie/oak_speech/oak_speech2.asm (renamed from engine/oak_speech2.asm) | 0 | ||||
-rwxr-xr-x | engine/movie/titlescreen.asm (renamed from engine/titlescreen.asm) | 0 | ||||
-rwxr-xr-x | engine/movie/titlescreen2.asm (renamed from engine/titlescreen2.asm) | 0 | ||||
-rwxr-xr-x | engine/movie/trade.asm (renamed from engine/trade.asm) | 0 | ||||
-rwxr-xr-x | engine/movie/trade2.asm (renamed from engine/trade2.asm) | 0 | ||||
-rwxr-xr-x | engine/overworld/auto_movement.asm (renamed from engine/overworld/npc_movement.asm) | 0 | ||||
-rwxr-xr-x | engine/overworld/dust_smoke.asm (renamed from engine/overworld/ssanne.asm) | 0 | ||||
-rw-r--r-- | engine/overworld/pathfinding.asm (renamed from engine/pathfinding.asm) | 0 | ||||
-rw-r--r-- | engine/overworld/special_warps.asm (renamed from engine/special_warps.asm) | 0 | ||||
-rw-r--r-- | engine/overworld/sprite_collisions.asm (renamed from engine/overworld/map_sprite_functions1.asm) | 0 | ||||
-rw-r--r-- | engine/overworld/tilesets.asm (renamed from engine/overworld/tileset_header.asm) | 0 | ||||
-rwxr-xr-x | engine/overworld/trainer_sight.asm (renamed from engine/overworld/trainers.asm) | 0 | ||||
-rwxr-xr-x | engine/overworld/turn_sprite.asm (renamed from engine/turn_sprite.asm) | 0 | ||||
-rw-r--r-- | engine/pokemon/add_mon.asm (renamed from engine/add_mon.asm) | 0 | ||||
-rw-r--r-- | engine/pokemon/bills_pc.asm (renamed from engine/menu/bills_pc.asm) | 8 | ||||
-rwxr-xr-x | engine/pokemon/evos_moves.asm (renamed from engine/evos_moves.asm) | 0 | ||||
-rwxr-xr-x | engine/pokemon/experience.asm (renamed from engine/experience.asm) | 0 | ||||
-rwxr-xr-x | engine/pokemon/learn_move.asm (renamed from engine/learn_move.asm) | 0 | ||||
-rw-r--r-- | engine/pokemon/load_mon_data.asm (renamed from engine/load_mon_data.asm) | 0 | ||||
-rw-r--r-- | engine/pokemon/remove_mon.asm (renamed from engine/remove_pokemon.asm) | 0 | ||||
-rwxr-xr-x | engine/pokemon/set_types.asm (renamed from engine/predefs17_2.asm) | 0 | ||||
-rwxr-xr-x | engine/pokemon/status_ailments.asm (renamed from engine/status_ailments.asm) | 0 | ||||
-rwxr-xr-x | engine/pokemon/status_screen.asm (renamed from engine/menu/status_screen.asm) | 0 | ||||
-rwxr-xr-x | engine/slots/game_corner_slots.asm (renamed from engine/game_corner_slots.asm) | 0 | ||||
-rwxr-xr-x | engine/slots/game_corner_slots2.asm (renamed from engine/game_corner_slots2.asm) | 0 | ||||
-rwxr-xr-x | engine/slots/slot_machine.asm (renamed from engine/slot_machine.asm) | 0 | ||||
-rw-r--r-- | home.asm | 2 | ||||
-rwxr-xr-x | home/start_menu.asm (renamed from engine/menu/start_menu.asm) | 0 | ||||
-rw-r--r-- | layout.link | 2 | ||||
-rwxr-xr-x | main.asm | 223 |
125 files changed, 350 insertions, 344 deletions
@@ -352,248 +352,30 @@ 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" +INCLUDE "audio/alternate_tempo.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 +SECTION "Low Health Alarm (Audio Engine 2)", ROMX +INCLUDE "audio/low_health_alarm.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" +SECTION "Audio Engine 2", ROMX 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 +445,3 @@ INCLUDE "audio/music/surfing.asm" INCLUDE "audio/music/jigglypuffsong.asm" INCLUDE "audio/music/halloffame.asm" INCLUDE "audio/music/credits.asm" - diff --git a/audio/alternate_tempo.asm b/audio/alternate_tempo.asm new file mode 100644 index 00000000..6c2cdc49 --- /dev/null +++ b/audio/alternate_tempo.asm @@ -0,0 +1,50 @@ +; 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 diff --git a/audio/low_health_alarm.asm b/audio/low_health_alarm.asm new file mode 100644 index 00000000..514db55f --- /dev/null +++ b/audio/low_health_alarm.asm @@ -0,0 +1,75 @@ +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 diff --git a/audio/notes.asm b/audio/notes.asm index 025eb6a8..75e1a0b7 100644 --- a/audio/notes.asm +++ b/audio/notes.asm @@ -1,3 +1,5 @@ +; This file is INCLUDEd three times, once in each audio engine. + dw $F82C ; C_ dw $F89D ; C# dw $F907 ; D_ diff --git a/audio/play_battle_music.asm b/audio/play_battle_music.asm new file mode 100644 index 00000000..35dd19ad --- /dev/null +++ b/audio/play_battle_music.asm @@ -0,0 +1,34 @@ +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 diff --git a/audio/poke_flute.asm b/audio/poke_flute.asm new file mode 100644 index 00000000..f55a2a1f --- /dev/null +++ b/audio/poke_flute.asm @@ -0,0 +1,18 @@ +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 diff --git a/audio/pokedex_rating_sfx.asm b/audio/pokedex_rating_sfx.asm new file mode 100644 index 00000000..a218d5e6 --- /dev/null +++ b/audio/pokedex_rating_sfx.asm @@ -0,0 +1,36 @@ +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 diff --git a/audio/wave_instruments.asm b/audio/wave_instruments.asm index fede06af..c915f18a 100644 --- a/audio/wave_instruments.asm +++ b/audio/wave_instruments.asm @@ -1,3 +1,5 @@ +; This file is INCLUDEd three times, once for each audio engine. + dw .wave0 dw .wave1 dw .wave2 diff --git a/data/hm_moves.asm b/data/hm_moves.asm new file mode 100644 index 00000000..d72eddfe --- /dev/null +++ b/data/hm_moves.asm @@ -0,0 +1,7 @@ +HMMoveArray: + db CUT + db FLY + db SURF + db STRENGTH + db FLASH + db -1 diff --git a/engine/battle/bank_e_misc.asm b/engine/battle/misc.asm index 33af6f6f..33af6f6f 100755 --- a/engine/battle/bank_e_misc.asm +++ b/engine/battle/misc.asm diff --git a/engine/battle/moveEffects/conversion_effect.asm b/engine/battle/move_effects/conversion.asm index f23c3d70..f23c3d70 100644 --- a/engine/battle/moveEffects/conversion_effect.asm +++ b/engine/battle/move_effects/conversion.asm diff --git a/engine/battle/moveEffects/drain_hp_effect.asm b/engine/battle/move_effects/drain_hp.asm index e5f4681a..e5f4681a 100644 --- a/engine/battle/moveEffects/drain_hp_effect.asm +++ b/engine/battle/move_effects/drain_hp.asm diff --git a/engine/battle/moveEffects/focus_energy_effect.asm b/engine/battle/move_effects/focus_energy.asm index 16dad7bb..16dad7bb 100644 --- a/engine/battle/moveEffects/focus_energy_effect.asm +++ b/engine/battle/move_effects/focus_energy.asm diff --git a/engine/battle/moveEffects/haze_effect.asm b/engine/battle/move_effects/haze.asm index 47723ba2..47723ba2 100644 --- a/engine/battle/moveEffects/haze_effect.asm +++ b/engine/battle/move_effects/haze.asm diff --git a/engine/battle/moveEffects/heal_effect.asm b/engine/battle/move_effects/heal.asm index 2e68acc0..2e68acc0 100644 --- a/engine/battle/moveEffects/heal_effect.asm +++ b/engine/battle/move_effects/heal.asm diff --git a/engine/battle/moveEffects/leech_seed_effect.asm b/engine/battle/move_effects/leech_seed.asm index f4d3ee9c..f4d3ee9c 100644 --- a/engine/battle/moveEffects/leech_seed_effect.asm +++ b/engine/battle/move_effects/leech_seed.asm diff --git a/engine/battle/moveEffects/mist_effect.asm b/engine/battle/move_effects/mist.asm index 65070a3e..65070a3e 100644 --- a/engine/battle/moveEffects/mist_effect.asm +++ b/engine/battle/move_effects/mist.asm diff --git a/engine/battle/moveEffects/one_hit_ko_effect.asm b/engine/battle/move_effects/one_hit_ko.asm index 827e2197..827e2197 100644 --- a/engine/battle/moveEffects/one_hit_ko_effect.asm +++ b/engine/battle/move_effects/one_hit_ko.asm diff --git a/engine/battle/moveEffects/paralyze_effect.asm b/engine/battle/move_effects/paralyze.asm index 95979ae6..95979ae6 100644 --- a/engine/battle/moveEffects/paralyze_effect.asm +++ b/engine/battle/move_effects/paralyze.asm diff --git a/engine/battle/moveEffects/pay_day_effect.asm b/engine/battle/move_effects/pay_day.asm index e5daf014..e5daf014 100644 --- a/engine/battle/moveEffects/pay_day_effect.asm +++ b/engine/battle/move_effects/pay_day.asm diff --git a/engine/battle/moveEffects/recoil_effect.asm b/engine/battle/move_effects/recoil.asm index 0f2f087b..0f2f087b 100644 --- a/engine/battle/moveEffects/recoil_effect.asm +++ b/engine/battle/move_effects/recoil.asm diff --git a/engine/battle/moveEffects/reflect_light_screen_effect.asm b/engine/battle/move_effects/reflect_light_screen.asm index 2805a969..2805a969 100644 --- a/engine/battle/moveEffects/reflect_light_screen_effect.asm +++ b/engine/battle/move_effects/reflect_light_screen.asm diff --git a/engine/battle/moveEffects/substitute_effect.asm b/engine/battle/move_effects/substitute.asm index 1bb6c887..1bb6c887 100644 --- a/engine/battle/moveEffects/substitute_effect.asm +++ b/engine/battle/move_effects/substitute.asm diff --git a/engine/battle/moveEffects/transform_effect.asm b/engine/battle/move_effects/transform.asm index 9a5de9cc..9a5de9cc 100644 --- a/engine/battle/moveEffects/transform_effect.asm +++ b/engine/battle/move_effects/transform.asm diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 7755b50f..2850b9c2 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -279,7 +279,7 @@ INCLUDE "data/trainer_pic_money_pointers.asm" INCLUDE "text/trainer_names.asm" -INCLUDE "engine/battle/bank_e_misc.asm" +INCLUDE "engine/battle/misc.asm" INCLUDE "engine/battle/read_trainer_party.asm" diff --git a/engine/debug1.asm b/engine/debug/debug_party.asm index a5eb7dde..a5eb7dde 100644 --- a/engine/debug1.asm +++ b/engine/debug/debug_party.asm diff --git a/engine/test_battle.asm b/engine/debug/test_battle.asm index d9dcf1fa..d9dcf1fa 100644 --- a/engine/test_battle.asm +++ b/engine/debug/test_battle.asm diff --git a/engine/black_out.asm b/engine/events/black_out.asm index 6c358ce3..6c358ce3 100644 --- a/engine/black_out.asm +++ b/engine/events/black_out.asm diff --git a/engine/overworld/card_key.asm b/engine/events/card_key.asm index c77d5fcd..c77d5fcd 100755 --- a/engine/overworld/card_key.asm +++ b/engine/events/card_key.asm diff --git a/engine/overworld/cinnabar_lab.asm b/engine/events/cinnabar_lab.asm index e642840d..e642840d 100755 --- a/engine/overworld/cinnabar_lab.asm +++ b/engine/events/cinnabar_lab.asm diff --git a/engine/menu/diploma.asm b/engine/events/diploma.asm index e53ef58f..e53ef58f 100755 --- a/engine/menu/diploma.asm +++ b/engine/events/diploma.asm diff --git a/engine/display_pokedex.asm b/engine/events/display_pokedex.asm index d657ea85..d657ea85 100644 --- a/engine/display_pokedex.asm +++ b/engine/events/display_pokedex.asm diff --git a/engine/predefs7.asm b/engine/events/elevator.asm index 752bdd1a..752bdd1a 100755 --- a/engine/predefs7.asm +++ b/engine/events/elevator.asm diff --git a/engine/evolve_trade.asm b/engine/events/evolve_trade.asm index e17fc05c..e17fc05c 100755 --- a/engine/evolve_trade.asm +++ b/engine/events/evolve_trade.asm diff --git a/engine/give_pokemon.asm b/engine/events/give_pokemon.asm index 03177e60..03177e60 100755 --- a/engine/give_pokemon.asm +++ b/engine/events/give_pokemon.asm diff --git a/engine/heal_party.asm b/engine/events/heal_party.asm index 7aaa1bd1..7aaa1bd1 100644 --- a/engine/heal_party.asm +++ b/engine/events/heal_party.asm diff --git a/engine/overworld/hidden_items.asm b/engine/events/hidden_items.asm index e40b0ac7..e40b0ac7 100755 --- a/engine/overworld/hidden_items.asm +++ b/engine/events/hidden_items.asm diff --git a/engine/hidden_object_functions14.asm b/engine/events/hidden_object_functions14.asm index 9e14c6a7..9e14c6a7 100755 --- a/engine/hidden_object_functions14.asm +++ b/engine/events/hidden_object_functions14.asm diff --git a/engine/hidden_object_functions17.asm b/engine/events/hidden_object_functions17.asm index bb2a358c..bb2a358c 100755 --- a/engine/hidden_object_functions17.asm +++ b/engine/events/hidden_object_functions17.asm diff --git a/engine/hidden_object_functions18.asm b/engine/events/hidden_object_functions18.asm index c0e5aa34..c0e5aa34 100755 --- a/engine/hidden_object_functions18.asm +++ b/engine/events/hidden_object_functions18.asm diff --git a/engine/hidden_object_functions3.asm b/engine/events/hidden_object_functions3.asm index 1237e960..1237e960 100755 --- a/engine/hidden_object_functions3.asm +++ b/engine/events/hidden_object_functions3.asm diff --git a/engine/hidden_object_functions7.asm b/engine/events/hidden_object_functions7.asm index e18b9570..e18b9570 100755 --- a/engine/hidden_object_functions7.asm +++ b/engine/events/hidden_object_functions7.asm diff --git a/engine/in_game_trades.asm b/engine/events/in_game_trades.asm index c01bc3c3..c01bc3c3 100755 --- a/engine/in_game_trades.asm +++ b/engine/events/in_game_trades.asm diff --git a/engine/overworld/oaks_aide.asm b/engine/events/oaks_aide.asm index f5068fda..f5068fda 100755 --- a/engine/overworld/oaks_aide.asm +++ b/engine/events/oaks_aide.asm diff --git a/engine/overworld/pewter_guys.asm b/engine/events/pewter_guys.asm index 532fa4bf..532fa4bf 100755 --- a/engine/overworld/pewter_guys.asm +++ b/engine/events/pewter_guys.asm diff --git a/engine/overworld/item.asm b/engine/events/pick_up_item.asm index 9f19100a..9f19100a 100644 --- a/engine/overworld/item.asm +++ b/engine/events/pick_up_item.asm diff --git a/engine/overworld/poison.asm b/engine/events/poison.asm index 5d8eb9fd..5d8eb9fd 100644 --- a/engine/overworld/poison.asm +++ b/engine/events/poison.asm diff --git a/engine/overworld/pokecenter.asm b/engine/events/pokecenter.asm index f340e06d..f340e06d 100755 --- a/engine/overworld/pokecenter.asm +++ b/engine/events/pokecenter.asm diff --git a/engine/pokedex_rating.asm b/engine/events/pokedex_rating.asm index f1aaf618..f1aaf618 100755 --- a/engine/pokedex_rating.asm +++ b/engine/events/pokedex_rating.asm diff --git a/engine/overworld/pokemart.asm b/engine/events/pokemart.asm index 177e8a09..177e8a09 100755 --- a/engine/overworld/pokemart.asm +++ b/engine/events/pokemart.asm diff --git a/engine/menu/prize_menu.asm b/engine/events/prize_menu.asm index 5e08bb8f..5e08bb8f 100755 --- a/engine/menu/prize_menu.asm +++ b/engine/events/prize_menu.asm diff --git a/engine/overworld/saffron_guards.asm b/engine/events/saffron_guards.asm index 091cfa1a..091cfa1a 100755 --- a/engine/overworld/saffron_guards.asm +++ b/engine/events/saffron_guards.asm diff --git a/engine/overworld/set_blackout_map.asm b/engine/events/set_blackout_map.asm index 14f0ba28..14f0ba28 100644 --- a/engine/overworld/set_blackout_map.asm +++ b/engine/events/set_blackout_map.asm diff --git a/engine/predefs17.asm b/engine/events/starter_dex.asm index 21289c6a..21289c6a 100755 --- a/engine/predefs17.asm +++ b/engine/events/starter_dex.asm diff --git a/engine/menu/vending_machine.asm b/engine/events/vending_machine.asm index 554c5d4f..554c5d4f 100755 --- a/engine/menu/vending_machine.asm +++ b/engine/events/vending_machine.asm diff --git a/engine/hp_bar.asm b/engine/gfx/hp_bar.asm index 221bd7a9..221bd7a9 100755 --- a/engine/hp_bar.asm +++ b/engine/gfx/hp_bar.asm diff --git a/engine/load_pokedex_tiles.asm b/engine/gfx/load_pokedex_tiles.asm index 70bcf04d..70bcf04d 100755 --- a/engine/load_pokedex_tiles.asm +++ b/engine/gfx/load_pokedex_tiles.asm diff --git a/engine/mon_party_sprites.asm b/engine/gfx/mon_icons.asm index d2913715..d2913715 100755 --- a/engine/mon_party_sprites.asm +++ b/engine/gfx/mon_icons.asm diff --git a/engine/oam_dma.asm b/engine/gfx/oam_dma.asm index b0d64675..b0d64675 100644 --- a/engine/oam_dma.asm +++ b/engine/gfx/oam_dma.asm diff --git a/engine/palettes.asm b/engine/gfx/palettes.asm index 39991d48..39991d48 100755 --- a/engine/palettes.asm +++ b/engine/gfx/palettes.asm diff --git a/engine/predefs12.asm b/engine/gfx/screen_effects.asm index 95f0ea25..95f0ea25 100755 --- a/engine/predefs12.asm +++ b/engine/gfx/screen_effects.asm diff --git a/engine/overworld/oam.asm b/engine/gfx/sprite_oam.asm index 68128413..68128413 100644 --- a/engine/overworld/oam.asm +++ b/engine/gfx/sprite_oam.asm diff --git a/engine/get_bag_item_quantity.asm b/engine/items/get_bag_item_quantity.asm index f10df1a0..f10df1a0 100644 --- a/engine/get_bag_item_quantity.asm +++ b/engine/items/get_bag_item_quantity.asm diff --git a/engine/items/items.asm b/engine/items/item_effects.asm index 6e7bed1e..6e7bed1e 100755 --- a/engine/items/items.asm +++ b/engine/items/item_effects.asm diff --git a/engine/subtract_paid_money.asm b/engine/items/subtract_paid_money.asm index fdefe3d6..fdefe3d6 100644 --- a/engine/subtract_paid_money.asm +++ b/engine/items/subtract_paid_money.asm diff --git a/engine/town_map.asm b/engine/items/town_map.asm index 84a92994..84a92994 100755 --- a/engine/town_map.asm +++ b/engine/items/town_map.asm diff --git a/engine/cable_club.asm b/engine/link/cable_club.asm index 141ed396..141ed396 100755 --- a/engine/cable_club.asm +++ b/engine/link/cable_club.asm diff --git a/engine/overworld/cable_club_npc.asm b/engine/link/cable_club_npc.asm index bb0f7680..bb0f7680 100755 --- a/engine/overworld/cable_club_npc.asm +++ b/engine/link/cable_club_npc.asm diff --git a/engine/print_waiting_text.asm b/engine/link/print_waiting_text.asm index c48459d3..c48459d3 100644 --- a/engine/print_waiting_text.asm +++ b/engine/link/print_waiting_text.asm diff --git a/engine/bcd.asm b/engine/math/bcd.asm index 2d0b43df..2d0b43df 100644 --- a/engine/bcd.asm +++ b/engine/math/bcd.asm diff --git a/engine/multiply_divide.asm b/engine/math/multiply_divide.asm index 6cdc6c87..6cdc6c87 100755 --- a/engine/multiply_divide.asm +++ b/engine/math/multiply_divide.asm diff --git a/engine/random.asm b/engine/math/random.asm index 2fc83f6f..2fc83f6f 100755 --- a/engine/random.asm +++ b/engine/math/random.asm diff --git a/engine/display_text_id_init.asm b/engine/menus/display_text_id_init.asm index 5043ad22..5043ad22 100644 --- a/engine/display_text_id_init.asm +++ b/engine/menus/display_text_id_init.asm diff --git a/engine/menu/draw_badges.asm b/engine/menus/draw_badges.asm index 1888e32f..1888e32f 100644 --- a/engine/menu/draw_badges.asm +++ b/engine/menus/draw_badges.asm diff --git a/engine/menu/draw_start_menu.asm b/engine/menus/draw_start_menu.asm index 21e444e9..21e444e9 100644 --- a/engine/menu/draw_start_menu.asm +++ b/engine/menus/draw_start_menu.asm diff --git a/engine/menu/league_pc.asm b/engine/menus/league_pc.asm index 170c0ef3..170c0ef3 100755 --- a/engine/menu/league_pc.asm +++ b/engine/menus/league_pc.asm diff --git a/engine/menu/main_menu.asm b/engine/menus/main_menu.asm index 8eda6744..8eda6744 100755 --- a/engine/menu/main_menu.asm +++ b/engine/menus/main_menu.asm diff --git a/engine/menu/naming_screen.asm b/engine/menus/naming_screen.asm index 2b86d6f4..2b86d6f4 100755 --- a/engine/menu/naming_screen.asm +++ b/engine/menus/naming_screen.asm diff --git a/engine/menu/oaks_pc.asm b/engine/menus/oaks_pc.asm index 03c9b8f1..03c9b8f1 100755 --- a/engine/menu/oaks_pc.asm +++ b/engine/menus/oaks_pc.asm diff --git a/engine/menu/party_menu.asm b/engine/menus/party_menu.asm index 41b6074b..41b6074b 100755 --- a/engine/menu/party_menu.asm +++ b/engine/menus/party_menu.asm diff --git a/engine/menu/pc.asm b/engine/menus/pc.asm index 6ec45f2e..6ec45f2e 100755 --- a/engine/menu/pc.asm +++ b/engine/menus/pc.asm diff --git a/engine/menu/players_pc.asm b/engine/menus/players_pc.asm index 403632fa..403632fa 100755 --- a/engine/menu/players_pc.asm +++ b/engine/menus/players_pc.asm diff --git a/engine/menu/pokedex.asm b/engine/menus/pokedex.asm index 8e1fd480..8e1fd480 100755 --- a/engine/menu/pokedex.asm +++ b/engine/menus/pokedex.asm diff --git a/engine/save.asm b/engine/menus/save.asm index 33a7ba8d..33a7ba8d 100755 --- a/engine/save.asm +++ b/engine/menus/save.asm diff --git a/engine/menu/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index b81769a2..b81769a2 100755 --- a/engine/menu/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm diff --git a/engine/menu/swap_items.asm b/engine/menus/swap_items.asm index 826fe60b..826fe60b 100644 --- a/engine/menu/swap_items.asm +++ b/engine/menus/swap_items.asm diff --git a/engine/menu/text_box.asm b/engine/menus/text_box.asm index 00045959..00045959 100644 --- a/engine/menu/text_box.asm +++ b/engine/menus/text_box.asm diff --git a/engine/HoF_room_pc.asm b/engine/movie/credits.asm index f820aae3..f820aae3 100755 --- a/engine/HoF_room_pc.asm +++ b/engine/movie/credits.asm diff --git a/engine/evolution.asm b/engine/movie/evolution.asm index 731735c5..731735c5 100755 --- a/engine/evolution.asm +++ b/engine/movie/evolution.asm diff --git a/engine/gamefreak.asm b/engine/movie/gamefreak.asm index 78e48384..78e48384 100755 --- a/engine/gamefreak.asm +++ b/engine/movie/gamefreak.asm diff --git a/engine/hall_of_fame.asm b/engine/movie/hall_of_fame.asm index 3c9b1723..3c9b1723 100755 --- a/engine/hall_of_fame.asm +++ b/engine/movie/hall_of_fame.asm diff --git a/engine/intro.asm b/engine/movie/intro.asm index 9a13c96f..9a13c96f 100755 --- a/engine/intro.asm +++ b/engine/movie/intro.asm diff --git a/engine/clear_save.asm b/engine/movie/oak_speech/clear_save.asm index b47cd6c4..b47cd6c4 100755 --- a/engine/clear_save.asm +++ b/engine/movie/oak_speech/clear_save.asm diff --git a/engine/init_player_data.asm b/engine/movie/oak_speech/init_player_data.asm index c576e65a..c576e65a 100644 --- a/engine/init_player_data.asm +++ b/engine/movie/oak_speech/init_player_data.asm diff --git a/engine/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm index b1acfb65..b1acfb65 100755 --- a/engine/oak_speech.asm +++ b/engine/movie/oak_speech/oak_speech.asm diff --git a/engine/oak_speech2.asm b/engine/movie/oak_speech/oak_speech2.asm index fdc9ffa3..fdc9ffa3 100755 --- a/engine/oak_speech2.asm +++ b/engine/movie/oak_speech/oak_speech2.asm diff --git a/engine/titlescreen.asm b/engine/movie/titlescreen.asm index c30f83a9..c30f83a9 100755 --- a/engine/titlescreen.asm +++ b/engine/movie/titlescreen.asm diff --git a/engine/titlescreen2.asm b/engine/movie/titlescreen2.asm index 2346fcc5..2346fcc5 100755 --- a/engine/titlescreen2.asm +++ b/engine/movie/titlescreen2.asm diff --git a/engine/trade.asm b/engine/movie/trade.asm index 8bc8e3bc..8bc8e3bc 100755 --- a/engine/trade.asm +++ b/engine/movie/trade.asm diff --git a/engine/trade2.asm b/engine/movie/trade2.asm index 2c79e077..2c79e077 100755 --- a/engine/trade2.asm +++ b/engine/movie/trade2.asm diff --git a/engine/overworld/npc_movement.asm b/engine/overworld/auto_movement.asm index e478c9ad..e478c9ad 100755 --- a/engine/overworld/npc_movement.asm +++ b/engine/overworld/auto_movement.asm diff --git a/engine/overworld/ssanne.asm b/engine/overworld/dust_smoke.asm index 6c26b712..6c26b712 100755 --- a/engine/overworld/ssanne.asm +++ b/engine/overworld/dust_smoke.asm diff --git a/engine/pathfinding.asm b/engine/overworld/pathfinding.asm index ba052d38..ba052d38 100644 --- a/engine/pathfinding.asm +++ b/engine/overworld/pathfinding.asm diff --git a/engine/special_warps.asm b/engine/overworld/special_warps.asm index eee85402..eee85402 100644 --- a/engine/special_warps.asm +++ b/engine/overworld/special_warps.asm diff --git a/engine/overworld/map_sprite_functions1.asm b/engine/overworld/sprite_collisions.asm index 0e6b2d06..0e6b2d06 100644 --- a/engine/overworld/map_sprite_functions1.asm +++ b/engine/overworld/sprite_collisions.asm diff --git a/engine/overworld/tileset_header.asm b/engine/overworld/tilesets.asm index 6e33974f..6e33974f 100644 --- a/engine/overworld/tileset_header.asm +++ b/engine/overworld/tilesets.asm diff --git a/engine/overworld/trainers.asm b/engine/overworld/trainer_sight.asm index 5a68b627..5a68b627 100755 --- a/engine/overworld/trainers.asm +++ b/engine/overworld/trainer_sight.asm diff --git a/engine/turn_sprite.asm b/engine/overworld/turn_sprite.asm index c7f7712b..c7f7712b 100755 --- a/engine/turn_sprite.asm +++ b/engine/overworld/turn_sprite.asm diff --git a/engine/add_mon.asm b/engine/pokemon/add_mon.asm index 7627136b..7627136b 100644 --- a/engine/add_mon.asm +++ b/engine/pokemon/add_mon.asm diff --git a/engine/menu/bills_pc.asm b/engine/pokemon/bills_pc.asm index 6f643228..e5855f1d 100644 --- a/engine/menu/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -376,13 +376,7 @@ KnowsHMMove:: and a ret -HMMoveArray: - db CUT - db FLY - db SURF - db STRENGTH - db FLASH - db -1 +INCLUDE "data/hm_moves.asm" DisplayDepositWithdrawMenu: coord hl, 9, 10 diff --git a/engine/evos_moves.asm b/engine/pokemon/evos_moves.asm index f50f8081..f50f8081 100755 --- a/engine/evos_moves.asm +++ b/engine/pokemon/evos_moves.asm diff --git a/engine/experience.asm b/engine/pokemon/experience.asm index 3ee4b2a8..3ee4b2a8 100755 --- a/engine/experience.asm +++ b/engine/pokemon/experience.asm diff --git a/engine/learn_move.asm b/engine/pokemon/learn_move.asm index 53c7f87e..53c7f87e 100755 --- a/engine/learn_move.asm +++ b/engine/pokemon/learn_move.asm diff --git a/engine/load_mon_data.asm b/engine/pokemon/load_mon_data.asm index 480ab1ca..480ab1ca 100644 --- a/engine/load_mon_data.asm +++ b/engine/pokemon/load_mon_data.asm diff --git a/engine/remove_pokemon.asm b/engine/pokemon/remove_mon.asm index 6f7e91d6..6f7e91d6 100644 --- a/engine/remove_pokemon.asm +++ b/engine/pokemon/remove_mon.asm diff --git a/engine/predefs17_2.asm b/engine/pokemon/set_types.asm index e9235f13..e9235f13 100755 --- a/engine/predefs17_2.asm +++ b/engine/pokemon/set_types.asm diff --git a/engine/status_ailments.asm b/engine/pokemon/status_ailments.asm index 3da1fc43..3da1fc43 100755 --- a/engine/status_ailments.asm +++ b/engine/pokemon/status_ailments.asm diff --git a/engine/menu/status_screen.asm b/engine/pokemon/status_screen.asm index 20bee0ee..20bee0ee 100755 --- a/engine/menu/status_screen.asm +++ b/engine/pokemon/status_screen.asm diff --git a/engine/game_corner_slots.asm b/engine/slots/game_corner_slots.asm index 2108695f..2108695f 100755 --- a/engine/game_corner_slots.asm +++ b/engine/slots/game_corner_slots.asm diff --git a/engine/game_corner_slots2.asm b/engine/slots/game_corner_slots2.asm index 8f6e8374..8f6e8374 100755 --- a/engine/game_corner_slots2.asm +++ b/engine/slots/game_corner_slots2.asm diff --git a/engine/slot_machine.asm b/engine/slots/slot_machine.asm index 0a92c69b..0a92c69b 100755 --- a/engine/slot_machine.asm +++ b/engine/slots/slot_machine.asm @@ -1282,7 +1282,7 @@ RepelWoreOffText:: TX_FAR _RepelWoreOffText db "@" -INCLUDE "engine/menu/start_menu.asm" +INCLUDE "home/start_menu.asm" ; function to count how many bits are set in a string of bytes ; INPUT: diff --git a/engine/menu/start_menu.asm b/home/start_menu.asm index eb4b4f2d..eb4b4f2d 100755 --- a/engine/menu/start_menu.asm +++ b/home/start_menu.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" @@ -4,46 +4,46 @@ INCLUDE "constants.asm" SECTION "bank1", ROMX INCLUDE "data/facing.asm" -INCLUDE "engine/black_out.asm" +INCLUDE "engine/events/black_out.asm" MewPicFront:: INCBIN "gfx/pokemon/front/mew.pic" MewPicBack:: INCBIN "gfx/pokemon/back/mewb.pic" INCLUDE "data/baseStats/mew.asm" INCLUDE "engine/battle/safari_zone.asm" -INCLUDE "engine/titlescreen.asm" -INCLUDE "engine/load_mon_data.asm" +INCLUDE "engine/movie/titlescreen.asm" +INCLUDE "engine/pokemon/load_mon_data.asm" INCLUDE "data/item_prices.asm" INCLUDE "text/item_names.asm" INCLUDE "text/unused_names.asm" -INCLUDE "engine/overworld/oam.asm" -INCLUDE "engine/oam_dma.asm" -INCLUDE "engine/print_waiting_text.asm" -INCLUDE "engine/overworld/map_sprite_functions1.asm" -INCLUDE "engine/test_battle.asm" -INCLUDE "engine/overworld/item.asm" +INCLUDE "engine/gfx/sprite_oam.asm" +INCLUDE "engine/gfx/oam_dma.asm" +INCLUDE "engine/link/print_waiting_text.asm" +INCLUDE "engine/overworld/sprite_collisions.asm" +INCLUDE "engine/debug/test_battle.asm" +INCLUDE "engine/events/pick_up_item.asm" INCLUDE "engine/overworld/movement.asm" -INCLUDE "engine/cable_club.asm" -INCLUDE "engine/menu/main_menu.asm" -INCLUDE "engine/oak_speech.asm" -INCLUDE "engine/special_warps.asm" -INCLUDE "engine/debug1.asm" -INCLUDE "engine/menu/naming_screen.asm" -INCLUDE "engine/oak_speech2.asm" -INCLUDE "engine/subtract_paid_money.asm" -INCLUDE "engine/menu/swap_items.asm" -INCLUDE "engine/overworld/pokemart.asm" -INCLUDE "engine/learn_move.asm" -INCLUDE "engine/overworld/pokecenter.asm" -INCLUDE "engine/overworld/set_blackout_map.asm" -INCLUDE "engine/display_text_id_init.asm" -INCLUDE "engine/menu/draw_start_menu.asm" -INCLUDE "engine/overworld/cable_club_npc.asm" -INCLUDE "engine/menu/text_box.asm" -INCLUDE "engine/battle/moveEffects/drain_hp_effect.asm" -INCLUDE "engine/menu/players_pc.asm" -INCLUDE "engine/remove_pokemon.asm" -INCLUDE "engine/display_pokedex.asm" +INCLUDE "engine/link/cable_club.asm" +INCLUDE "engine/menus/main_menu.asm" +INCLUDE "engine/movie/oak_speech/oak_speech.asm" +INCLUDE "engine/overworld/special_warps.asm" +INCLUDE "engine/debug/debug_party.asm" +INCLUDE "engine/menus/naming_screen.asm" +INCLUDE "engine/movie/oak_speech/oak_speech2.asm" +INCLUDE "engine/items/subtract_paid_money.asm" +INCLUDE "engine/menus/swap_items.asm" +INCLUDE "engine/events/pokemart.asm" +INCLUDE "engine/pokemon/learn_move.asm" +INCLUDE "engine/events/pokecenter.asm" +INCLUDE "engine/events/set_blackout_map.asm" +INCLUDE "engine/menus/display_text_id_init.asm" +INCLUDE "engine/menus/draw_start_menu.asm" +INCLUDE "engine/link/cable_club_npc.asm" +INCLUDE "engine/menus/text_box.asm" +INCLUDE "engine/battle/move_effects/drain_hp.asm" +INCLUDE "engine/menus/players_pc.asm" +INCLUDE "engine/pokemon/remove_mon.asm" +INCLUDE "engine/events/display_pokedex.asm" SECTION "bank3", ROMX @@ -53,28 +53,28 @@ INCLUDE "data/map_songs.asm" INCLUDE "data/map_header_banks.asm" INCLUDE "engine/overworld/clear_variables.asm" INCLUDE "engine/overworld/player_state.asm" -INCLUDE "engine/overworld/poison.asm" -INCLUDE "engine/overworld/tileset_header.asm" +INCLUDE "engine/events/poison.asm" +INCLUDE "engine/overworld/tilesets.asm" INCLUDE "engine/overworld/daycare_exp.asm" INCLUDE "data/hide_show_data.asm" INCLUDE "engine/overworld/field_move_messages.asm" INCLUDE "engine/items/inventory.asm" INCLUDE "engine/overworld/wild_mons.asm" -INCLUDE "engine/items/items.asm" -INCLUDE "engine/menu/draw_badges.asm" +INCLUDE "engine/items/item_effects.asm" +INCLUDE "engine/menus/draw_badges.asm" INCLUDE "engine/overworld/update_map.asm" INCLUDE "engine/overworld/cut.asm" INCLUDE "engine/overworld/missable_objects.asm" INCLUDE "engine/overworld/push_boulder.asm" -INCLUDE "engine/add_mon.asm" +INCLUDE "engine/pokemon/add_mon.asm" INCLUDE "engine/flag_action.asm" -INCLUDE "engine/heal_party.asm" -INCLUDE "engine/bcd.asm" -INCLUDE "engine/init_player_data.asm" -INCLUDE "engine/get_bag_item_quantity.asm" -INCLUDE "engine/pathfinding.asm" -INCLUDE "engine/hp_bar.asm" -INCLUDE "engine/hidden_object_functions3.asm" +INCLUDE "engine/events/heal_party.asm" +INCLUDE "engine/math/bcd.asm" +INCLUDE "engine/movie/oak_speech/init_player_data.asm" +INCLUDE "engine/items/get_bag_item_quantity.asm" +INCLUDE "engine/overworld/pathfinding.asm" +INCLUDE "engine/gfx/hp_bar.asm" +INCLUDE "engine/events/hidden_object_functions3.asm" SECTION "Graphics (BANK 4)", ROMX @@ -106,33 +106,33 @@ PlayerCharacterTitleGraphicsEnd: SECTION "Battle (BANK 4)", ROMX INCLUDE "engine/overworld/is_player_just_outside_map.asm" -INCLUDE "engine/menu/status_screen.asm" -INCLUDE "engine/menu/party_menu.asm" +INCLUDE "engine/pokemon/status_screen.asm" +INCLUDE "engine/menus/party_menu.asm" RedPicFront:: INCBIN "gfx/player/red.pic" ShrinkPic1:: INCBIN "gfx/player/shrink1.pic" ShrinkPic2:: INCBIN "gfx/player/shrink2.pic" -INCLUDE "engine/turn_sprite.asm" -INCLUDE "engine/menu/start_sub_menus.asm" +INCLUDE "engine/overworld/turn_sprite.asm" +INCLUDE "engine/menus/start_sub_menus.asm" INCLUDE "engine/items/tms.asm" INCLUDE "engine/battle/end_of_battle.asm" INCLUDE "engine/battle/wild_encounters.asm" -INCLUDE "engine/battle/moveEffects/recoil_effect.asm" -INCLUDE "engine/battle/moveEffects/conversion_effect.asm" -INCLUDE "engine/battle/moveEffects/haze_effect.asm" +INCLUDE "engine/battle/move_effects/recoil.asm" +INCLUDE "engine/battle/move_effects/conversion.asm" +INCLUDE "engine/battle/move_effects/haze.asm" INCLUDE "engine/battle/get_trainer_name.asm" -INCLUDE "engine/random.asm" +INCLUDE "engine/math/random.asm" SECTION "Battle (BANK 5)", ROMX -INCLUDE "engine/load_pokedex_tiles.asm" +INCLUDE "engine/gfx/load_pokedex_tiles.asm" INCLUDE "engine/overworld/map_sprites.asm" INCLUDE "engine/overworld/emotion_bubbles.asm" -INCLUDE "engine/evolve_trade.asm" -INCLUDE "engine/battle/moveEffects/substitute_effect.asm" -INCLUDE "engine/menu/pc.asm" +INCLUDE "engine/events/evolve_trade.asm" +INCLUDE "engine/battle/move_effects/substitute.asm" +INCLUDE "engine/menus/pc.asm" SECTION "bank6_1", ROMX @@ -142,7 +142,7 @@ INCLUDE "engine/play_time.asm" SECTION "bank6_2", ROMX -INCLUDE "engine/overworld/npc_movement.asm" +INCLUDE "engine/overworld/auto_movement.asm" INCLUDE "engine/overworld/doors.asm" INCLUDE "engine/overworld/ledges.asm" @@ -150,26 +150,31 @@ INCLUDE "engine/overworld/ledges.asm" SECTION "bank7_1", ROMX INCLUDE "text/monster_names.asm" -INCLUDE "engine/clear_save.asm" -INCLUDE "engine/predefs7.asm" +INCLUDE "engine/movie/oak_speech/clear_save.asm" +INCLUDE "engine/events/elevator.asm" SECTION "bank7_2", ROMX -INCLUDE "engine/menu/oaks_pc.asm" -INCLUDE "engine/hidden_object_functions7.asm" +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" INCLUDE "engine/battle/save_trainer_name.asm" -INCLUDE "engine/battle/moveEffects/focus_energy_effect.asm" +INCLUDE "engine/battle/move_effects/focus_energy.asm" SECTION "Battle (BANK A)", ROMX -INCLUDE "engine/battle/moveEffects/leech_seed_effect.asm" +INCLUDE "engine/battle/move_effects/leech_seed.asm" SECTION "Battle (BANK B)", ROMX @@ -184,24 +189,24 @@ BadgeNumbersTileGraphics: INCBIN "gfx/trainer_card/badge_numbers.2bpp" INCLUDE "engine/items/tmhm.asm" INCLUDE "engine/battle/scale_sprites.asm" -INCLUDE "engine/battle/moveEffects/pay_day_effect.asm" -INCLUDE "engine/game_corner_slots2.asm" +INCLUDE "engine/battle/move_effects/pay_day.asm" +INCLUDE "engine/slots/game_corner_slots2.asm" SECTION "Battle (BANK C)", ROMX -INCLUDE "engine/battle/moveEffects/mist_effect.asm" -INCLUDE "engine/battle/moveEffects/one_hit_ko_effect.asm" +INCLUDE "engine/battle/move_effects/mist.asm" +INCLUDE "engine/battle/move_effects/one_hit_ko.asm" SECTION "Battle (BANK D)", ROMX -INCLUDE "engine/titlescreen2.asm" +INCLUDE "engine/movie/titlescreen2.asm" INCLUDE "engine/battle/link_battle_versus_text.asm" -INCLUDE "engine/slot_machine.asm" -INCLUDE "engine/overworld/pewter_guys.asm" -INCLUDE "engine/multiply_divide.asm" -INCLUDE "engine/game_corner_slots.asm" +INCLUDE "engine/slots/slot_machine.asm" +INCLUDE "engine/events/pewter_guys.asm" +INCLUDE "engine/math/multiply_divide.asm" +INCLUDE "engine/slots/game_corner_slots.asm" SECTION "bankE", ROMX @@ -223,10 +228,10 @@ TradingAnimationGraphicsEnd: TradingAnimationGraphics2: INCBIN "gfx/trade/cable_ball.2bpp" TradingAnimationGraphics2End: -INCLUDE "engine/evos_moves.asm" -INCLUDE "engine/battle/moveEffects/heal_effect.asm" -INCLUDE "engine/battle/moveEffects/transform_effect.asm" -INCLUDE "engine/battle/moveEffects/reflect_light_screen_effect.asm" +INCLUDE "engine/pokemon/evos_moves.asm" +INCLUDE "engine/battle/move_effects/heal.asm" +INCLUDE "engine/battle/move_effects/transform.asm" +INCLUDE "engine/battle/move_effects/reflect_light_screen.asm" SECTION "bankF", ROMX @@ -237,15 +242,15 @@ INCLUDE "engine/battle/effects.asm" SECTION "bank10", ROMX -INCLUDE "engine/menu/pokedex.asm" -INCLUDE "engine/trade.asm" -INCLUDE "engine/intro.asm" -INCLUDE "engine/trade2.asm" +INCLUDE "engine/menus/pokedex.asm" +INCLUDE "engine/movie/trade.asm" +INCLUDE "engine/movie/intro.asm" +INCLUDE "engine/movie/trade2.asm" SECTION "bank11_1", ROMX -INCLUDE "engine/pokedex_rating.asm" +INCLUDE "engine/events/pokedex_rating.asm" SECTION "bank11_2", ROMX @@ -255,22 +260,22 @@ INCLUDE "engine/overworld/hidden_objects.asm" SECTION "bank12", ROMX -INCLUDE "engine/predefs12.asm" +INCLUDE "engine/gfx/screen_effects.asm" SECTION "bank13", ROMX -INCLUDE "engine/give_pokemon.asm" +INCLUDE "engine/events/give_pokemon.asm" INCLUDE "engine/predefs.asm" SECTION "bank14", ROMX INCLUDE "engine/battle/init_battle_variables.asm" -INCLUDE "engine/battle/moveEffects/paralyze_effect.asm" -INCLUDE "engine/overworld/card_key.asm" -INCLUDE "engine/menu/prize_menu.asm" -INCLUDE "engine/hidden_object_functions14.asm" +INCLUDE "engine/battle/move_effects/paralyze.asm" +INCLUDE "engine/events/card_key.asm" +INCLUDE "engine/events/prize_menu.asm" +INCLUDE "engine/events/hidden_object_functions14.asm" SECTION "bank15_1", ROMX @@ -280,41 +285,41 @@ INCLUDE "engine/battle/experience.asm" SECTION "bank15_2", ROMX -INCLUDE "engine/menu/diploma.asm" -INCLUDE "engine/overworld/trainers.asm" +INCLUDE "engine/events/diploma.asm" +INCLUDE "engine/overworld/trainer_sight.asm" SECTION "bank16_1", ROMX INCLUDE "engine/battle/common_text.asm" -INCLUDE "engine/experience.asm" -INCLUDE "engine/overworld/oaks_aide.asm" +INCLUDE "engine/pokemon/experience.asm" +INCLUDE "engine/events/oaks_aide.asm" SECTION "bank16_2", ROMX -INCLUDE "engine/overworld/saffron_guards.asm" +INCLUDE "engine/events/saffron_guards.asm" SECTION "bank17_1", ROMX -INCLUDE "engine/predefs17.asm" +INCLUDE "engine/events/starter_dex.asm" SECTION "bank17_2", ROMX -INCLUDE "engine/predefs17_2.asm" -INCLUDE "engine/hidden_object_functions17.asm" +INCLUDE "engine/pokemon/set_types.asm" +INCLUDE "engine/events/hidden_object_functions17.asm" SECTION "bank18_1", ROMX -INCLUDE "engine/overworld/cinnabar_lab.asm" +INCLUDE "engine/events/cinnabar_lab.asm" SECTION "bank18_2", ROMX -INCLUDE "engine/hidden_object_functions18.asm" +INCLUDE "engine/events/hidden_object_functions18.asm" SECTION "bank1A", ROMX @@ -333,42 +338,42 @@ Version_GFXEnd: SECTION "bank1C", ROMX -INCLUDE "engine/gamefreak.asm" -INCLUDE "engine/hall_of_fame.asm" +INCLUDE "engine/movie/gamefreak.asm" +INCLUDE "engine/movie/hall_of_fame.asm" INCLUDE "engine/overworld/healing_machine.asm" INCLUDE "engine/overworld/player_animations.asm" INCLUDE "engine/battle/ghost_marowak_anim.asm" INCLUDE "engine/battle/battle_transitions.asm" -INCLUDE "engine/town_map.asm" -INCLUDE "engine/mon_party_sprites.asm" -INCLUDE "engine/in_game_trades.asm" -INCLUDE "engine/palettes.asm" -INCLUDE "engine/save.asm" +INCLUDE "engine/items/town_map.asm" +INCLUDE "engine/gfx/mon_icons.asm" +INCLUDE "engine/events/in_game_trades.asm" +INCLUDE "engine/gfx/palettes.asm" +INCLUDE "engine/menus/save.asm" SECTION "bank1D_1", ROMX -INCLUDE "engine/HoF_room_pc.asm" -INCLUDE "engine/status_ailments.asm" +INCLUDE "engine/movie/credits.asm" +INCLUDE "engine/pokemon/status_ailments.asm" INCLUDE "engine/items/itemfinder.asm" SECTION "bank1D_2", ROMX -INCLUDE "engine/menu/vending_machine.asm" +INCLUDE "engine/events/vending_machine.asm" SECTION "bank1D_3", ROMX -INCLUDE "engine/menu/league_pc.asm" -INCLUDE "engine/overworld/hidden_items.asm" +INCLUDE "engine/menus/league_pc.asm" +INCLUDE "engine/events/hidden_items.asm" SECTION "bank1E", ROMX INCLUDE "engine/battle/animations.asm" INCLUDE "engine/overworld/cut2.asm" -INCLUDE "engine/overworld/ssanne.asm" +INCLUDE "engine/overworld/dust_smoke.asm" RedFishingTilesFront: INCBIN "gfx/overworld/red_fish_front.2bpp" RedFishingTilesBack: INCBIN "gfx/overworld/red_fish_back.2bpp" @@ -376,6 +381,6 @@ RedFishingTilesSide: INCBIN "gfx/overworld/red_fish_side.2bpp" RedFishingRodTiles: INCBIN "gfx/overworld/fishing_rod.2bpp" INCLUDE "data/animations.asm" -INCLUDE "engine/evolution.asm" +INCLUDE "engine/movie/evolution.asm" INCLUDE "engine/overworld/elevator.asm" INCLUDE "engine/items/tm_prices.asm" |