scroll adjust: made step configurable
authorLukas Krickl <lukas@krickl.dev>
Tue, 23 Sep 2025 20:55:15 +0000 (22:55 +0200)
committerLukas Krickl <lukas@krickl.dev>
Tue, 23 Sep 2025 20:55:15 +0000 (22:55 +0200)
src/video.s

index 023252457df88f4d7c9c1191a318b526786d0745..96456cceac1c4502d6286e1ee0685c408ae606ac 100644 (file)
@@ -1,5 +1,5 @@
 #define BGP 0b11100100
-
+#define SCROLL_ADJUST_STEP 1 
 #define BG_CYCLE_FRAMES 31 
 
   ; vblank handler
@@ -48,7 +48,7 @@ video_map_perform_scroll:
        and a, ~GPF_SCROLL & 0xFF
        ld [game_flags], a
 
-       ld a, MAP_ROW_H
+       ld a, MAP_ROW_H / SCROLL_ADJUST_STEP
        ld [scroll_timer], a
        ret
        
@@ -63,7 +63,7 @@ video_map_adjust_scroll:
        ld [scroll_timer], a
 
        ld a, [scroll_y]
-       dec a
+       sub a, SCROLL_ADJUST_STEP
        ld [scroll_y], a
 
        call scroll_up_adjust
@@ -81,7 +81,7 @@ scroll_up_adjust:
        ld de, act_pos_y
        add hl, de
        ld a, [hl]
-       add a, 1
+       add a, SCROLL_ADJUST_STEP
        ld [hl+], a ; hl = page y pos hi
        
        ; check if off-screen
@@ -104,7 +104,7 @@ scroll_up_adjust:
        ld de, act_rect+r_pos_y
        add hl, de
        ld a, [hl]
-       add a, 1
+       add a, SCROLL_ADJUST_STEP 
        ld [hl], a
 
        pop hl
@@ -118,11 +118,11 @@ scroll_up_adjust:
        ; adjust player
 
        ld a, [player+act_pos_y]
-       add a, 1
+       add a, SCROLL_ADJUST_STEP 
        ld [player+act_pos_y], a
 
        ld a, [player+act_rect+r_pos_y]
-       inc a
+       add a, SCROLL_ADJUST_STEP
        ld [player+act_rect+r_pos_y], a
 
        ; adjust rectangles
@@ -136,7 +136,7 @@ scroll_up_adjust:
                add hl, de
 
                ld a, [hl]
-               inc a
+               add a, SCROLL_ADJUST_STEP
                ld [hl], a
        
                ; check if off-screen
@@ -159,7 +159,7 @@ scroll_up_adjust:
        ; adjust tmp rect
        ; (just in case we missed a vblank)
        ld a, [tmp_rect+r_pos_y]
-       inc a
+       add a, SCROLL_ADJUST_STEP
        ld [tmp_rect+r_pos_y], a
 
        ret