Changeset 6419 in orxonox.OLD for branches/network/src
- Timestamp:
- Jan 6, 2006, 6:19:30 PM (19 years ago)
- Location:
- branches/network/src
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/network/src/lib/network/network_game_manager.cc
r6414 r6419 23 23 #include "network_stream.h" 24 24 #include "converter.h" 25 25 26 #include "p_node.h" 27 26 28 27 29 /* include your own header */ … … 392 394 //PRINTF(0)("SendEntityList: n = %d\n", networkStream->getSyncCount()-2 ); 393 395 396 int n = 0; 397 394 398 while ( it != e ) 395 399 { … … 404 408 if ( !writeToClientBuffer( outBuffer[userID], (int)((*it)->getOwner()) ) ) 405 409 return; 410 411 412 PRINTF(0)("id = %x %s %s\n", (int)((*it)->getLeafClassID()), (*it)->getClassName(), (*it)->getName()); 413 414 415 /*if ( (*it)->isA(CL_WORLD_ENTITY) ) 416 { 417 n = dynamic_cast<WorldEntity*>((*it))->readState( outBuffer[userID].buffer, outBuffer[userID].maxLength-outBuffer[userID].length ); 418 if ( n = 0 ) 419 { 420 PRINTF(2)("n = 0\n"); 421 } 422 outBuffer[userID].length += n; 423 }*/ 406 424 407 425 it++; … … 437 455 * @param owner: owner of this synchronizealbe 438 456 */ 439 voidNetworkGameManager::doCreateEntity( ClassID classID, int uniqueID, int owner )457 BaseObject* NetworkGameManager::doCreateEntity( ClassID classID, int uniqueID, int owner ) 440 458 { 441 459 BaseObject * b = Factory::fabricate( classID ); … … 444 462 { 445 463 PRINTF(1)("Could not fabricate Object with classID %x\n", classID); 446 return ;464 return NULL; 447 465 } 448 466 … … 456 474 s->setIsOutOfSync( true ); 457 475 PRINTF(0)("Fabricated %s with id %d\n", s->getClassName(), s->getUniqueID()); 476 return b; 458 477 } 459 478 else … … 462 481 delete b; 463 482 } 483 return NULL; 464 484 } 465 485 … … 696 716 i += Converter::byteArrayToInt( &data[i], &owner ); 697 717 718 PRINTF(0)("before fabricate\n"); 698 719 if ( classID != CL_NETWORK_GAME_MANAGER && classID != CL_HANDSHAKE ) 699 doCreateEntity( (ClassID)classID, uniqueID, owner ); 700 701 } 720 { 721 BaseObject* b = doCreateEntity( (ClassID)classID, uniqueID, owner ); 722 723 /*if ( b != NULL ) 724 { 725 if ( b->isA(CL_WORLD_ENTITY) ) 726 { 727 int n = dynamic_cast<WorldEntity*>(b)->writeState( data, length, sender ); 728 729 i += n; 730 } 731 }*/ 732 } 733 734 } 735 702 736 PNode::getNullParent()->debugNode( 0 ); 737 703 738 return true; 704 739 } -
branches/network/src/lib/network/network_game_manager.h
r6412 r6419 94 94 void executeRequestSync( int uniqueID, int user ); 95 95 96 voiddoCreateEntity(ClassID classID, int uniqueID, int owner);96 BaseObject* doCreateEntity(ClassID classID, int uniqueID, int owner); 97 97 void doRemoveEntity(int uniqueID); 98 98 void doRequestSync(int uniqueID, int userID); -
branches/network/src/subprojects/network/network_unit_test.cc
r6341 r6419 136 136 137 137 /* create a server stream */ 138 nm->createServer( *serverSync,port);138 nm->createServer(port); 139 139 140 140 /* esatblish a connection */ … … 289 289 printf("%f = ", f); 290 290 printf(s); printf("\n"); 291 291 292 292 byte* res = Converter::floatToByteArray(f); 293 293 printf("Byte Array: "); … … 295 295 printf("%i ", res[i]); 296 296 printf("\n"); 297 297 298 298 float b = Converter::byteArrayToFloat(res); 299 299 printf("ReConvert: %f \n", b); … … 305 305 printf("### %f = ", f); 306 306 printf(s); printf("\n"); 307 307 308 308 byte* res = Converter::_floatToByteArray(f); 309 309 printf("Byte Array: "); … … 311 311 printf("%i ", res[i]); 312 312 printf("\n"); 313 313 314 314 float b = Converter::_byteArrayToFloat(res); 315 315 printf("ReConvert: %f \n", b); … … 324 324 printf("%i ", res[i]); 325 325 printf("\n"); 326 326 327 327 int z = Converter::byteArrayToInt(res); 328 328 329 329 printf("ReConvert: %i\n", z); 330 330 331 331 332 332 //float a = 5.4f; 333 333 //float b = 2.0f; 334 334 //printf("%f mod %f = %f", a, b, a % b); 335 336 printf("\n"); 337 335 336 printf("\n"); 337 338 338 */ 339 339 /* 340 340 float y; 341 341 char* s; 342 342 343 343 y = 12.0f; 344 344 s = Converter::floatToBinString(y); 345 345 printf("%f = ", y); 346 346 printf(s); printf("\n"); 347 347 348 348 y = 24549026.0f; 349 349 s = Converter::floatToBinString(y); 350 350 printf("%f = ", y); 351 351 printf(s); printf("\n"); 352 352 353 353 y = 12.4e20f; 354 354 s = Converter::floatToBinString(y); 355 355 printf("%f = ", y); 356 356 printf(s); printf("\n"); 357 357 358 358 y = 4.7824f; 359 359 s = Converter::floatToBinString(y); 360 360 printf("%f = ", y); 361 361 printf(s); printf("\n"); 362 362 363 363 y = -4.7824f; 364 364 s = Converter::floatToBinString(y); 365 365 printf("%f = ", y); 366 366 printf(s); printf("\n"); 367 367 368 368 y = -14.35e14f; 369 369 s = Converter::floatToBinString(y); … … 371 371 printf(s); printf("\n"); 372 372 */ 373 374 373 374 375 375 /* 376 376 float a = 12.3f; 377 377 378 378 char* s = Converter::floatToBinString(a); 379 379 printf("%f = ", a); 380 380 printf(s); printf("\n"); 381 381 382 382 byte* res = Converter::floatToByteArray(a); 383 383 printf("Byte Array: \n"); … … 385 385 printf("%i ", res[i]); 386 386 printf("\n"); 387 387 388 388 float b = Converter::byteArrayToFloat(res); 389 389 printf("ReConvert: %f \n", b); … … 392 392 // testFloatConverter(134.26455646546548741661675165f); printf("\n"); 393 393 // testFloatConverter(35.67e14f); printf("\n"); 394 394 395 395 testFloatConverter(12.3e-7f); printf("\n"); 396 396 testFloatConverter(134.26455646546548741661675165f); printf("\n"); 397 397 testFloatConverter(35.67e14f); printf("\n"); 398 398 399 399 return 0; 400 400 } -
branches/network/src/world_entities/power_ups/laser_power_up.cc
r6222 r6419 19 19 #include "factory.h" 20 20 #include "state.h" 21 #include "network_game_manager.h" 21 22 22 23 #include "primitive_model.h" … … 118 119 } 119 120 121 int LaserPowerUp::writeBytes( const byte * data, int length, int sender ) 122 { 123 setRequestedSync( false ); 124 setIsOutOfSync( false ); 125 126 SYNCHELP_READ_BEGIN(); 127 128 SYNCHELP_READ_FKT( PowerUp::writeState ); 129 130 return SYNCHELP_READ_N; 131 } 132 133 134 135 int LaserPowerUp::readBytes( byte * data, int maxLength, int * reciever ) 136 { 137 if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() ) 138 { 139 (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() ); 140 setRequestedSync( true ); 141 } 142 143 int rec = this->getRequestSync(); 144 if ( rec > 0 ) 145 { 146 *reciever = rec; 147 148 SYNCHELP_WRITE_BEGIN(); 149 150 SYNCHELP_WRITE_FKT( PowerUp::readState ); 151 152 return SYNCHELP_WRITE_N; 153 } 154 155 *reciever = 0; 156 return 0; 157 } 158 -
branches/network/src/world_entities/power_ups/laser_power_up.h
r5511 r6419 23 23 virtual void draw() const; 24 24 25 virtual int writeBytes(const byte* data, int length, int sender); 26 virtual int readBytes(byte* data, int maxLength, int * reciever ); 27 25 28 private: 26 29 void init(); -
branches/network/src/world_entities/power_ups/param_power_up.cc
r6414 r6419 64 64 static_cast<PowerUp*>(this)->loadParams(root); 65 65 LoadParam(root, "type", this, ParamPowerUp, setType); 66 if(root!=NULL && root->FirstChildElement("value") != NULL) { 66 67 if( root != NULL && root->FirstChildElement("value") != NULL) { 68 67 69 LoadParam(root, "value", this, ParamPowerUp, setValue); 68 70 } -
branches/network/src/world_entities/power_ups/power_up.cc
r6413 r6419 54 54 void PowerUp::collidesWith (WorldEntity* entity, const Vector& location) 55 55 { 56 if(entity->isA(CL_EXTENDABLE))56 if(entity->isA(CL_EXTENDABLE)) 57 57 { 58 58 if(dynamic_cast<Extendable*>(entity)->pickup(this)) … … 96 96 } 97 97 98 /** 99 * data copied in data will bee sent to another host 100 * @param data pointer to data 101 * @param maxLength max length of data 102 * @return the number of bytes writen 103 */ 104 int PowerUp::readState( byte * data, int maxLength ) 105 { 106 SYNCHELP_WRITE_BEGIN(); 107 SYNCHELP_WRITE_FKT( WorldEntity::readState ); 108 return SYNCHELP_WRITE_N; 109 } 110 111 /** 112 * Writes data from network containing information about the state 113 * @param data pointer to data 114 * @param length length of data 115 * @param sender hostID of sender 116 */ 117 int PowerUp::writeState( const byte * data, int length, int sender ) 118 { 119 SYNCHELP_READ_BEGIN(); 120 SYNCHELP_READ_FKT( WorldEntity::writeState ); 121 return SYNCHELP_READ_N; 122 } 123 -
branches/network/src/world_entities/power_ups/power_up.h
r6282 r6419 26 26 void setRespawnType(const char* type); 27 27 28 int writeState(const byte* data, int length, int sender); 29 int readState(byte* data, int maxLength ); 30 28 31 protected: 29 32 PowerUp(float r, float g, float b); -
branches/network/src/world_entities/power_ups/turret_power_up.cc
r6222 r6419 18 18 #include "turret_power_up.h" 19 19 #include "factory.h" 20 #include "network_game_manager.h" 20 21 #include "state.h" 21 22 … … 118 119 } 119 120 121 int TurretPowerUp::writeBytes( const byte * data, int length, int sender ) 122 { 123 setRequestedSync( false ); 124 setIsOutOfSync( false ); 125 126 SYNCHELP_READ_BEGIN(); 127 128 SYNCHELP_READ_FKT( PowerUp::writeState ); 129 130 return SYNCHELP_READ_N; 131 } 132 133 134 135 int TurretPowerUp::readBytes( byte * data, int maxLength, int * reciever ) 136 { 137 if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() ) 138 { 139 (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() ); 140 setRequestedSync( true ); 141 } 142 143 int rec = this->getRequestSync(); 144 if ( rec > 0 ) 145 { 146 *reciever = rec; 147 148 SYNCHELP_WRITE_BEGIN(); 149 150 SYNCHELP_WRITE_FKT( PowerUp::readState ); 151 152 return SYNCHELP_WRITE_N; 153 } 154 155 *reciever = 0; 156 return 0; 157 } -
branches/network/src/world_entities/power_ups/turret_power_up.h
r5511 r6419 23 23 virtual void draw() const; 24 24 25 virtual int writeBytes(const byte* data, int length, int sender); 26 virtual int readBytes(byte* data, int maxLength, int * reciever ); 27 25 28 private: 26 29 void init(); -
branches/network/src/world_entities/power_ups/weapon_power_up.cc
r6243 r6419 20 20 #include "state.h" 21 21 #include "list.h" 22 #include "network_game_manager.h" 22 23 23 24 #include "primitive_model.h" … … 85 86 this->weapon = dynamic_cast<Weapon*>(Factory::fabricate(name)); 86 87 } 88 89 int WeaponPowerUp::writeBytes( const byte * data, int length, int sender ) 90 { 91 setRequestedSync( false ); 92 setIsOutOfSync( false ); 93 94 SYNCHELP_READ_BEGIN(); 95 96 SYNCHELP_READ_FKT( PowerUp::writeState ); 97 98 //TODO: sync weapon class ( see loadParams ) 99 100 return SYNCHELP_READ_N; 101 } 102 103 104 105 int WeaponPowerUp::readBytes( byte * data, int maxLength, int * reciever ) 106 { 107 if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() ) 108 { 109 (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() ); 110 setRequestedSync( true ); 111 } 112 113 int rec = this->getRequestSync(); 114 if ( rec > 0 ) 115 { 116 *reciever = rec; 117 118 SYNCHELP_WRITE_BEGIN(); 119 120 SYNCHELP_WRITE_FKT( PowerUp::readState ); 121 122 //TODO: sync weapon class ( see loadParams ) 123 124 return SYNCHELP_WRITE_N; 125 } 126 127 *reciever = 0; 128 return 0; 129 } -
branches/network/src/world_entities/power_ups/weapon_power_up.h
r6113 r6419 22 22 void setWeaponClass(const char* name); 23 23 24 virtual int writeBytes(const byte* data, int length, int sender); 25 virtual int readBytes(byte* data, int maxLength, int * reciever ); 26 24 27 protected: 25 28 virtual void respawn(); -
branches/network/src/world_entities/world_entity.cc
r6418 r6419 106 106 void WorldEntity::loadModel(const char* fileName, float scaling, unsigned int modelNumber) 107 107 { 108 this->scaling = scaling; 108 109 if ( fileName != NULL && strcmp(fileName, "") ) 109 110 {
Note: See TracChangeset
for help on using the changeset viewer.