diff options
author | Lars <larsh@apache.org> | 2020-12-09 14:30:37 -0800 |
---|---|---|
committer | lhofhansl <larsh@apache.org> | 2020-12-15 10:15:25 -0800 |
commit | e6380565236d6d963acf75538f1f8fec807190cc (patch) | |
tree | d5af32aff7273e13baafbe03a1dec08482d6abaa /src/map.cpp | |
parent | d0a38f694d483fbd9c0554c8d7175a94097fd67e (diff) | |
download | hax-minetest-server-e6380565236d6d963acf75538f1f8fec807190cc.tar.gz hax-minetest-server-e6380565236d6d963acf75538f1f8fec807190cc.zip |
Allow configuring block disk and net compression. Change default disk level.
Diffstat (limited to '')
-rw-r--r-- | src/map.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/map.cpp b/src/map.cpp index 37b6e9b6b..6a7cadca5 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -1235,6 +1235,8 @@ ServerMap::ServerMap(const std::string &savedir, IGameDef *gamedef, m_save_time_counter = mb->addCounter("minetest_core_map_save_time", "Map save time (in nanoseconds)"); + m_map_compression_level = rangelim(g_settings->getS16("map_compression_level_disk"), -1, 9); + try { // If directory exists, check contents and load if possible if (fs::PathExists(m_savedir)) { @@ -1863,10 +1865,10 @@ void ServerMap::endSave() bool ServerMap::saveBlock(MapBlock *block) { - return saveBlock(block, dbase); + return saveBlock(block, dbase, m_map_compression_level); } -bool ServerMap::saveBlock(MapBlock *block, MapDatabase *db) +bool ServerMap::saveBlock(MapBlock *block, MapDatabase *db, int compression_level) { v3s16 p3d = block->getPos(); @@ -1886,7 +1888,7 @@ bool ServerMap::saveBlock(MapBlock *block, MapDatabase *db) */ std::ostringstream o(std::ios_base::binary); o.write((char*) &version, 1); - block->serialize(o, version, true); + block->serialize(o, version, true, compression_level); bool ret = db->saveBlock(p3d, o.str()); if (ret) { |