player: cursor is now capped to map bounds
authorLukas Krickl <lukas@krickl.dev>
Sat, 1 Nov 2025 15:56:56 +0000 (16:56 +0100)
committerLukas Krickl <lukas@krickl.dev>
Sat, 1 Nov 2025 15:56:56 +0000 (16:56 +0100)
src/player.s

index a1b2713193034cf0db6179f4a82c3532ccb5080b..1de61f646ec6d0202c352702b580e2bfbe42c0e6 100644 (file)
@@ -24,6 +24,8 @@ move_cursor:
        input_held
        jr z, @not_down REL
                ld a, [player+act_pos_y]
+               cp a, 0xF0 ; max value
+               jr z, @not_down REL
                inc a
                ld [player+act_pos_y], a
 @not_down:
@@ -32,6 +34,8 @@ move_cursor:
        input_held
        jr z, @not_up REL
                ld a, [player+act_pos_y]
+               cp a, 0 ; min value
+               jr z, @not_up REL 
                dec a
                ld [player+act_pos_y], a
 @not_up:
@@ -40,6 +44,8 @@ move_cursor:
        input_held
        jr z, @not_left REL
                ld a, [player+act_pos_x]
+               cp a, 0 ; min value
+               jr z, @not_left REL
                dec a
                ld [player+act_pos_x], a
 @not_left:
@@ -48,6 +54,8 @@ move_cursor:
        input_held
        jr z, @not_right REL
                ld a, [player+act_pos_x]
+               cp a, 0xF0 ; max value
+               jr z, @not_right REL
                inc a
                ld [player+act_pos_x], a
 @not_right: