ref: 1b0404d0dc1962ae9ad8e25ac4aa598e1b7e62ae
parent: 87f4f4eb44f16cdf23a8cb7a67efd69ad4a34d75
parent: 56d75db28ad827d514f3c2c52da0fe4ba2759610
author: Daniel Harding <corrnondacqb@yahoo.com>
date: Wed Aug 5 05:30:49 EDT 2015
Merge pull request #111 from YamaArashi/master 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)