shithub: pokered

Download patch

ref: 56d75db28ad827d514f3c2c52da0fe4ba2759610
parent: 87f4f4eb44f16cdf23a8cb7a67efd69ad4a34d75
author: YamaArashi <shadow962@live.com>
date: Mon Jul 27 14:48:44 EDT 2015

constants for PrintNumber

--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -149,6 +149,14 @@
 TEXT_REPEL_WORE_OFF   EQU $d2
 TEXT_SAFARI_GAME_OVER EQU $d3
 
+; PrintNumber
+
+BIT_LEFT_ALIGN     EQU 6
+BIT_LEADING_ZEROES EQU 7
+
+LEFT_ALIGN EQU     (1 << BIT_LEFT_ALIGN)
+LEADING_ZEROES EQU (1 << BIT_LEADING_ZEROES)
+
 ; serial
 
 ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -2141,7 +2141,7 @@
 	Coorda 13, 16
 	coord hl, 7, 14
 	ld de, W_NUMSAFARIBALLS
-	ld bc, $102
+	lb bc, 1, 2
 	call PrintNumber
 	ld b, $1 ; top menu item X
 .leftColumn_WaitForInput
@@ -2174,7 +2174,7 @@
 	Coorda 1, 16 ; clear lower cursor position in left column
 	coord hl, 7, 14
 	ld de, W_NUMSAFARIBALLS
-	ld bc, $102
+	lb bc, 1, 2
 	call PrintNumber
 	ld b, $d ; top menu item X
 .rightColumn_WaitForInput
@@ -2951,11 +2951,11 @@
 	ld [hl], "/"
 	coord hl, 5, 11
 	ld de, wcd6d
-	ld bc, $102
+	lb bc, 1, 2
 	call PrintNumber
 	coord hl, 8, 11
 	ld de, wd11e
-	ld bc, $102
+	lb bc, 1, 2
 	call PrintNumber
 	call GetCurrentMove
 	coord hl, 2, 10
--- a/engine/hall_of_fame.asm
+++ b/engine/hall_of_fame.asm
@@ -225,12 +225,12 @@
 	call PlaceString
 	coord hl, 5, 7
 	ld de, W_PLAYTIMEHOURS + 1
-	ld bc, $103
+	lb bc, 1, 3
 	call PrintNumber
 	ld [hl], $6d
 	inc hl
 	ld de, W_PLAYTIMEMINUTES + 1
-	ld bc, $8102
+	lb bc, LEADING_ZEROES | 1, 2
 	call PrintNumber
 	coord hl, 1, 9
 	ld de, HoFMoneyText
--- a/engine/hp_bar.asm
+++ b/engine/hp_bar.asm
@@ -228,7 +228,7 @@
 	ld [hli], a
 	pop hl
 	ld de, wHPBarTempHP
-	ld bc, $203
+	lb bc, 2, 3
 	call PrintNumber
 	call DelayFrame
 	pop hl
--- a/engine/menu/league_pc.asm
+++ b/engine/menu/league_pc.asm
@@ -108,7 +108,7 @@
 	call PlaceString
 	coord hl, 16, 15
 	ld de, wHoFTeamNo
-	ld bc, $0103
+	lb bc, 1, 3
 	call PrintNumber
 	jpba HoFDisplayMonInfo
 
--- a/engine/menu/main_menu.asm
+++ b/engine/menu/main_menu.asm
@@ -396,7 +396,7 @@
 	call CountSetBits
 	pop hl
 	ld de, wd11e
-	ld bc, $102
+	lb bc, 1, 2
 	jp PrintNumber
 
 PrintNumOwnedMons: ; 5e42 (1:5e42)
@@ -406,17 +406,17 @@
 	call CountSetBits
 	pop hl
 	ld de, wd11e
-	ld bc, $103
+	lb bc, 1, 3
 	jp PrintNumber
 
 PrintPlayTime: ; 5e55 (1:5e55)
 	ld de, W_PLAYTIMEHOURS + 1
-	ld bc, $103
+	lb bc, 1, 3
 	call PrintNumber
 	ld [hl], $6d
 	inc hl
 	ld de, W_PLAYTIMEMINUTES + 1
-	ld bc, $8102
+	lb bc, LEADING_ZEROES | 1, 2
 	jp PrintNumber
 
 SaveScreenInfoText: ; 5e6a (1:5e6a)
--- a/engine/menu/pokedex.asm
+++ b/engine/menu/pokedex.asm
@@ -171,7 +171,7 @@
 	call CountSetBits
 	ld de,wd11e
 	coord hl, 16, 3
-	ld bc,$0103
+	lb bc, 1, 3
 	call PrintNumber ; print number of seen pokemon
 	ld hl,wPokedexOwned
 	ld b,wPokedexOwnedEnd - wPokedexOwned
@@ -178,7 +178,7 @@
 	call CountSetBits
 	ld de,wd11e
 	coord hl, 16, 6
-	ld bc,$0103
+	lb bc, 1, 3
 	call PrintNumber ; print number of owned pokemon
 	coord hl, 16, 2
 	ld de,PokedexSeenText
@@ -233,12 +233,12 @@
 	push af
 	push de
 	push hl
-	ld de,-20
+	ld de,-SCREEN_WIDTH
 	add hl,de
 	ld de,wd11e
-	ld bc,$8103
+	lb bc, LEADING_ZEROES | 1, 3
 	call PrintNumber ; print the pokedex number
-	ld de,20
+	ld de,SCREEN_WIDTH
 	add hl,de
 	dec hl
 	push hl
@@ -466,7 +466,7 @@
 	ld a,$f2
 	ld [hli],a
 	ld de,wd11e
-	ld bc,$8103
+	lb bc, LEADING_ZEROES | 1, 3
 	call PrintNumber ; print pokedex number
 	ld hl,wPokedexOwned
 	call IsPokemonBitSet
@@ -496,7 +496,7 @@
 	inc de ; de = address of feet (height)
 	ld a,[de] ; reads feet, but a is overwritten without being used
 	coord hl, 12, 6
-	ld bc,$0102
+	lb bc, 1, 2
 	call PrintNumber ; print feet (height)
 	ld a,$60 ; feet symbol tile (one tick)
 	ld [hl],a
@@ -503,7 +503,7 @@
 	inc de
 	inc de ; de = address of inches (height)
 	coord hl, 15, 6
-	ld bc,$8102
+	lb bc, LEADING_ZEROES | 1, 2
 	call PrintNumber ; print inches (height)
 	ld a,$61 ; inches symbol tile (two ticks)
 	ld [hl],a
@@ -525,7 +525,7 @@
 	ld [hl],a ; store lower byte of weight in [hDexWeight + 1]
 	ld de,hDexWeight
 	coord hl, 11, 8
-	ld bc,$0205 ; no leading zeroes, right-aligned, 2 bytes, 5 digits
+	lb bc, 2, 5 ; 2 bytes, 5 digits
 	call PrintNumber ; print weight
 	coord hl, 14, 8
 	ld a,[hDexWeight + 1]
--- a/engine/menu/start_sub_menus.asm
+++ b/engine/menu/start_sub_menus.asm
@@ -602,12 +602,12 @@
 	call PrintBCDNumber
 	coord hl, 9, 6
 	ld de,W_PLAYTIMEHOURS + 1 ; hours
-	ld bc,$4103
+	lb bc, LEFT_ALIGN | 1, 3
 	call PrintNumber
 	ld [hl],$d6 ; colon tile ID
 	inc hl
 	ld de,W_PLAYTIMEMINUTES + 1 ; minutes
-	ld bc,$8102
+	lb bc, LEADING_ZEROES | 1, 2
 	jp PrintNumber
 
 TrainerInfo_FarCopyData: ; 1357f (4:757f)
--- a/engine/menu/status_screen.asm
+++ b/engine/menu/status_screen.asm
@@ -50,12 +50,12 @@
 .printFraction
 	add hl, bc
 	ld de, wLoadedMonHP
