; but does not allow camera to wrap
scroll_center_player:
ld a, [player+act_pos_y]
- sub a, 32
+ sub a, 16*3
+ jr nc, @no_y_underflow REL
+ ; on underflow we don't scroll
+ xor a, a
+@no_y_underflow:
+ cp a, 0x90
+ jr c, @no_y_overflow REL
+ ; on overflow don't scroll further
+ ld a, 0x90
+@no_y_overflow:
+@sety:
ld [scroll_y], a
+
ld a, [player+act_pos_x]
- sub a, 32
+ sub a, 16*4
+ jr nc, @no_x_underflow REL
+ ; on underflow we don't scroll
+ xor a, a
+@no_x_underflow:
+
+ cp a, 0x60
+ jr c, @no_x_overflow REL
+ ; on overflow don't scroll further
+ ld a, 0x60
+@no_x_overflow:
+@setx:
ld [scroll_x], a
ret