Author: alink
Date: Wed Apr 15 20:56:55 2009
New Revision: 34944
URL: http://svn.gna.org/viewcvs/wesnoth?rev=34944&view=rev
Log:
Add a 'all' key to [hide_help], use 'all=yes' to hide all units
Allow to use the 'race' key in [not]
syntax: [hide_help] all=yes [not] race=human,elf... show only these 2 races
Modified:
trunk/src/unit_types.cpp
trunk/src/unit_types.hpp
Modified: trunk/src/unit_types.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit_types.cpp?rev=34944&r1=34943&r2=34944&view=diff
==============================================================================
--- trunk/src/unit_types.cpp (original)
+++ trunk/src/unit_types.cpp Wed Apr 15 20:56:55 2009
@@ -1177,15 +1177,20 @@
build_all(unit_type::CREATED);
if (const config &hide = cfg.child("hide_help")) {
+ hide_help_all_ = utils::string_bool(hide["all"], false);
+
std::vector<std::string> types = utils::split(hide["type"]);
- hide_types_.insert(types.begin(), types.end());
+ hide_help_[TYPE].insert(types.begin(), types.end());
std::vector<std::string> races = utils::split(hide["race"]);
- hide_races_.insert(races.begin(), races.end());
+ hide_help_[RACE].insert(races.begin(), races.end());
if (const config &hide_not = hide.child("not")) {
std::vector<std::string> n_types =
utils::split(hide_not["type"]);
- hide_not_types_.insert(n_types.begin(), n_types.end());
+ hide_help_[NOT_TYPE].insert(n_types.begin(),
n_types.end());
+
+ std::vector<std::string> n_races =
utils::split(hide_not["race"]);
+ hide_help_[NOT_RACE].insert(n_races.begin(),
n_races.end());
}
}
}
@@ -1295,10 +1300,10 @@
return ut->second;
}
-bool unit_type_data::unit_type_map_wrapper::hide_help(const std::string&
type_id, const std::string& race_id) const
-{
- return (hide_types_.count(type_id) || hide_races_.count(race_id))
- && !hide_not_types_.count(type_id);
+bool unit_type_data::unit_type_map_wrapper::hide_help(const std::string& type,
const std::string& race) const
+{
+ return (hide_help_all_ || hide_help_[RACE].count(race) ||
hide_help_[TYPE].count(type))
+ && !(hide_help_[NOT_RACE].count(race) ||
hide_help_[NOT_TYPE].count(type));
}
void unit_type_data::unit_type_map_wrapper::add_advancefrom(const config&
unit_cfg) const
Modified: trunk/src/unit_types.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit_types.hpp?rev=34944&r1=34943&r2=34944&view=diff
==============================================================================
--- trunk/src/unit_types.hpp (original)
+++ trunk/src/unit_types.hpp Wed Apr 15 20:56:55 2009
@@ -384,9 +384,9 @@
movement_type_map movement_types_;
race_map races_;
- std::set<std::string> hide_types_;
- std::set<std::string> hide_races_;
- std::set<std::string> hide_not_types_;
+ bool hide_help_all_;
+ enum HIDE_KEY {TYPE=0, RACE, NOT_TYPE, NOT_RACE,
NB_HIDE_KEY};
+ std::set<std::string> hide_help_[NB_HIDE_KEY];
const config* unit_cfg_;
};
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits