diff -r 3c8078b96469 -r 59c2499fe7bb src/Network/Server.cc --- a/src/Network/Server.cc Tue Jan 13 20:21:28 2009 +0200 +++ b/src/Network/Server.cc Tue Jan 13 21:14:12 2009 +0200 @@ -6,7 +6,6 @@ #include "../Logger.hh" #include -#include NetworkServer::NetworkServer (GameState &state, const NetworkEndpoint &listen_addr) : state(state), netsession(NETWORK_MAGIC_ID), controller(netsession, NETCHAN_CORE) { @@ -250,19 +249,16 @@ } } - // compress the terrain buffer - unsigned long deflate_size = compressBound(terrain_size); - uint8_t deflate_buf[deflate_size]; - - // and compress - if (compress(deflate_buf, &deflate_size, (const uint8_t *) terrain_buf, terrain_size) != Z_OK) - throw Error("compress failed"); - // allocate our packet... BigNetworkPacket pkt ( - NETWORK_SESSION_HEADER_SIZE // NetworkChannel header - + 3 * sizeof(uint32_t) // our own header - + deflate_size // compressed terrain buffer + // NetworkChannel header + NETWORK_SESSION_HEADER_SIZE + + // our own header + + 2 * sizeof(uint32_t) + + // compressed terrain buffer + + NetworkPacketOutput::write_compressed_size(terrain_size) ); // write netsession header @@ -272,8 +268,8 @@ pkt.write_uint32(map.x); pkt.write_uint32(map.y); - // write compressed data - pkt.write(deflate_buf, deflate_size); + // write compressed terrain data + pkt.write_compressed(terrain_buf, terrain_size); // send node->send_raw(pkt, true);