-	ld bc, $203
+	lb bc, 2, 3
 	call PrintNumber
 	ld a, "/"
 	ld [hli], a
 	ld de, wLoadedMonMaxHP
-	ld bc, $203
+	lb bc, 2, 3
 	call PrintNumber
 	pop hl
 	pop de
@@ -144,7 +144,7 @@
 	predef IndexToPokedex
 	coord hl, 3, 7
 	ld de, wd11e
-	ld bc, $8103 ; Zero-padded, 3
+	lb bc, LEADING_ZEROES | 1, 3
 	call PrintNumber ; Pokémon no.
 	coord hl, 11, 10
 	predef PrintMonType
@@ -162,7 +162,7 @@
 	call PlaceString ; OT
 	coord hl, 12, 14
 	ld de, wLoadedMonOTID
-	ld bc, $8205 ; 5
+	lb bc, LEADING_ZEROES | 2, 5
 	call PrintNumber ; ID Number
 	ld d, $0
 	call PrintStatsBox
@@ -270,7 +270,7 @@
 	pop bc
 	add hl, bc
 	ld de, wLoadedMonAttack
-	ld bc, $0203 ; three digits
+	lb bc, 2, 3
 	call PrintStat
 	ld de, wLoadedMonDefense
 	call PrintStat
@@ -367,12 +367,12 @@
 	ld l, e
 	push hl
 	ld de, wStatusScreenCurrentPP
-	ld bc, $0102
+	lb bc, 1, 2
 	call PrintNumber
 	ld a, "/"
 	ld [hli], a
 	ld de, wd11e
-	ld bc, $0102
+	lb bc, 1, 2
 	call PrintNumber
 	pop hl
 	ld de, SCREEN_WIDTH * 2
@@ -405,12 +405,12 @@
 	ld [wLoadedMonLevel], a
 	ld de, wLoadedMonExp
 	coord hl, 12, 4
-	ld bc, $0307
+	lb bc, 3, 7
 	call PrintNumber ; exp
 	call CalcExpToLevelUp
 	ld de, wLoadedMonExp
 	coord hl, 7, 6
-	ld bc, $0307
+	lb bc, 3, 7
 	call PrintNumber ; exp needed to level up
 	coord hl, 9, 0
 	call StatusScreen_ClearName
--- a/engine/slot_machine.asm
+++ b/engine/slot_machine.asm
@@ -649,7 +649,7 @@
 SlotMachine_PrintPayoutCoins: ; 3775f (d:775f)
 	coord hl, 11, 1
 	ld de, wPayoutCoins
-	ld bc, $8204 ; 2 bytes, 4 digits, leading zeroes
+	lb bc, LEADING_ZEROES | 2, 4 ; 2 bytes, 4 digits
 	jp PrintNumber
 
 SlotMachine_PayCoinsToPlayer: ; 3776b (d:776b)
--- a/engine/trade2.asm
+++ b/engine/trade2.asm
@@ -7,7 +7,7 @@
 	predef IndexToPokedex
 	coord hl, 9, 0
 	ld de,wd11e
-	ld bc,$8103
+	lb bc, LEADING_ZEROES | 1, 3
 	call PrintNumber
 	coord hl, 5, 2
 	ld de,wcf4b
@@ -17,7 +17,7 @@
 	call PlaceString
 	coord hl, 8, 6
 	ld de,wTradedPlayerMonOTID
-	ld bc,$8205
+	lb bc, LEADING_ZEROES | 2, 5
 	jp PrintNumber
 
 Trade_PrintEnemyMonInfoText: ; 427a7 (10:67a7)
@@ -29,7 +29,7 @@
 	predef IndexToPokedex
 	coord hl, 9, 10
 	ld de,wd11e
-	ld bc,$8103
+	lb bc, LEADING_ZEROES | 1, 3
 	call PrintNumber
 	coord hl, 5, 12
 	ld de,wcd6d
