diff --git a/libraries/metavoxels/src/Bitstream.cpp b/libraries/metavoxels/src/Bitstream.cpp index 0ef86e85c0..d18903f923 100644 --- a/libraries/metavoxels/src/Bitstream.cpp +++ b/libraries/metavoxels/src/Bitstream.cpp @@ -1414,8 +1414,10 @@ Bitstream& Bitstream::operator<(const SharedObjectPointer& object) { *this << object->getOriginID(); QPointer reference = _sharedObjectReferences.value(object->getOriginID()); if (reference) { + *this << true; writeRawDelta((const QObject*)object.data(), (const QObject*)reference.data()); } else { + *this << false; *this << (QObject*)object.data(); } return *this; @@ -1430,19 +1432,27 @@ Bitstream& Bitstream::operator>(SharedObjectPointer& object) { } int originID; *this >> originID; + bool delta; + *this >> delta; QPointer reference = _sharedObjectReferences.value(originID); QPointer& pointer = _weakSharedObjectHash[id]; if (pointer) { ObjectStreamerPointer objectStreamer; _objectStreamerStreamer >> objectStreamer; - if (reference) { + if (delta) { + if (!reference) { + qWarning() << "Delta without reference" << id << originID; + } objectStreamer->readRawDelta(*this, reference.data(), pointer.data()); } else { objectStreamer->read(*this, pointer.data()); } } else { QObject* rawObject; - if (reference) { + if (delta) { + if (!reference) { + qWarning() << "Delta without reference" << id << originID; + } readRawDelta(rawObject, (const QObject*)reference.data()); } else { *this >> rawObject; diff --git a/tests/metavoxels/src/MetavoxelTests.cpp b/tests/metavoxels/src/MetavoxelTests.cpp index 7b7d0430d0..61ab664310 100644 --- a/tests/metavoxels/src/MetavoxelTests.cpp +++ b/tests/metavoxels/src/MetavoxelTests.cpp @@ -652,7 +652,7 @@ TestEndpoint::TestEndpoint(Mode mode) : SLOT(handleHighPriorityMessage(const QVariant&))); if (mode == METAVOXEL_CLIENT_MODE) { - _lod = MetavoxelLOD(glm::vec3(), 0.001f); + _lod = MetavoxelLOD(glm::vec3(), 0.01f); return; } if (mode == METAVOXEL_SERVER_MODE) {