[Orxonox-commit 3060] r7755 - in code/branches/network4/src/libraries/network: . packet synchronisable

scheusso at orxonox.net scheusso at orxonox.net
Sat Dec 11 16:12:21 CET 2010


Author: scheusso
Date: 2010-12-11 16:12:21 +0100 (Sat, 11 Dec 2010)
New Revision: 7755

Modified:
   code/branches/network4/src/libraries/network/GamestateManager.cc
   code/branches/network4/src/libraries/network/packet/Gamestate.cc
   code/branches/network4/src/libraries/network/packet/Gamestate.h
   code/branches/network4/src/libraries/network/synchronisable/Synchronisable.cc
Log:
build fix


Modified: code/branches/network4/src/libraries/network/GamestateManager.cc
===================================================================
--- code/branches/network4/src/libraries/network/GamestateManager.cc	2010-12-10 19:13:57 UTC (rev 7754)
+++ code/branches/network4/src/libraries/network/GamestateManager.cc	2010-12-11 15:12:21 UTC (rev 7755)
@@ -218,7 +218,7 @@
     bool b = gs->compressData();
     assert(b);
       clock.capture();
-      COUT(0) << "diff time: " << clock.getDeltaTime() << endl;
+      COUT(4) << "diff and compress time: " << clock.getDeltaTime() << endl;
 //     COUT(5) << "sending gamestate with id " << gs->getID();
 //     if(gamestate->isDiffed())
 //       COUT(5) << " and baseid " << gs->getBaseID() << endl;

Modified: code/branches/network4/src/libraries/network/packet/Gamestate.cc
===================================================================
--- code/branches/network4/src/libraries/network/packet/Gamestate.cc	2010-12-10 19:13:57 UTC (rev 7754)
+++ code/branches/network4/src/libraries/network/packet/Gamestate.cc	2010-12-11 15:12:21 UTC (rev 7755)
@@ -64,7 +64,7 @@
 
 
 Gamestate::Gamestate():
-  header_(0)
+  header_()
 {
   flags_ = flags_ | PACKET_FLAG_GAMESTATE;
 }
@@ -175,7 +175,7 @@
   assert(!header_.isCompressed());
   uint8_t *mem=data_+GamestateHeader::getSize();
   Synchronisable *s;
-
+  
   // update the data of the objects we received
   while(mem < data_+GamestateHeader::getSize()+header_.getDataSize())
   {
@@ -190,11 +190,13 @@
       }
       else
       {
+//         COUT(4) << "not creating object of classid " << objectheader.getClassID() << endl;
         mem += objectheader.getDataSize() + ( objectheader.isDiffed() ? SynchronisableHeaderLight::getSize() : SynchronisableHeader::getSize() );
       }
     }
     else
     {
+//       COUT(4) << "updating object of classid " << objectheader.getClassID() << endl;
       bool b = s->updateData(mem, mode);
       assert(b);
     }
@@ -302,7 +304,7 @@
   data_ = ndata;
   header_.setCompSize( buffer );
   header_.setCompressed( true );
-  COUT(0) << "gamestate compress datasize: " << header_.getDataSize() << " compsize: " << header_.getCompSize() << std::endl;
+  COUT(4) << "gamestate compress datasize: " << header_.getDataSize() << " compsize: " << header_.getCompSize() << std::endl;
   return true;
 }
 

Modified: code/branches/network4/src/libraries/network/packet/Gamestate.h
===================================================================
--- code/branches/network4/src/libraries/network/packet/Gamestate.h	2010-12-10 19:13:57 UTC (rev 7754)
+++ code/branches/network4/src/libraries/network/packet/Gamestate.h	2010-12-11 15:12:21 UTC (rev 7755)
@@ -47,7 +47,7 @@
 
 class _NetworkExport GamestateHeader{
   public:
-    GamestateHeader();
+    GamestateHeader(){ data_=0; }
     GamestateHeader(uint8_t* data)
       { assert(data); data_ = data; *(uint32_t*)data_ = Type::Gamestate; }
     /*GamestateHeader(uint8_t* data, GamestateHeader* h)

Modified: code/branches/network4/src/libraries/network/synchronisable/Synchronisable.cc
===================================================================
--- code/branches/network4/src/libraries/network/synchronisable/Synchronisable.cc	2010-12-10 19:13:57 UTC (rev 7754)
+++ code/branches/network4/src/libraries/network/synchronisable/Synchronisable.cc	2010-12-11 15:12:21 UTC (rev 7755)
@@ -221,11 +221,11 @@
    * |totalsize,objectID_,classID_,var1,var2,string1_length,string1,var3,...|
    * length of varx: size saved int syncvarlist
    * @param mem pointer to allocated memory with enough size
-   * @param sizes FIXME - add doc!
+   * @param sizes vector containing sizes of all objects in gamestate (to be appended)
    * @param id gamestateid of the gamestate to be saved (important for priorities)
    * @param mode defines the direction in which the data will be send/received
    *             0x1: server->client
-   *             0x2: client->server (not recommended)
+   *             0x2: client->server
    *             0x3: bidirectional
    * @return true: if !doSync or if everything was successfully saved
    */
@@ -269,6 +269,7 @@
       ++test;
       //tempsize += (*i)->getSize( mode );
     }
+    assert(tempsize!=0);  // if this happens an empty object (with no variables) would be transmitted
 //     COUT(4) << endl;
 
     header.setObjectID( this->objectID_ );




More information about the Orxonox-commit mailing list