summaryrefslogtreecommitdiff
path: root/engine/stats_screen.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/stats_screen.asm')
-rwxr-xr-xengine/stats_screen.asm117
1 files changed, 61 insertions, 56 deletions
diff --git a/engine/stats_screen.asm b/engine/stats_screen.asm
index 9f632f388..6bceaa1e9 100755
--- a/engine/stats_screen.asm
+++ b/engine/stats_screen.asm
@@ -1,14 +1,20 @@
+const_value set 1
+ const PINK_PAGE ; 1
+ const GREEN_PAGE ; 2
+ const BLUE_PAGE ; 3
+NUM_STAT_PAGES EQU const_value +- 1
+
BattleStatsScreenInit: ; 4dc7b (13:5c7b)
ld a, [wLinkMode]
cp LINK_MOBILE
- jr nz, StatsScreenInit
+ jr nz, Predef_StatsScreenInit
ld a, [wBattleMode]
and a
- jr z, StatsScreenInit
+ jr z, Predef_StatsScreenInit
jr _MobileStatsScreenInit
-StatsScreenInit: ; 4dc8a
+Predef_StatsScreenInit: ; 4dc8a
ld hl, StatsScreenMain
jr StatsScreenInit_gotaddress
@@ -58,12 +64,12 @@ StatsScreenMain: ; 0x4dcd2
; stupid interns
ld [wcf64], a
ld a, [wcf64]
- and $fc
- or $1
+ and %11111100
+ or 1
ld [wcf64], a
.loop ; 4dce3
ld a, [wJumptableIndex]
- and $7f
+ and $ff ^ (1 << 7)
ld hl, StatsScreenPointerTable
rst JumpTable
call StatsScreen_WaitAnim ; check for keys?
@@ -79,13 +85,13 @@ StatsScreenMobile: ; 4dcf7
; stupid interns
ld [wcf64], a
ld a, [wcf64]
- and $fc
- or $1
+ and %11111100
+ or 1
ld [wcf64], a
.loop
farcall Mobile_SetOverworldDelay
ld a, [wJumptableIndex]
- and $7f
+ and $ff ^ (1 << 7)
ld hl, StatsScreenPointerTable
rst JumpTable
call StatsScreen_WaitAnim
@@ -234,7 +240,7 @@ StatsScreen_CopyToTempMon: ; 4ddf2 (13:5df2)
jr .done
.breedmon
- farcall CopyPkmnToTempMon
+ farcall Predef_CopyPkmnToTempMon
ld a, [CurPartySpecies]
cp EGG
jr z, .done
@@ -277,7 +283,7 @@ StatsScreen_GetJoypad: ; 4de2c (13:5e2c)
StatsScreen_JoypadAction: ; 4de54 (13:5e54)
push af
ld a, [wcf64]
- and $3
+ maskbits NUM_STAT_PAGES +- 1
ld c, a
pop af
bit B_BUTTON_F, a
@@ -335,20 +341,20 @@ StatsScreen_JoypadAction: ; 4de54 (13:5e54)
.a_button
ld a, c
- cp $3
+ cp BLUE_PAGE ; last page
jr z, .b_button
.d_right
inc c
- ld a, $3
+ ld a, BLUE_PAGE ; last page
cp c
jr nc, .set_page
- ld c, $1
+ ld c, PINK_PAGE ; first page
jr .set_page
.d_left
dec c
jr nz, .set_page
- ld c, $3
+ ld c, BLUE_PAGE ; last page
jr .set_page
.done
@@ -419,7 +425,7 @@ StatsScreen_InitUpperHalf: ; 4deea (13:5eea)
ld a, [hli]
ld d, a
ld e, [hl]
- farcall ComputeHPBarPixels
+ farcall Predef_ComputeHPBarPixels
ld hl, wCurHPPal
call SetHPPal
ld b, SCGB_STATS_SCREEN_HP_PALS
@@ -429,7 +435,7 @@ StatsScreen_InitUpperHalf: ; 4deea (13:5eea)
.PlaceGenderChar: ; 4df66 (13:5f66)
push hl
- farcall GetGender
+ farcall Predef_GetGender
pop hl
ret c
ld a, "♂"
@@ -447,13 +453,12 @@ StatsScreen_InitUpperHalf: ; 4deea (13:5eea)
dw wBufferMonNick
; 4df7f
-Function4df7f: ; 4df7f
-; unreferenced
+Unreferenced_Function4df7f: ; 4df7f
hlcoord 7, 0
ld bc, SCREEN_WIDTH
ld d, SCREEN_HEIGHT
.loop
- ld a, "|"
+ ld a, $31 ; vertical divider
ld [hl], a
add hl, bc
dec d
@@ -464,7 +469,7 @@ Function4df7f: ; 4df7f
StatsScreen_PlaceHorizontalDivider: ; 4df8f (13:5f8f)
hlcoord 0, 7
ld b, SCREEN_WIDTH
- ld a, "_"
+ ld a, $62 ; horizontal divider (empty HP/exp bar)
.loop
ld [hli], a
dec b
@@ -507,7 +512,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
.ClearBox: ; 4dfda (13:5fda)
ld a, [wcf64]
- and $3
+ maskbits NUM_STAT_PAGES +- 1
ld c, a
call StatsScreen_LoadPageIndicators
hlcoord 0, 8
@@ -517,7 +522,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
.LoadPals: ; 4dfed (13:5fed)
ld a, [wcf64]
- and $3
+ maskbits NUM_STAT_PAGES +- 1
ld c, a
farcall LoadStatsScreenPals
call DelayFrame
@@ -527,13 +532,14 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
.PageTilemap: ; 4e002 (13:6002)
ld a, [wcf64]
- and $3
+ maskbits NUM_STAT_PAGES +- 1
dec a
ld hl, .Jumptable
rst JumpTable
ret
.Jumptable: ; 4e00d (13:600d)
+; entries correspond to *_PAGE constants
dw .PinkPage
dw .GreenPage
dw .BluePage
@@ -541,9 +547,9 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
.PinkPage: ; 4e013 (13:6013)
hlcoord 0, 9
ld b, $0
- predef DrawPlayerHP
+ predef Predef_DrawPlayerHP
hlcoord 8, 9
- ld [hl], $41
+ ld [hl], $41 ; right HP/exp bar end cap
ld de, .Status_Type
hlcoord 0, 12
call PlaceString
@@ -555,7 +561,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
and $f0
jr z, .NotImmuneToPkrs
hlcoord 8, 8
- ld [hl], "."
+ ld [hl], "." ; Pokérus immunity dot
.NotImmuneToPkrs:
ld a, [MonType]
cp BOXMON
@@ -563,7 +569,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
hlcoord 6, 13
push hl
ld de, TempMonStatus
- predef PlaceStatusString
+ predef Predef_PlaceStatusString
pop hl
jr nz, .done_status
jr .StatusOK
@@ -577,11 +583,11 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
call PlaceString
.done_status
hlcoord 1, 15
- predef PrintMonTypes
+ predef Predef_PrintMonTypes
hlcoord 9, 8
ld de, SCREEN_WIDTH
ld b, 10
- ld a, "|"
+ ld a, $31 ; vertical divider
.vertical_divider
ld [hl], a
add hl, de
@@ -611,11 +617,11 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
ld a, [TempMonLevel]
ld b, a
ld de, TempMonExp + 2
- predef FillInExpBar
+ predef Predef_FillInExpBar
hlcoord 10, 16
- ld [hl], $40
+ ld [hl], $40 ; left exp bar end cap
hlcoord 19, 16
- ld [hl], $41
+ ld [hl], $41 ; right exp bar end cap
ret
.PrintNextLevel: ; 4e0d3 (13:60d3)
@@ -704,11 +710,11 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
hlcoord 8, 10
ld a, SCREEN_WIDTH * 2
ld [Buffer1], a
- predef ListMoves
+ predef Predef_ListMoves
hlcoord 12, 11
ld a, SCREEN_WIDTH * 2
ld [Buffer1], a
- predef ListMovePP
+ predef Predef_ListMovePP
ret
.GetItemName: ; 4e189 (13:6189)
@@ -741,7 +747,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
hlcoord 10, 8
ld de, SCREEN_WIDTH
ld b, 10
- ld a, "|"
+ ld a, $31 ; vertical divider
.BluePageVerticalDivider:
ld [hl], a
add hl, de
@@ -749,7 +755,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
jr nz, .BluePageVerticalDivider
hlcoord 11, 8
ld bc, 6
- predef PrintTempMonStats
+ predef Predef_PrintTempMonStats
ret
.PlaceOTInfo: ; 4e1cc (13:61cc)
@@ -802,7 +808,7 @@ OTString: ; 4e222
StatsScreen_PlaceFrontpic: ; 4e226 (13:6226)
ld hl, TempMonDVs
- predef GetUnownLetter
+ predef Predef_GetUnownLetter
call StatsScreen_GetAnimationParam
jr c, .egg
and a
@@ -864,11 +870,11 @@ StatsScreen_PlaceFrontpic: ; 4e226 (13:6226)
ret c
call StatsScreen_LoadTextBoxSpaceGFX
ld de, vTiles2 tile $00
- predef GetAnimatedFrontpicPredef
+ predef Predef_GetAnimatedFrontpic
hlcoord 0, 0
ld d, $0
ld e, ANIM_MON_MENU
- predef LoadMonAnimation
+ predef Predef_LoadMonAnimation
ld hl, wcf64
set 6, [hl]
ret
@@ -951,7 +957,7 @@ StatsScreen_LoadTextBoxSpaceGFX: ; 4e307 (13:6307)
ld [rVBK], a
ld de, TextBoxSpaceGFX
lb bc, BANK(TextBoxSpaceGFX), 1
- ld hl, vTiles2 tile $7f
+ ld hl, vTiles2 tile " "
call Get2bpp
pop af
ld [rVBK], a
@@ -962,9 +968,8 @@ StatsScreen_LoadTextBoxSpaceGFX: ; 4e307 (13:6307)
ret
; 4e32a (13:632a)
-; unreferenced
-Unknown_4e32a: ; 4e32a
-; A blank tile?
+Unreferenced_4e32a: ; 4e32a
+; A blank space tile?
ds 16
; 4e33a
@@ -1069,33 +1074,33 @@ StatsScreen_AnimateEgg: ; 4e497 (13:6497)
ld [wBoxAlignment], a
call StatsScreen_LoadTextBoxSpaceGFX
ld de, vTiles2 tile $00
- predef GetAnimatedFrontpicPredef
+ predef Predef_GetAnimatedFrontpic
pop de
hlcoord 0, 0
ld d, $0
- predef LoadMonAnimation
+ predef Predef_LoadMonAnimation
ld hl, wcf64
set 6, [hl]
ret
StatsScreen_LoadPageIndicators: ; 4e4cd (13:64cd)
hlcoord 13, 5
- ld a, $36
+ ld a, $36 ; first of 4 small square tiles
call .load_square
hlcoord 15, 5
- ld a, $36
+ ld a, $36 ; """
call .load_square
hlcoord 17, 5
- ld a, $36
+ ld a, $36 ; """
call .load_square
ld a, c
- cp $2
- ld a, $3a
- hlcoord 13, 5
+ cp GREEN_PAGE
+ ld a, $3a ; first of 4 large square tiles
+ hlcoord 13, 5 ; PINK_PAGE (< GREEN_PAGE)
jr c, .load_square
- hlcoord 15, 5
+ hlcoord 15, 5 ; GREEN_PAGE (= GREEN_PAGE)
jr z, .load_square
- hlcoord 17, 5
+ hlcoord 17, 5 ; BLUE_PAGE (> GREEN_PAGE)
.load_square ; 4e4f7 (13:64f7)
push bc
ld [hli], a
@@ -1113,7 +1118,7 @@ StatsScreen_LoadPageIndicators: ; 4e4cd (13:64cd)
CopyNickname: ; 4e505 (13:6505)
ld de, StringBuffer1
ld bc, PKMN_NAME_LENGTH
- jr .okay ; uuterly pointless
+ jr .okay ; utterly pointless
.okay
ld a, [MonType]
cp BOXMON
@@ -1157,7 +1162,7 @@ CheckFaintedFrzSlp: ; 4e53f
ld hl, MON_STATUS
add hl, bc
ld a, [hl]
- and (1 << FRZ) | SLP
+ and 1 << FRZ | SLP
jr nz, .fainted_frz_slp
and a
ret