Advertisement
Guest User

Untitled

a guest
Mar 8th, 2017
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. r3dTerrain2::LoadLayerFromScript( Script_c *script, r3dTerrainLayer *layer )
  2. {
  3. #if !R3D_TERRAIN_V2_GRAPHICS
  4. return 0;
  5. #endif
  6. // fixed buffer steepsounds
  7. char buffer[ MAX_PATH ];
  8. char szName[ MAX_PATH ];
  9.  
  10. int hasTextures = 0;
  11.  
  12. int DownScale = GetTerraTexDownScale();
  13.  
  14. layer->MaterialTypeName = "";
  15.  
  16. script->SkipToken( "{" );
  17. while ( ! script->EndOfFile() )
  18. {
  19. script->GetToken( buffer );
  20. if ( *buffer == '}' )
  21. break;
  22.  
  23. if( ! strcmp( buffer, "name:" ) )
  24. {
  25. script->GetString( szName, sizeof( szName ) );
  26. layer->Name = szName;
  27. }
  28. else if ( ! strcmp( buffer, "map_diffuse:" ) )
  29. {
  30. hasTextures = 1;
  31.  
  32. script->GetString( szName, sizeof( szName ) );
  33.  
  34. layer->DiffuseTex = r3dRenderer->LoadTexture( szName, D3DFMT_UNKNOWN, false, DownScale );
  35. }
  36. else if ( ! strcmp( buffer, "map_normal:" ) )
  37. {
  38. hasTextures = 1;
  39.  
  40. script->GetString( szName, sizeof( szName ) );
  41. layer->NormalTex = r3dRenderer->LoadTexture( szName, D3DFMT_UNKNOWN, false, DownScale );
  42. }
  43. else if ( ! strcmp( buffer, "scale_u:" ) )
  44. {
  45. layer->ScaleU = script->GetFloat();
  46. }
  47. else if ( ! strcmp( buffer, "scale_v:" ) )
  48. {
  49. layer->ScaleV = script->GetFloat();
  50. }
  51. else if ( ! strcmp( buffer, "specular:" ) )
  52. {
  53. layer->SpecularPow = script->GetFloat();
  54. }
  55. else if( ! strcmp( buffer, "mat_type:" ) )
  56. {
  57. char buff[ 512 ];
  58.  
  59. buff[ sizeof buff - 1 ] = 0;
  60.  
  61. script->GetLine( buff, sizeof buff - 1 );
  62. if(strstr(strupr(buff), "CONCRETE"))
  63. strcpy(buff,"Concrete");
  64. else if(strstr(strupr(buff), "DIRT"))
  65. strcpy(buff,"Dirt");
  66. else if(strstr(strupr(buff), "SAND"))
  67. strcpy(buff,"Sand");
  68. else if(strstr(strupr(buff), "SNOW"))
  69. strcpy(buff,"Snow");
  70. else if(strstr(strupr(buff), "GRASS"))
  71. strcpy(buff,"Grass");
  72. else if(strstr(strupr(buff), "FOREST"))
  73. strcpy(buff,"Forest");
  74. else if(strstr(strupr(buff), "WOOD"))
  75. strcpy(buff,"Wood");
  76. else if(strstr(strupr(buff), "METAL_RESOURCES"))
  77. strcpy(buff,"Metal_Resources");
  78. else if(strstr(strupr(buff), "WOOD_RESOURCES"))
  79. strcpy(buff,"Wood_Resources");
  80. else if(strstr(strupr(buff), "WATER"))
  81. strcpy(buff,"Water");
  82. else if(strstr(strupr(buff), "METAL"))
  83. strcpy(buff,"Metal");
  84.  
  85. layer->MaterialTypeName = buff;
  86.  
  87. }
  88. }
  89.  
  90. return hasTextures;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement