Advertisement
Guest User

Untitled

a guest
Mar 8th, 2017
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. r3dTerrain2::LoadLayerFromScript1( Script_c *script, r3dTerrainLayer* layer, int* count )
  2. {
  3. #if !R3D_TERRAIN_V2_GRAPHICS
  4. return false;
  5. #endif
  6.  
  7. char buffer[ MAX_PATH ];
  8. char szName[ MAX_PATH ];
  9.  
  10. bool hasTextures = false;
  11. // fixed buffer steepsounds
  12. int DownScale = GetTerraTexDownScale();
  13.  
  14. script->SkipToken( "{" );
  15. while ( ! script->EndOfFile() )
  16. {
  17. script->GetToken( buffer );
  18. if ( *buffer == '}' )
  19. break;
  20.  
  21. if ( ! strcmp( buffer, "map_diffuse:" ) )
  22. {
  23. hasTextures = true;
  24.  
  25. script->GetString( szName, sizeof( szName ) );
  26. layer->DiffuseTex = r3dRenderer->LoadTexture( szName, D3DFMT_UNKNOWN, false, DownScale );
  27. }
  28. else if( !strcmp(buffer, "split_enable:" ))
  29. {
  30. // unused
  31. script->GetInt();
  32. }
  33. else if ( ! strcmp( buffer, "scale:" ) )
  34. {
  35. layer->ScaleU = script->GetFloat();
  36. layer->ScaleV = layer->ScaleU;
  37. }
  38. else if ( ! strcmp( buffer, "split:" ) )
  39. {
  40. // unused
  41. script->GetFloat();
  42. }
  43. else if ( ! strcmp( buffer, "map_normal:" ) )
  44. {
  45. hasTextures = true;
  46.  
  47. script->GetString( szName, sizeof( szName ) );
  48. layer->NormalTex = r3dRenderer->LoadTexture( szName, D3DFMT_UNKNOWN, false, DownScale );
  49. }
  50. else if ( ! strcmp( buffer, "gloss:" ) )
  51. {
  52. layer->SpecularPow = script->GetFloat();
  53. }
  54. else if( ! strcmp( buffer, "mat_type:" ) )
  55. {
  56. char buff[ 512 ];
  57.  
  58. buff[ sizeof buff - 1 ] = 0;
  59.  
  60. script->GetLine( buff, sizeof buff - 1 );
  61.  
  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.  
  86. layer->MaterialTypeName = buff;
  87.  
  88. /*char buff[ 512 ];
  89.  
  90. buff[ sizeof buff - 1 ] = 0;
  91.  
  92. script->GetLine( buff, sizeof buff - 1 );
  93.  
  94. char name[ 128 ];
  95.  
  96. name[ 0 ] = 0;
  97.  
  98. sscanf( buff, "%31s", name );
  99.  
  100. layer->MaterialTypeName = name;*/
  101. }
  102. }
  103.  
  104. char name[ 256 ];
  105.  
  106. sprintf( name, "Layer %d", *count );
  107.  
  108. layer->Name = name;
  109.  
  110. ++*count;
  111.  
  112. return hasTextures;
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement