added option to read level data from file

This commit is contained in:
2024-07-21 00:42:10 -04:00
parent 25477c2cf8
commit 401b5b00b5
14 changed files with 366 additions and 58 deletions

View File

@ -55,8 +55,6 @@ enum race get_normal_race(RNG *rng) {
std::unique_ptr<enemy_base> new_enemy(RNG *rng, const position &pos,
const feature enabled_features,
int which_room) {
using std::make_unique;
enum race r;
if (enabled_features & FEATURE_EXTRA_STUFF)
@ -64,7 +62,15 @@ std::unique_ptr<enemy_base> new_enemy(RNG *rng, const position &pos,
else
r = get_normal_race(rng);
switch (r) {
return new_enemy(r, pos, enabled_features, which_room, rng);
}
std::unique_ptr<enemy_base> new_enemy(const race &race, const position &pos,
const feature enabled_features,
int which_room, RNG *rng) {
using std::make_unique;
switch (race) {
case DWARF:
return make_unique<dwarf>(rng, enabled_features,
pos, which_room);
@ -113,6 +119,10 @@ std::unique_ptr<enemy_base> new_enemy(RNG *rng, const position &pos,
return make_unique<baby_dragon>(rng, enabled_features,
pos, which_room);
case DRAGON:
return make_unique<dragon>(rng, enabled_features,
pos, which_room);
default:
break;
}