- Timestamp:
- Feb 13, 2011, 9:34:22 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/network6/src/libraries/network/GamestateManager.cc
r7825 r7878 110 110 bool b = processGamestate(it->second); 111 111 assert(b); 112 sendAck( it->second->getID(), it->second->getPeerID() );112 // sendAck( it->second->getID(), it->second->getPeerID() ); 113 113 delete it->second; 114 114 } … … 122 122 bool GamestateManager::sendAck(unsigned int gamestateID, uint32_t peerID) 123 123 { 124 assert( gamestateID != ACKID_NACK ); 124 125 packet::Acknowledgement *ack = new packet::Acknowledgement(gamestateID, peerID); 125 126 if( !this->sendPacket(ack)) … … 151 152 { 152 153 assert(peerMap_.size()!=0); 153 newID = peerMap_[NETWORK_PEER_ID_SERVER].last ProcessedGamestateID;154 newID = peerMap_[NETWORK_PEER_ID_SERVER].lastReceivedGamestateID; 154 155 } 155 156 … … 190 191 } 191 192 192 peerGamestates.push_back(0); // insert an empty gamestate* to change193 peerGamestates.push_back(0); // insert an empty gamestate* to be changed 193 194 finishGamestate( peerID, peerGamestates.back(), baseGamestate, currentGamestate_ ); 194 195 if( peerGamestates.back()==0 ) … … 266 267 unsigned int curid = it->second.lastAckedGamestateID; 267 268 268 if(gamestateID == ACKID_NACK){ 269 it->second.lastAckedGamestateID = GAMESTATEID_INITIAL; 270 // temp->setGamestateID(GAMESTATEID_INITIAL); 271 // now delete all saved gamestates for this client 272 std::map<uint32_t, packet::Gamestate*>::iterator it2; 273 for(it2 = it->second.gamestates.begin(); it2!=it->second.gamestates.end(); ++it2 ){ 274 delete it2->second; 275 } 276 it->second.gamestates.clear(); 277 return true; 278 } 269 assert(gamestateID != ACKID_NACK); 270 // if(gamestateID == ACKID_NACK){ 271 // it->second.lastAckedGamestateID = GAMESTATEID_INITIAL; 272 // // temp->setGamestateID(GAMESTATEID_INITIAL); 273 // // now delete all saved gamestates for this client 274 // std::map<uint32_t, packet::Gamestate*>::iterator it2; 275 // for(it2 = it->second.gamestates.begin(); it2!=it->second.gamestates.end(); ++it2 ){ 276 // delete it2->second; 277 // } 278 // it->second.gamestates.clear(); 279 // return true; 280 // } 279 281 280 282 assert(curid==GAMESTATEID_INITIAL || curid<=gamestateID); … … 303 305 } 304 306 305 uint32_t GamestateManager::getLast ProcessedGamestateID(unsigned int peerID)307 uint32_t GamestateManager::getLastReceivedGamestateID(unsigned int peerID) 306 308 { 307 309 assert( this->peerMap_.find(peerID)!=this->peerMap_.end() ); 308 310 if( this->peerMap_.find(peerID) != this->peerMap_.end() ) 309 return this->peerMap_[peerID].last ProcessedGamestateID;311 return this->peerMap_[peerID].lastReceivedGamestateID; 310 312 else 311 313 return GAMESTATEID_INITIAL; … … 317 319 assert(peerMap_.find(peerID)==peerMap_.end()); 318 320 peerMap_[peerID].peerID = peerID; 319 peerMap_[peerID].last ProcessedGamestateID = GAMESTATEID_INITIAL;321 peerMap_[peerID].lastReceivedGamestateID = GAMESTATEID_INITIAL; 320 322 peerMap_[peerID].lastAckedGamestateID = GAMESTATEID_INITIAL; 321 323 if( GameMode::isMaster() ) … … 363 365 if( gs->spreadData(gsMode) ) 364 366 { 365 this->peerMap_[gs->getPeerID()].last ProcessedGamestateID = gs->getID();367 this->peerMap_[gs->getPeerID()].lastReceivedGamestateID = gs->getID(); 366 368 return true; 367 369 }
Note: See TracChangeset
for help on using the changeset viewer.