diff options
author | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2021-05-21 12:19:35 +0100 |
---|---|---|
committer | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2021-05-21 12:19:35 +0100 |
commit | 3c2094e4bcbcb21c5469d87a8ad28501fae0aa8b (patch) | |
tree | c59948ead1e26b6f752550fffd8c282e523689d9 /src | |
parent | cf3f62e98d1ce2b55a0939ddd5b19af15ac7d839 (diff) |
Identify some sequence functions
Diffstat (limited to 'src')
-rw-r--r-- | src/engine/bank07.asm | 12 | ||||
-rw-r--r-- | src/engine/sequences/credits_sequence_commands.asm | 21 | ||||
-rw-r--r-- | src/engine/sequences/opening_sequence_commands.asm | 15 | ||||
-rw-r--r-- | src/wram.asm | 5 |
4 files changed, 29 insertions, 24 deletions
diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm index 8c98a87..d57e53c 100644 --- a/src/engine/bank07.asm +++ b/src/engine/bank07.asm @@ -2288,7 +2288,7 @@ Func_1d335: ; 1d335 (7:5335) xor a ld [wd317], a ld [wd634], a - ld [wd633], a + ld [wSequenceDelay], a farcall FlashWhiteScreen .asm_1d364 @@ -2302,8 +2302,8 @@ Func_1d335: ; 1d335 (7:5335) jr z, .asm_1d37a farcall Func_10d74 .asm_1d37a - call Func_1d408 - ld a, [wd633] + call ExecuteOpeningSequenceCmd + ld a, [wSequenceDelay] cp $ff jr nz, .asm_1d364 jr .asm_1d39f @@ -2388,12 +2388,12 @@ Credits_1d6ad: ; 1d6ad (7:56ad) ld a, MUSIC_CREDITS call PlaySong farcall FlashWhiteScreen - call Func_1d7fc + call SetCreditsSequenceCmdPtr .asm_1d6c8 call DoFrameIfLCDEnabled call Func_1d765 - call Func_1d80b - ld a, [wd633] + call ExecuteCreditsSequenceCmd + ld a, [wSequenceDelay] cp $ff jr nz, .asm_1d6c8 call WaitForSongToFinish diff --git a/src/engine/sequences/credits_sequence_commands.asm b/src/engine/sequences/credits_sequence_commands.asm index 630760e..dece700 100644 --- a/src/engine/sequences/credits_sequence_commands.asm +++ b/src/engine/sequences/credits_sequence_commands.asm @@ -1,21 +1,22 @@ -Func_1d7fc: ; 1d7fc (7:57fc)
+SetCreditsSequenceCmdPtr: ; 1d7fc (7:57fc)
ld a, LOW(CreditsSequence)
ld [wSequenceCmdPtr + 0], a
ld a, HIGH(CreditsSequence)
ld [wSequenceCmdPtr + 1], a
xor a
- ld [wd633], a
+ ld [wSequenceDelay], a
ret
; 0x1d80b
-Func_1d80b: ; 1d80b (7:580b)
- ld a, [wd633]
+ExecuteCreditsSequenceCmd: ; 1d80b (7:580b)
+ ld a, [wSequenceDelay]
or a
jr z, .call_func
cp $ff
- ret z
- dec a
- ld [wd633], a
+ ret z ; sequence ended
+
+ dec a ; still waiting
+ ld [wSequenceDelay], a
ret
.call_func
@@ -38,7 +39,7 @@ Func_1d80b: ; 1d80b (7:580b) ld d, a
pop hl
call CallHL2
- jr Func_1d80b
+ jr ExecuteCreditsSequenceCmd
; 0x1d834
ret ; stray ret
@@ -77,7 +78,7 @@ AdvanceCreditsSequenceCmdPtr: ; 1d847 (7:5847) CreditsSequenceCmd_Wait: ; 1d853 (7:5853)
ld a, c
- ld [wd633], a
+ ld [wSequenceDelay], a
jp AdvanceCreditsSequenceCmdPtrBy3
; 0x1d85a
@@ -453,7 +454,7 @@ CreditsSequenceCmd_TransformOverlay: ; 1daa5 (7:5aa5) or a
jr z, .advance_sequence
ld a, $01
- ld [wd633], a
+ ld [wSequenceDelay], a
ret
.advance_sequence
diff --git a/src/engine/sequences/opening_sequence_commands.asm b/src/engine/sequences/opening_sequence_commands.asm index 6f82387..be8639d 100644 --- a/src/engine/sequences/opening_sequence_commands.asm +++ b/src/engine/sequences/opening_sequence_commands.asm @@ -1,11 +1,12 @@ -Func_1d408: ; 1d408 (7:5408)
- ld a, [wd633]
+ExecuteOpeningSequenceCmd: ; 1d408 (7:5408)
+ ld a, [wSequenceDelay]
or a
jr z, .call_function
cp $ff
- ret z
- dec a
- ld [wd633], a
+ ret z ; sequence ended
+
+ dec a ; still waiting
+ ld [wSequenceDelay], a
ret
.call_function
@@ -24,7 +25,7 @@ Func_1d408: ; 1d408 (7:5408) ld l, e
ld h, d
call CallHL2
- jr c, Func_1d408
+ jr c, ExecuteOpeningSequenceCmd
ret
; 0x1d42e
@@ -75,7 +76,7 @@ OpeningSequenceCmd_WaitOrbsAnimation: ; 1d444 (7:5444) OpeningSequenceCmd_Wait: ; 1d460 (7:5460)
ld a, c
- ld [wd633], a
+ ld [wSequenceDelay], a
call AdvanceOpeningSequenceCmdPtrBy3
scf
ret
diff --git a/src/wram.asm b/src/wram.asm index 7cfb777..5fd63bb 100644 --- a/src/wram.asm +++ b/src/wram.asm @@ -3043,7 +3043,10 @@ wTitleScreenSprites:: ; d629 wSequenceCmdPtr:: ; d631 ds $2 -wd633:: ; d633 +; when non-zero, is decremented and only +; executes the next sequence command when it's 0 +; when it's $ff, it is interpreted as end of sequence +wSequenceDelay:: ; d633 ds $1 wd634:: ; d634 |