mirror of
https://github.com/lubosz/overte.git
synced 2025-04-16 17:38:15 +02:00
works, but removes an optimization we'd like to keep
This commit is contained in:
parent
c9c9b30c50
commit
7b986dcac6
2 changed files with 6 additions and 5 deletions
|
@ -349,7 +349,6 @@ int EntityItem::expectedBytes() {
|
|||
return MINIMUM_HEADER_BYTES;
|
||||
}
|
||||
|
||||
|
||||
// clients use this method to unpack FULL updates from entity-server
|
||||
int EntityItem::readEntityDataFromBuffer(const unsigned char* data, int bytesLeftToRead, ReadBitstreamToTreeParams& args) {
|
||||
if (args.bitstreamVersion < VERSION_ENTITIES_SUPPORT_SPLIT_MTU) {
|
||||
|
@ -667,6 +666,9 @@ int EntityItem::readEntityDataFromBuffer(const unsigned char* data, int bytesLef
|
|||
// entity-server is trying to clear our ownership (probably at our own request)
|
||||
// but we actually want to own it, therefore we ignore this clear event
|
||||
// and pretend that we own it (we assume we'll recover it soon)
|
||||
|
||||
// However, for now, when the server uses a newer time than what we sent, listen to what we're told.
|
||||
if (overwriteLocalData) weOwnSimulation = false;
|
||||
} else if (_simulationOwner.set(newSimOwner)) {
|
||||
_dirtyFlags |= Simulation::DIRTY_SIMULATOR_ID;
|
||||
somethingChanged = true;
|
||||
|
|
|
@ -952,7 +952,7 @@ bool EntityTree::filterProperties(EntityItemProperties& propertiesIn, EntityItem
|
|||
wasChanged = in != out;
|
||||
if (wasChanged) {
|
||||
// Logging will be removed eventually, but for now, the behavior is so fragile that it's worth logging.
|
||||
qCDebug(entities) << "filter accepted. changed:" << wasChanged;
|
||||
qCDebug(entities) << "filter accepted. changed: true";
|
||||
qCDebug(entities) << " in:" << in;
|
||||
qCDebug(entities) << " out:" << out;
|
||||
}
|
||||
|
@ -1059,9 +1059,8 @@ int EntityTree::processEditPacketData(ReceivedMessage& message, const unsigned c
|
|||
}
|
||||
if (!allowed || wasChanged) {
|
||||
bumpTimestamp(properties);
|
||||
if (properties.getSimulationOwner().getID() == senderNode->getUUID()) {
|
||||
properties.setSimulationOwner(QUuid(), 0);
|
||||
}
|
||||
// For now, free ownership on any modification.
|
||||
properties.clearSimulationOwner();
|
||||
}
|
||||
endFilter = usecTimestampNow();
|
||||
|
||||
|
|
Loading…
Reference in a new issue