Author: ai0867
Date: Wed Oct 12 18:41:16 2011
New Revision: 51451
URL: http://svn.gna.org/viewcvs/wesnoth?rev=51451&view=rev
Log:
Partially restore r51335, which fixes bug #18745. This version if flawed
though, and does not yet work for female units.
Modified:
trunk/src/dialogs.cpp
trunk/src/display.cpp
trunk/src/help.cpp
trunk/src/reports.cpp
trunk/src/unit.hpp
trunk/src/unit_abilities.cpp
trunk/src/unit_types.cpp
trunk/src/unit_types.hpp
Modified: trunk/src/dialogs.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/dialogs.cpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/dialogs.cpp (original)
+++ trunk/src/dialogs.cpp Wed Oct 12 18:41:16 2011
@@ -942,8 +942,8 @@
det.traits = utils::join(u.trait_names(), ", ");
//we filter to remove the tooltips (increment by 2)
- const std::vector<std::string> &abilities = u.ability_tooltips(true);
- for(std::vector<std::string>::const_iterator a = abilities.begin();
+ const std::vector<t_string> &abilities = u.ability_tooltips(true);
+ for(std::vector<t_string>::const_iterator a = abilities.begin();
a != abilities.end(); a+=2) {
det.abilities.push_back(*a);
}
Modified: trunk/src/display.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/display.cpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/display.cpp (original)
+++ trunk/src/display.cpp Wed Oct 12 18:41:16 2011
@@ -2212,6 +2212,7 @@
SDL_Rect &rect = reportRects_[report_name];
const SDL_Rect &new_rect = item->location(screen_area());
surface &surf = reportSurfaces_[report_name];
+ /// @todo check to see if reports_ is ever updated
config &report = reports_[report_name];
// Report and its location is unchanged since last time. Do nothing.
@@ -2375,10 +2376,10 @@
}
skip_element:
- t = (*elements.first)["tooltip"].str();
+ t = (*elements.first)["tooltip"].t_str().base_str();
if (!t.empty()) {
if (!used_ellipsis) {
- tooltips::add_tooltip(area, t,
(*elements.first)["help"]);
+ tooltips::add_tooltip(area, t,
(*elements.first)["help"].t_str().base_str());
} else {
// Collect all tooltips for the ellipsis.
// TODO: need a better separator
Modified: trunk/src/help.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/help.cpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/help.cpp (original)
+++ trunk/src/help.cpp Wed Oct 12 18:41:16 2011
@@ -1180,13 +1180,13 @@
abil_vecs[0] = &type.abilities();
abil_vecs[1] = &type.adv_abilities();
- std::vector<std::string> const* desc_vecs[2];
+ std::vector<t_string> const* desc_vecs[2];
desc_vecs[0] = &type.ability_tooltips();
desc_vecs[1] = &type.adv_ability_tooltips();
for(int i=0; i<2; ++i) {
std::vector<t_string> const& abil_vec =
*abil_vecs[i];
- std::vector<std::string> const& desc_vec =
*desc_vecs[i];
+ std::vector<t_string> const& desc_vec =
*desc_vecs[i];
for(size_t j=0; j < abil_vec.size(); ++j) {
t_string const& abil_name = abil_vec[j];
if (ability_description.find(abil_name)
== ability_description.end()) {
@@ -1251,9 +1251,9 @@
std::stringstream text;
- const std::string& description = f["description"];
+ const config::attribute_value& description =
f["description"];
if (!description.empty()) {
- text << description << "\n";
+ text << description.t_str() << "\n";
text << "\n";
}
@@ -1282,9 +1282,9 @@
std::stringstream text;
text << "<header>text='" << _("Era:") << " " << era["name"] <<
"'</header>" << "\n";
text << "\n";
- const std::string& description = era["description"];
+ const config::attribute_value& description = era["description"];
if (!description.empty()) {
- text << description << "\n";
+ text << description.t_str() << "\n";
text << "\n";
}
Modified: trunk/src/reports.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/reports.cpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/reports.cpp (original)
+++ trunk/src/reports.cpp Wed Oct 12 18:41:16 2011
@@ -346,16 +346,16 @@
{
if (!u) return report();
config res;
- const std::vector<std::string> &abilities = u->ability_tooltips();
- for (std::vector<std::string>::const_iterator i = abilities.begin(),
+ const std::vector<t_string> &abilities = u->ability_tooltips();
+ for (std::vector<t_string>::const_iterator i = abilities.begin(),
i_end = abilities.end(); i != i_end; ++i)
{
std::ostringstream str, tooltip;
- const std::string &name = *i;
- str << gettext(name.c_str());
+ const std::string &name = i->base_str();
+ str << i->str();
if (i + 2 != i_end) str << ", ";
++i;
- tooltip << _("Ability: ") << *i;
+ tooltip << _("Ability: ") << i->str();
add_text(res, str.str(), tooltip.str(), "ability_" + name);
}
return res;
Modified: trunk/src/unit.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit.hpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/unit.hpp (original)
+++ trunk/src/unit.hpp Wed Oct 12 18:41:16 2011
@@ -304,7 +304,7 @@
unit_ability_list get_abilities(const std::string &ability, const
map_location& loc) const;
unit_ability_list get_abilities(const std::string &ability) const
{ return get_abilities(ability, loc_); }
- std::vector<std::string> ability_tooltips(bool force_active = false)
const;
+ std::vector<t_string> ability_tooltips(bool force_active = false) const;
std::vector<std::string> get_ability_list() const;
bool has_ability_type(const std::string& ability) const;
Modified: trunk/src/unit_abilities.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit_abilities.cpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/unit_abilities.cpp (original)
+++ trunk/src/unit_abilities.cpp Wed Oct 12 18:41:16 2011
@@ -201,9 +201,9 @@
return res;
}
-std::vector<std::string> unit::ability_tooltips(bool force_active) const
-{
- std::vector<std::string> res;
+std::vector<t_string> unit::ability_tooltips(bool force_active) const
+{
+ std::vector<t_string> res;
const config &abilities = cfg_.child("abilities");
if (!abilities) return res;
@@ -212,24 +212,24 @@
{
if (force_active || ability_active(ab.key, ab.cfg, loc_))
{
- std::string const &name =
+ t_string const &name =
gender_ == unit_race::MALE ||
ab.cfg["female_name"].empty() ?
- ab.cfg["name"] : ab.cfg["female_name"];
+ ab.cfg["name"].t_str() :
ab.cfg["female_name"].t_str();
if (!name.empty()) {
res.push_back(name);
- res.push_back(ab.cfg["description"]);
+ res.push_back(ab.cfg["description"].t_str());
}
}
else
{
- std::string const &name =
+ t_string const &name =
gender_ == unit_race::MALE ||
ab.cfg["female_name_inactive"].empty() ?
- ab.cfg["name_inactive"] :
ab.cfg["female_name_inactive"];
+ ab.cfg["name_inactive"].t_str() :
ab.cfg["female_name_inactive"].t_str();
if (!name.empty()) {
res.push_back(name);
- res.push_back(ab.cfg["description_inactive"]);
+
res.push_back(ab.cfg["description_inactive"].t_str());
}
}
}
Modified: trunk/src/unit_types.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit_types.cpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/unit_types.cpp (original)
+++ trunk/src/unit_types.cpp Wed Oct 12 18:41:16 2011
@@ -802,10 +802,10 @@
if (const config &abil_cfg = cfg.child("abilities"))
{
foreach (const config::any_child &ab,
abil_cfg.all_children_range()) {
- const std::string &name = ab.cfg["name"];
+ const config::attribute_value &name = ab.cfg["name"];
if (!name.empty()) {
- abilities_.push_back(name);
-
ability_tooltips_.push_back(ab.cfg["description"]);
+ abilities_.push_back(name.t_str());
+ ability_tooltips_.push_back(
ab.cfg["description"].t_str() );
}
}
}
@@ -819,10 +819,10 @@
continue;
}
foreach (const config::any_child &ab,
abil_cfg.all_children_range()) {
- const std::string &name = ab.cfg["name"];
+ const config::attribute_value &name =
ab.cfg["name"];
if (!name.empty()) {
- adv_abilities_.push_back(name);
-
adv_ability_tooltips_.push_back(ab.cfg["description"]);
+ adv_abilities_.push_back(name.t_str());
+ adv_ability_tooltips_.push_back(
ab.cfg["description"].t_str() );
}
}
}
Modified: trunk/src/unit_types.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit_types.hpp?rev=51451&r1=51450&r2=51451&view=diff
==============================================================================
--- trunk/src/unit_types.hpp (original)
+++ trunk/src/unit_types.hpp Wed Oct 12 18:41:16 2011
@@ -257,11 +257,11 @@
fixed_t alpha() const { return alpha_; }
const std::vector<t_string>& abilities() const { return abilities_; }
- const std::vector<std::string>& ability_tooltips() const { return
ability_tooltips_; }
+ const std::vector<t_string>& ability_tooltips() const { return
ability_tooltips_; }
// some extra abilities may be gained through AMLA advancements
const std::vector<t_string>& adv_abilities() const { return
adv_abilities_; }
- const std::vector<std::string>& adv_ability_tooltips() const { return
adv_ability_tooltips_; }
+ const std::vector<t_string>& adv_ability_tooltips() const { return
adv_ability_tooltips_; }
bool can_advance() const { return !advances_to_.empty(); }
@@ -322,7 +322,7 @@
fixed_t alpha_;
std::vector<t_string> abilities_, adv_abilities_;
- std::vector<std::string> ability_tooltips_, adv_ability_tooltips_;
+ std::vector<t_string> ability_tooltips_, adv_ability_tooltips_;
bool zoc_, hide_help_;
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits