diff --git a/src/entities/structures/door.c b/src/entities/structures/door.c index d077967..97fb451 100644 --- a/src/entities/structures/door.c +++ b/src/entities/structures/door.c @@ -77,7 +77,7 @@ static void init(void) s->closedY = s->y; } - if (game.plus != PLUS_NONE) + if (game.plus & PLUS_ALL_OBJS) { s->alive = ALIVE_DEAD; } diff --git a/src/world/entities.c b/src/world/entities.c index 17f255d..b513104 100644 --- a/src/world/entities.c +++ b/src/world/entities.c @@ -1152,6 +1152,12 @@ static void mirror(void) switch (self->type) { case ET_DOOR: + s = (Structure*)self; + if (s->closedX == s->x) + { + s->closedX -= self->w; + s->tx -= self->w; + } break; case ET_LIFT: