shithub: pokecrystal

Download patch

ref: 5407d8de920b779d760d88153d8e314a687d100e
parent: 50ce0a219ef291099aa3aa43a177bcea2807d97b
author: Remy Oukaour <remy.oukaour@gmail.com>
date: Tue Jan 16 12:59:05 EST 2018

Cleaner Pokédex code

--- a/engine/crystal_colors.asm
+++ b/engine/crystal_colors.asm
@@ -23,7 +23,6 @@
 ; 49330 (12:5330)
 
 .dw ; 49330
-
 	dw MG_Mobile_Layout00
 	dw MG_Mobile_Layout01
 	dw MG_Mobile_Layout02
--- a/engine/pokedex.asm
+++ b/engine/pokedex.asm
@@ -15,6 +15,9 @@
 	const DEXSTATE_UPDATE_UNOWN_MODE
 	const DEXSTATE_EXIT
 
+POKDEX_SCX EQU 5
+GLOBAL POKDEX_SCX
+
 Pokedex: ; 40000
 
 	ld a, [hWX]
@@ -230,7 +233,7 @@
 	call Pokedex_SetBGMapMode_3ifDMG_4ifCGB
 	call Pokedex_ResetBGMapMode
 	call Pokedex_DrawMainScreenBG
-	ld a, $5
+	ld a, POKDEX_SCX
 	ld [hSCX], a
 
 	ld a, [wCurrentDexMode]
@@ -323,7 +326,7 @@
 
 Pokedex_InitDexEntryScreen: ; 40217 (10:4217)
 	call LowVolume
-	xor a
+	xor a ; page 1
 	ld [wPokedexStatus], a
 	xor a
 	ld [hBGMapMode], a
@@ -383,7 +386,7 @@
 
 Pokedex_Page: ; 40292
 	ld a, [wPokedexStatus]
-	xor $1
+	xor 1 ; toggle page
 	ld [wPokedexStatus], a
 	call Pokedex_GetSelectedMon
 	ld [wPrevDexEntry], a
@@ -394,7 +397,7 @@
 Pokedex_ReinitDexEntryScreen: ; 402aa (10:42aa)
 ; Reinitialize the Pokédex entry screen after changing the selected mon.
 	call Pokedex_BlackOutBG
-	xor a
+	xor a ; page 1
 	ld [wPokedexStatus], a
 	xor a
 	ld [hBGMapMode], a
@@ -419,10 +422,10 @@
 
 DexEntryScreen_ArrowCursorData: ; 402e8
 	db D_RIGHT | D_LEFT, 4
-	dwcoord 1, 17
-	dwcoord 6, 17
-	dwcoord 11, 17
-	dwcoord 15, 17
+	dwcoord 1, 17  ; PAGE
+	dwcoord 6, 17  ; AREA
+	dwcoord 11, 17 ; CRY
+	dwcoord 15, 17 ; PRNT
 
 
 DexEntryScreen_MenuActionJumptable: ; 402f2
@@ -450,7 +453,7 @@
 	ld [hBGMapMode], a
 	ld a, $90
 	ld [hWY], a
-	ld a, $5
+	ld a, POKDEX_SCX
 	ld [hSCX], a
 	call DelayFrame
 	call Pokedex_RedisplayDexEntry
@@ -494,7 +497,7 @@
 	call Pokedex_RedisplayDexEntry
 	call EnableLCD
 	call WaitBGMap
-	ld a, $5
+	ld a, POKDEX_SCX
 	ld [hSCX], a
 	call Pokedex_ApplyUsualPals
 	ret
@@ -555,16 +558,16 @@
 
 .NoUnownModeArrowCursorData: ; 403f3
 	db D_UP | D_DOWN, 3
-	dwcoord 2,  4
-	dwcoord 2,  6
-	dwcoord 2,  8
+	dwcoord 2,  4 ; NEW
+	dwcoord 2,  6 ; OLD
+	dwcoord 2,  8 ; ABC
 
 .ArrowCursorData: ; 403fb
 	db D_UP | D_DOWN, 4
-	dwcoord 2,  4
-	dwcoord 2,  6
-	dwcoord 2,  8
-	dwcoord 2, 10
+	dwcoord 2,  4 ; NEW
+	dwcoord 2,  6 ; OLD
+	dwcoord 2,  8 ; ABC
+	dwcoord 2, 10 ; UNOWN
 
 .MenuActionJumptable: ; 40405 (10:4405)
 	dw .MenuAction_NewMode
@@ -657,10 +660,10 @@
 
 .ArrowCursorData: ; 4049e
 	db D_UP | D_DOWN, 4
-	dwcoord 2, 4
-	dwcoord 2, 6
-	dwcoord 2, 13
-	dwcoord 2, 15
+	dwcoord 2, 4  ; TYPE 1
+	dwcoord 2, 6  ; TYPE 2
+	dwcoord 2, 13 ; BEGIN SEARCH
+	dwcoord 2, 15 ; CANCEL
 
 .MenuActionJumptable: ; 404a8
 	dw .MenuAction_MonSearchType
@@ -730,7 +733,7 @@
 	call Pokedex_SetBGMapMode3
 	call Pokedex_ResetBGMapMode
 	call Pokedex_DrawSearchResultsScreenBG
