diff --git a/common.mk b/common.mk index 6b0747f..b50a0b1 100644 --- a/common.mk +++ b/common.mk @@ -31,7 +31,7 @@ OBJS += debris.o destructable.o door.o draw.o OBJS += effects.o entities.o exit.o explosions.o eyeDroidCommander.o OBJS += fleshChunk.o frost.o OBJS += game.o -OBJS += heart.o hub.o hud.o +OBJS += heart.o horizontalDoor.o hub.o hud.o OBJS += init.o infoPoint.o input.o io.o item.o items.o OBJS += key.o keycard.o OBJS += lookup.o diff --git a/src/world/entities/structures/horizontalDoor.c b/src/world/entities/structures/horizontalDoor.c new file mode 100644 index 0000000..57a2f21 --- /dev/null +++ b/src/world/entities/structures/horizontalDoor.c @@ -0,0 +1,49 @@ +/* +Copyright (C) 2018 Parallel Realities + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +*/ + +#include "horizontalDoor.h" + +void initHorizontalDoor(Entity *e) +{ + initEntity(e); + + e->sprite[0] = e->sprite[1] = e->sprite[2] = getSpriteIndex("HorizonalDoor"); +} + +void initBronzeHorizontalDoor(Entity *e) +{ + initHorizontalDoor(e); + + STRNCPY(e->requiredKey, "Bronze Key", MAX_NAME_LENGTH); +} + +void initSilverHorizontalDoor(Entity *e) +{ + initHorizontalDoor(e); + + STRNCPY(e->requiredKey, "Silver Key", MAX_NAME_LENGTH); +} + +void initGoldHorizontalDoor(Entity *e) +{ + initHorizontalDoor(e); + + STRNCPY(e->requiredKey, "Gold Key", MAX_NAME_LENGTH); +} diff --git a/src/world/entities/structures/horizontalDoor.h b/src/world/entities/structures/horizontalDoor.h new file mode 100644 index 0000000..d3c19c9 --- /dev/null +++ b/src/world/entities/structures/horizontalDoor.h @@ -0,0 +1,24 @@ +/* +Copyright (C) 2018 Parallel Realities + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +*/ + +#include "../../../common.h" + +extern void initEntity(Entity *e); +extern int getSpriteIndex(char *name);