aboutsummaryrefslogtreecommitdiff
path: root/src/serialization.h
AgeCommit message (Collapse)Author
2021-08-31Switch MapBlock compression to zstd (#10788)lhofhansl
* Add zstd support. * Rearrange serialization order * Compress entire mapblock Co-authored-by: sfan5 <sfan5@live.de>
2020-02-01Add limit parameter to decompressZlibBen Deutsch
This can prevent untrusted data, such as sent over the network, from consuming all memory with a specially crafted payload.
2017-08-17C++ modernize: Pragma once (#6264)Loïc Blot
* Migrate cpp headers to pragma once
2017-07-27compressZlib: don't use a SharedBuffer but a raw u8 * pointerLoic Blot
Remove usage of the SharedBuffer in zlib compression which has two problems: * We copied the whole memory block to compress it (not good with mapblocks) * We copied sometimes strings to SharedBuffer to SharedBuffer (2nd time) Use this method in MapNode::serializeBulk + optimize serialization but merging 3 identical loops in a single loop
2017-05-10Private nodemeta (#5702)sfan5
* Private node metadata that isn't sent to the client
2017-02-13Lighting: Update lighting at block loadingDániel Juhász
This commit updates mapblocks' light if necessary when they are loaded. This removes ghost lighting.
2015-09-14Serialisation: documentation fixes, clarifying renames and whitespace fixesest31
1. Do two renames: * SER_FMT_CLIENT_VER_LOWEST -> SER_FMT_VER_LOWEST_WRITE * SER_FMT_VER_LOWEST -> SER_FMT_VER_LOWEST_READ Now the two define values are consistently named with the _WRITE defines SER_FMT_VER_{HIGHEST,LOWEST}_WRITE, and to better point out what the two serialisation versions actually are for. 2. wrap some lines in doc/worldformat.txt, and point out that the node timers are serialized at a later point, as this can cause confusion about what now happens (if one doesn't strictly read the if block's conditions). 3. some whitespace fixes in NodeTimerList::serialize, and one new comment.
2015-01-27Fix a crash (assert) when client set serial version < 24 in INITLoic Blot
When SER_FMT_VER_LOWEST is set to zero, then the test is stupid in INIT because all client works. In mapblock we check if client's serialization version is < 24, but if client sent serialization version < 24 (15 for example) the server set it and tried to send nodes, then BOOM To resolve the problem: * Create a different CLIENT_MIN_VERSION to handle this problem * Remove the exception * Use an assert in case of bad developer code
2015-01-27Revert "Fix a crash (assert) when client set serial version < 24 in INIT ↵Craig Robbins
command SER_FMT_VER_LOWEST is set to zero, then the test is stupid in INIT because all client works. In mapblock we check if client's serialization version is < 24, but if client sent serialization version < 24 (15 for example) the server set it and tried to send nodes, then BOOM" nerzhul is (may?) be working on a new solution. For the moment this is reverted because old worlds cannot be loaded (see discussion on github for the commit). This reverts commit 800d19270250bb13cc6b2d330199815bf8e96446.
2015-01-24Fix a crash (assert) when client set serial version < 24 in INIT command ↵(@U-Exp)
SER_FMT_VER_LOWEST is set to zero, then the test is stupid in INIT because all client works. In mapblock we check if client's serialization version is < 24, but if client sent serialization version < 24 (15 for example) the server set it and tried to send nodes, then BOOM
2014-12-29Fix -Wtype-limits warnings and remove disabling of -Wtype-limitsCraig Robbins
2014-09-20Add compression APIShadowNinja
2013-08-02Weather backward compatibilityproller
2013-07-27Weather supportproller
2013-02-24Update Copyright YearsSfan5
2013-02-24Change Minetest-c55 to MinetestPilzAdam
2012-07-24Improve node timer format (map format version 25) and update mapformat.txtPerttu Ahola
2012-07-23Fix map deserialization and remove old serialization codePerttu Ahola
2012-07-23Implement node timersdarkrose
2012-06-17Optimize headersPerttu Ahola
2012-06-17Properly and efficiently use split utility headersPerttu Ahola
2012-06-05Switch the license to be LGPLv2/later, with small parts still remaining as ↵Perttu Ahola
GPLv2/later, by agreement of major contributors
2012-06-03WIP node metadata, node timersKahrl
2012-01-22Node placement / mineral / serialization / iron freq / node_dig callbackKahrl
- Node placement code moved to Lua - Mineral system removed (added default:stone_with_coal and default:stone_with_iron). - MapBlock and MapNode serialization updated. - Mapgen: Frequency of iron increased. - node_dig callback and related changes.
2011-11-29Node definition namesPerttu Ahola
2011-07-23extended content-type rangePerttu Ahola
2011-07-02initial steps in doing content type extensionPerttu Ahola
2011-06-25New map generator added (and SQLite, messed up the commits at that time...) ↵Perttu Ahola
(import from temporary git repo)
2011-05-22Preliminary "active block" stuff + set up test code to grow grass.Perttu Ahola
2011-04-21Some work-in-progress in hp and mobs and a frightening amount of random fixes.Perttu Ahola
2011-04-11updated example map generator python scriptPerttu Ahola
2011-04-11support for format 0 and 1 mapsPerttu Ahola
2011-04-10new object systemPerttu Ahola
2011-04-04fully implemented the sign with the new frameworkPerttu Ahola
2011-02-04all kinds of tweaking and fixingPerttu Ahola
2011-01-16Initial commit of mapgen v.2. Lacks configuration and saving to disk.Perttu Ahola
2010-12-19day/night working client sidePerttu Ahola
2010-12-13commit before content-tile separationPerttu Ahola
2010-12-11commit before some radicallish changes to water behaviorPerttu Ahola
2010-11-29license stuffPerttu Ahola
--HG-- rename : src/licensecomment.txt => licensecomment.txt
2010-11-29- added map generating scriptPerttu Ahola
- dropped support for versions older than 2 because of lighting support
2010-11-27Initial filesPerttu Ahola