ref: 6e46ec61f9a324116ef016397cdce9e67f75e77f
dir: /engine/hall_of_fame.asm/
AnimateHallOfFame: ; 701a0 (1c:41a0) call HoFFadeOutScreenAndMusic call ClearScreen ld c, 100 call DelayFrames call LoadFontTilePatterns call LoadTextBoxTilePatterns call DisableLCD ld hl,vBGMap0 ld bc, $800 ld a, $7f call FillMemory call EnableLCD ld hl, rLCDC set 3, [hl] xor a ld hl, wHallOfFame ld bc, HOF_TEAM call FillMemory xor a ld [wUpdateSpritesEnabled], a ld [hTilesetType], a ld [W_SPRITEFLIPPED], a ld [wLetterPrintingDelayFlags], a ; no delay ld [wHoFMonOrPlayer], a ; mon inc a ld [H_AUTOBGTRANSFERENABLED], a ld hl, wNumHoFTeams ld a, [hl] inc a jr z, .skipInc ; don't wrap around to 0 inc [hl] .skipInc ld a, $90 ld [hWY], a ld c, BANK(Music_HallOfFame) ld a, MUSIC_HALL_OF_FAME call PlayMusic ld hl, wPartySpecies ld c, $ff .partyMonLoop ld a, [hli] cp $ff jr z, .doneShowingParty inc c push hl push bc ld [wHoFMonSpecies], a ld a, c ld [wHoFPartyMonIndex], a ld hl, wPartyMon1Level ld bc, wPartyMon2 - wPartyMon1 call AddNTimes ld a, [hl] ld [wHoFMonLevel], a call HoFShowMonOrPlayer call HoFDisplayAndRecordMonInfo ld c, 80 call DelayFrames hlCoord 2, 13 ld b, $3 ld c, $e call TextBoxBorder hlCoord 4, 15 ld de, HallOfFameText call PlaceString ld c, 180 call DelayFrames call GBFadeOutToWhite pop bc pop hl jr .partyMonLoop .doneShowingParty ld a, c inc a ld hl, wHallOfFame ld bc, HOF_MON call AddNTimes ld [hl], $ff call SaveHallOfFameTeams xor a ld [wHoFMonSpecies], a inc a ld [wHoFMonOrPlayer], a ; player call HoFShowMonOrPlayer call HoFDisplayPlayerStats call HoFFadeOutScreenAndMusic xor a ld [hWY], a ld hl, rLCDC res 3, [hl] ret HallOfFameText: ; 7026b (1c:426b) db "HALL OF FAME@" HoFShowMonOrPlayer: ; 70278 (1c:4278) call ClearScreen ld a, $d0 ld [hSCY], a ld a, $c0 ld [hSCX], a ld a, [wHoFMonSpecies] ld [wcf91], a ld [wd0b5], a ld [wBattleMonSpecies2], a ld [wcf1d], a ld a, [wHoFMonOrPlayer] and a jr z, .showMon ; show player call HoFLoadPlayerPics jr .next1 .showMon hlCoord 12, 5 call GetMonHeader call LoadFrontSpriteByMonIndex predef LoadMonBackPic .next1 ld b, $b ld c, $0 call GoPAL_SET ld a, %11100100 ld [rBGP], a ld c, $31 ; back pic call HoFLoadMonPlayerPicTileIDs ld d, $a0 ld e, 4 ld a, [wOnSGB] and a jr z, .next2 sla e ; scroll more slowly on SGB .next2 call .ScrollPic ; scroll back pic left xor a ld [hSCY], a ld c, a ; front pic call HoFLoadMonPlayerPicTileIDs ld d, 0 ld e, -4 ; scroll front pic right .ScrollPic call DelayFrame ld a, [hSCX] add e ld [hSCX], a cp d jr nz, .ScrollPic ret HoFDisplayAndRecordMonInfo: ; 702e1 (1c:42e1) ld a, [wHoFPartyMonIndex] ld hl, wPartyMonNicks call GetPartyMonName call HoFDisplayMonInfo jp HoFRecordMonInfo HoFDisplayMonInfo: ; 702f0 (1c:42f0) hlCoord 0, 2 ld b, 9 ld c, 10 call TextBoxBorder hlCoord 2, 6 ld de, HoFMonInfoText call PlaceString hlCoord 1, 4 ld de, wcd6d call PlaceString ld a, [wHoFMonLevel] hlCoord 8, 7 call PrintLevelCommon ld a, [wHoFMonSpecies] ld [wd0b5], a hlCoord 3, 9 predef PrintMonType ld a, [wHoFMonSpecies] jp PlayCry HoFMonInfoText: ; 70329 (1c:4329) db "LEVEL/" next "TYPE1/" next "TYPE2/@" HoFLoadPlayerPics: ; 7033e (1c:433e) ld de, RedPicFront ld a, BANK(RedPicFront) call UncompressSpriteFromDE ld hl, S_SPRITEBUFFER1 ld de, $a000 ld bc, $310 call CopyData ld de, vFrontPic call InterlaceMergeSpriteBuffers ld de, RedPicBack ld a, BANK(RedPicBack) call UncompressSpriteFromDE predef ScaleSpriteByTwo ld de, vBackPic call InterlaceMergeSpriteBuffers ld c, $1 HoFLoadMonPlayerPicTileIDs: ; 7036d (1c:436d) ; c = base tile ID ld b, 0 hlCoord 12, 5 predef_jump CopyTileIDsFromList HoFDisplayPlayerStats: ; 70377 (1c:4377) ld hl, wd747 set 3, [hl] predef DisplayDexRating hlCoord 0, 4 ld b, $6 ld c, $a call TextBoxBorder hlCoord 5, 0 ld b, $2 ld c, $9 call TextBoxBorder hlCoord 7, 2 ld de, wPlayerName call PlaceString hlCoord 1, 6 ld de, HoFPlayTimeText call PlaceString hlCoord 5, 7 ld de, W_PLAYTIMEHOURS + 1 ld bc, $103 call PrintNumber ld [hl], $6d inc hl ld de, W_PLAYTIMEMINUTES + 1 ld bc, $8102 call PrintNumber hlCoord 1, 9 ld de, HoFMoneyText call PlaceString hlCoord 4, 10 ld de, wPlayerMoney ld c, $a3 call PrintBCDNumber ld hl, DexSeenOwnedText call HoFPrintTextAndDelay ld hl, DexRatingText call HoFPrintTextAndDelay ld hl, wcc5d HoFPrintTextAndDelay: ; 703e2 (1c:43e2) call PrintText ld c, 120 jp DelayFrames HoFPlayTimeText: ; 703ea (1c:43ea) db "PLAY TIME@" HoFMoneyText: ; 703f4 (1c:43f4) db "MONEY@" DexSeenOwnedText: ; 703fa (1c:43fa) TX_FAR _DexSeenOwnedText db "@" DexRatingText: ; 703ff (1c:43ff) TX_FAR _DexRatingText db "@" HoFRecordMonInfo: ; 70404 (1c:4404) ld hl, wHallOfFame ld bc, HOF_MON ld a, [wHoFPartyMonIndex] call AddNTimes ld a, [wHoFMonSpecies] ld [hli], a ld a, [wHoFMonLevel] ld [hli], a ld e, l ld d, h ld hl, wcd6d ld bc, $b jp CopyData HoFFadeOutScreenAndMusic: ; 70423 (1c:4423) ld a, $a ld [wcfc8], a ld [wcfc9], a ld a, $ff ld [wMusicHeaderPointer], a jp GBFadeOutToWhite