Changeset 1739 for code/branches/network/src/network/packet
- Timestamp:
- Sep 8, 2008, 1:36:32 AM (16 years ago)
- Location:
- code/branches/network/src/network/packet
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/network/src/network/packet/Acknowledgement.cc
r1735 r1739 45 45 data_=new unsigned char[ getSize() ]; 46 46 *(ENUM::Type *)(data_ + _PACKETID ) = ENUM::Acknowledgement; 47 *(unsigned int *) &data_[ _ACKID ]= id;47 *(unsigned int *)(data_ + _ACKID ) = id; 48 48 clientID_=clientID; 49 49 } -
code/branches/network/src/network/packet/Gamestate.cc
r1735 r1739 120 120 bool Gamestate::spreadData(int mode) 121 121 { 122 assert(data_ && !HEADER->compressed && !HEADER->diffed); 122 assert(data_); 123 assert(!HEADER->compressed); 124 assert(!HEADER->diffed); 123 125 unsigned int size, objectID, classID; 124 126 unsigned char *mem=data_+sizeof(GamestateHeader); … … 141 143 //fabricate the new synchronisable 142 144 if(!Synchronisable::fabricate(mem, mode)) 143 /*return false*/;145 return false; 144 146 it=orxonox::ObjectList<Synchronisable>::end(); 145 147 } … … 276 278 *GAMESTATE_HEADER(ndata) = *HEADER; 277 279 GAMESTATE_HEADER(ndata)->diffed = true; 280 GAMESTATE_HEADER(ndata)->base_id = base->getID(); 278 281 Gamestate *g = new Gamestate(ndata, 0); 282 g->flags_=flags_; 283 g->packetDirection_ = packetDirection_; 284 g->clientID_ = clientID_; 279 285 return g; 280 286 } … … 310 316 GAMESTATE_HEADER(ndata)->diffed = false; 311 317 Gamestate *g = new Gamestate(ndata, 0); 318 g->flags_=flags_; 319 g->packetDirection_ = packetDirection_; 320 g->clientID_ = clientID_; 321 assert(!g->isDiffed()); 322 assert(!g->isCompressed()); 312 323 return g; 313 324 } … … 341 352 } 342 353 354 bool Gamestate::isCompressed(){ 355 return HEADER->compressed; 356 } 357 343 358 int Gamestate::getBaseID(){ 344 359 return HEADER->base_id; -
code/branches/network/src/network/packet/Gamestate.h
r1735 r1739 64 64 int getID(); 65 65 bool isDiffed(); 66 bool isCompressed(); 66 67 int getBaseID(); 67 68 Gamestate *diff(Gamestate *base); -
code/branches/network/src/network/packet/Packet.cc
r1735 r1739 113 113 packetMap_[enetPacket_] = this; 114 114 } 115 /*switch( *(ENUM::Type *)(data_ + _PACKETID) ) 115 #ifndef NDEBUG 116 switch( *(ENUM::Type *)(data_ + _PACKETID) ) 116 117 { 117 118 case ENUM::Acknowledgement: … … 120 121 case ENUM::Gamestate: 121 122 case ENUM::Welcome: 122 COUT(3) << "welcome" << std::endl; 123 p = new Welcome( data, clientID ); 123 break; 124 124 default: 125 125 assert(0); //TODO: repair this 126 126 break; 127 }*/ 127 } 128 #endif 128 129 network::Host::addPacket( enetPacket_, clientID_); 129 130 enetPacket_ = 0; // otherwise we have a double free because enet already handles the deallocation of the packet -
code/branches/network/src/network/packet/Packet.h
r1735 r1739 78 78 enet_uint32 flags_; 79 79 int clientID_; 80 ENUM::Direction packetDirection_; 80 81 unsigned char *data_; 81 82 private: 82 83 static std::map<ENetPacket *, Packet *> packetMap_; 83 84 ENetPacket *enetPacket_; 84 ENUM::Direction packetDirection_;85 85 }; 86 86
Note: See TracChangeset
for help on using the changeset viewer.