summaryrefslogtreecommitdiff
path: root/src/mapnode.h
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2010-12-11 18:11:03 +0200
committerPerttu Ahola <celeron55@gmail.com>2010-12-11 18:11:03 +0200
commit2a0d1a059e556afaeb7f5b72205b26447e23286f (patch)
tree2e30313c2c40b59239a062fdb69d66e9abf153c4 /src/mapnode.h
parent5e0c284f3a8debdd9ebb080f80e36dceb7bc4ce2 (diff)
downloadminetest-2a0d1a059e556afaeb7f5b72205b26447e23286f.tar.gz
minetest-2a0d1a059e556afaeb7f5b72205b26447e23286f.tar.bz2
minetest-2a0d1a059e556afaeb7f5b72205b26447e23286f.zip
commit before some radicallish changes to water behavior
Diffstat (limited to 'src/mapnode.h')
-rw-r--r--src/mapnode.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/mapnode.h b/src/mapnode.h
index 02abe4e52..7502c42d7 100644
--- a/src/mapnode.h
+++ b/src/mapnode.h
@@ -205,10 +205,11 @@ struct MapNode
*this = n;
}
- MapNode(u8 data=MATERIAL_AIR, u8 a_param=0)
+ MapNode(u8 data=MATERIAL_AIR, u8 a_param=0, u8 a_pressure=0)
{
d = data;
param = a_param;
+ pressure = a_pressure;
}
bool operator==(const MapNode &other)
@@ -261,6 +262,11 @@ struct MapNode
param = a_light;
}
+ /*
+ These serialization functions are used when informing client
+ of a single node add
+ */
+
static u32 serializedLength(u8 version)
{
if(!ser_ver_supported(version))
@@ -268,8 +274,10 @@ struct MapNode
if(version == 0)
return 1;
- else
+ else if(version <= 9)
return 2;
+ else
+ return 3;
}
void serialize(u8 *dest, u8 version)
{
@@ -280,10 +288,16 @@ struct MapNode
{
dest[0] = d;
}
+ else if(version <= 9)
+ {
+ dest[0] = d;
+ dest[1] = param;
+ }
else
{
dest[0] = d;
dest[1] = param;
+ dest[2] = pressure;
}
}
void deSerialize(u8 *source, u8 version)
@@ -304,10 +318,16 @@ struct MapNode
else
param = source[1];
}
+ else if(version <= 9)
+ {
+ d = source[0];
+ param = source[1];
+ }
else
{
d = source[0];
param = source[1];
+ pressure = source[2];
}
}
};