diff options
Diffstat (limited to 'src/levels.hpp')
-rw-r--r-- | src/levels.hpp | 51 |
1 files changed, 44 insertions, 7 deletions
diff --git a/src/levels.hpp b/src/levels.hpp index a48f1d95..46ec273e 100644 --- a/src/levels.hpp +++ b/src/levels.hpp @@ -1,13 +1,50 @@ #pragma once -#include "h-basic.h" +#include "dungeon_flag_set.hpp" -bool_ get_dungeon_generator(char *buf); -bool_ get_level_desc(char *buf); -void get_level_flags(); -bool_ get_dungeon_name(char *buf); -bool_ get_dungeon_special(char *buf); +#include <boost/optional.hpp> +#include <string> + +/** + * Get the level description, for special levels. + */ +boost::optional<std::string> get_level_description(); + +/** + * Get the level name, for special levels. + */ +boost::optional<std::string> get_dungeon_name(); + +/** + * Get the map name, for special levels. + */ +boost::optional<std::string> get_dungeon_map_name(); + +/** + * Get the dungeon save file extension, for special levels. + */ +boost::optional<std::string> get_dungeon_save_extension(); + +/** + * Get dungeon flags, for special levels. Returns an empty + * set of flags for non-special levels. + */ +dungeon_flag_set get_level_flags(); + +/** + * Get target dungeon to which this level branches, if any. + * Returns 0 when the dungeon level does not branch. + */ int get_branch(); + +/** + * Get parent dungeon of this dungeon, if any. + * Returns 0 when the dungeon was not entered via a branch. + */ int get_fbranch(); + +/** + * Get the target depth of the parent dungeon, if any. + * Returns 0 when the dungeon has no parent dungeon. + */ int get_flevel(); -bool_ get_dungeon_save(char *buf); |