From 184b42ff5a471027dff3b8e47f03cbf0b0cc2fab Mon Sep 17 00:00:00 2001 From: Linus Probert Date: Mon, 11 Mar 2019 16:28:57 +0100 Subject: [PATCH] Fixes door logic --- src/map.c | 4 +++- src/map.h | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/map.c b/src/map.c index b28d6e2..f89839c 100644 --- a/src/map.c +++ b/src/map.c @@ -83,6 +83,8 @@ map_create_tile(void) tile->lethal = false; tile->lightsource = false; tile->levelExit = false; + tile->door = false; + tile->lockType = LOCK_NONE; return tile; } @@ -147,7 +149,7 @@ map_add_door(Map *map, Position *tile_pos, MapTile *tile) Room *room = map->rooms[cr->x][cr->y]; switch_tile(map, tile_pos, tile, &room->doors[tile_pos->x][tile_pos->y]); tile->door = true; - tile->animate = false; + tile->sprite->animate = false; } void diff --git a/src/map.h b/src/map.h index c0c009e..20d99b5 100644 --- a/src/map.h +++ b/src/map.h @@ -36,6 +36,12 @@ typedef struct UpdateData UpdateData; typedef struct Trap Trap; +typedef enum DoorLockType { + LOCK_NONE, + LOCK_SILVER, + LOCK_GOLD +} DoorLockType; + typedef struct MapTile_t { Sprite *sprite; bool collider; @@ -43,6 +49,7 @@ typedef struct MapTile_t { bool lightsource; bool levelExit; bool door; + DoorLockType lockType; } MapTile; typedef struct Room_t {