summaryrefslogtreecommitdiff
path: root/engine/pokedex_rating.asm
blob: 195c89fb59ebeb461d15ea8e4625374e99e00571 (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
DisplayDexRating: ; 44169 (11:4169)
	ld hl, wPokedexSeen
	ld b, wPokedexSeenEnd - wPokedexSeen
	call CountSetBits
	ld a, [wNumSetBits]
	ld [hDexRatingNumMonsSeen], a
	ld hl, wPokedexOwned
	ld b, wPokedexOwnedEnd - wPokedexOwned
	call CountSetBits
	ld a, [wNumSetBits]
	ld [hDexRatingNumMonsOwned], a
	ld hl, DexRatingsTable
.findRating
	ld a, [hli]
	ld b, a
	ld a, [hDexRatingNumMonsOwned]
	cp b
	jr c, .foundRating
	inc hl
	inc hl
	jr .findRating
.foundRating
	ld a, [hli]
	ld h, [hl]
	ld l, a ; load text pointer into hl
	CheckAndResetEventA EVENT_HALL_OF_FAME_DEX_RATING
	jr nz, .hallOfFame
	push hl
	ld hl, DexCompletionText
	call PrintText
	pop hl
	call PrintText
	callba PlayPokedexRatingSfx
	jp WaitForTextScrollButtonPress
.hallOfFame
	ld de, wDexRatingNumMonsSeen
	ld a, [hDexRatingNumMonsSeen]
	ld [de], a
	inc de
	ld a, [hDexRatingNumMonsOwned]
	ld [de], a
	inc de
.copyRatingTextLoop
	ld a, [hli]
	cp a, "@"
	jr z, .doneCopying
	ld [de], a
	inc de
	jr .copyRatingTextLoop
.doneCopying
	ld [de], a
	ret

DexCompletionText: ; 441cc (11:41cc)
	TX_FAR _DexCompletionText
	db "@"

DexRatingsTable: ; 441d1 (11:41d1)
	db 10
	dw DexRatingText_Own0To9
	db 20
	dw DexRatingText_Own10To19
	db 30
	dw DexRatingText_Own20To29
	db 40
	dw DexRatingText_Own30To39
	db 50
	dw DexRatingText_Own40To49
	db 60
	dw DexRatingText_Own50To59
	db 70
	dw DexRatingText_Own60To69
	db 80
	dw DexRatingText_Own70To79
	db 90
	dw DexRatingText_Own80To89
	db 100
	dw DexRatingText_Own90To99
	db 110
	dw DexRatingText_Own100To109
	db 120
	dw DexRatingText_Own110To119
	db 130
	dw DexRatingText_Own120To129
	db 140
	dw DexRatingText_Own130To139
	db 150
	dw DexRatingText_Own140To149
	db 152
	dw DexRatingText_Own150To151

DexRatingText_Own0To9: ; 44201 (11:4201)
	TX_FAR _DexRatingText_Own0To9
	db "@"

DexRatingText_Own10To19: ; 44206 (11:4206)
	TX_FAR _DexRatingText_Own10To19
	db "@"

DexRatingText_Own20To29: ; 4420b (11:420b)
	TX_FAR _DexRatingText_Own20To29
	db "@"

DexRatingText_Own30To39: ; 44210 (11:4210)
	TX_FAR _DexRatingText_Own30To39
	db "@"

DexRatingText_Own40To49: ; 44215 (11:4215)
	TX_FAR _DexRatingText_Own40To49
	db "@"

DexRatingText_Own50To59: ; 4421a (11:421a)
	TX_FAR _DexRatingText_Own50To59
	db "@"

DexRatingText_Own60To69: ; 4421f (11:421f)
	TX_FAR _DexRatingText_Own60To69
	db "@"

DexRatingText_Own70To79: ; 44224 (11:4224)
	TX_FAR _DexRatingText_Own70To79
	db "@"

DexRatingText_Own80To89: ; 44229 (11:4229)
	TX_FAR _DexRatingText_Own80To89
	db "@"

DexRatingText_Own90To99: ; 4422e (11:422e)
	TX_FAR _DexRatingText_Own90To99
	db "@"

DexRatingText_Own100To109: ; 44233 (11:4233)
	TX_FAR _DexRatingText_Own100To109
	db "@"

DexRatingText_Own110To119: ; 44238 (11:4238)
	TX_FAR _DexRatingText_Own110To119
	db "@"

DexRatingText_Own120To129: ; 4423d (11:423d)
	TX_FAR _DexRatingText_Own120To129
	db "@"

DexRatingText_Own130To139: ; 44242 (11:4242)
	TX_FAR _DexRatingText_Own130To139
	db "@"

DexRatingText_Own140To149: ; 44247 (11:4247)
	TX_FAR _DexRatingText_Own140To149
	db "@"

DexRatingText_Own150To151: ; 4424c (11:424c)
	TX_FAR _DexRatingText_Own150To151
	db "@"