summaryrefslogtreecommitdiff
path: root/engine/title.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/title.asm')
-rw-r--r--engine/title.asm96
1 files changed, 51 insertions, 45 deletions
diff --git a/engine/title.asm b/engine/title.asm
index 2e151c389..d29c90a23 100644
--- a/engine/title.asm
+++ b/engine/title.asm
@@ -9,7 +9,7 @@ _TitleScreen: ; 10ed67
ld [hBGMapMode], a
; Reset timing variables
- ld hl, wcf63
+ ld hl, wJumptableIndex
ld [hli], a ; cf63 ; Scene?
ld [hli], a ; cf64
ld [hli], a ; cf65 ; Timer lo
@@ -53,27 +53,27 @@ _TitleScreen: ; 10ed67
; Apply logo gradient:
; lines 3-4
- ld hl, $9860 ; (0,3)
+ ld hl, VBGMap0 tile $06 ; (0,3)
ld bc, $0040 ; 2 rows
ld a, 2
call ByteFill
; line 5
- ld hl, $98a0 ; (0,5)
+ ld hl, VBGMap0 tile $0a ; (0,5)
ld bc, $0020 ; 1 row
ld a, 3
call ByteFill
; line 6
- ld hl, $98c0 ; (0,6)
+ ld hl, VBGMap0 tile $0c ; (0,6)
ld bc, $0020 ; 1 row
ld a, 4
call ByteFill
; line 7
- ld hl, $98e0 ; (0,7)
+ ld hl, VBGMap0 tile $0e ; (0,7)
ld bc, $0020 ; 1 row
ld a, 5
call ByteFill
; lines 8-9
- ld hl, $9900 ; (0,8)
+ ld hl, VBGMap0 tile $10 ; (0,8)
ld bc, $0040 ; 2 rows
ld a, 6
call ByteFill
@@ -86,7 +86,7 @@ _TitleScreen: ; 10ed67
call ByteFill
; Suicune gfx
- ld hl, $9980 ; (0,12)
+ ld hl, VBGMap0 tile $18 ; (0,12)
ld bc, $00c0 ; the rest of the screen
ld a, 8
call ByteFill
@@ -130,10 +130,10 @@ _TitleScreen: ; 10ed67
; Initialize running Suicune?
ld d, $0
- call Function10eed2
+ call LoadSuicuneFrame
; Initialize background crystal
- call Function10ef06
+ call InitializeBackground
; Save WRAM bank
ld a, [rSVBK]
@@ -145,12 +145,12 @@ _TitleScreen: ; 10ed67
; Update palette colors
ld hl, TitleScreenPalettes
ld de, Unkn1Pals
- ld bc, $0080
+ ld bc, 4 * 32
call CopyBytes
ld hl, TitleScreenPalettes
ld de, BGPals
- ld bc, $0080
+ ld bc, 4 * 32
call CopyBytes
; Restore WRAM bank
@@ -220,7 +220,7 @@ _TitleScreen: ; 10ed67
ld [hBGMapMode], a
xor a
- ld [DefaultFlypoint], a
+ ld [Unkn1Pals + 2], a
; Play starting sound effect
call SFXChannelsOff
@@ -230,25 +230,28 @@ _TitleScreen: ; 10ed67
ret
; 10eea7
-Function10eea7: ; 10eea7
- ld hl, DefaultFlypoint
+SuicuneFrameIterator: ; 10eea7
+ ld hl, Unkn1Pals + 2
ld a, [hl]
ld c, a
inc [hl]
- and $7
+
+; Only do this once every eight frames
+ and (1 << 3) - 1
ret nz
+
ld a, c
- and $18
+ and 3 << 3
sla a
swap a
ld e, a
ld d, $0
- ld hl, Unknown_10eece
+ ld hl, .Frames
add hl, de
ld d, [hl]
xor a
ld [hBGMapMode], a
- call Function10eed2
+ call LoadSuicuneFrame
ld a, $1
ld [hBGMapMode], a
ld a, $3
@@ -256,33 +259,36 @@ Function10eea7: ; 10eea7
ret
; 10eece
-Unknown_10eece: ; 10eece
- db $80, $88, $00, $08
+.Frames: ; 10eece
+ db $80 ; VTiles4 tile $00
+ db $88 ; VTiles4 tile $08
+ db $00 ; VTiles5 tile $00
+ db $08 ; VTiles5 tile $08
; 10eed2
-Function10eed2: ; 10eed2
+LoadSuicuneFrame: ; 10eed2
hlcoord 6, 12
- ld b, $6
-.asm_10eed7
- ld c, $8
-.asm_10eed9
+ ld b, 6
+.row
+ ld c, 8
+.col
ld a, d
ld [hli], a
inc d
dec c
- jr nz, .asm_10eed9
- ld a, $c
+ jr nz, .col
+ ld a, SCREEN_WIDTH - 8
add l
ld l, a
- ld a, $0
+ ld a, 0
adc h
ld h, a
- ld a, $8
+ ld a, 8
add d
ld d, a
dec b
- jr nz, .asm_10eed7
+ jr nz, .row
ret
; 10eeef
@@ -293,18 +299,18 @@ DrawTitleGraphic: ; 10eeef
; c: width
; d: tile to start drawing from
; e: number of tiles to advance for each row
-.asm_10eeef
+.row
push de
push bc
push hl
-.asm_10eef2
+.col
ld a, d
ld [hli], a
inc d
dec c
- jr nz, .asm_10eef2
+ jr nz, .col
pop hl
- ld bc, $0014
+ ld bc, SCREEN_WIDTH
add hl, bc
pop bc
pop de
@@ -312,31 +318,31 @@ DrawTitleGraphic: ; 10eeef
add d
ld d, a
dec b
- jr nz, .asm_10eeef
+ jr nz, .row
ret
; 10ef06
-Function10ef06: ; 10ef06
+InitializeBackground: ; 10ef06
ld hl, Sprites
- ld d, $de
+ ld d, -$22
ld e, $0
- ld c, $5
-.asm_10ef0f
+ ld c, 5
+.loop
push bc
- call Function10ef1c
+ call .InitColumn
pop bc
ld a, $10
add d
ld d, a
dec c
- jr nz, .asm_10ef0f
+ jr nz, .loop
ret
; 10ef1c
-Function10ef1c: ; 10ef1c
+.InitColumn: ; 10ef1c
ld c, $6
ld b, $40
-.asm_10ef20
+.loop2
ld a, d
ld [hli], a
ld a, b
@@ -351,7 +357,7 @@ endr
ld a, $80
ld [hli], a
dec c
- jr nz, .asm_10ef20
+ jr nz, .loop2
ret
; 10ef32
@@ -363,7 +369,7 @@ AnimateTitleCrystal: ; 10ef32
; y is really from the bottom of the sprite, which is two tiles high
ld hl, Sprites
ld a, [hl]
- cp 6 + 16
+ cp 6 + $10
ret z
; Move all 30 parts of the crystal down by 2