]> git.lizzy.rs Git - minetest.git/blobdiff - src/nodedef.cpp
Update ContentFeatures serialization format now as PROTOCOL_VERSION was changed
[minetest.git] / src / nodedef.cpp
index d644dc229d2c4af9f3fbf3edc073aba6f818aaee..38c04a59da555bec7fd8de1d85460ca425c2e2e7 100644 (file)
@@ -203,6 +203,7 @@ void ContentFeatures::reset()
        liquid_alternative_flowing = "";
        liquid_alternative_source = "";
        liquid_viscosity = 0;
+       liquid_renewable = true;
        light_source = 0;
        damage_per_second = 0;
        node_box = NodeBox();
@@ -216,7 +217,7 @@ void ContentFeatures::reset()
 
 void ContentFeatures::serialize(std::ostream &os)
 {
-       writeU8(os, 5); // version
+       writeU8(os, 6); // version
        os<<serializeString(name);
        writeU16(os, groups.size());
        for(ItemGroupList::const_iterator
@@ -253,6 +254,7 @@ void ContentFeatures::serialize(std::ostream &os)
        os<<serializeString(liquid_alternative_flowing);
        os<<serializeString(liquid_alternative_source);
        writeU8(os, liquid_viscosity);
+       writeU8(os, liquid_renewable);
        writeU8(os, light_source);
        writeU32(os, damage_per_second);
        node_box.serialize(os);
@@ -262,12 +264,14 @@ void ContentFeatures::serialize(std::ostream &os)
        serializeSimpleSoundSpec(sound_footstep, os);
        serializeSimpleSoundSpec(sound_dig, os);
        serializeSimpleSoundSpec(sound_dug, os);
+       // Stuff below should be moved to correct place in a version that otherwise changes
+       // the protocol version
 }
 
 void ContentFeatures::deSerialize(std::istream &is)
 {
        int version = readU8(is);
-       if(version != 5)
+       if(version != 6)
                throw SerializationError("unsupported ContentFeatures version");
        name = deSerializeString(is);
        groups.clear();
@@ -307,6 +311,7 @@ void ContentFeatures::deSerialize(std::istream &is)
        liquid_alternative_flowing = deSerializeString(is);
        liquid_alternative_source = deSerializeString(is);
        liquid_viscosity = readU8(is);
+       liquid_renewable = readU8(is);
        light_source = readU8(is);
        damage_per_second = readU32(is);
        node_box.deSerialize(is);
@@ -319,6 +324,8 @@ void ContentFeatures::deSerialize(std::istream &is)
        // If you add anything here, insert it primarily inside the try-catch
        // block to not need to increase the version.
        try{
+               // Stuff below should be moved to correct place in a version that
+               // otherwise changes the protocol version
        }catch(SerializationError &e) {};
 }