From 74e5f4c3d83dae16ad3ab1c81292e528f81f52f6 Mon Sep 17 00:00:00 2001 From: Lukas Krickl Date: Thu, 21 Aug 2025 12:53:21 +0200 Subject: [PATCH] removing doors now does not set the exit flag anymore but instead clears all other flags --- src/mapgen.s | 12 +++++++----- src/player.s | 7 +++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/mapgen.s b/src/mapgen.s index fdf3caa..c56b0b0 100644 --- a/src/mapgen.s +++ b/src/mapgen.s @@ -179,7 +179,7 @@ mapgen_draw_doors: add hl, de ld a, DOOR_TILE_TOP ld [hl+], a - ld a, CF_DOOR | CF_COLLISION + ld a, CF_DOOR | CF_COLLISION | CF_EXIT ld [hl], a pop hl @no_door_up: @@ -192,7 +192,7 @@ mapgen_draw_doors: add hl, de ld a, DOOR_TILE_BOTTOM ld [hl+], a - ld a, CF_DOOR | CF_COLLISION + ld a, CF_DOOR | CF_COLLISION | CF_EXIT ld [hl], a pop hl @no_door_down: @@ -205,7 +205,7 @@ mapgen_draw_doors: add hl, de ld a, DOOR_TILE_LEFT ld [hl+], a - ld a, CF_DOOR | CF_COLLISION + ld a, CF_DOOR | CF_COLLISION | CF_EXIT ld [hl], a pop hl @no_door_left: @@ -218,7 +218,7 @@ mapgen_draw_doors: add hl, de ld a, DOOR_TILE_RIGHT ld [hl+], a - ld a, CF_DOOR | CF_COLLISION + ld a, CF_DOOR | CF_COLLISION | CF_EXIT ld [hl], a pop hl @no_door_right: @@ -244,7 +244,9 @@ mapgen_draw_doors: @door_tile: xor a, a ld [hl+], a ; clear tile - ld a, CF_EXIT + + ld a, [hl] ; clear collision and door flags + and a, CF_EXIT ld [hl], a ret diff --git a/src/player.s b/src/player.s index 7679fb9..2a67824 100644 --- a/src/player.s +++ b/src/player.s @@ -107,10 +107,13 @@ unit_player_remove_door: ; remove door tile, door flag ; and redraw map - ld a, 0x00 ; roof tile + ld a, 0x00 ; floor tile ; clear map ld [hl+], a - ld a, CF_EXIT + + ; clear all flags but exit + ld a, [hl] + and a, CF_EXIT ld [hl], a ld hl, act_rt_collision_pos_y -- 2.30.2