[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Wesnoth-cvs-commits] wesnoth/src leader_list.cpp multiplayer_connect...
From: |
Philippe Plantier |
Subject: |
[Wesnoth-cvs-commits] wesnoth/src leader_list.cpp multiplayer_connect... |
Date: |
Sat, 19 Mar 2005 12:33:34 -0500 |
CVSROOT: /cvsroot/wesnoth
Module name: wesnoth
Branch:
Changes by: Philippe Plantier <address@hidden> 05/03/19 17:33:33
Modified files:
src : leader_list.cpp multiplayer_connect.cpp
multiplayer_connect.hpp multiplayer_create.cpp
multiplayer_wait.cpp
Log message:
When loading multiplayer savegames, the leader is now displayed. Fixes
bug
#12112 .
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/leader_list.cpp.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/multiplayer_connect.cpp.diff?tr1=1.127&tr2=1.128&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/multiplayer_connect.hpp.diff?tr1=1.34&tr2=1.35&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/multiplayer_create.cpp.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/multiplayer_wait.cpp.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
Patches:
Index: wesnoth/src/leader_list.cpp
diff -u wesnoth/src/leader_list.cpp:1.9 wesnoth/src/leader_list.cpp:1.10
--- wesnoth/src/leader_list.cpp:1.9 Fri Mar 11 02:27:54 2005
+++ wesnoth/src/leader_list.cpp Sat Mar 19 17:33:32 2005
@@ -1,4 +1,4 @@
-/* $Id: leader_list.cpp,v 1.9 2005/03/11 02:27:54 Sirp Exp $ */
+/* $Id: leader_list.cpp,v 1.10 2005/03/19 17:33:32 gruikya Exp $ */
/*
Copyright (C)
Part of the Battle for Wesnoth Project http://www.wesnoth.org
@@ -95,7 +95,6 @@
}
leaders_.push_back("random");
- // FIXME: Maybe this should not code into the code.
leader_strings.push_back(IMAGE_PREFIX + random_enemy_picture +
COLUMN_SEPARATOR + _("Random"));
Index: wesnoth/src/multiplayer_connect.cpp
diff -u wesnoth/src/multiplayer_connect.cpp:1.127
wesnoth/src/multiplayer_connect.cpp:1.128
--- wesnoth/src/multiplayer_connect.cpp:1.127 Sat Mar 19 16:21:02 2005
+++ wesnoth/src/multiplayer_connect.cpp Sat Mar 19 17:33:32 2005
@@ -1,4 +1,4 @@
-/* $Id: multiplayer_connect.cpp,v 1.127 2005/03/19 16:21:02 gruikya Exp $ */
+/* $Id: multiplayer_connect.cpp,v 1.128 2005/03/19 17:33:32 gruikya Exp $ */
/*
Copyright (C)
Part of the Battle for Wesnoth Project http://www.wesnoth.org
@@ -57,11 +57,9 @@
combo_colour_(parent.disp(), parent.player_colours_),
slider_gold_(parent.video()),
label_gold_(parent.video(), "100", font::SIZE_NORMAL,
font::GOOD_COLOUR),
-
- llm_(parent.era_sides_, &parent.game_data_, &combo_leader_),
-
enabled_(!parent_->params_.saved_game),
- changed_(false)
+ changed_(false),
+ llm_(parent.era_sides_, &parent.game_data_, enabled_ ? &combo_leader_ :
NULL)
{
if(enabled_) {
controller_ = parent_->default_controller_;
@@ -110,6 +108,32 @@
pseudo_factions.push_back(cfg_["name"]);
combo_faction_.set_items(pseudo_factions);
combo_faction_.set_selected(0);
+
+ // Hack: if there is a unit which can recruit, use it as a
+ // leader. Necessary to display leader information when loading
+ // saves.
+ config::const_child_itors side_units = cfg.child_range("unit");
+ std::string leader_type;
+ for(;side_units.first != side_units.second; ++side_units.first)
{
+ if((**side_units.first)["canrecruit"] == "1") {
+ leader_type = (**side_units.first)["type"];
+ break;
+ }
+ }
+ std::vector<std::string> leader_name_pseudolist;
+ if(leader_type.empty()) {
+ leader_name_pseudolist.push_back("-");
+ } else {
+ game_data::unit_type_map::const_iterator leader_name =
+
parent_->game_data_.unit_types.find(leader_type);
+ if(leader_name == parent_->game_data_.unit_types.end())
{
+ leader_name_pseudolist.push_back("-");
+ } else {
+
leader_name_pseudolist.push_back(leader_name->second.language_name());
+ }
+ }
+ combo_leader_.set_items(leader_name_pseudolist);
+ combo_leader_.set_selected(0);
}
update_ui();
@@ -125,10 +149,10 @@
orig_controller_(a.orig_controller_),
combo_faction_(a.combo_faction_), combo_leader_(a.combo_leader_),
combo_team_(a.combo_team_), combo_colour_(a.combo_colour_),
- slider_gold_(a.slider_gold_), label_gold_(a.label_gold_), llm_(a.llm_),
- enabled_(a.enabled_), changed_(a.changed_)
+ slider_gold_(a.slider_gold_), label_gold_(a.label_gold_),
+ enabled_(a.enabled_), changed_(a.changed_), llm_(a.llm_)
{
- llm_.set_combo(&combo_leader_);
+ llm_.set_combo(enabled_ ? &combo_leader_ : NULL);
}
void connect::side::add_widgets_to_scrollpane(gui::scrollpane& pane, int pos)
Index: wesnoth/src/multiplayer_connect.hpp
diff -u wesnoth/src/multiplayer_connect.hpp:1.34
wesnoth/src/multiplayer_connect.hpp:1.35
--- wesnoth/src/multiplayer_connect.hpp:1.34 Sat Mar 19 16:21:02 2005
+++ wesnoth/src/multiplayer_connect.hpp Sat Mar 19 17:33:32 2005
@@ -1,4 +1,4 @@
-/* $Id: multiplayer_connect.hpp,v 1.34 2005/03/19 16:21:02 gruikya Exp $ */
+/* $Id: multiplayer_connect.hpp,v 1.35 2005/03/19 17:33:32 gruikya Exp $ */
/*
Copyright (C)
Part of the Battle for Wesnoth Project http://www.wesnoth.org
@@ -121,10 +121,9 @@
gui::slider slider_gold_;
gui::label label_gold_;
- leader_list_manager llm_;
-
bool enabled_;
bool changed_;
+ leader_list_manager llm_;
};
friend class side;
Index: wesnoth/src/multiplayer_create.cpp
diff -u wesnoth/src/multiplayer_create.cpp:1.16
wesnoth/src/multiplayer_create.cpp:1.17
--- wesnoth/src/multiplayer_create.cpp:1.16 Fri Mar 18 21:21:48 2005
+++ wesnoth/src/multiplayer_create.cpp Sat Mar 19 17:33:32 2005
@@ -1,4 +1,4 @@
-/* $Id: multiplayer_create.cpp,v 1.16 2005/03/18 21:21:48 ydirson Exp $ */
+/* $Id: multiplayer_create.cpp,v 1.17 2005/03/19 17:33:32 gruikya Exp $ */
/*
Copyright (C)
Part of the Battle for Wesnoth Project http://www.wesnoth.org
@@ -74,7 +74,7 @@
//create the scenarios menu
maps_menu_.set_items(map_options_);
- if (preferences::map() < map_options_.size())
+ if (size_t(preferences::map()) < map_options_.size())
maps_menu_.move_selection(preferences::map());
maps_menu_.set_numeric_keypress_selection(false);
@@ -123,7 +123,7 @@
}
era_combo_.set_items(eras);
- if (preferences::era() < eras.size())
+ if (size_t(preferences::era()) < eras.size())
era_combo_.set_selected(preferences::era());
string_map i18n_symbols;
Index: wesnoth/src/multiplayer_wait.cpp
diff -u wesnoth/src/multiplayer_wait.cpp:1.16
wesnoth/src/multiplayer_wait.cpp:1.17
--- wesnoth/src/multiplayer_wait.cpp:1.16 Sat Mar 19 16:21:02 2005
+++ wesnoth/src/multiplayer_wait.cpp Sat Mar 19 17:33:32 2005
@@ -1,4 +1,4 @@
-/* $Id: multiplayer_wait.cpp,v 1.16 2005/03/19 16:21:02 gruikya Exp $ */
+/* $Id: multiplayer_wait.cpp,v 1.17 2005/03/19 17:33:32 gruikya Exp $ */
/*
Copyright (C)
Part of the Battle for Wesnoth Project http://www.wesnoth.org
@@ -369,8 +369,20 @@
} else {
side_name = sd["name"];
}
+
std::string leader_type = sd["type"];
+ // Hack: if there is a unit which can recruit, use it as a
+ // leader. Necessary to display leader information when loading
+ // saves.
+ config::const_child_itors side_units = sd.child_range("unit");
+ for(;side_units.first != side_units.second; ++side_units.first)
{
+ if((**side_units.first)["canrecruit"] == "1") {
+ leader_type = (**side_units.first)["type"];
+ break;
+ }
+ }
+
if(!sd["description"].empty())
playerlist.push_back(sd["description"]);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Wesnoth-cvs-commits] wesnoth/src leader_list.cpp multiplayer_connect...,
Philippe Plantier <=