[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Wesnoth-cvs-commits] wesnoth/src/server game.hpp game.cpp server.cpp
From: |
Jon Daniel |
Subject: |
[Wesnoth-cvs-commits] wesnoth/src/server game.hpp game.cpp server.cpp |
Date: |
Wed, 08 Jun 2005 17:10:39 -0400 |
CVSROOT: /cvsroot/wesnoth
Module name: wesnoth
Branch:
Changes by: Jon Daniel <address@hidden> 05/06/08 21:10:39
Modified files:
src/server : game.hpp game.cpp server.cpp
Log message:
Fixes for players controlling multiple sides.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/server/game.hpp.diff?tr1=1.20&tr2=1.21&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/server/game.cpp.diff?tr1=1.36&tr2=1.37&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/wesnoth/wesnoth/src/server/server.cpp.diff?tr1=1.79&tr2=1.80&r1=text&r2=text
Patches:
Index: wesnoth/src/server/game.cpp
diff -u wesnoth/src/server/game.cpp:1.36 wesnoth/src/server/game.cpp:1.37
--- wesnoth/src/server/game.cpp:1.36 Tue Jun 7 20:24:23 2005
+++ wesnoth/src/server/game.cpp Wed Jun 8 21:10:39 2005
@@ -153,7 +153,9 @@
side_controllers_[side_index] =
"network";
sides_.insert(std::pair<network::connection, size_t>(player, side_index));
sides_taken_[side_index] = true;
- network::queue_data(cfg,
players_.front());
+ config new_cfg = cfg;
+ new_cfg["side"] = (**i)["side"];
+ network::queue_data(new_cfg,
players_.front());
return true;
}
}
@@ -172,6 +174,7 @@
void game::update_side_data()
{
sides_taken_.clear();
+ sides_taken_.resize(9);
sides_.clear();
const config::child_itors level_sides = level_.child_range("side");
@@ -204,7 +207,7 @@
if((**sd)["controller"] == "network") {
side_controllers_[side_index] = "network";
- if((**sd)["description"] ==
info->second.name()) {
+ if((**sd)["user_description"] ==
info->second.name()) {
sides_.insert(std::pair<network::connection, size_t>(*player, side_index));
sides_taken_[side_index] = true;
}
@@ -216,7 +219,7 @@
side_controllers_[side_index] = "ai";
sides_taken_[side_index] = true;
}
- else if((**sd)["controller"] == "human"){
+ else if((**sd)["controller"] == "human") {
sides_taken_[side_index] = true;
side_controllers_[side_index] = "human";
}
@@ -270,17 +273,17 @@
return not_during_turn;
}
}
-
- sides_.insert(std::pair<network::connection,size_t>(*i, side_index));
side_controllers_[side_index] = "network";
sides_taken_[side_index] = true;
-
+ sides_.insert(std::pair<const network::connection,size_t>(*i,
side_index));
+
+ // send a response to the host and to the new controller
config response;
config& change = response.add_child("change_controller");
change["side"] = side;
- change["controller"] = "network";
+ change["controller"] = "network";
network::queue_data(response,players_.front());
change["controller"] = "human";
@@ -292,7 +295,6 @@
observer_quit.add_child("observer_quit").values["name"] =
player;
send_data(observer_quit);
}
-
static const std::string success = "";
return success;
}
@@ -450,6 +452,7 @@
{
const std::vector<network::connection>::iterator itor =
std::find(players_.begin(),players_.end(),player);
+
if(itor != players_.end())
players_.erase(itor);
Index: wesnoth/src/server/game.hpp
diff -u wesnoth/src/server/game.hpp:1.20 wesnoth/src/server/game.hpp:1.21
--- wesnoth/src/server/game.hpp:1.20 Tue Jun 7 20:24:23 2005
+++ wesnoth/src/server/game.hpp Wed Jun 8 21:10:39 2005
@@ -110,7 +110,7 @@
static int id_num;
int id_;
std::vector<network::connection> players_;
- std::map<network::connection,size_t> sides_;
+ std::multimap<network::connection,size_t> sides_;
std::vector<bool> sides_taken_;
std::vector<std::string> side_controllers_;
bool started_;
Index: wesnoth/src/server/server.cpp
diff -u wesnoth/src/server/server.cpp:1.79 wesnoth/src/server/server.cpp:1.80
--- wesnoth/src/server/server.cpp:1.79 Sat Jun 4 19:16:06 2005
+++ wesnoth/src/server/server.cpp Wed Jun 8 21:10:39 2005
@@ -599,7 +599,7 @@
const config& msg =
construct_server_message("You have been banned",*g);
network::send_data(msg, pl->first);
} else {
- g->remove_player(pl->first, false);
+ g->remove_player(pl->first);
}
config leave_game;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Wesnoth-cvs-commits] wesnoth/src/server game.hpp game.cpp server.cpp,
Jon Daniel <=