shithub: pokered

Download patch

ref: 04ff45ee4efdd934699ac659eb6e29de5a165965
parent: eac73b32e62b232f1a39e1e9efc86b4d7bc97148
author: IIMarckus <iimarckus@gmail.com>
date: Tue Dec 20 22:08:33 EST 2011

Add Pokedex number ↔ index number conversion functions.

hg-commit-id: 39d1a9be9251


--- a/pokered.asm
+++ b/pokered.asm
@@ -10438,7 +10438,42 @@
 	db 100 ; 10.0 kg
 	db 0,"コメント さくせいちゅう@" ; コメント作成中 (Comment to be written)
 
-INCBIN "baserom.gbc",$40FF9,$1024 - $FF9
+PokedexToIndex:
+	; converts the Pokédex number at $D11E to an index
+	push bc
+	push hl
+	ld a,[$D11E]
+	ld b,a
+	ld c,0
+	ld hl,PokedexOrder
+
+.loop\@ ; go through the list until we find an entry with a matching dex number
+	inc c
+	ld a,[hli]
+	cp b
+	jr nz,.loop\@
+
+	ld a,c
+	ld [$D11E],a
+	pop hl
+	pop bc
+	ret
+
+IndexToPokedex:
+	; converts the indexédex number at $D11E to a Pokédex number
+	push bc
+	push hl
+	ld a,[$D11E]
+	dec a
+	ld hl,PokedexOrder
+	ld b,0
+	ld c,a
+	add hl,bc
+	ld a,[hl]
+	ld [$D11E],a
+	pop hl
+	pop bc
+	ret
 
 PokedexOrder: ; 5024
 	db DEX_RHYDON