Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 18, 2007, 5:51:47 PM (16 years ago)
Author:
scheusso
Message:

gamestatehandling, error correction

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/FICN/src/network/GameStateManager.cc

    r599 r620  
    6161GameStateCompressed GameStateManager::popGameState(int clientID){
    6262  int gID = head_->findClient(clientID)->getGamestateID();
     63  std::cout << "popgamestate: sending gstate id: " << gID << std::endl;
    6364  if(gID!=GAMESTATEID_INITIAL){
    6465    GameState *client = gameStateMap[gID];
    6566    GameState *server = reference;
    6667    return encode(client, server);
    67   }
    68   GameState *server = reference;
    69   return encode(server);
    70   // return an undiffed gamestate and set appropriate flags
     68  } else {
     69    GameState *server = reference;
     70    head_->findClient(clientID)->setGamestateID(id);
     71    return encode(server);
     72    // return an undiffed gamestate and set appropriate flags
     73  }
    7174}
    7275
     
    101104  // go through all Synchronisables
    102105  for(it = orxonox::ObjectList<Synchronisable>::start(); it != 0; ++it){
     106    //std::cout << "gamestatemanager: in for loop" << std::endl;
    103107    //get size of the synchronisable
    104108    tempsize=it->getSize();
     
    127131
    128132GameStateCompressed GameStateManager::encode(GameState *a, GameState *b){
    129     GameState r = diff(a,b);
    130   r.diffed = true;
     133  //GameState r = diff(a,b);
     134  //r.diffed = true;
     135  GameState r = *b;
     136  r.diffed = false;
    131137  return compress_(&r);
    132138}
     
    170176
    171177GameStateCompressed GameStateManager::compress_(GameState *a) {
    172   COUT(2) << "compressing gamestate" << std::endl;
     178  //COUT(2) << "compressing gamestate" << std::endl;
    173179  int size = a->size;
    174180  uLongf buffer = (uLongf)((a->size + 12)*1.01)+1;
     
    181187  case Z_MEM_ERROR: std::cout << "not enough memory available" << std::endl; break;
    182188  case Z_BUF_ERROR: std::cout << "not enough memory available in the buffer" << std::endl; break;
    183   case Z_DATA_ERROR: std::cout << "data corrupted" << std::endl; break;
     189  case Z_DATA_ERROR: std::cout << "decompress: data corrupted" << std::endl; break;
    184190  }
    185191
Note: See TracChangeset for help on using the changeset viewer.