players: Moved redraw into a more generic routine
authorLukas Krickl <lukas@krickl.dev>
Thu, 7 Aug 2025 20:15:18 +0000 (22:15 +0200)
committerLukas Krickl <lukas@krickl.dev>
Thu, 7 Aug 2025 20:15:18 +0000 (22:15 +0200)
src/map.s
src/player.s

index b921cdd5d11cca922719fb611677ce3a49c01cce..88bf025629c721675f8feacda946d6e99b9aca87 100644 (file)
--- a/src/map.s
+++ b/src/map.s
@@ -494,6 +494,22 @@ map_draw_shadow2:
 
   ret
 
+       
+       ; requests a full map redraw
+       ; always draws to SCRN0
+       ; redraws one set of shadow tiles to SCRN0 + a * MAP_W
+       ; inputs:
+       ;               a: row to begin drawing at
+map_request_redraw_at:
+       push af ; save y for after
+       call map_draw_shadow2
+       pop af
+       
+       ld hl, SCRN0 
+       ; a = y position
+       call map_request_redraw2
+       ret
+
   ; requests a map redraw
   ; this will set up redraw_bg
   ; redraw_shadow and redraw steps for 4 rows of tiles
index baec58330ba7d7f0e671e03a28260cd9dd843836..431c76abf8abc2ffb3d25c4fd9a2ff6d6eca7341 100644 (file)
@@ -86,13 +86,7 @@ unit_player_remove_door:
        ld hl, act_pos_y
        add hl, de
        ld a, [hl] ; load y offset
-       push af ; save y for after
-       call map_draw_shadow2
-       pop af
-       
-       ld hl, SCRN0 
-       ; a = y position
-       call map_request_redraw2
+       call map_request_redraw_at
 
        ret