From 394fb595f6d03fa9d266ed28726975e0b59bc798 Mon Sep 17 00:00:00 2001 From: Robert Vollmert Date: Sat, 24 Oct 2009 12:42:13 +0200 Subject: Extract newgame character restrictions from newgame.cc. The functions in the new ng-restr.cc are "pure": They don't access global state; data is passed in via the new and incomplete newgame_def. Eventually, new_game should be split into something like newgame_def choose_game(); that doesn't access "you", and void setup_game(newgame_def); that sets up the player. Also get rid of player_size in favour of player::body_size. Rename player_size_type to size_part_type since it's not really player-specific (used in actor::body_size). Move parts of player_genus, player::has_claws, body_size out into species.cc. --- crawl-ref/source/species.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'crawl-ref/source/species.h') diff --git a/crawl-ref/source/species.h b/crawl-ref/source/species.h index d84219847c..6648fda35f 100644 --- a/crawl-ref/source/species.h +++ b/crawl-ref/source/species.h @@ -1,6 +1,20 @@ #ifndef SPECIES_H #define SPECIES_H +enum genus_type +{ + GENPC_DRACONIAN, + GENPC_ELVEN, + GENPC_DWARVEN, + GENPC_OGRE, + GENPC_NONE +}; + +genus_type species_genus(species_type species); +int species_has_claws(species_type species); +size_type species_size(species_type species, + size_part_type psize = PSIZE_TORSO); + // from newgame.cc species_type get_species(const int index); species_type random_draconian_player_species(); @@ -15,5 +29,9 @@ std::string species_name(species_type speci, int level, bool genus = false, bool adj = false); species_type str_to_species(const std::string &species); + +// species_type bounds checking. +bool is_valid_species(species_type); + #endif -- cgit v1.2.3-54-g00ecf