From: Lukas Krickl Date: Mon, 7 Jul 2025 03:51:38 +0000 (+0200) Subject: map load: Added a bit of a delay between loads X-Git-Url: https://git.krickl.dev/?a=commitdiff_plain;h=94d12added8a35fef300cf559f3a6382d8b1f23f;p=gbrg%2F.git map load: Added a bit of a delay between loads --- diff --git a/src/player.s b/src/player.s index dcaf627..e089bee 100644 --- a/src/player.s +++ b/src/player.s @@ -105,6 +105,9 @@ unit_check_exit_hit: push hl ld de, exit_to add hl, de ; hl = map ptr + + ; fade out + call video_fade_out ld a, [hl+] ld c, a @@ -114,6 +117,9 @@ unit_check_exit_hit: ld l, a ; hl = map header ptr call map_load + ; fade back in + call video_fade_in + pop bc ; bc = exit table now ; finally adjust player position diff --git a/src/video.s b/src/video.s index 5abfbfa..5b712ad 100644 --- a/src/video.s +++ b/src/video.s @@ -112,6 +112,49 @@ video_init: ret + ; delays by n frames + ; inputs: + ; bc: frame amount to wait +video_wait_n_frames: + push bc + call next_vblank_wait + pop bc + + dec bc + + ld a, b + or a, c + jr nz, video_wait_n_frames REL + ret + + ; fades out the background + ; interrupts must be enabled + ; preserved all registers +video_fade_out: + push_all + + ld bc, 0xF + call video_wait_n_frames + + pop_all + ret + + ; fades the background in + ; sets RBGP to BGP + ; interrupts must be enabled + ; preserved all registers +video_fade_in: + push_all + + ld bc, 0xF + call video_wait_n_frames + + ld a, BGP + ld [RBGP], a + + pop_all + ret + ; loads tilesets ; inputs: ; de: source