1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
PlayIntroSequence:
call DisableLCD
farcall Func_10a9b
farcall Func_10000
call Func_3ca0
ld hl, HandleAllSpriteAnimations
call SetDoFrameFunction
call LoadTitleScreenSprites
ld a, LOW(IntroSequence)
ld [wSequenceCmdPtr + 0], a
ld a, HIGH(IntroSequence)
ld [wSequenceCmdPtr + 1], a
xor a
ld [wd317], a
ld [wIntroSequencePalsNeedUpdate], a
ld [wSequenceDelay], a
farcall FlashWhiteScreen
.loop_cmds
call DoFrameIfLCDEnabled
call UpdateRNGSources
ldh a, [hKeysPressed]
and A_BUTTON | START
jr nz, .jump_to_title_screen
ld a, [wIntroSequencePalsNeedUpdate]
or a
jr z, .no_pal_update
farcall Func_10d74
.no_pal_update
call ExecuteIntroSequenceCmd
ld a, [wSequenceDelay]
cp $ff
jr nz, .loop_cmds
jr .asm_1d39f
.jump_to_title_screen
call AssertSongFinished
or a
jr nz, .asm_1d39f
call DisableLCD
ld a, MUSIC_TITLESCREEN
call PlaySong
lb bc, 0, 0
ld a, SCENE_TITLE_SCREEN
call LoadScene
call IntroSequenceEmptyFunc
.asm_1d39f
call Func_3ca0
call .ShowPressStart
call EnableLCD
ret
.ShowPressStart
ld a, SPRITE_PRESS_START
farcall CreateSpriteAndAnimBufferEntry
ld c, SPRITE_ANIM_COORD_X
call GetSpriteAnimBufferProperty
ld a, 48
ld [hli], a ; x
ld a, 112
ld [hl], a ; y
ld c, SPRITE_ANIM_190
ld a, [wConsole]
cp CONSOLE_CGB
jr nz, .asm_1d3c5
ld c, SPRITE_ANIM_191
.asm_1d3c5
ld a, c
ld bc, 60
farcall Func_12ac9
ret
LoadTitleScreenSprites:
xor a
ld [wd4ca], a
ld [wd4cb], a
ld a, PALETTE_30
farcall LoadPaletteData
ld bc, 0
ld de, wTitleScreenSprites
.loop_load_sprites
push bc
push de
ld hl, .TitleScreenSpriteList
add hl, bc
ld a, [hl]
farcall CreateSpriteAndAnimBufferEntry
ld a, [wWhichSprite]
ld [de], a
call GetFirstSpriteAnimBufferProperty
inc hl
ld a, [hl] ; SPRITE_ANIM_ATTRIBUTES
or c
ld [hl], a
pop de
pop bc
inc de
inc c
ld a, c
cp $7
jr c, .loop_load_sprites
ret
.TitleScreenSpriteList
db SPRITE_GRASS
db SPRITE_FIRE
db SPRITE_WATER
db SPRITE_COLORLESS
db SPRITE_LIGHTNING
db SPRITE_PSYCHIC
db SPRITE_FIGHTING
|