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

Reply via email to