]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/staticobject.cpp
Add `minetest.colorspec_to_colorstring` (#10425)
[dragonfireclient.git] / src / staticobject.cpp
index b331ac2f2b7557d8c84bd6432509a352ac779db9..86e455b9f65093247d5aaf09609733657e6d1db0 100644 (file)
@@ -19,7 +19,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include "staticobject.h"
 #include "util/serialize.h"
-#include "content_sao.h"
+#include "server/serveractiveobject.h"
 
 StaticObject::StaticObject(const ServerActiveObject *s_obj, const v3f &pos_):
        type(s_obj->getType()),
@@ -35,7 +35,7 @@ void StaticObject::serialize(std::ostream &os)
        // pos
        writeV3F1000(os, pos);
        // data
-       os<<serializeString(data);
+       os<<serializeString16(data);
 }
 void StaticObject::deSerialize(std::istream &is, u8 version)
 {
@@ -44,7 +44,7 @@ void StaticObject::deSerialize(std::istream &is, u8 version)
        // pos
        pos = readV3F1000(is);
        // data
-       data = deSerializeString(is);
+       data = deSerializeString16(is);
 }
 
 void StaticObjectList::serialize(std::ostream &os)
@@ -77,6 +77,15 @@ void StaticObjectList::serialize(std::ostream &os)
 }
 void StaticObjectList::deSerialize(std::istream &is)
 {
+       if (m_active.size()) {
+               errorstream << "StaticObjectList::deSerialize(): "
+                       << "deserializing objects while " << m_active.size()
+                       << " active objects already exist (not cleared). "
+                       << m_stored.size() << " stored objects _were_ cleared"
+                       << std::endl;
+       }
+       m_stored.clear();
+
        // version
        u8 version = readU8(is);
        // count