From f030154fe727e25a2afe1f78b3998c2d2dba95e4 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Tue, 18 Aug 2009 09:24:15 +0000 Subject: astyle cleanup, corrects not loading of material textures --- src/core/netserver.cc | 136 +++++++++++++++++++++++++------------------------- 1 file changed, 69 insertions(+), 67 deletions(-) (limited to 'src/core/netserver.cc') diff --git a/src/core/netserver.cc b/src/core/netserver.cc index 83bbd6e..1ae928b 100644 --- a/src/core/netserver.cc +++ b/src/core/netserver.cc @@ -34,7 +34,7 @@ #include "core/zone.h" #ifdef _WIN32 - typedef int socklen_t; +typedef int socklen_t; #endif namespace core @@ -56,13 +56,13 @@ NetServer::NetServer(std::string const host, unsigned int const port) return; } - + // Get the local adress to bind to netserver_addr.sin_family = AF_INET; netserver_addr.sin_port = htons(port); if (host.size()) { netserver_addr.sin_addr.s_addr = inet_addr(host.c_str()); - if ( netserver_addr.sin_addr.s_addr == INADDR_NONE) { + if (netserver_addr.sin_addr.s_addr == INADDR_NONE) { con_error << "Network invalid address " << host << "!" << std::endl; return; } @@ -70,14 +70,14 @@ NetServer::NetServer(std::string const host, unsigned int const port) netserver_addr.sin_addr.s_addr = htonl(INADDR_ANY); } memset(netserver_addr.sin_zero, '\0', sizeof(netserver_addr.sin_zero)); - + // bind the local address to the socket ( note the typecast) if (::bind(netserver_fd, (struct sockaddr *) &netserver_addr, sizeof(struct sockaddr)) == -1) { con_error << "Network can't bind to local address!" << std::endl; //perror("bind"); return; } - + con_print << " listening on " << inet_ntoa(netserver_addr.sin_addr) << ":" << ntohs(netserver_addr.sin_port) << std::endl; // add the listening socket to the file descriptor set @@ -101,13 +101,13 @@ NetServer::~NetServer() for (it = clients.begin(); it != clients.end(); it++) { // notify the game server - if ((*it)->state() == NetClient::Connected) + if ((*it)->state() == NetClient::Connected) server()->player_disconnect((*it)->player()); (*it)->send_raw(netmsg); (*it)->transmit(); - - delete (*it); + + delete(*it); } clients.clear(); @@ -120,7 +120,8 @@ NetServer::~NetServer() } } -void NetServer::abort() { +void NetServer::abort() +{ netserver_error = true; } @@ -138,8 +139,8 @@ NetClient *NetServer::find_client(Player const *player) // remove disconnected clients void NetServer::reap() { - for (Clients:: iterator it = clients.begin(); it != clients.end(); ) { - NetClient *client = *it; + for (Clients:: iterator it = clients.begin(); it != clients.end();) { + NetClient *client = *it; if (client->client_timeout + NETTIMEOUT < application()->time()) { // client timed out, send a disconnect @@ -157,8 +158,8 @@ void NetServer::reap() } } - if (client->error()) { - + if (client->error()) { + // notify other clients for (Clients::iterator cit = clients.begin(); cit != clients.end(); cit++) { if ((*cit) != (*it)) { @@ -172,13 +173,13 @@ void NetServer::reap() } // remove the client - delete client; + delete client; clients.erase(it++); - } else { + } else { ++it; } - } + } } void NetServer::receive() @@ -191,7 +192,7 @@ void NetServer::receive() timeout.tv_usec = 2500; fd_set readset = serverset; - int nb = select(fd()+1, &readset, NULL, NULL, &timeout); + int nb = select(fd() + 1, &readset, NULL, NULL, &timeout); if (nb == -1) { #ifndef _WIN32 // ncurses needs SIGWINCH catched @@ -204,13 +205,13 @@ void NetServer::receive() return; } - if (nb && FD_ISSET(fd(), &readset)) { + if (nb && FD_ISSET(fd(), &readset)) { // receive incoming data struct sockaddr_in client_addr; socklen_t client_addr_len = sizeof(client_addr); memset(recbuf, '\0', sizeof(recbuf)); - ssize_t bytes_received = ::recvfrom(fd(), recbuf, FRAMESIZE-1, 0, (struct sockaddr *)&client_addr, &client_addr_len); + ssize_t bytes_received = ::recvfrom(fd(), recbuf, FRAMESIZE - 1, 0, (struct sockaddr *) & client_addr, &client_addr_len); if (bytes_received == -1) { con_error << "Network error on recvfrom()!" << std::endl; this->abort(); @@ -221,19 +222,19 @@ void NetServer::receive() Stats::network_bytes_received += bytes_received; // originator - std::string client_host (inet_ntoa(client_addr.sin_addr)); + std::string client_host(inet_ntoa(client_addr.sin_addr)); unsigned int client_port = ntohs(client_addr.sin_port); - + // get messages from clients bool msg_received = false; for (Clients::iterator it = clients.begin(); it != clients.end() && !msg_received; it++) { NetClient *client = *it; - + if ((client->host() == client_host) && (client->port() == (int) client_port)) { // receive data client->receive(recbuf); - + // process parsed messages while (client->has_messages()) { std::string message; @@ -253,7 +254,7 @@ void NetServer::receive() if (client) { // receive data client->receive(recbuf); - + // process parsed messages while (client->has_messages()) { std::string message; @@ -264,7 +265,7 @@ void NetServer::receive() } } - + // remove dead connections reap(); } @@ -286,7 +287,8 @@ NetClient * NetServer::client_connect(std::string const host, int const port) return client; } -void NetServer::client_initialize(NetClient *client) { +void NetServer::client_initialize(NetClient *client) +{ // send welcome message std::string welcome("^B"); @@ -328,12 +330,12 @@ void NetServer::client_frame(NetClient *client, unsigned long timestamp) // send zone info send_zone_update(client, zone); - + // send entities in zone - if (client->player()->zone()) { + if (client->player()->zone()) { for (Zone::Content::iterator it = zone->content().begin(); it != zone->content().end(); it++) { Entity *entity = (*it); - + if (!entity->entity_destroyed) { send_entity_create(client, entity); } @@ -345,25 +347,25 @@ void NetServer::client_frame(NetClient *client, unsigned long timestamp) } else { // send a server frame marker send_frame_marker(client, timestamp); - + // send updates for entities in the zone for (Entity::Registry::iterator it = Entity::registry().begin(); it != Entity::registry().end(); it++) { Entity *entity = (*it).second; - if (entity->zone() == zone) { + if (entity->zone() == zone) { if (entity->entity_destroyed) { if (!entity->entity_created) { send_entity_delete(client, entity); } } else if (entity->entity_created) { send_entity_create(client, entity); - + } else if (entity->oldzone()) { // this entity has entered the zone send_entity_create(client, entity); - - } else if (entity->dirty() && !(entity->flags() & Entity::Static) ) { - + + } else if (entity->dirty() && !(entity->flags() & Entity::Static)) { + // FIXME only within visual range send_entity_update(client, entity); } @@ -408,7 +410,7 @@ void NetServer::frame(unsigned long timestamp) client->transmit(); } - + // clear dirty state for (Clients::iterator it = clients.begin(); it != clients.end(); it++) { NetClient *client = *it; @@ -468,7 +470,7 @@ void NetServer::send_frame_marker(NetClient *client, unsigned long timestamp) if (client->state() == NetClient::Connected) { client->send_raw(msg.str()); } - + } // send a "ent" create entity message to all clients @@ -533,7 +535,7 @@ void NetServer::send_player_update(NetClient *client) { std::ostringstream msg; msg << "pif 0 "; - client->player()->serialize_server_update(msg); + client->player()->serialize_server_update(msg); msg << '\n'; client->send_raw(msg.str()); } @@ -543,7 +545,7 @@ void NetServer::send_player_update(NetClient *client, Player *player) { std::ostringstream msg; msg << "pif " << player->id() << ' '; - player->serialize_short_server_update(msg); + player->serialize_short_server_update(msg); msg << '\n'; client->send_raw(msg.str()); } @@ -579,18 +581,18 @@ void NetServer::send_info_update(NetClient *client, Info *info) * ping * say * priv - * + * */ -void NetServer::parse_incoming_message(NetClient *client, const std::string & message) +void NetServer::parse_incoming_message(NetClient *client, const std::string & message) { if (!message.size()) return; std::stringstream msgstream(message); - + std::string command; msgstream >> command; - + // disconnect if (command == "disconnect") { client->abort(); @@ -621,7 +623,7 @@ void NetServer::parse_incoming_message(NetClient *client, const std::string & me } else { std::string message("Unknown client protocol version!"); con_print << client->host() << ":" << client->port() << " " << message << std::endl; - + send_message(client, "info", message); send_disconnect(client); } @@ -662,8 +664,8 @@ void NetServer::parse_incoming_message(NetClient *client, const std::string & me // cmd if (command == "cmd") { - if (message.size() > command.size()+1) { - std::string cmdline(message.substr(command.size()+1)); + if (message.size() > command.size() + 1) { + std::string cmdline(message.substr(command.size() + 1)); server()->exec(client->player(), cmdline); } return; @@ -672,9 +674,9 @@ void NetServer::parse_incoming_message(NetClient *client, const std::string & me if (command == "inf") { std::string n; char c; - - while ( (msgstream.get(c)) && (c != '"')); - while ( (msgstream.get(c)) && (c != '"')) + + while ((msgstream.get(c)) && (c != '"')); + while ((msgstream.get(c)) && (c != '"')) n += c; if (n.size()) { @@ -687,21 +689,21 @@ void NetServer::parse_incoming_message(NetClient *client, const std::string & me } if (command == "rcon") { - if ((message.size() > command.size()+1) && Cvar::sv_password->str().size()) { + if ((message.size() > command.size() + 1) && Cvar::sv_password->str().size()) { if ((Cvar::sv_password->str().compare(client->player()->rconpassword()) == 0)) { - con_print << "^B" << client->player()->name() << "^F rcon: " << message.substr(command.size()+1) << std::endl; - + con_print << "^B" << client->player()->name() << "^F rcon: " << message.substr(command.size() + 1) << std::endl; + core::CommandBuffer::exec(); core::console()->set_rcon(true); - - core::cmd() << message.substr(command.size()+1) << "\n"; + + core::cmd() << message.substr(command.size() + 1) << "\n"; core::CommandBuffer::exec(); - - while(console()->rconbuf().size()) { + + while (console()->rconbuf().size()) { send_message(client, "rcon", (*console()->rconbuf().begin())); core::console()->rconbuf().pop_front(); } - + // disable rcon buffering console()->set_rcon(false); @@ -711,7 +713,7 @@ void NetServer::parse_incoming_message(NetClient *client, const std::string & me } } return; - + } // cup - client update entity if (command == "cup") { @@ -722,13 +724,13 @@ void NetServer::parse_incoming_message(NetClient *client, const std::string & me if (!entity) { con_warn << client->host() << ":" << client->port() << " update for unknown entity " << id << "\n"; return; - } + } if (entity->type() != Entity::Controlable) { con_warn << client->host() << ":" << client->port() << " update for non-controlable entity " << id << "\n"; return; } - + EntityControlable *entitycontrolable = (EntityControlable *)entity; if (entitycontrolable->owner() != client->player()) { @@ -737,27 +739,27 @@ void NetServer::parse_incoming_message(NetClient *client, const std::string & me } entitycontrolable->set_dirty(true); - entitycontrolable->receive_client_update(msgstream); + entitycontrolable->receive_client_update(msgstream); } return; } // say - if (command == "say") { - if (message.size() > command.size()+1) { - server()->say(client->player(), message.substr(command.size()+1)); + if (command == "say") { + if (message.size() > command.size() + 1) { + server()->say(client->player(), message.substr(command.size() + 1)); } return; } // priv if (command == "priv") { - if (message.size() > command.size()+1) { - server()->private_message(client->player(), message.substr(command.size()+1)); + if (message.size() > command.size() + 1) { + server()->private_message(client->player(), message.substr(command.size() + 1)); } return; } - + } } -- cgit v1.2.3