-	ld a, $5
+	ld a, POKDEX_SCX
 	ld [hSCX], a
 	ld a, $4a
 	ld [hWX], a
@@ -1345,33 +1348,34 @@
 	ret
 
 UnownModeLetterAndCursorCoords: ; 40a3e
+; entries correspond to Unown forms
 ;           letter, cursor
-	dwcoord   4,11,   3,11
-	dwcoord   4,10,   3,10
-	dwcoord   4, 9,   3, 9
-	dwcoord   4, 8,   3, 8
-	dwcoord   4, 7,   3, 7
-	dwcoord   4, 6,   3, 6
-	dwcoord   4, 5,   3, 5
-	dwcoord   4, 4,   3, 4
-	dwcoord   4, 3,   3, 2
-	dwcoord   5, 3,   5, 2
-	dwcoord   6, 3,   6, 2
-	dwcoord   7, 3,   7, 2
-	dwcoord   8, 3,   8, 2
-	dwcoord   9, 3,   9, 2
-	dwcoord  10, 3,  10, 2
-	dwcoord  11, 3,  11, 2
-	dwcoord  12, 3,  12, 2
-	dwcoord  13, 3,  13, 2
-	dwcoord  14, 3,  15, 2
-	dwcoord  14, 4,  15, 4
-	dwcoord  14, 5,  15, 5
-	dwcoord  14, 6,  15, 6
-	dwcoord  14, 7,  15, 7
-	dwcoord  14, 8,  15, 8
-	dwcoord  14, 9,  15, 9
-	dwcoord  14,10,  15,10
+	dwcoord   4,11,   3,11 ; A
+	dwcoord   4,10,   3,10 ; B
+	dwcoord   4, 9,   3, 9 ; C
+	dwcoord   4, 8,   3, 8 ; D
+	dwcoord   4, 7,   3, 7 ; E
+	dwcoord   4, 6,   3, 6 ; F
+	dwcoord   4, 5,   3, 5 ; G
+	dwcoord   4, 4,   3, 4 ; H
+	dwcoord   4, 3,   3, 2 ; I
+	dwcoord   5, 3,   5, 2 ; J
+	dwcoord   6, 3,   6, 2 ; K
+	dwcoord   7, 3,   7, 2 ; L
+	dwcoord   8, 3,   8, 2 ; M
+	dwcoord   9, 3,   9, 2 ; N
+	dwcoord  10, 3,  10, 2 ; O
+	dwcoord  11, 3,  11, 2 ; P
+	dwcoord  12, 3,  12, 2 ; Q
+	dwcoord  13, 3,  13, 2 ; R
+	dwcoord  14, 3,  15, 2 ; S
+	dwcoord  14, 4,  15, 4 ; T
+	dwcoord  14, 5,  15, 5 ; U
+	dwcoord  14, 6,  15, 6 ; V
+	dwcoord  14, 7,  15, 7 ; W
+	dwcoord  14, 8,  15, 8 ; X
+	dwcoord  14, 9,  15, 9 ; Y
+	dwcoord  14,10,  15,10 ; Z
 
 Pokedex_FillBackgroundColor2: ; 40aa6
 	hlcoord 0, 0
--- a/engine/pokedex_2.asm
+++ b/engine/pokedex_2.asm
@@ -182,7 +182,7 @@
 	call FarString
 	pop bc
 	ld a, [wPokedexStatus]
-	or a
+	or a ; check for page 2
 	ret z
 
 ; Page 2
--- a/engine/routines/getsquareroot.asm
+++ b/engine/routines/getsquareroot.asm
@@ -1,3 +1,5 @@
+NUM_SQUARE_ROOTS EQU 255
+
 GetSquareRoot: ; 13b87
 ; Return the square root of de in b.
 
@@ -10,7 +12,7 @@
 ; Make sure we don't go past the end of the table.
 	inc b
 	ld a, b
-	cp $ff
+	cp NUM_SQUARE_ROOTS
 	ret z
 
 ; Iterate over the table until b**2 >= de.
@@ -23,8 +25,8 @@
 	ret
 
 .Squares: ; 13b98
-root = 1
-	rept $ff
-	dw root * root
-root = root + 1
-	endr
+x = 1
+rept NUM_SQUARE_ROOTS
+	dw x * x
+x = x + 1
+endr
--- a/engine/routines/newpokedexentry.asm
+++ b/engine/routines/newpokedexentry.asm
@@ -11,13 +11,13 @@
 	ld a, [wPokedexStatus]
 	push af
 	ld a, [hSCX]
-	add $5
+	add POKDEX_SCX
 	ld [hSCX], a
 	xor a
 	ld [wPokedexStatus], a
 	farcall _NewPokedexEntry
 	call WaitPressAorB_BlinkCursor
-	ld a, $1
+	ld a, 1 ; page 2
 	ld [wPokedexStatus], a
 	farcall DisplayDexEntry
 	call WaitPressAorB_BlinkCursor
@@ -26,7 +26,7 @@
 	call MaxVolume
 	call RotateThreePalettesRight
 	ld a, [hSCX]
-	add -5 ; 251 ; NUM_POKEMON
+	add -POKDEX_SCX
 	ld [hSCX], a
 	call .ReturnFromDexRegistration
 	pop af