summaryrefslogtreecommitdiff
path: root/scripts/celadonmansion3.asm
blob: 6693f6a63a8ac28267037669a2a6fa4685481f53 (plain)
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
CeladonMansion3Script:
	call EnableAutoTextBoxDrawing
	ret

CeladonMansion3_PokedexCount:
	ld hl, wPokedexOwned
	ld b, wPokedexOwnedEnd - wPokedexOwned
	call CountSetBits
	ld a, [wNumSetBits]
	ret

CeladonMansion3TextPointers:
	dw ProgrammerText
	dw GraphicArtistText
	dw WriterText
	dw DirectorText
	dw GameFreakPCText1
	dw GameFreakPCText2
	dw GameFreakPCText3
	dw GameFreakSignText

ProgrammerText:
	TX_ASM
	call CeladonMansion3_PokedexCount
	cp 150
	ld hl, CeladonMansion3Text_486f5
	jr nc, .print
	ld hl, CeladonMansion3Text_486f0
.print
	call PrintText
	jp TextScriptEnd

CeladonMansion3Text_486f0:
	TX_FAR _ProgrammerText
	db "@"

CeladonMansion3Text_486f5:
	TX_FAR _ProgrammerText2
	db "@"

GraphicArtistText:
	TX_ASM
	call CeladonMansion3_PokedexCount
	cp 150
	jr nc, .completed
	ld hl, CeladonMansion3Text_48757
	jr .print

.completed
	ld hl, CeladonMansion3Text_4875c
	call PrintText
	call YesNoChoice
	ld a, [wCurrentMenuItem]
	and a
	jr nz, .declined_print
	call SaveScreenTilesToBuffer2
	xor a
	ld [wUpdateSpritesEnabled], a
	ld hl, wd730
	set 6, [hl]
	callab PrintDiploma
	ld hl, wd730
	res 6, [hl]
	call GBPalWhiteOutWithDelay3
	call ReloadTilesetTilePatterns
	call RestoreScreenTilesAndReloadTilePatterns
	call LoadScreenTilesFromBuffer2
	call Delay3
	call GBPalNormal
	ld hl, CeladonMansion3Text_4876b
	ld a, [$ffdb]
	and a
	jr nz, .print
	ld hl, CeladonMansion3Text_48766
	jr .print

.declined_print
	ld hl, CeladonMansion3Text_48761
.print
	call PrintText
	jp TextScriptEnd

CeladonMansion3Text_48757:
	TX_FAR _GraphicArtistText
	db "@"

CeladonMansion3Text_4875c:
	TX_FAR _GraphicArtistText2
	db "@"

CeladonMansion3Text_48761:
	TX_FAR _GraphicArtistText3
	db "@"

CeladonMansion3Text_48766:
	TX_FAR _GraphicArtistText4
	db "@"

CeladonMansion3Text_4876b:
	TX_FAR _GraphicArtistText5
	db "@"

WriterText:
	TX_ASM
	call CeladonMansion3_PokedexCount
	cp 150
	ld hl, CeladonMansion3Text_48789
	jr nc, .print
	ld hl, CeladonMansion3Text_48784
.print
	call PrintText
	jp TextScriptEnd

CeladonMansion3Text_48784:
	TX_FAR _WriterText
	db "@"

CeladonMansion3Text_48789:
	TX_FAR _WriterText2
	db "@"

DirectorText:
	TX_ASM
	call CeladonMansion3_PokedexCount
	; check pokédex
	cp 150
	jr nc, .CompletedDex
	ld hl, .GameDesigner
	jr .done
.CompletedDex
	ld hl, .CompletedDexText
	call PrintText
	call Delay3
	xor a
	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
	ld hl, .UnlockedDiplomaPrinting
.done
	call PrintText
	jp TextScriptEnd

.GameDesigner
	TX_FAR _GameDesignerText
	db "@"

.CompletedDexText
	TX_FAR _CompletedDexText
	TX_BUTTON_SOUND
	TX_ASM
	callab DisplayDiploma
	ld a, $1
	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
	jp TextScriptEnd

.UnlockedDiplomaPrinting
	TX_FAR _CompletedDexText2
	db "@"

GameFreakPCText1:
	TX_ASM
	callba Func_f1ef3
	jp TextScriptEnd

GameFreakPCText2:
	TX_ASM
	callba Func_f1eff
	jp TextScriptEnd

GameFreakPCText3:
	TX_ASM
	callba Func_f1f0b
	jp TextScriptEnd

GameFreakSignText:
	TX_ASM
	callba Func_f1f17
	jp TextScriptEnd