* model shader paths guessings: use material names, starting with textures/ or models/ as is

so materials named intentionally as ingame shaders shall work as expected
This commit is contained in:
Garux 2021-12-16 03:06:30 +03:00
parent d888d2622d
commit 1bd3e7ae18
2 changed files with 14 additions and 6 deletions

View File

@ -234,9 +234,13 @@ private:
#ifdef _DEBUG
globalOutputStream() << "matname: " << matname.C_Str() << "\n";
#endif
aiString texname;
if( aiReturn_SUCCESS == material->Get( AI_MATKEY_TEXTURE_DIFFUSE(0), texname )
&& texname.length != 0 ){
if( aiString texname;
aiReturn_SUCCESS == material->Get( AI_MATKEY_TEXTURE_DIFFUSE(0), texname )
&& texname.length != 0
&& !string_equal_prefix_nocase( matname.C_Str(), "textures/" ) /* matname looks intentionally named as ingame shader */
&& !string_equal_prefix_nocase( matname.C_Str(), "textures\"" )
&& !string_equal_prefix_nocase( matname.C_Str(), "models/" )
&& !string_equal_prefix_nocase( matname.C_Str(), "models\"" ) ){
#ifdef _DEBUG
globalOutputStream() << "texname: " << texname.C_Str() << "\n";
#endif

View File

@ -202,9 +202,13 @@ struct AssModel
#ifdef _DEBUG
Sys_Printf( "matname: %s\n", matname.C_Str() );
#endif
aiString texname;
if( aiReturn_SUCCESS == material->Get( AI_MATKEY_TEXTURE_DIFFUSE(0), texname )
&& texname.length != 0 ){
if( aiString texname;
aiReturn_SUCCESS == material->Get( AI_MATKEY_TEXTURE_DIFFUSE(0), texname )
&& texname.length != 0
&& !string_equal_prefix_nocase( matname.C_Str(), "textures/" ) /* matname looks intentionally named as ingame shader */
&& !string_equal_prefix_nocase( matname.C_Str(), "textures\"" )
&& !string_equal_prefix_nocase( matname.C_Str(), "models/" )
&& !string_equal_prefix_nocase( matname.C_Str(), "models\"" ) ){
#ifdef _DEBUG
Sys_Printf( "texname: %s\n", texname.C_Str() );
#endif