diff options
author | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2021-05-20 18:13:40 +0100 |
---|---|---|
committer | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2021-05-20 18:13:40 +0100 |
commit | 96a93f444cff3df152a03d3722080600dc3a9e88 (patch) | |
tree | 5ae95dd23f56adc8bcdfb1050bb1e92f22d10245 | |
parent | 685c0fbaf4ab732de5d41ee06c408ba2d4586b5f (diff) |
Create opening sequence macros
-rw-r--r-- | src/engine/bank07.asm | 130 | ||||
-rw-r--r-- | src/macros/opening_sequence.asm | 63 |
2 files changed, 129 insertions, 64 deletions
diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index 9716ee5..ce48b81 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -2664,17 +2664,17 @@ OpeningSequenceCmd_FadeOut: ; 1d543 (7:5543) ret ; 0x1d551 -OpeningSequenceCmd_ShowCharizardScene: ; 1d551 (7:5551) +OpeningSequenceCmd_LoadCharizardScene: ; 1d551 (7:5551) lb bc, 6, 3 ld a, SCENE_CHARIZARD_INTRO jr LoadOpeningSceneAndUpdateSGBBorder -OpeningSequenceCmd_ShowScytherScene: ; 1d558 (7:5558) +OpeningSequenceCmd_LoadScytherScene: ; 1d558 (7:5558) lb bc, 6, 3 ld a, SCENE_SCYTHER_INTRO jr LoadOpeningSceneAndUpdateSGBBorder -OpeningSequenceCmd_ShowAerodactylScene: ; 1d55f (7:555f) +OpeningSequenceCmd_LoadAerodactylScene: ; 1d55f (7:555f) lb bc, 6, 3 ld a, SCENE_AERODACTYL_INTRO ; fallthrough @@ -2689,7 +2689,7 @@ LoadOpeningSceneAndUpdateSGBBorder: ; 1d564 (7:5564) ret ; 0x1d575 -OpeningSequenceCmd_ShowTitleScreenScene: ; 1d575 (7:5575) +OpeningSequenceCmd_LoadTitleScreenScene: ; 1d575 (7:5575) lb bc, 0, 0 ld a, SCENE_TITLE_SCREEN call LoadOpeningScene @@ -2721,51 +2721,53 @@ Func_1d59c: ; 1d59c (7:559c) ret ; 0x1d59d +INCLUDE "macros/opening_sequence.asm" + OpeningSequence: ; 1d59d (7:559d) - dw OpeningSequenceCmd_ShowCharizardScene - dwb OpeningSequenceCmd_PlaySFX, SFX_58 - dw OpeningSequenceCmd_SetOrbsCoordinates, OpeningOrbCoordinates_CharizardScene - dw OpeningSequenceCmd_SetOrbsAnimations, OpeningOrbAnimations_CharizardScene - dwb OpeningSequenceCmd_Delay, 44 - dw OpeningSequenceCmd_FadeIn - dwb OpeningSequenceCmd_Delay, 44 - dw OpeningSequenceCmd_FadeOut - dwb OpeningSequenceCmd_Delay, 30 - - dw OpeningSequenceCmd_ShowScytherScene - dwb OpeningSequenceCmd_PlaySFX, SFX_58 - dw OpeningSequenceCmd_SetOrbsCoordinates, OpeningOrbCoordinates_ScytherScene - dw OpeningSequenceCmd_SetOrbsAnimations, OpeningOrbAnimations_ScytherScene - dwb OpeningSequenceCmd_Delay, 44 - dw OpeningSequenceCmd_FadeIn - dwb OpeningSequenceCmd_Delay, 44 - dw OpeningSequenceCmd_FadeOut - dwb OpeningSequenceCmd_Delay, 30 + opening_seq_load_charizard_scene + opening_seq_play_sfx SFX_58 + opening_seq_set_orbs_coordinates OpeningOrbCoordinates_CharizardScene + opening_seq_set_orbs_animations OpeningOrbAnimations_CharizardScene + opening_seq_delay 44 + opening_seq_fade_in + opening_seq_delay 44 + opening_seq_fade_out + opening_seq_delay 30 + + opening_seq_load_scyther_scene + opening_seq_play_sfx SFX_58 + opening_seq_set_orbs_coordinates OpeningOrbCoordinates_ScytherScene + opening_seq_set_orbs_animations OpeningOrbAnimations_ScytherScene + opening_seq_delay 44 + opening_seq_fade_in + opening_seq_delay 44 + opening_seq_fade_out + opening_seq_delay 30 - dw OpeningSequenceCmd_ShowAerodactylScene - dwb OpeningSequenceCmd_PlaySFX, SFX_59 - dw OpeningSequenceCmd_SetOrbsCoordinates, OpeningOrbCoordinates_AerodactylScene - dw OpeningSequenceCmd_SetOrbsAnimations, OpeningOrbAnimations_AerodactylScene - dwb OpeningSequenceCmd_Delay, 44 - dw OpeningSequenceCmd_FadeIn - dwb OpeningSequenceCmd_Delay, 100 - dw OpeningSequenceCmd_FadeOut - dwb OpeningSequenceCmd_Delay, 60 - - dw OpeningSequenceCmd_ShowTitleScreenScene - dwb OpeningSequenceCmd_PlaySFX, SFX_5A - dw OpeningSequenceCmd_SetOrbsCoordinates, OpeningOrbCoordinates_InitialTitleScreen - dw OpeningSequenceCmd_SetOrbsAnimations, OpeningOrbAnimations_InitialTitleScreen - dw OpeningSequenceCmd_WaitOrbsAnimation - dw OpeningSequenceCmd_FadeIn - dwb OpeningSequenceCmd_Delay, 16 - dwb OpeningSequenceCmd_PlaySFX, SFX_5B - dw OpeningSequenceCmd_SetOrbsCoordinates, OpeningOrbCoordinates_InTitleScreen - dw OpeningSequenceCmd_SetOrbsAnimations, OpeningOrbAnimations_InTitleScreen - dw OpeningSequenceCmd_WaitSFX - dw OpeningSequenceCmd_PlayTitleScreenMusic - dwb OpeningSequenceCmd_Delay, 60 - dwb OpeningSequenceCmd_Delay, $ff + opening_seq_load_aerodactyl_scene + opening_seq_play_sfx SFX_59 + opening_seq_set_orbs_coordinates OpeningOrbCoordinates_AerodactylScene + opening_seq_set_orbs_animations OpeningOrbAnimations_AerodactylScene + opening_seq_delay 44 + opening_seq_fade_in + opening_seq_delay 100 + opening_seq_fade_out + opening_seq_delay 60 + + opening_seq_load_title_screen_scene + opening_seq_play_sfx SFX_5A + opening_seq_set_orbs_coordinates OpeningOrbCoordinates_InitialTitleScreen + opening_seq_set_orbs_animations OpeningOrbAnimations_InitialTitleScreen + opening_seq_wait_orbs_animation + opening_seq_fade_in + opening_seq_delay 16 + opening_seq_play_sfx SFX_5B + opening_seq_set_orbs_coordinates OpeningOrbCoordinates_InTitleScreen + opening_seq_set_orbs_animations OpeningOrbAnimations_InTitleScreen + opening_seq_wait_sfx + opening_seq_play_title_screen_music + opening_seq_delay 60 + opening_seq_end ; 0x1d614 Func_1d614: ; 1d614 (7:5614) @@ -2828,27 +2830,27 @@ Func_1d7fc: ; 1d7fc (7:57fc) Func_1d80b: ; 1d80b (7:580b) INCROM $1d80b, $1d835 -Func_1d835: ; 1d835 (7:5835) - ld a, $02 - jr Func_1d847 +AdvanceCreditsSequenceCmdPtrBy2: ; 1d835 (7:5835) + ld a, 2 + jr AdvanceCreditsSequenceCmdPtr -Func_1d839: ; 1d839 (7:5839) - ld a, $03 - jr Func_1d847 +AdvanceCreditsSequenceCmdPtrBy3: ; 1d839 (7:5839) + ld a, 3 + jr AdvanceCreditsSequenceCmdPtr -Func_1d83d: ; 1d83d (7:583d) - ld a, $05 - jr Func_1d847 +AdvanceCreditsSequenceCmdPtrBy5: ; 1d83d (7:583d) + ld a, 5 + jr AdvanceCreditsSequenceCmdPtr -Func_1d841: ; 1d841 (7:5841) - ld a, $06 - jr Func_1d847 +AdvanceCreditsSequenceCmdPtrBy6: ; 1d841 (7:5841) + ld a, 6 + jr AdvanceCreditsSequenceCmdPtr -Func_1d845: ; 1d845 (7:5845) - ld a, $04 +AdvanceCreditsSequenceCmdPtrBy4: ; 1d845 (7:5845) + ld a, 4 ; fallthrough -Func_1d847: ; 1d847 (7:5847) +AdvanceCreditsSequenceCmdPtr: ; 1d847 (7:5847) push hl ld hl, wSequenceCmdPtr add [hl] @@ -2888,12 +2890,12 @@ Func_1d9a6: ; 1d9a6 (7:59a6) Func_1d9d5: ; 1d9d5 (7:59d5) call Func_1d9a6 - jp Func_1d83d + jp AdvanceCreditsSequenceCmdPtrBy5 ; 0x1d9db Func_1d9db: ; 1d9db (7:59db) call DisableLCD - jp Func_1d835 + jp AdvanceCreditsSequenceCmdPtrBy2 ; 0x1d9e1 INCROM $1d9e1, $1daef diff --git a/src/macros/opening_sequence.asm b/src/macros/opening_sequence.asm new file mode 100644 index 0000000..7b72d13 --- /dev/null +++ b/src/macros/opening_sequence.asm @@ -0,0 +1,63 @@ +opening_seq_wait_orbs_animation: MACRO
+ dw OpeningSequenceCmd_WaitOrbsAnimation
+ENDM
+
+; argument = frames to delay
+opening_seq_delay: MACRO
+ dw OpeningSequenceCmd_Delay
+ db \1
+ENDM
+
+; argument = list of animations to set
+opening_seq_set_orbs_animations: MACRO
+ dw OpeningSequenceCmd_SetOrbsAnimations
+ dw \1
+ENDM
+
+; argument = list of coordinates to set
+opening_seq_set_orbs_coordinates: MACRO
+ dw OpeningSequenceCmd_SetOrbsCoordinates
+ dw \1
+ENDM
+
+opening_seq_play_title_screen_music: MACRO
+ dw OpeningSequenceCmd_PlayTitleScreenMusic
+ENDM
+
+opening_seq_wait_sfx: MACRO
+ dw OpeningSequenceCmd_WaitSFX
+ENDM
+
+; argument = SFX to play
+opening_seq_play_sfx: MACRO
+ dw OpeningSequenceCmd_PlaySFX
+ db \1
+ENDM
+
+opening_seq_fade_in: MACRO
+ dw OpeningSequenceCmd_FadeIn
+ENDM
+
+opening_seq_fade_out: MACRO
+ dw OpeningSequenceCmd_FadeOut
+ENDM
+
+opening_seq_load_charizard_scene: MACRO
+ dw OpeningSequenceCmd_LoadCharizardScene
+ENDM
+
+opening_seq_load_scyther_scene: MACRO
+ dw OpeningSequenceCmd_LoadScytherScene
+ENDM
+
+opening_seq_load_aerodactyl_scene: MACRO
+ dw OpeningSequenceCmd_LoadAerodactylScene
+ENDM
+
+opening_seq_load_title_screen_scene: MACRO
+ dw OpeningSequenceCmd_LoadTitleScreenScene
+ENDM
+
+opening_seq_end: MACRO
+ opening_seq_delay $ff
+ENDM
|