[Orxonox-commit 2639] r7344 - code/branches/network3/src/libraries/network/packet
scheusso at orxonox.net
scheusso at orxonox.net
Fri Sep 3 23:54:30 CEST 2010
Author: scheusso
Date: 2010-09-03 23:54:30 +0200 (Fri, 03 Sep 2010)
New Revision: 7344
Modified:
code/branches/network3/src/libraries/network/packet/Gamestate.cc
Log:
fixed a bug in gamestate diff which wasted bandwidth
Modified: code/branches/network3/src/libraries/network/packet/Gamestate.cc
===================================================================
--- code/branches/network3/src/libraries/network/packet/Gamestate.cc 2010-09-03 21:30:24 UTC (rev 7343)
+++ code/branches/network3/src/libraries/network/packet/Gamestate.cc 2010-09-03 21:54:30 UTC (rev 7344)
@@ -372,7 +372,7 @@
// }
uint32_t objectOffset = SynchronisableHeader::getSize(); // offset inside the object in the origData and baseData
// Check whether the whole object stayed the same
- if( memcmp( origData+objectOffset, newData+objectOffset, objectHeader.getDataSize()) == 0 )
+ if( memcmp( origData+objectOffset, baseData+objectOffset, objectHeader.getDataSize()) == 0 )
{
// COUT(4) << "skip object" << Synchronisable::getSynchronisable(h.getObjectID())->getIdentifier()->getName() << endl;
origData += objectOffset + objectHeader.getDataSize(); // skip the whole object
@@ -429,6 +429,7 @@
h2.setDiffed(true);
h2.setDataSize(newObjectOffset-SynchronisableHeaderLight::getSize());
assert(objectOffset == objectHeader.getDataSize()+SynchronisableHeader::getSize());
+ assert(h2.getDataSize()>0);
origData += objectOffset;
// baseOffset += temp + h.getDataSize()+SynchronisableHeader::getSize() - baseData;
//baseOffset += objectOffset;
More information about the Orxonox-commit
mailing list