diff options
Diffstat (limited to 'engine/stats_screen.asm')
-rwxr-xr-x | engine/stats_screen.asm | 117 |
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 |