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

Reply via email to