Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Sep 11, 2008, 2:31:14 PM (16 years ago)
Author:
scheusso
Message:

problems of the merge should be solved now (hopefully)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/src/network/GamestateClient.cc

    r1763 r1767  
    7676    bool b = saveShipCache();
    7777    packet::Gamestate *processed = processGamestate(tempGamestate_);
    78     assert(processed);
     78    if(!processed)
     79      return GAMESTATEID_INITIAL;
     80//    assert(processed);
    7981    //successfully loaded data from gamestate. now save gamestate for diff and delete the old gs
    8082    tempGamestate_=0;
    8183    gamestateMap_[processed->getID()]=processed;
    82     last_diff_ = processed->getBaseID();
    83     last_gamestate_ = processed->getID();
     84    last_diff_ = processed->getID();
    8485    if(b)
    8586      loadShipCache();
     
    103104  packet::Gamestate *GamestateClient::getGamestate(){
    104105    packet::Gamestate *gs = new packet::Gamestate();
    105     gs->collectData(GAMESTATEID_INITIAL);
     106    gs->collectData(0);
    106107    return gs;
    107108  }
     
    133134    if(myShip_==NULL){
    134135      myShip_ = orxonox::SpaceShip::getLocalShip();
     136//      COUT(2) << "myShip_: " << myShip_ << " getLocalShip(): " << orxonox::SpaceShip::getLocalShip() << std::endl;
    135137      if(!myShip_)
    136138        return false;
     
    151153
    152154  bool GamestateClient::loadShipCache(){
     155    myShip_=orxonox::SpaceShip::getLocalShip(); //TODO: remove this (only a hack)
    153156    if(myShip_ && shipCache_){
     157      assert(myShip_->getIdentifier());
    154158      unsigned char *temp = shipCache_;
    155159      myShip_->updateData(temp, 0x2);
     
    165169    if(gs->isDiffed()){
    166170      packet::Gamestate *base = gamestateMap_[gs->getBaseID()];
    167       assert(base);
     171      if(!base)
     172        return 0;
     173//      assert(base); //TODO: fix this
    168174      packet::Gamestate *undiffed = gs->undiff(base);
    169175      delete gs;
Note: See TracChangeset for help on using the changeset viewer.