Author: suokko
Date: Tue Sep 2 11:32:56 2008
New Revision: 29183
URL: http://svn.gna.org/viewcvs/wesnoth?rev=29183&view=rev
Log:
Fixed reserved slot to be take able by join client
Fixed multiplayer_connect to convert new ai controllers
Modified:
trunk/src/multiplayer_connect.cpp
trunk/src/multiplayer_wait.cpp
Modified: trunk/src/multiplayer_connect.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/multiplayer_connect.cpp?rev=29183&r1=29182&r2=29183&view=diff
==============================================================================
--- trunk/src/multiplayer_connect.cpp (original)
+++ trunk/src/multiplayer_connect.cpp Tue Sep 2 11:32:56 2008
@@ -86,6 +86,10 @@
enabled_(!parent_->params_.saved_game), changed_(false),
llm_(parent.era_sides_, enabled_ ? &combo_leader_ : NULL, enabled_ ?
&combo_gender_ : NULL)
{
+ // convert ai controllers
+ if (cfg_["controller"] == "human_ai"
+ || cfg_["controller"] == "network_ai")
+ cfg_["controller"] = "ai";
if(allow_player_ && enabled_) {
controller_ = parent_->default_controller_;
} else {
@@ -98,7 +102,8 @@
}
else
{
- if (!save_id_.empty())
+ if (cfg_["controller"] == "network"
+ || cfg_["controller"] == "human")
{
cfg_["controller"] = "reserved";
@@ -1187,6 +1192,7 @@
update_user_combos();
}
update_and_send_diff();
+ update_playerlist_state(true);
return;
}
}
Modified: trunk/src/multiplayer_wait.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/multiplayer_wait.cpp?rev=29183&r1=29182&r2=29183&view=diff
==============================================================================
--- trunk/src/multiplayer_wait.cpp (original)
+++ trunk/src/multiplayer_wait.cpp Tue Sep 2 11:32:56 2008
@@ -240,17 +240,22 @@
//available side.
int side_choice = -1;
for(config::child_list::const_iterator s = sides_list.begin();
s != sides_list.end(); ++s) {
+ if((**s)["controller"] == "reserved" &&
(**s)["current_player"] == preferences::login())
+ {
+ side_choice = s - sides_list.begin();
+ break;
+ }
if((**s)["controller"] == "network" &&
(**s)["id"].empty()) {
if (side_choice < 0) // found the first empty
side
side_choice = s - sides_list.begin();
- if((**s)["save_id"] == preferences::login() ||
(**s)["current_player"] == preferences::login()) {
+ if((**s)["current_player"] ==
preferences::login()) {
+ side_choice = s - sides_list.begin();
break; // found the prefered one
}
}
}
if (side_choice < 0 || side_choice >= sides_list.size()) {
- set_result(QUIT);
- throw config::error(_("No multiplayer sides available
in this game"));
+ join_game(true);
return;
}
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits