mirror of
https://github.com/overte-org/overte.git
synced 2025-08-14 14:36:43 +02:00
fix up lastEdited behavior
This commit is contained in:
parent
77e1867b11
commit
23aa5a124e
4 changed files with 24 additions and 2 deletions
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue