diff options
Diffstat (limited to 'crawl-ref/source/branch.h')
-rw-r--r-- | crawl-ref/source/branch.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/crawl-ref/source/branch.h b/crawl-ref/source/branch.h index 009bb89bca..9ddc1a1d0a 100644 --- a/crawl-ref/source/branch.h +++ b/crawl-ref/source/branch.h @@ -12,6 +12,15 @@ #include "enum.h" +enum branch_flag_type +{ + BFLAG_NONE = 0, + + BFLAG_NO_TELE_CONTROL = (1 << 0), // Teleport control not allowed. + BFLAG_NOT_MAPPABLE = (1 << 1), // Branch levels not mappable. + BFLAG_NO_MAGIC_MAP = (1 << 2) // Branch levels can't be magic mapped. +}; + struct Branch { branch_type id; @@ -19,6 +28,8 @@ struct Branch int depth; int startdepth; // which level of the parent branch, // 1 for first level + unsigned long branch_flags; + unsigned long default_level_flags; dungeon_feature_type entry_stairs; dungeon_feature_type exit_stairs; const char* shortname; // "Slime Pits" @@ -42,4 +53,10 @@ Branch& your_branch(); branch_type str_to_branch(const std::string &branch, branch_type err = NUM_BRANCHES); +bool set_branch_flags(unsigned long flags, bool silent = false, + branch_type branch = NUM_BRANCHES); +bool unset_branch_flags(unsigned long flags, bool silent = false, + branch_type branch = NUM_BRANCHES); +unsigned long get_branch_flags(branch_type branch = NUM_BRANCHES); + #endif |