Changeset 7385 in orxonox.OLD for branches/bsp_model/src/lib/graphics/importer/bsp_file.cc
- Timestamp:
- Apr 26, 2006, 4:37:58 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/bsp_model/src/lib/graphics/importer/bsp_file.cc
r7353 r7385 20 20 #include "debug.h" 21 21 #include "material.h" 22 #include "util/loading/resource_manager.h"23 24 22 #include "vertex_array_model.h" 25 23 // Necessary ? 26 24 #include "base_object.h" 27 25 #include "vector.h" 26 #include "util/loading/resource_manager.h" 27 28 #include <SDL/SDL_endian.h> 29 #include <SDL/SDL_image.h> 28 30 29 31 using namespace std; … … 36 38 } 37 39 38 int BspFile::read(char* in_name)40 int BspFile::read(char* name) 39 41 { 40 42 int offset; 41 43 int size; 42 44 struct stat results; 43 char name [300]; 44 strcpy(name,ResourceManager::getFullName(in_name).c_str()); 45 name = "/root/data/Kanti175.bsp"; 45 46 46 47 if (stat( name , &results) == 0) … … 138 139 // Get the brushSides 139 140 offset = ((int *)(header))[20]; 140 size = ((int *)(header))[21];141 size = SDL_SwapLE32(((int *)(header))[21]); 141 142 PRINTF(0)("BSP FILE: BrushSidesSize: %i Bytes. \n", size); 142 143 PRINTF(0)("BSP FILE: NumBrushSides: %i. \n", size / 8); … … 324 325 void BspFile::load_textures() 325 326 { 326 c onst char* absFileName;327 char absFileName [228]; 327 328 char fileName [228]; 328 329 char ext [100]; 329 330 struct stat results; 330 331 331 this->Materials = new Material*[this->numTextures];332 this->Materials = new AMat[this->numTextures]; 332 333 for(int i = 0 ; i < this->numTextures; i++) 333 334 { … … 336 337 // Check for tga 337 338 strcpy(fileName, &this->textures[8+ 72*i]); 338 //strcpy (absFileName,"/root/data/trunk/");339 strcpy (absFileName,"/root/data/trunk/"); 339 340 strcpy(ext, ".tga"); 340 341 strncat (fileName, ext, strlen(fileName)); 341 //strncat(absFileName,fileName,strlen(fileName));342 absFileName = ResourceManager::getFullName(fileName).c_str();342 strncat(absFileName,fileName,strlen(fileName)); 343 // absFileName = ResourceManager::getFullName(fileName); 343 344 344 345 if(stat( absFileName , &results) == 0) … … 350 351 // Check for TGA 351 352 strcpy(fileName, &this->textures[8+ 72*i]); 352 //strcpy (absFileName,"/root/data/trunk/");353 strcpy (absFileName,"/root/data/trunk/"); 353 354 strcpy(ext, ".TGA"); 354 355 strncat (fileName, ext, strlen(fileName)); 355 //strncat(absFileName,fileName,strlen(fileName));356 strncat(absFileName,fileName,strlen(fileName)); 356 357 // absFileName = ResourceManager::getFullName(fileName); 357 absFileName = ResourceManager::getFullName(fileName).c_str(); 358 358 359 if(stat( absFileName , &results) == 0) 359 360 { … … 364 365 // Check for jpg 365 366 strcpy(fileName, &this->textures[8+ 72*i]); 366 //strcpy (absFileName,"/root/data/trunk/");367 strcpy (absFileName,"/root/data/trunk/"); 367 368 strcpy(ext, ".jpg"); 368 369 strncat (fileName, ext, strlen(fileName)); 369 //strncat(absFileName,fileName,strlen(fileName));370 strncat(absFileName,fileName,strlen(fileName)); 370 371 // absFileName = ResourceManager::getFullName(fileName); 371 absFileName = ResourceManager::getFullName(fileName).c_str();372 372 if(stat( absFileName , &results) == 0) 373 373 { … … 380 380 // Check for JPG 381 381 strcpy(fileName, &this->textures[8+ 72*i]); 382 //strcpy (absFileName,"/root/data/trunk/");382 strcpy (absFileName,"/root/data/trunk/"); 383 383 strcpy(ext, ".JPG"); 384 384 strncat (fileName, ext, strlen(fileName)); 385 //strncat(absFileName,fileName,strlen(fileName));385 strncat(absFileName,fileName,strlen(fileName)); 386 386 // absFileName = ResourceManager::getFullName(fileName); 387 absFileName = ResourceManager::getFullName(fileName).c_str();388 387 if(stat( absFileName , &results) == 0) 389 388 { … … 395 394 // Check for jpeg 396 395 strcpy(fileName, &this->textures[8+ 72*i]); 397 //strcpy (absFileName,"/root/data/trunk/");396 strcpy (absFileName,"/root/data/trunk/"); 398 397 strcpy(ext, ".jpeg"); 399 398 strncat (fileName, ext, strlen(fileName)); 400 //strncat(absFileName,fileName,strlen(fileName)); 401 // absFileName = ResourceManager::getFullName(fileName); 402 absFileName = ResourceManager::getFullName(fileName).c_str(); 399 strncat(absFileName,fileName,strlen(fileName)); 400 // absFileName = ResourceManager::getFullName(fileName); 403 401 if(stat( absFileName , &results) == 0) 404 402 { … … 411 409 // Check for JPEG 412 410 strcpy(fileName, &this->textures[8+ 72*i]); 413 //strcpy (absFileName,"/root/data/trunk/");411 strcpy (absFileName,"/root/data/trunk/"); 414 412 strcpy(ext, ".JPEG"); 415 413 strncat (fileName, ext, strlen(fileName)); 416 //strncat(absFileName,fileName,strlen(fileName));414 strncat(absFileName,fileName,strlen(fileName)); 417 415 // absFileName = ResourceManager::getFullName(fileName); 418 absFileName = ResourceManager::getFullName(fileName).c_str();419 416 PRINTF(0)("BSP FILE: %s . \n", absFileName); 420 417 if(stat( absFileName , &results) == 0) … … 427 424 // Check for bmp 428 425 strcpy(fileName, &this->textures[8+ 72*i]); 429 //strcpy (absFileName,"/root/data/trunk/");426 strcpy (absFileName,"/root/data/trunk/"); 430 427 strcpy(ext, ".bmp"); 431 428 strncat (fileName, ext, strlen(fileName)); 432 //strncat(absFileName,fileName,strlen(fileName)); 433 // absFileName = ResourceManager::getFullName(fileName); 434 absFileName = ResourceManager::getFullName(fileName).c_str(); 429 strncat(absFileName,fileName,strlen(fileName)); 430 // absFileName = ResourceManager::getFullName(fileName); 435 431 436 432 if(stat( absFileName , &results) == 0) … … 443 439 // Check for BMP 444 440 strcpy(fileName, &this->textures[8+ 72*i]); 445 //strcpy (absFileName,"/root/data/trunk/");441 strcpy (absFileName,"/root/data/trunk/"); 446 442 strcpy(ext, ".BMP"); 447 443 strncat (fileName, ext, strlen(fileName)); 448 // strncat(absFileName,fileName,strlen(fileName)); 449 // absFileName = ResourceManager::getFullName(fileName); 450 absFileName = ResourceManager::getFullName(fileName).c_str(); 444 strncat(absFileName,fileName,strlen(fileName)); 445 // absFileName = ResourceManager::getFullName(fileName); 451 446 452 447 if(stat( absFileName , &results) == 0) … … 457 452 } 458 453 // Default Material 459 this->Materials[i] = new Material();460 this->Materials[i] ->setDiffuse(0.1,0.1,0.1);461 this->Materials[i] ->setAmbient(0.1,0.1,0.1 );462 this->Materials[i] ->setSpecular(0.4,0.4,0.4);454 this->Materials[i].mat = new Material(); 455 this->Materials[i].mat->setDiffuse(0.1,0.1,0.1); 456 this->Materials[i].mat->setAmbient(0.1,0.1,0.1 ); 457 this->Materials[i].mat->setSpecular(0.4,0.4,0.4); 463 458 //this->Materials[i]->setShininess(100.0); 464 this->Materials[i]->setTransparency(1.0); 465 this->Materials[i]->setDiffuseMap("pictures/ground.tga"); 466 this->Materials[i]->setAmbientMap("pictures/ground.tga"); 467 this->Materials[i]->setSpecularMap("pictures/ground.tga"); 459 this->Materials[i].mat->setTransparency(1.0); 460 this->Materials[i].mat->setDiffuseMap("pictures/ground.tga"); 461 this->Materials[i].mat->setAmbientMap("pictures/ground.tga"); 462 this->Materials[i].mat->setSpecularMap("pictures/ground.tga"); 463 this->Materials[i].alpha = false; 468 464 } 469 465 } 470 466 471 467 472 Material*BspFile::loadMat(char* mat)468 AMat BspFile::loadMat(char* mat) 473 469 { 470 AMat tmpAMat; 471 this->testSurf = NULL; 472 473 this->testSurf = IMG_Load(ResourceManager::getFullName(mat).c_str()); 474 if(this->testSurf != NULL) 475 { 476 if(this->testSurf->format->Amask != 0 ) tmpAMat.alpha = true; 477 else tmpAMat.alpha = false; 478 } 479 else tmpAMat.alpha = false; 480 474 481 Material* tmp = new Material(); 475 482 tmp->setDiffuse(1.0,1.0,1.0); … … 477 484 tmp->setSpecular(1.0,1.0,1.0); 478 485 // tmp->setShininess(.5); 479 tmp->setTransparency(1.0);486 // tmp->setTransparency(1.0); 480 487 481 488 tmp->setDiffuseMap(mat); 482 489 tmp->setAmbientMap(mat); 483 490 tmp->setSpecularMap(mat); 484 485 return tmp; 491 492 tmpAMat.mat = tmp; 493 494 return tmpAMat; 486 495 } 487 496
Note: See TracChangeset
for help on using the changeset viewer.