diff options
author | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-02-19 19:43:40 +0100 |
---|---|---|
committer | Yohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer> | 2011-02-19 19:43:40 +0100 |
commit | 88f1328ecb701776b30f60e02e16192efa354b27 (patch) | |
tree | 559c153635090a7e317ecaef8e0248f787afc404 | |
parent | 4eff0ac29ea201503306eae9cf78b8af5691ab75 (diff) | |
download | manaserv-88f1328ecb701776b30f60e02e16192efa354b27.tar.gz manaserv-88f1328ecb701776b30f60e02e16192efa354b27.tar.bz2 manaserv-88f1328ecb701776b30f60e02e16192efa354b27.tar.xz manaserv-88f1328ecb701776b30f60e02e16192efa354b27.zip |
Add support for zlib map layer compression.
Trivial fix.
-rw-r--r-- | src/game-server/mapreader.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/game-server/mapreader.cpp b/src/game-server/mapreader.cpp index 2a26895d..8eae8fd1 100644 --- a/src/game-server/mapreader.cpp +++ b/src/game-server/mapreader.cpp @@ -411,7 +411,8 @@ void MapReader::readLayer(xmlNodePtr node, Map *map) return; } - if (XML::getProperty(node, "encoding", std::string()) == "base64") + std::string encoding = XML::getProperty(node, "encoding", std::string()); + if (encoding == "base64") { // Read base64 encoded map file xmlNodePtr dataChild = node->xmlChildrenNode; @@ -449,7 +450,9 @@ void MapReader::readLayer(xmlNodePtr node, Map *map) return; } - if (XML::getProperty(node, "compression", std::string()) == "gzip") + std::string compression = + XML::getProperty(node, "compression", std::string()); + if (compression == "gzip" || compression == "zlib") { // Inflate the gzipped layer data char *inflated; @@ -459,7 +462,7 @@ void MapReader::readLayer(xmlNodePtr node, Map *map) if (!res) { - LOG_WARN("Failed to decompress gzipped layer"); + LOG_WARN("Failed to decompress compressed layer"); return; } |