Changeset 6275 in orxonox.OLD for branches/network/src/world_entities/terrain.cc
- Timestamp:
- Dec 24, 2005, 2:15:49 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/network/src/world_entities/terrain.cc
r6142 r6275 24 24 #include "resource_manager.h" 25 25 #include "model.h" 26 #include "network_game_manager.h" 27 26 28 27 29 #include "glincl.h" … … 57 59 { 58 60 this->loadModel(fileName); 61 strncpy( terrainFile, fileName, 1024 ); 59 62 } 60 63 else … … 98 101 this->ssp = NULL; 99 102 this->vegetation = NULL; 103 strncpy( this->vegetationFile, "", 1024 ); 104 strncpy( this->terrainFile, "", 1024 ); 100 105 } 101 106 … … 111 116 void Terrain::loadVegetation(const char* vegetationFile) 112 117 { 118 PRINTF(0)("loadVegetation: %s\n", vegetationFile); 113 119 if (this->vegetation) 114 120 ResourceManager::getInstance()->unload(this->vegetation, RP_LEVEL); … … 116 122 { 117 123 PRINTF(4)("fetching %s\n", vegetationFile); 118 this->vegetation = (Model*)ResourceManager::getInstance()->load(vegetationFile, OBJ, RP_CAMPAIGN); 124 this->vegetation = (Model*)ResourceManager::getInstance()->load(vegetationFile, OBJ, RP_CAMPAIGN); 125 strncpy( this->vegetationFile, vegetationFile, 1024); 119 126 } 120 127 else … … 315 322 } 316 323 } 324 325 void Terrain::writeBytes( const byte * data, int length, int sender ) 326 { 327 setRequestedSync( false ); 328 setIsOutOfSync( false ); 329 330 int n = Converter::byteArrayToString( data, vegetationFile, length ); 331 Converter::byteArrayToString( data+n, terrainFile, length-n ); 332 333 //PRINT(0)("GOT DATA: size=%f texture=%s\n", size, textureName); 334 335 if ( strcmp(vegetationFile, "") ) 336 this->loadVegetation( vegetationFile ); 337 if ( strcmp(terrainFile, "") ) 338 this->loadModel( terrainFile ); 339 340 } 341 342 int Terrain::readBytes( byte * data, int maxLength, int * reciever ) 343 { 344 if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() ) 345 { 346 //PRINTF(0)("Requesting sync! %d\n", this->getUniqueID()); 347 (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() ); 348 setRequestedSync( true ); 349 } 350 351 int rec = this->getRequestSync(); 352 if ( rec > 0 ) 353 { 354 //PRINTF(0)("Serving client %d which requested sync %d size=%f texture=%s\n", rec, this->getUniqueID(), this->size, this->textureName); 355 *reciever = rec; 356 357 if ( strlen(vegetationFile)+INTSIZE > maxLength ) 358 { 359 PRINTF(1)("Byte array is too small (%d) to store data\n", maxLength ); 360 return 0; 361 } 362 363 int n = Converter::stringToByteArray( vegetationFile, data, strlen(vegetationFile), maxLength ); 364 365 return n + Converter::stringToByteArray( terrainFile, data+n, strlen(terrainFile), maxLength-n ); 366 367 } 368 369 *reciever = 0; 370 return 0; 371 } 372 373 void Terrain::writeDebug( ) const 374 { 375 } 376 377 void Terrain::readDebug( ) const 378 { 379 }
Note: See TracChangeset
for help on using the changeset viewer.