Changeset 2662 for code/trunk/src/network/GamestateClient.cc
- Timestamp:
- Feb 14, 2009, 10:17:35 PM (16 years ago)
- Location:
- code/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk
- Property svn:mergeinfo changed
-
code/trunk/src/network/GamestateClient.cc
r2171 r2662 35 35 #include "core/BaseObject.h" 36 36 #include "core/Iterator.h" 37 #include "Synchronisable.h" 37 #include "synchronisable/Synchronisable.h" 38 #include "synchronisable/NetworkCallbackManager.h" 38 39 #include "packet/Acknowledgement.h" 39 40 … … 74 75 if(tempGamestate_==NULL) 75 76 return false; 77 bool isDiffed = tempGamestate_->isDiffed(); 76 78 int id = GAMESTATEID_INITIAL; 77 79 packet::Gamestate *processed = processGamestate(tempGamestate_); 78 // assert(processed); 79 if (!processed) 80 return false; 80 assert(processed); 81 82 //now call the queued callbacks 83 NetworkCallbackManager::callCallbacks(); 84 85 if (!processed){ 86 sendAck(0); 87 return false; 88 } 81 89 //successfully loaded data from gamestate. now save gamestate for diff and delete the old gs 82 90 tempGamestate_=NULL; 83 91 gamestateMap_[processed->getID()]=processed; 84 last_diff_ = processed->getID(); 92 if(isDiffed) 93 last_diff_ = processed->getBaseID(); 85 94 id = processed->getID(); 86 95 sendAck(id); … … 153 162 packet::Gamestate *base = gamestateMap_[gs->getBaseID()]; 154 163 if(!base){ 164 COUT(3) << "could not find base gamestate id: " << gs->getBaseID() << endl; 155 165 delete gs; 156 166 return 0; … … 165 175 return gs; 166 176 else 177 { 178 COUT(3) << "could not spread gamestate" << endl; 167 179 return NULL; 180 } 168 181 } 169 182
Note: See TracChangeset
for help on using the changeset viewer.