@@ -39,7 +39,7 @@
 	call PlaceString
 	coord hl, 8, 16
 	ld de,wTradedEnemyMonOTID
-	ld bc,$8205
+	lb bc, LEADING_ZEROES | 2, 5
 	jp PrintNumber
 
 Trade_MonInfoText: ; 427e5 (10:67e5)
--- a/home.asm
+++ b/home.asm
@@ -539,7 +539,7 @@
 PrintLevelCommon:: ; 1523 (0:1523)
 	ld [wd11e],a
 	ld de,wd11e
-	ld b,$41 ; no leading zeroes, left-aligned, one byte
+	ld b,LEFT_ALIGN | 1 ; 1 byte
 	jp PrintNumber
 
 GetwMoves:: ; 152e (0:152e)
@@ -1668,7 +1668,7 @@
 	coord hl, 9, 10
 .printQuantity
 	ld de,wItemQuantity ; current quantity
-	ld bc,$8102 ; print leading zeroes, 1 byte, 2 digits
+	lb bc,LEADING_ZEROES | 1, 2 ; 1 byte, 2 digits
 	call PrintNumber
 	jp .waitForKeyPressLoop
 .buttonAPressed ; the player chose to make the transaction
@@ -1855,7 +1855,7 @@
 	push de
 	ld de,wd11e
 	ld [de],a
-	ld bc,$0102
+	lb bc, 1, 2
 	call PrintNumber
 	pop de
 	pop af
@@ -4197,9 +4197,6 @@
 ; the value to char "0" instead of calling PrintNumber.
 ; Flags LEADING_ZEROES and LEFT_ALIGN can be given
 ; in bits 7 and 6 of b respectively.
-LEADING_ZEROES EQU 7
-LEFT_ALIGN     EQU 6
-
 	push bc
 	xor a
 	ld [H_PASTLEADINGZEROES], a
@@ -4392,7 +4389,7 @@
 	ret
 
 .PrintLeadingZero:
-	bit LEADING_ZEROES, d
+	bit BIT_LEADING_ZEROES, d
 	ret z
 	ld [hl], "0"
 	ret
@@ -4401,9 +4398,9 @@
 ; Increment unless the number is left-aligned,
 ; leading zeroes are not printed, and no digits
 ; have been printed yet.
-	bit LEADING_ZEROES, d
+	bit BIT_LEADING_ZEROES, d
 	jr nz, .inc
-	bit LEFT_ALIGN, d
+	bit BIT_LEFT_ALIGN, d
 	jr z, .inc
 	ld a, [H_PASTLEADINGZEROES]
 	and a
--- a/home/text.asm
+++ b/home/text.asm
@@ -561,7 +561,7 @@
 	ld a,b
 	and a,$f0
 	swap a
-	set 6,a
+	set BIT_LEFT_ALIGN,a
 	ld b,a
 	call PrintNumber
 	ld b,h
--- a/main.asm
+++ b/main.asm
@@ -2314,12 +2314,12 @@
 	cp UNKNOWN_DUNGEON_2
 	ret nc
 	coord hl, 0, 0
-	ld b, $3
-	ld c, $7
+	ld b, 3
+	ld c, 7
 	call TextBoxBorder
 	coord hl, 1, 1
 	ld de, wSafariSteps
-	ld bc, $203
+	lb bc, 2, 3
 	call PrintNumber
 	coord hl, 4, 1
 	ld de, SafariSteps
@@ -2328,15 +2328,15 @@
 	ld de, SafariBallText
 	call PlaceString
 	ld a, [W_NUMSAFARIBALLS]
-	cp $a
+	cp 10
 	jr nc, .asm_c56d
 	coord hl, 5, 3
-	ld a, $7f
+	ld a, " "
 	ld [hl], a
 .asm_c56d
 	coord hl, 6, 3
 	ld de, W_NUMSAFARIBALLS
-	ld bc, $102
+	lb bc, 1, 2
 	jp PrintNumber
 
 SafariSteps: ; c579 (3:4579)