Author: loonycyborg
Date: Sat Mar 24 14:51:14 2012
New Revision: 53639
URL: http://svn.gna.org/viewcvs/wesnoth?rev=53639&view=rev
Log:
Send proper WML on room joins.
Modified:
branches/asio_wesnothd/src/server/rooms.cpp
branches/asio_wesnothd/src/server/rooms.hpp
Modified: branches/asio_wesnothd/src/server/rooms.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/branches/asio_wesnothd/src/server/rooms.cpp?rev=53639&r1=53638&r2=53639&view=diff
==============================================================================
--- branches/asio_wesnothd/src/server/rooms.cpp (original)
+++ branches/asio_wesnothd/src/server/rooms.cpp Sat Mar 24 14:51:14 2012
@@ -59,7 +59,23 @@
else
iter->info = existing_room_iter->info;
}
- send_server_message(room_name,
player_connections_.left.at(socket) + " enters room '" + room_name + "'");
+ simple_wml::document room_join;
+ simple_wml::node& msg = room_join.root().add_child("room_join");
+ msg.set_attr_dup("player",
player_connections_.left.at(iter->left).c_str());
+ msg.set_attr_dup("room", room_name.c_str());
+ send_to_room(room_name, room_join, socket);
+
+ fill_member_list(room_name, msg);
+ send_to_player(socket, room_join);
+ }
+}
+
+void RoomList::fill_member_list(const std::string room_name, simple_wml::node&
root)
+{
+ simple_wml::node& members = root.add_child("members");
+ foreach(const RoomMap::right_value_type& value,
room_map_.right.equal_range(room_name)) {
+ simple_wml::node& member = members.add_child("member");
+ member.set_attr_dup("name",
player_connections_.left.at(value.second).c_str());
}
}
Modified: branches/asio_wesnothd/src/server/rooms.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/branches/asio_wesnothd/src/server/rooms.hpp?rev=53639&r1=53638&r2=53639&view=diff
==============================================================================
--- branches/asio_wesnothd/src/server/rooms.hpp (original)
+++ branches/asio_wesnothd/src/server/rooms.hpp Sat Mar 24 14:51:14 2012
@@ -54,6 +54,9 @@
void send_to_room(const std::string& room_name, simple_wml::document&
doc, socket_ptr exclude = socket_ptr()) const;
void send_server_message(const std::string& room_name, const
std::string& message, socket_ptr exclude = socket_ptr()) const;
+
+ private:
+ void fill_member_list(const std::string room_name, simple_wml::node&
root);
};
#endif
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits