/* make and stock a room of a given type Note: must not use the level creation RNG if this is of a room type that's affected by genocide/extinction (LEPREHALL, BEEHIVE, BARRACKS, ANTHOLE, COCKNEST), or genocide/extinction would change the layout of the rest of the level. */ void mkroom(struct level *lev, int roomtype) { if (roomtype >= SHOPBASE) mkshop(lev); /* someday, we should be able to specify shop type */ else switch (roomtype) { case COURT: mkzoo(lev, COURT, rng_for_level(&lev->z)); break; case ZOO: mkzoo(lev, ZOO, rng_for_level(&lev->z)); break; case BEEHIVE: mkzoo(lev, BEEHIVE, rng_main); break; case MORGUE: mkzoo(lev, MORGUE, rng_for_level(&lev->z)); break; case BARRACKS: mkzoo(lev, BARRACKS, rng_main); break; case SWAMP: mkswamp(lev); break; case TEMPLE: mktemple(lev); break; case LEPREHALL: mkzoo(lev, LEPREHALL, rng_main); break; case COCKNEST: mkzoo(lev, COCKNEST, rng_main); break; case ANTHOLE: mkzoo(lev, ANTHOLE, rng_main); break; default: impossible("Tried to make a room of type %d.", roomtype); } }
void mkroom ( /* make and stock a room of a given type */ int roomtype ) { if (roomtype >= SHOPBASE) mkshop(); /* someday, we should be able to specify shop type */ else switch(roomtype) { case COURT: mkzoo(COURT); break; case ZOO: mkzoo(ZOO); break; case BEEHIVE: mkzoo(BEEHIVE); break; case MORGUE: mkzoo(MORGUE); break; case BARRACKS: mkzoo(BARRACKS); break; case SWAMP: mkswamp(); break; case TEMPLE: mktemple(); break; case LEPREHALL: mkzoo(LEPREHALL); break; case COCKNEST: mkzoo(COCKNEST); break; case ANTHOLE: mkzoo(ANTHOLE); break; default: impossible("Tried to make a room of type %d.", roomtype); } }