summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorElectroDeoxys <ElectroDeoxys@gmail.com>2021-05-21 12:19:35 +0100
committerElectroDeoxys <ElectroDeoxys@gmail.com>2021-05-21 12:19:35 +0100
commit3c2094e4bcbcb21c5469d87a8ad28501fae0aa8b (patch)
treec59948ead1e26b6f752550fffd8c282e523689d9 /src
parentcf3f62e98d1ce2b55a0939ddd5b19af15ac7d839 (diff)
Identify some sequence functions
Diffstat (limited to 'src')
-rw-r--r--src/engine/bank07.asm12
-rw-r--r--src/engine/sequences/credits_sequence_commands.asm21
-rw-r--r--src/engine/sequences/opening_sequence_commands.asm15
-rw-r--r--src/wram.asm5
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