From 94d12added8a35fef300cf559f3a6382d8b1f23f Mon Sep 17 00:00:00 2001 From: Lukas Krickl Date: Mon, 7 Jul 2025 05:51:38 +0200 Subject: [PATCH] map load: Added a bit of a delay between loads --- src/player.s | 6 ++++++ src/video.s | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) 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 -- 2.30.2