diff options
author | mid-kid <esteve.varela@gmail.com> | 2018-03-13 13:07:16 +0100 |
---|---|---|
committer | mid-kid <esteve.varela@gmail.com> | 2018-03-13 13:21:40 +0100 |
commit | baa0dc5a963a79843b37888bcfe1d2dfe833ade9 (patch) | |
tree | 968c86105bd67a3121d8f3f20018bfc59191f4c9 /engine/stats_screen.asm | |
parent | 12070ca50067d3abe36a730190f88ee43f2cace9 (diff) |
Organize the engine/ directory
This is an informed attempt at reorganizing the engine/ directory by
creating categorized subdirectories, in order to make it easier to
navigate and find things.
The directories created are as follows:
* engine/game: Contains all "minigames", things like the unown puzzle
and slot machine.
* engine/gfx: Contains all handling of graphics. From loading palettes
to playing animations.
* engine/link: Contains all multiplayer functionality.
* engine/menu: Contains all generic/misc. menus and menu code.
Other, more specialized menus are in their own subdirectories (pokedex,
pokegear, party menu, etc).
* engine/overworld: Contains all handling of the overworld. From loading
and connecting maps to wild encounters and the scripting engine.
* engine/pokegear: In the same vein as engine/pokedex, except it could
use some more splitting up.
* engine/pokemon: Contains everything related to manipulating pokemon
data. From the pokemon storage system to evolution and mail.
* engine/printer: Contains everything related to printing things as well
as the printer communication.
* engine/title: Contains intro sequences, title screens and credits.
Diffstat (limited to 'engine/stats_screen.asm')
-rwxr-xr-x | engine/stats_screen.asm | 1173 |
1 files changed, 0 insertions, 1173 deletions
diff --git a/engine/stats_screen.asm b/engine/stats_screen.asm deleted file mode 100755 index 59d96999f..000000000 --- a/engine/stats_screen.asm +++ /dev/null @@ -1,1173 +0,0 @@ - const_def 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 - - ld a, [wBattleMode] - and a - jr z, StatsScreenInit - jr _MobileStatsScreenInit - -StatsScreenInit: ; 4dc8a - ld hl, StatsScreenMain - jr StatsScreenInit_gotaddress - -_MobileStatsScreenInit: ; 4dc8f - ld hl, StatsScreenMobile - jr StatsScreenInit_gotaddress - -StatsScreenInit_gotaddress: ; 4dc94 - ld a, [hMapAnims] - push af - xor a - ld [hMapAnims], a ; disable overworld tile animations - ld a, [wBoxAlignment] ; whether sprite is to be mirrorred - push af - ld a, [wJumptableIndex] - ld b, a - ld a, [wcf64] - ld c, a - - push bc - push hl - call ClearBGPalettes - call ClearTileMap - call UpdateSprites - farcall StatsScreen_LoadFont - pop hl - call _hl_ - call ClearBGPalettes - call ClearTileMap - pop bc - - ; restore old values - ld a, b - ld [wJumptableIndex], a - ld a, c - ld [wcf64], a - pop af - ld [wBoxAlignment], a - pop af - ld [hMapAnims], a - ret -; 0x4dcd2 - -StatsScreenMain: ; 0x4dcd2 - xor a - ld [wJumptableIndex], a - ; stupid interns - ld [wcf64], a - ld a, [wcf64] - and %11111100 - or 1 - ld [wcf64], a -.loop ; 4dce3 - ld a, [wJumptableIndex] - and $ff ^ (1 << 7) - ld hl, StatsScreenPointerTable - rst JumpTable - call StatsScreen_WaitAnim ; check for keys? - ld a, [wJumptableIndex] - bit 7, a - jr z, .loop - ret -; 0x4dcf7 - -StatsScreenMobile: ; 4dcf7 - xor a - ld [wJumptableIndex], a - ; stupid interns - ld [wcf64], a - ld a, [wcf64] - and %11111100 - or 1 - ld [wcf64], a -.loop - farcall Mobile_SetOverworldDelay - ld a, [wJumptableIndex] - and $ff ^ (1 << 7) - ld hl, StatsScreenPointerTable - rst JumpTable - call StatsScreen_WaitAnim - farcall MobileComms_CheckInactivityTimer - jr c, .exit - ld a, [wJumptableIndex] - bit 7, a - jr z, .loop - -.exit - ret -; 4dd2a - -StatsScreenPointerTable: ; 4dd2a - dw MonStatsInit ; regular pokémon - dw EggStatsInit ; egg - dw StatsScreenWaitCry - dw EggStatsJoypad - dw StatsScreen_LoadPage - dw StatsScreenWaitCry - dw MonStatsJoypad - dw StatsScreen_Exit -; 4dd3a - - -StatsScreen_WaitAnim: ; 4dd3a (13:5d3a) - ld hl, wcf64 - bit 6, [hl] - jr nz, .try_anim - bit 5, [hl] - jr nz, .finish - call DelayFrame - ret - -.try_anim - farcall SetUpPokeAnim - jr nc, .finish - ld hl, wcf64 - res 6, [hl] -.finish - ld hl, wcf64 - res 5, [hl] - farcall HDMATransferTileMapToWRAMBank3 - ret - -StatsScreen_SetJumptableIndex: ; 4dd62 (13:5d62) - ld a, [wJumptableIndex] - and $80 - or h - ld [wJumptableIndex], a - ret - -StatsScreen_Exit: ; 4dd6c (13:5d6c) - ld hl, wJumptableIndex - set 7, [hl] - ret - -MonStatsInit: ; 4dd72 (13:5d72) - ld hl, wcf64 - res 6, [hl] - call ClearBGPalettes - call ClearTileMap - farcall HDMATransferTileMapToWRAMBank3 - call StatsScreen_CopyToTempMon - ld a, [wCurPartySpecies] - cp EGG - jr z, .egg - call StatsScreen_InitUpperHalf - ld hl, wcf64 - set 4, [hl] - ld h, 4 - call StatsScreen_SetJumptableIndex - ret - -.egg - ld h, 1 - call StatsScreen_SetJumptableIndex - ret - -EggStatsInit: ; 4dda1 - call EggStatsScreen - ld a, [wJumptableIndex] - inc a - ld [wJumptableIndex], a - ret -; 0x4ddac - - -EggStatsJoypad: ; 4ddac (13:5dac) - call StatsScreen_GetJoypad - jr nc, .check - ld h, 0 - call StatsScreen_SetJumptableIndex - ret - -.check - bit A_BUTTON_F, a - jr nz, .quit - and D_DOWN | D_UP | A_BUTTON | B_BUTTON - jp StatsScreen_JoypadAction - -.quit - ld h, 7 - call StatsScreen_SetJumptableIndex - ret - -StatsScreen_LoadPage: ; 4ddc6 (13:5dc6) - call StatsScreen_LoadGFX - ld hl, wcf64 - res 4, [hl] - ld a, [wJumptableIndex] - inc a - ld [wJumptableIndex], a - ret - -MonStatsJoypad: ; 4ddd6 (13:5dd6) - call StatsScreen_GetJoypad - jr nc, .next - ld h, 0 - call StatsScreen_SetJumptableIndex - ret - -.next - and D_DOWN | D_UP | D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON - jp StatsScreen_JoypadAction - -StatsScreenWaitCry: ; 4dde6 (13:5de6) - call IsSFXPlaying - ret nc - ld a, [wJumptableIndex] - inc a - ld [wJumptableIndex], a - ret - -StatsScreen_CopyToTempMon: ; 4ddf2 (13:5df2) - ld a, [wMonType] - cp TEMPMON - jr nz, .breedmon - ld a, [wBufferMonSpecies] - ld [wCurSpecies], a - call GetBaseData - ld hl, wBufferMon - ld de, wTempMon - ld bc, PARTYMON_STRUCT_LENGTH - call CopyBytes - jr .done - -.breedmon - farcall CopyMonToTempMon - ld a, [wCurPartySpecies] - cp EGG - jr z, .done - ld a, [wMonType] - cp BOXMON - jr c, .done - farcall CalcTempmonStats -.done - and a - ret - -StatsScreen_GetJoypad: ; 4de2c (13:5e2c) - call GetJoypad - ld a, [wMonType] - cp TEMPMON - jr nz, .notbreedmon - push hl - push de - push bc - farcall StatsScreenDPad - pop bc - pop de - pop hl - ld a, [wMenuJoypad] - and D_DOWN | D_UP - jr nz, .set_carry - ld a, [wMenuJoypad] - jr .clear_flags - -.notbreedmon - ld a, [hJoyPressed] -.clear_flags - and a - ret - -.set_carry - scf - ret - -StatsScreen_JoypadAction: ; 4de54 (13:5e54) - push af - ld a, [wcf64] - maskbits NUM_STAT_PAGES - ld c, a - pop af - bit B_BUTTON_F, a - jp nz, .b_button - bit D_LEFT_F, a - jr nz, .d_left - bit D_RIGHT_F, a - jr nz, .d_right - bit A_BUTTON_F, a - jr nz, .a_button - bit D_UP_F, a - jr nz, .d_up - bit D_DOWN_F, a - jr nz, .d_down - jr .done - -.d_down - ld a, [wMonType] - cp BOXMON - jr nc, .done - and a - ld a, [wPartyCount] - jr z, .next_mon - ld a, [wOTPartyCount] -.next_mon - ld b, a - ld a, [wCurPartyMon] - inc a - cp b - jr z, .done - ld [wCurPartyMon], a - ld b, a - ld a, [wMonType] - and a - jr nz, .load_mon - ld a, b - inc a - ld [wPartyMenuCursor], a - jr .load_mon - -.d_up - ld a, [wCurPartyMon] - and a - jr z, .done - dec a - ld [wCurPartyMon], a - ld b, a - ld a, [wMonType] - and a - jr nz, .load_mon - ld a, b - inc a - ld [wPartyMenuCursor], a - jr .load_mon - -.a_button - ld a, c - cp BLUE_PAGE ; last page - jr z, .b_button -.d_right - inc c - ld a, BLUE_PAGE ; last page - cp c - jr nc, .set_page - ld c, PINK_PAGE ; first page - jr .set_page - -.d_left - dec c - jr nz, .set_page - ld c, BLUE_PAGE ; last page - jr .set_page - -.done - ret - -.set_page - ld a, [wcf64] - and %11111100 - or c - ld [wcf64], a - ld h, 4 - call StatsScreen_SetJumptableIndex - ret - -.load_mon - ld h, 0 - call StatsScreen_SetJumptableIndex - ret - -.b_button ; 4dee4 (13:5ee4) - ld h, 7 - call StatsScreen_SetJumptableIndex - ret - -StatsScreen_InitUpperHalf: ; 4deea (13:5eea) - call .PlaceHPBar - xor a - ld [hBGMapMode], a - ld a, [wBaseDexNo] - ld [wd265], a - ld [wCurSpecies], a - hlcoord 8, 0 - ld [hl], "№" - inc hl - ld [hl], "." - inc hl - hlcoord 10, 0 - lb bc, PRINTNUM_LEADINGZEROS | 1, 3 - ld de, wd265 - call PrintNum - hlcoord 14, 0 - call PrintLevel - ld hl, .NicknamePointers - call GetNicknamePointer - call CopyNickname - hlcoord 8, 2 - call PlaceString - hlcoord 18, 0 - call .PlaceGenderChar - hlcoord 9, 4 - ld a, "/" - ld [hli], a - ld a, [wBaseDexNo] - ld [wd265], a - call GetPokemonName - call PlaceString - call StatsScreen_PlaceHorizontalDivider - call StatsScreen_PlacePageSwitchArrows - call StatsScreen_PlaceShinyIcon - ret - -.PlaceHPBar: ; 4df45 (13:5f45) - ld hl, wTempMonHP - ld a, [hli] - ld b, a - ld c, [hl] - ld hl, wTempMonMaxHP - ld a, [hli] - ld d, a - ld e, [hl] - farcall ComputeHPBarPixels - ld hl, wCurHPPal - call SetHPPal - ld b, SCGB_STATS_SCREEN_HP_PALS - call GetSGBLayout - call DelayFrame - ret - -.PlaceGenderChar: ; 4df66 (13:5f66) - push hl - farcall GetGender - pop hl - ret c - ld a, "♂" - jr nz, .got_gender - ld a, "♀" -.got_gender - ld [hl], a - ret -; 4df77 (13:5f77) - -.NicknamePointers: ; 4df77 - dw wPartyMonNicknames - dw wOTPartyMonNicknames - dw sBoxMonNicknames - dw wBufferMonNick -; 4df7f - -Unreferenced_Function4df7f: ; 4df7f - hlcoord 7, 0 - ld bc, SCREEN_WIDTH - ld d, SCREEN_HEIGHT -.loop - ld a, $31 ; vertical divider - ld [hl], a - add hl, bc - dec d - jr nz, .loop - ret -; 4df8f - -StatsScreen_PlaceHorizontalDivider: ; 4df8f (13:5f8f) - hlcoord 0, 7 - ld b, SCREEN_WIDTH - ld a, $62 ; horizontal divider (empty HP/exp bar) -.loop - ld [hli], a - dec b - jr nz, .loop - ret - -StatsScreen_PlacePageSwitchArrows: ; 4df9b (13:5f9b) - hlcoord 12, 6 - ld [hl], "◀" - hlcoord 19, 6 - ld [hl], "▶" - ret - -StatsScreen_PlaceShinyIcon: ; 4dfa6 (13:5fa6) - ld bc, wTempMonDVs - farcall CheckShininess - ret nc - hlcoord 19, 0 - ld [hl], "⁂" - ret - -StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) - ld a, [wBaseDexNo] - ld [wd265], a - ld [wCurSpecies], a - xor a - ld [hBGMapMode], a - call .ClearBox - call .PageTilemap - call .LoadPals - ld hl, wcf64 - bit 4, [hl] - jr nz, .place_frontpic - call SetPalettes - ret - -.place_frontpic - call StatsScreen_PlaceFrontpic - ret - -.ClearBox: ; 4dfda (13:5fda) - ld a, [wcf64] - maskbits NUM_STAT_PAGES - ld c, a - call StatsScreen_LoadPageIndicators - hlcoord 0, 8 - lb bc, 10, 20 - call ClearBox - ret - -.LoadPals: ; 4dfed (13:5fed) - ld a, [wcf64] - maskbits NUM_STAT_PAGES - ld c, a - farcall LoadStatsScreenPals - call DelayFrame - ld hl, wcf64 - set 5, [hl] - ret - -.PageTilemap: ; 4e002 (13:6002) - ld a, [wcf64] - maskbits NUM_STAT_PAGES - dec a - ld hl, .Jumptable - rst JumpTable - ret - -.Jumptable: ; 4e00d (13:600d) -; entries correspond to *_PAGE constants - dw .PinkPage - dw .GreenPage - dw .BluePage - -.PinkPage: ; 4e013 (13:6013) - hlcoord 0, 9 - ld b, $0 - predef DrawPlayerHP - hlcoord 8, 9 - ld [hl], $41 ; right HP/exp bar end cap - ld de, .Status_Type - hlcoord 0, 12 - call PlaceString - ld a, [wTempMonPokerusStatus] - ld b, a - and $f - jr nz, .HasPokerus - ld a, b - and $f0 - jr z, .NotImmuneToPkrs - hlcoord 8, 8 - ld [hl], "." ; Pokérus immunity dot -.NotImmuneToPkrs: - ld a, [wMonType] - cp BOXMON - jr z, .StatusOK - hlcoord 6, 13 - push hl - ld de, wTempMonStatus - predef PlaceStatusString - pop hl - jr nz, .done_status - jr .StatusOK -.HasPokerus: - ld de, .PkrsStr - hlcoord 1, 13 - call PlaceString - jr .done_status -.StatusOK: - ld de, .OK_str - call PlaceString -.done_status - hlcoord 1, 15 - predef PrintMonTypes - hlcoord 9, 8 - ld de, SCREEN_WIDTH - ld b, 10 - ld a, $31 ; vertical divider -.vertical_divider - ld [hl], a - add hl, de - dec b - jr nz, .vertical_divider - ld de, .ExpPointStr - hlcoord 10, 9 - call PlaceString - hlcoord 17, 14 - call .PrintNextLevel - hlcoord 13, 10 - lb bc, 3, 7 - ld de, wTempMonExp - call PrintNum - call .CalcExpToNextLevel - hlcoord 13, 13 - lb bc, 3, 7 - ld de, wBuffer1 - call PrintNum - ld de, .LevelUpStr - hlcoord 10, 12 - call PlaceString - ld de, .ToStr - hlcoord 14, 14 - call PlaceString - hlcoord 11, 16 - ld a, [wTempMonLevel] - ld b, a - ld de, wTempMonExp + 2 - predef FillInExpBar - hlcoord 10, 16 - ld [hl], $40 ; left exp bar end cap - hlcoord 19, 16 - ld [hl], $41 ; right exp bar end cap - ret - -.PrintNextLevel: ; 4e0d3 (13:60d3) - ld a, [wTempMonLevel] - push af - cp MAX_LEVEL - jr z, .AtMaxLevel - inc a - ld [wTempMonLevel], a -.AtMaxLevel: - call PrintLevel - pop af - ld [wTempMonLevel], a - ret - -.CalcExpToNextLevel: ; 4e0e7 (13:60e7) - ld a, [wTempMonLevel] - cp MAX_LEVEL - jr z, .AlreadyAtMaxLevel - inc a - ld d, a - farcall CalcExpAtLevel - ld hl, wTempMonExp + 2 - ld hl, wTempMonExp + 2 - ld a, [hQuotient + 2] - sub [hl] - dec hl - ld [wBuffer3], a - ld a, [hQuotient + 1] - sbc [hl] - dec hl - ld [wBuffer2], a - ld a, [hQuotient] - sbc [hl] - ld [wBuffer1], a - ret - -.AlreadyAtMaxLevel: - ld hl, wBuffer1 - xor a - ld [hli], a - ld [hli], a - ld [hl], a - ret -; 4e119 (13:6119) - -.Status_Type: ; 4e119 - db "STATUS/" - next "TYPE/@" -; 4e127 - -.OK_str: ; 4e127 - db "OK @" -; 4e12b - -.ExpPointStr: ; 4e12b - db "EXP POINTS@" -; 4e136 - -.LevelUpStr: ; 4e136 - db "LEVEL UP@" -; 4e13f - -.ToStr: ; 4e13f - db "TO@" -; 4e142 - -.PkrsStr: ; 4e142 - db "#RUS@" -; 4e147 - -.GreenPage: ; 4e147 (13:6147) - ld de, .Item - hlcoord 0, 8 - call PlaceString - call .GetItemName - hlcoord 8, 8 - call PlaceString - ld de, .Move - hlcoord 0, 10 - call PlaceString - ld hl, wTempMonMoves - ld de, wListMoves_MoveIndicesBuffer - ld bc, NUM_MOVES - call CopyBytes - hlcoord 8, 10 - ld a, SCREEN_WIDTH * 2 - ld [wBuffer1], a - predef ListMoves - hlcoord 12, 11 - ld a, SCREEN_WIDTH * 2 - ld [wBuffer1], a - predef ListMovePP - ret - -.GetItemName: ; 4e189 (13:6189) - ld de, .ThreeDashes - ld a, [wTempMonItem] - and a - ret z - ld b, a - farcall TimeCapsule_ReplaceTeruSama - ld a, b - ld [wd265], a - call GetItemName - ret -; 4e1a0 (13:61a0) - -.Item: ; 4e1a0 - db "ITEM@" -; 4e1a5 - -.ThreeDashes: ; 4e1a5 - db "---@" -; 4e1a9 - -.Move: ; 4e1a9 - db "MOVE@" -; 4e1ae - -.BluePage: ; 4e1ae (13:61ae) - call .PlaceOTInfo - hlcoord 10, 8 - ld de, SCREEN_WIDTH - ld b, 10 - ld a, $31 ; vertical divider -.BluePageVerticalDivider: - ld [hl], a - add hl, de - dec b - jr nz, .BluePageVerticalDivider - hlcoord 11, 8 - ld bc, 6 - predef PrintTempMonStats - ret - -.PlaceOTInfo: ; 4e1cc (13:61cc) - ld de, IDNoString - hlcoord 0, 9 - call PlaceString - ld de, OTString - hlcoord 0, 12 - call PlaceString - hlcoord 2, 10 - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - ld de, wTempMonID - call PrintNum - ld hl, .OTNamePointers - call GetNicknamePointer - call CopyNickname - farcall CheckNickErrors - hlcoord 2, 13 - call PlaceString - ld a, [wTempMonCaughtGender] - and a - jr z, .done - cp $7f - jr z, .done - and $80 - ld a, "♂" - jr z, .got_gender - ld a, "♀" -.got_gender - hlcoord 9, 13 - ld [hl], a -.done - ret -; 4e216 (13:6216) - -.OTNamePointers: ; 4e216 - dw wPartyMonOT - dw wOTPartyMonOT - dw sBoxMonOT - dw wBufferMonOT -; 4e21e - -IDNoString: ; 4e21e - db "<ID>№.@" - -OTString: ; 4e222 - db "OT/@" -; 4e226 - - -StatsScreen_PlaceFrontpic: ; 4e226 (13:6226) - ld hl, wTempMonDVs - predef GetUnownLetter - call StatsScreen_GetAnimationParam - jr c, .egg - and a - jr z, .no_cry - jr .cry - -.egg - call .AnimateEgg - call SetPalettes - ret - -.no_cry - call .AnimateMon - call SetPalettes - ret - -.cry - call SetPalettes - call .AnimateMon - ld a, [wCurPartySpecies] - call PlayMonCry2 - ret - -.AnimateMon: ; 4e253 (13:6253) - ld hl, wcf64 - set 5, [hl] - ld a, [wCurPartySpecies] - cp UNOWN - jr z, .unown - hlcoord 0, 0 - call PrepMonFrontpic - ret - -.unown - xor a - ld [wBoxAlignment], a - hlcoord 0, 0 - call _PrepMonFrontpic - ret - -.AnimateEgg: ; 4e271 (13:6271) - ld a, [wCurPartySpecies] - cp UNOWN - jr z, .unownegg - ld a, TRUE - ld [wBoxAlignment], a - call .get_animation - ret - -.unownegg - xor a - ld [wBoxAlignment], a - call .get_animation - ret - -.get_animation ; 4e289 (13:6289) - ld a, [wCurPartySpecies] - call IsAPokemon - ret c - call StatsScreen_LoadTextBoxSpaceGFX - ld de, vTiles2 tile $00 - predef GetAnimatedFrontpic - hlcoord 0, 0 - ld d, $0 - ld e, ANIM_MON_MENU - predef LoadMonAnimation - ld hl, wcf64 - set 6, [hl] - ret - -StatsScreen_GetAnimationParam: ; 4e2ad (13:62ad) - ld a, [wMonType] - ld hl, .Jumptable - rst JumpTable - ret - -.Jumptable: ; 4e2b5 (13:62b5) - dw .PartyMon - dw .OTPartyMon - dw .BoxMon - dw .Tempmon - dw .Wildmon - -.PartyMon: ; 4e2bf (13:62bf) - ld a, [wCurPartyMon] - ld hl, wPartyMon1 - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - ld b, h - ld c, l - jr .CheckEggFaintedFrzSlp - -.OTPartyMon: ; 4e2cf (13:62cf) - xor a - ret - -.BoxMon: ; 4e2d1 (13:62d1) - ld hl, sBoxMons - ld bc, PARTYMON_STRUCT_LENGTH - ld a, [wCurPartyMon] - call AddNTimes - ld b, h - ld c, l - ld a, BANK(sBoxMons) - call GetSRAMBank - call .CheckEggFaintedFrzSlp - push af - call CloseSRAM - pop af - ret - -.Tempmon: ; 4e2ed (13:62ed) - ld bc, wTempMonSpecies - jr .CheckEggFaintedFrzSlp ; utterly pointless - -.CheckEggFaintedFrzSlp: ; 4e2f2 (13:62f2) - ld a, [wCurPartySpecies] - cp EGG - jr z, .egg - call CheckFaintedFrzSlp - jr c, .FaintedFrzSlp -.egg - xor a - scf - ret - -.Wildmon: ; 4e301 (13:6301) - ld a, $1 - and a - ret - -.FaintedFrzSlp: ; 4e305 (13:6305) - xor a - ret - -StatsScreen_LoadTextBoxSpaceGFX: ; 4e307 (13:6307) - nop - push hl - push de - push bc - push af - call DelayFrame - ld a, [rVBK] - push af - ld a, $1 - ld [rVBK], a - ld de, TextBoxSpaceGFX - lb bc, BANK(TextBoxSpaceGFX), 1 - ld hl, vTiles2 tile " " - call Get2bpp - pop af - ld [rVBK], a - pop af - pop bc - pop de - pop hl - ret -; 4e32a (13:632a) - -Unreferenced_4e32a: ; 4e32a -; A blank space tile? - ds 16 -; 4e33a - -EggStatsScreen: ; 4e33a - xor a - ld [hBGMapMode], a - ld hl, wCurHPPal - call SetHPPal - ld b, SCGB_STATS_SCREEN_HP_PALS - call GetSGBLayout - call StatsScreen_PlaceHorizontalDivider - ld de, EggString - hlcoord 8, 1 - call PlaceString - ld de, IDNoString - hlcoord 8, 3 - call PlaceString - ld de, OTString - hlcoord 8, 5 - call PlaceString - ld de, FiveQMarkString - hlcoord 11, 3 - call PlaceString - ld de, FiveQMarkString - hlcoord 11, 5 - call PlaceString - ld a, [wTempMonHappiness] ; egg status - ld de, EggSoonString - cp $6 - jr c, .picked - ld de, EggCloseString - cp $b - jr c, .picked - ld de, EggMoreTimeString - cp $29 - jr c, .picked - ld de, EggALotMoreTimeString -.picked - hlcoord 1, 9 - call PlaceString - ld hl, wcf64 - set 5, [hl] - call SetPalettes ; pals - call DelayFrame - hlcoord 0, 0 - call PrepMonFrontpic - farcall HDMATransferTileMapToWRAMBank3 - call StatsScreen_AnimateEgg - - ld a, [wTempMonHappiness] - cp 6 - ret nc - ld de, SFX_2_BOOPS - call PlaySFX - ret -; 0x4e3c0 - -EggString: ; 4e3c0 - db "EGG@" - -FiveQMarkString: ; 4e3c4 - db "?????@" - -EggSoonString: ; 0x4e3ca - db "It's making sounds" - next "inside. It's going" - next "to hatch soon!@" - -EggCloseString: ; 0x4e3fd - db "It moves around" - next "inside sometimes." - next "It must be close" - next "to hatching.@" - -EggMoreTimeString: ; 0x4e43d - db "Wonder what's" - next "inside? It needs" - next "more time, though.@" - -EggALotMoreTimeString: ; 0x4e46e - db "This EGG needs a" - next "lot more time to" - next "hatch.@" -; 0x4e497 - - -StatsScreen_AnimateEgg: ; 4e497 (13:6497) - call StatsScreen_GetAnimationParam - ret nc - ld a, [wTempMonHappiness] - ld e, $7 - cp 6 - jr c, .animate - ld e, $8 - cp 11 - jr c, .animate - ret - -.animate - push de - ld a, $1 - ld [wBoxAlignment], a - call StatsScreen_LoadTextBoxSpaceGFX - ld de, vTiles2 tile $00 - predef GetAnimatedFrontpic - pop de - hlcoord 0, 0 - ld d, $0 - predef LoadMonAnimation - ld hl, wcf64 - set 6, [hl] - ret - -StatsScreen_LoadPageIndicators: ; 4e4cd (13:64cd) - hlcoord 13, 5 - ld a, $36 ; first of 4 small square tiles - call .load_square - hlcoord 15, 5 - ld a, $36 ; " " " " - call .load_square - hlcoord 17, 5 - ld a, $36 ; " " " " - call .load_square - ld a, c - 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 ; GREEN_PAGE (= GREEN_PAGE) - jr z, .load_square - hlcoord 17, 5 ; BLUE_PAGE (> GREEN_PAGE) -.load_square ; 4e4f7 (13:64f7) - push bc - ld [hli], a - inc a - ld [hld], a - ld bc, SCREEN_WIDTH - add hl, bc - inc a - ld [hli], a - inc a - ld [hl], a - pop bc - ret - -CopyNickname: ; 4e505 (13:6505) - ld de, wStringBuffer1 - ld bc, MON_NAME_LENGTH - jr .okay ; utterly pointless -.okay - ld a, [wMonType] - cp BOXMON - jr nz, .partymon - ld a, BANK(sBoxMonNicknames) - call GetSRAMBank - push de - call CopyBytes - pop de - call CloseSRAM - ret - -.partymon - push de - call CopyBytes - pop de - ret - -GetNicknamePointer: ; 4e528 (13:6528) - ld a, [wMonType] - add a - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wMonType] - cp TEMPMON - ret z - ld a, [wCurPartyMon] - jp SkipNames - - -CheckFaintedFrzSlp: ; 4e53f - ld hl, MON_HP - add hl, bc - ld a, [hli] - or [hl] - jr z, .fainted_frz_slp - ld hl, MON_STATUS - add hl, bc - ld a, [hl] - and 1 << FRZ | SLP - jr nz, .fainted_frz_slp - and a - ret - -.fainted_frz_slp - scf - ret -; 4e554 |