From 8529af97f7b9a5d69297726a62bdf3835f3c4d6d Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sun, 23 Mar 2008 20:05:14 +0000 Subject: moved intial data transfer after pif --- src/core/netserver.cc | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'src/core/netserver.cc') diff --git a/src/core/netserver.cc b/src/core/netserver.cc index c9870c5..3b17a65 100644 --- a/src/core/netserver.cc +++ b/src/core/netserver.cc @@ -256,7 +256,12 @@ NetClient * NetServer::client_connect(std::string const host, int const port) } clients.push_back(client); - + client->player()->player_dirty = false; + return client; +} + +void NetServer::client_initialize(NetClient *client) { + // send welcome message std::ostringstream netmsg; netmsg.str(""); @@ -266,7 +271,7 @@ NetClient * NetServer::client_connect(std::string const host, int const port) // send entities std::map::iterator it; - for (it=Entity::registry.begin(); it != Entity::registry.end(); it++) { + for (it=Entity::registry.begin(); it != Entity::registry.end(); it++) { netmsg.str(""); switch ((*it).second->type()) { case Entity::Default: @@ -283,11 +288,10 @@ NetClient * NetServer::client_connect(std::string const host, int const port) break; } } - client->transmit(fd()); - - client->player()->player_dirty = false; + netmsg.str("connect\n"); + client->send(netmsg.str()); - return client; + client->transmit(fd()); } void NetServer::send(NetClient * client, std::string const & message) @@ -353,11 +357,9 @@ void NetServer::parse_incoming_message(NetClient *client, const std::string & me if (client->state() == NetClient::Connecting) { client->client_state = NetClient::Connected; + client_initialize(client); server()->player_connect(client->player()); - std::string netmsg("connect\n"); - client->send(netmsg); - } else if ((client->state() == NetClient::Connected) && (client->player()->name() != oldname)) { std::string netmsg(oldname); -- cgit v1.2.3