summaryrefslogtreecommitdiff
path: root/src/game-server/mapreader.cpp
diff options
context:
space:
mode:
authorYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-02-19 19:43:40 +0100
committerYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-02-19 19:43:40 +0100
commit88f1328ecb701776b30f60e02e16192efa354b27 (patch)
tree559c153635090a7e317ecaef8e0248f787afc404 /src/game-server/mapreader.cpp
parent4eff0ac29ea201503306eae9cf78b8af5691ab75 (diff)
downloadmanaserv-88f1328ecb701776b30f60e02e16192efa354b27.tar.gz
manaserv-88f1328ecb701776b30f60e02e16192efa354b27.tar.bz2
manaserv-88f1328ecb701776b30f60e02e16192efa354b27.tar.xz
manaserv-88f1328ecb701776b30f60e02e16192efa354b27.zip
Add support for zlib map layer compression.
Trivial fix.
Diffstat (limited to 'src/game-server/mapreader.cpp')
-rw-r--r--src/game-server/mapreader.cpp9
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;
}