#define BGP 0b11100100
-
+#define SCROLL_ADJUST_STEP 1
#define BG_CYCLE_FRAMES 31
; vblank handler
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
ld [scroll_timer], a
ld a, [scroll_y]
- dec a
+ sub a, SCROLL_ADJUST_STEP
ld [scroll_y], a
call 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
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
; 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
add hl, de
ld a, [hl]
- inc a
+ add a, SCROLL_ADJUST_STEP
ld [hl], a
; check if off-screen
; 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