pokecrystal-board/engine/routines/newpokedexentry.asm
Remy Oukaour 7d4486e6a3 Remove all code from main.asm (some labeled INCBINs, like out-of-context graphics, are still present)
engine/routines/ stores isolated out-of-context routines as individual files. It might be preferable later to append them to their related engine/ files in unique little SECTIONs, relying on the linkerscript to place them appropriately; or some other organization method. In the meantime, they're now easily findable apart from main.asm's other content.
2017-12-24 19:35:35 -05:00

53 lines
977 B
NASM

NewPokedexEntry: ; fb877
ld a, [hMapAnims]
push af
xor a
ld [hMapAnims], a
call LowVolume
call ClearBGPalettes
call ClearTileMap
call UpdateSprites
call ClearSprites
ld a, [wPokedexStatus]
push af
ld a, [hSCX]
add $5
ld [hSCX], a
xor a
ld [wPokedexStatus], a
farcall _NewPokedexEntry
call WaitPressAorB_BlinkCursor
ld a, $1
ld [wPokedexStatus], a
farcall DisplayDexEntry
call WaitPressAorB_BlinkCursor
pop af
ld [wPokedexStatus], a
call MaxVolume
call RotateThreePalettesRight
ld a, [hSCX]
add -5 ; 251 ; NUM_POKEMON
ld [hSCX], a
call .ReturnFromDexRegistration
pop af
ld [hMapAnims], a
ret
; fb8c8
.ReturnFromDexRegistration: ; fb8c8
call ClearTileMap
call LoadFontsExtra
call LoadStandardFont
farcall Pokedex_PlaceFrontpicTopLeftCorner
call WaitBGMap2
farcall GetEnemyMonDVs
ld a, [hli]
ld [TempMonDVs], a
ld a, [hl]
ld [TempMonDVs + 1], a
ld b, SCGB_TRAINER_OR_MON_FRONTPIC_PALS
call GetSGBLayout
call SetPalettes
ret
; fb8f1