fix up lastEdited behavior

This commit is contained in:
ZappoMan 2014-07-31 11:41:18 -07:00
parent 77e1867b11
commit 23aa5a124e
4 changed files with 24 additions and 2 deletions

View file

@ -180,7 +180,11 @@ OctreeElement::AppendState EntityItem::appendEntityData(OctreePacketData* packet
bool successIDFits = packetData->appendValue(encodedID);
bool successTypeFits = packetData->appendValue(encodedType);
bool successLastEditedFits = packetData->appendValue(getLastEdited());
quint64 lastEdited = getLastEdited();
qDebug() << "EntityItem::appendEntityData() ... lastEdited=" << lastEdited;
bool successLastEditedFits = packetData->appendValue(lastEdited);
bool successLastUpdatedFits = packetData->appendValue(encodedUpdateDelta);
int propertyFlagsOffset = packetData->getUncompressedByteOffset();
@ -880,6 +884,10 @@ bool EntityItem::encodeEntityEditMessageDetails(PacketType command, EntityItemID
quint64 updateDelta = 0; // this is an edit so by definition, it's update is in sync
ByteCountCoded<quint64> updateDeltaCoder = updateDelta;
QByteArray encodedUpdateDelta = updateDeltaCoder;
//qDebug() << "EntityItem::encodeEntityEditMessageDetails() ... updateDelta=" << updateDelta;
//qDebug() << "EntityItem::encodeEntityEditMessageDetails() ... encodedUpdateDelta=" << encodedUpdateDelta;
EntityPropertyFlags propertyFlags(PROP_LAST_ITEM);
EntityPropertyFlags requestedProperties = properties.getChangedProperties();
EntityPropertyFlags propertiesDidntFit = requestedProperties;
@ -899,7 +907,11 @@ bool EntityItem::encodeEntityEditMessageDetails(PacketType command, EntityItemID
// Last Edited quint64 always first, before any other details, which allows us easy access to adjusting this
// timestamp for clock skew
bool successLastEditedFits = packetData.appendValue(properties.getLastEdited());
quint64 lastEdited = properties.getLastEdited();
qDebug() << "EntityItem::encodeEntityEditMessageDetails() ... lastEdited=" << lastEdited;
bool successLastEditedFits = packetData.appendValue(lastEdited);
bool successIDFits = packetData.appendValue(encodedID);
if (isNewEntityItem && successIDFits) {

View file

@ -159,6 +159,10 @@ public:
#endif
private:
friend bool EntityTypes::decodeEntityEditPacket(const unsigned char* data, int bytesToRead, int& processedBytes,
EntityItemID& entityID, EntityItemProperties& properties);
void setLastEdited(quint64 lastEdited) { _lastEdited = lastEdited; }
quint32 _id;
bool _idSet;
quint64 _lastEdited;

View file

@ -169,6 +169,8 @@ bool EntityTypes::decodeEntityEditPacket(const unsigned char* data, int bytesToR
memcpy(&lastEdited, dataAt, sizeof(lastEdited));
dataAt += sizeof(lastEdited);
processedBytes += sizeof(lastEdited);
qDebug() << "EntityItem::decodeEntityEditPacket() ... lastEdited=" << lastEdited;
properties.setLastEdited(lastEdited);
// encoded id
QByteArray encodedID((const char*)dataAt, (bytesToRead - processedBytes));

View file

@ -279,9 +279,13 @@ bool OctreePacketData::appendValue(quint64 value) {
const unsigned char* data = (const unsigned char*)&value;
int length = sizeof(value);
bool success = append(data, length);
if (success) {
_bytesOfValues += length;
_totalBytesOfValues += length;
qDebug() << "OctreePacketData::appendValue(quint64 value) SUCCESS length=" << length;
} else {
qDebug() << "OctreePacketData::appendValue(quint64 value) FAILED length=" << length;
}
return success;
}