Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 23, 2008, 11:34:35 PM (16 years ago)
Author:
rgrieder
Message:

Merged revisions 2384-2436 from presentation branch to bugger.

Location:
code/branches/bugger
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/branches/bugger

  • code/branches/bugger/src/network/packet/Gamestate.cc

    r2532 r2533  
    349349  Gamestate *gs = new Gamestate(gdata);
    350350  uint8_t *newdata = gdata + sizeof(GamestateHeader);
    351 //   uint8_t *origdata = GAMESTATE_START(data_);
     351  uint8_t *origdata = GAMESTATE_START(data_);
    352352
    353353  //copy the GamestateHeader
     
    357357  uint32_t objectOffset;
    358358  unsigned int objectsize, destsize=0;
    359   Synchronisable *object;
     359  // TODO: Why is this variable not used?
     360  //Synchronisable *object;
    360361
    361362  //call TrafficControl
     
    366367    if((*it).objSize==0)
    367368      continue;
    368     oldobjectheader = (synchronisableHeader*)(data_ + (*it).objDataOffset);
     369    oldobjectheader = (synchronisableHeader*)origdata;
    369370    newobjectheader = (synchronisableHeader*)newdata;
    370     object = Synchronisable::getSynchronisable( (*it).objID );
    371     assert(object->objectID == oldobjectheader->objectID);
     371//     object = Synchronisable::getSynchronisable( (*it).objID );
     372//     assert(object->objectID == oldobjectheader->objectID);
    372373    objectsize = oldobjectheader->size;
    373     *newobjectheader = *oldobjectheader;
    374374    objectOffset=sizeof(synchronisableHeader); //skip the size and the availableData variables in the objectheader
    375     if ( /*object->doSelection(HEADER->id)*/true ){
     375    if ( (*it).objID == oldobjectheader->objectID ){
     376      memcpy(newdata, origdata, objectsize);
    376377      assert(newobjectheader->dataAvailable==true);
    377       memcpy(newdata+objectOffset, data_ + (*it).objDataOffset + objectOffset, objectsize-objectOffset);
     378      ++it;
    378379    }else{
     380      *newobjectheader = *oldobjectheader;
    379381      newobjectheader->dataAvailable=false;
    380382      memset(newdata+objectOffset, 0, objectsize-objectOffset);
    381       assert(objectOffset==objectsize);
    382383    }
    383384    newdata += objectsize;
     385    origdata += objectsize;
    384386    destsize += objectsize;
    385387//     origdata += objectsize;
    386388  }
    387389  ((GamestateHeader*)gdata)->datasize = destsize;
     390  assert(destsize==HEADER->datasize);
    388391  assert(destsize!=0);
    389392  return gs;
Note: See TracChangeset for help on using the changeset viewer.