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
|
LoadSGBPokedexGFX:
ld hl, SGBPokedexGFX_LZ
ld de, vTiles2 tile $31
call Decompress
ret
LoadSGBPokedexGFX2:
ld hl, SGBPokedexGFX_LZ
ld de, vTiles2 tile $31
lb bc, BANK(SGBPokedexGFX_LZ), 58
call DecompressRequest2bpp
ret
SGBPokedexGFX_LZ:
INCBIN "gfx/pokedex/pokedex_sgb.2bpp.lz"
LoadQuestionMarkPic:
ld hl, .QuestionMarkLZ
ld de, sScratch
call Decompress
ret
.QuestionMarkLZ:
INCBIN "gfx/pokedex/question_mark.2bpp.lz"
DrawPokedexListWindow:
ld a, $32
hlcoord 0, 17
ld bc, 12
call ByteFill
hlcoord 0, 1
lb bc, 15, 11
call ClearBox
ld a, $34
hlcoord 0, 0
ld bc, 11
call ByteFill
ld a, $39
hlcoord 0, 16
ld bc, 11
call ByteFill
hlcoord 5, 0
ld [hl], $3f
hlcoord 5, 16
ld [hl], $40
ld a, [wCurDexMode]
cp DEXMODE_OLD
jr z, .OldMode
; scroll bar
hlcoord 11, 0
ld [hl], $50
ld a, $51
hlcoord 11, 1
ld b, SCREEN_HEIGHT - 3
call Pokedex_FillColumn2
ld [hl], $52
jr .Done
.OldMode:
; no scroll bar
hlcoord 11, 0
ld [hl], $66
ld a, $67
hlcoord 11, 1
ld b, SCREEN_HEIGHT - 3
call Pokedex_FillColumn2
ld [hl], $68
.Done:
ret
DrawPokedexSearchResultsWindow:
ld a, $34
hlcoord 0, 0
ld bc, 11
call ByteFill
ld a, $39
hlcoord 0, 10
ld bc, 11
call ByteFill
hlcoord 5, 0
ld [hl], $3f
hlcoord 5, 10
ld [hl], $40
hlcoord 11, 0
ld [hl], $66
ld a, $67
hlcoord 11, 1
ld b, SCREEN_HEIGHT / 2
call Pokedex_FillColumn2
ld [hl], $68
ld a, $34
hlcoord 0, 11
ld bc, 11
call ByteFill
ld a, $39
hlcoord 0, 17
ld bc, 11
call ByteFill
hlcoord 11, 11
ld [hl], $66
ld a, $67
hlcoord 11, 12
ld b, 5
call Pokedex_FillColumn2
ld [hl], $68
hlcoord 0, 12
lb bc, 5, 11
call ClearBox
ld de, .esults_D
hlcoord 0, 12
call PlaceString
ret
.esults_D
; (SEARCH R)
db "ESULTS"
next ""
; (### FOUN)
next "D!@"
DrawDexEntryScreenRightEdge:
ldh a, [hBGMapAddress]
ld l, a
ldh a, [hBGMapAddress + 1]
ld h, a
push hl
inc hl
ld a, l
ldh [hBGMapAddress], a
ld a, h
ldh [hBGMapAddress + 1], a
hlcoord 19, 0
ld [hl], $66
hlcoord 19, 1
ld a, $67
ld b, 15
call Pokedex_FillColumn2
ld [hl], $68
hlcoord 19, 17
ld [hl], $3c
xor a
ld b, SCREEN_HEIGHT
hlcoord 19, 0, wAttrmap
call Pokedex_FillColumn2
call WaitBGMap2
pop hl
ld a, l
ldh [hBGMapAddress], a
ld a, h
ldh [hBGMapAddress + 1], a
ret
Pokedex_FillColumn2:
; A local duplicate of Pokedex_FillColumn.
push de
ld de, SCREEN_WIDTH
.loop
ld [hl], a
add hl, de
dec b
jr nz, .loop
pop de
ret
|