mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
Window HUD: Handle Window being fully shown during reanchor map (#15)
This commit is contained in:
parent
6e49bb9893
commit
11db1300b2
@ -70,8 +70,7 @@ DoBattleTransition:
|
||||
call DelayFrame
|
||||
call .LoadPokeballTiles
|
||||
call CopyTilemapAtOnce
|
||||
ld a, SCREEN_HEIGHT_PX
|
||||
ldh [hWY], a
|
||||
call HideWindow_EnableLCDInt
|
||||
call DelayFrame
|
||||
xor a
|
||||
ldh [hBGMapMode], a
|
||||
|
@ -34,7 +34,11 @@ ReanchorBGMap_NoOAMUpdate::
|
||||
farcall ApplyPals
|
||||
ld a, TRUE
|
||||
ldh [hCGBPalUpdate], a
|
||||
; display window while BG map is reanchored.
|
||||
; disable LCD interrupt to prevent cropping the window due to hWindowHUD
|
||||
; (caller must re-enable when window is hidden again).
|
||||
xor a
|
||||
ldh [rSTAT], a
|
||||
ldh [hBGMapMode], a
|
||||
ldh [hWY], a
|
||||
farcall HDMATransfer_FillBGMap0WithBlack ; no need to farcall
|
||||
@ -63,8 +67,7 @@ LoadFont_NoOAMUpdate::
|
||||
ldh [hOAMUpdate], a
|
||||
|
||||
call LoadFrame
|
||||
ld a, $90
|
||||
ldh [hWY], a
|
||||
call HideWindow_EnableLCDInt
|
||||
call SafeUpdateSprites
|
||||
call LoadStandardFont
|
||||
|
||||
|
@ -7,8 +7,7 @@ RefreshScreen::
|
||||
|
||||
call ReanchorBGMap_NoOAMUpdate
|
||||
call _OpenAndCloseMenu_HDMATransferTilemapAndAttrmap
|
||||
ld a, $90
|
||||
ldh [hWY], a
|
||||
call HideWindow_EnableLCDInt
|
||||
|
||||
pop af
|
||||
rst Bankswitch
|
||||
@ -51,8 +50,7 @@ OpenText2bpp::
|
||||
call ReanchorBGMap_NoOAMUpdate ; clear bgmap
|
||||
call SpeechTextbox2bpp
|
||||
call _OpenAndCloseMenu_HDMATransferTilemapAndAttrmap ; anchor bgmap
|
||||
ld a, $90
|
||||
ldh [hWY], a
|
||||
call HideWindow_EnableLCDInt
|
||||
|
||||
pop af
|
||||
rst Bankswitch
|
||||
@ -109,6 +107,18 @@ SafeUpdateSprites::
|
||||
ldh [hOAMUpdate], a
|
||||
ret
|
||||
|
||||
HideWindow_EnableLCDInt::
|
||||
ld a, $90
|
||||
ldh [hWY], a
|
||||
ldh a, [hWindowHUD]
|
||||
and a
|
||||
ld a, 1 << rSTAT_INT_HBLANK
|
||||
jr z, .ok
|
||||
ld a, 1 << rSTAT_INT_LYC
|
||||
.ok
|
||||
ldh [rSTAT], a
|
||||
ret
|
||||
|
||||
OVERWORLD_HUD_HEIGHT EQU 8
|
||||
|
||||
EnableOverworldWindowHUD::
|
||||
@ -119,11 +129,12 @@ EnableWindowHUD:
|
||||
ldh [hWindowHUD], a
|
||||
; configure LCD interrupt
|
||||
ldh [rLYC], a
|
||||
ld a, 1 << rSTAT_INT_LYC ; LYC=LC
|
||||
ldh [rSTAT], a
|
||||
; make window hidden this frame to prevent graphical glitches
|
||||
ld a, $90
|
||||
ldh [hWY], a
|
||||
; configure LCD interrupt
|
||||
ld a, 1 << rSTAT_INT_LYC ; LYC=LC
|
||||
ldh [rSTAT], a
|
||||
ret
|
||||
|
||||
DisableWindowHUD::
|
||||
|
Loading…
Reference in New Issue
Block a user