diff --git a/plugins/assmodel/model.cpp b/plugins/assmodel/model.cpp index d7f5dc84..31d6407b 100644 --- a/plugins/assmodel/model.cpp +++ b/plugins/assmodel/model.cpp @@ -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 diff --git a/tools/quake3/q3map2/model.cpp b/tools/quake3/q3map2/model.cpp index 77735f06..ac88eaf2 100644 --- a/tools/quake3/q3map2/model.cpp +++ b/tools/quake3/q3map2/model.cpp @@ -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