]> git.lizzy.rs Git - minetest.git/blobdiff - src/particles.cpp
Use native packer to transfer globals into async env(s)
[minetest.git] / src / particles.cpp
index 711d189f612eb182cb0faa9be50928d95de3bc9f..14c987958bdb84639170170f49001d1c1aa68d73 100644 (file)
@@ -28,12 +28,15 @@ void ParticleParameters::serialize(std::ostream &os, u16 protocol_ver) const
        writeF32(os, expirationtime);
        writeF32(os, size);
        writeU8(os, collisiondetection);
-       os << serializeLongString(texture);
+       os << serializeString32(texture);
        writeU8(os, vertical);
        writeU8(os, collision_removal);
        animation.serialize(os, 6); /* NOT the protocol ver */
        writeU8(os, glow);
        writeU8(os, object_collision);
+       writeU16(os, node.param0);
+       writeU8(os, node.param2);
+       writeU8(os, node_tile);
 }
 
 void ParticleParameters::deSerialize(std::istream &is, u16 protocol_ver)
@@ -44,10 +47,17 @@ void ParticleParameters::deSerialize(std::istream &is, u16 protocol_ver)
        expirationtime     = readF32(is);
        size               = readF32(is);
        collisiondetection = readU8(is);
-       texture            = deSerializeLongString(is);
+       texture            = deSerializeString32(is);
        vertical           = readU8(is);
        collision_removal  = readU8(is);
        animation.deSerialize(is, 6); /* NOT the protocol ver */
        glow               = readU8(is);
        object_collision   = readU8(is);
+       // This is kinda awful
+       u16 tmp_param0 = readU16(is);
+       if (is.eof())
+               return;
+       node.param0 = tmp_param0;
+       node.param2 = readU8(is);
+       node_tile   = readU8(is);
 }