mirror of
https://github.com/TTimo/GtkRadiant.git
synced 2025-01-10 12:01:10 +00:00
move texture name validation outside of texture listing
This commit is contained in:
parent
39ec17cfd9
commit
a9e54ea54f
1 changed files with 40 additions and 31 deletions
|
@ -525,10 +525,48 @@ void BuildShaderList(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool IsValidTextureName(char* name){
|
||||||
|
CString strTemp;
|
||||||
|
|
||||||
|
StripExtension( name );
|
||||||
|
strTemp = name;
|
||||||
|
strTemp.MakeLower();
|
||||||
|
|
||||||
|
// avoid effect textures for Q3 texture sets
|
||||||
|
if ( strTemp.Find( ".specular" ) >= 0 ||
|
||||||
|
strTemp.Find( ".glow" ) >= 0 ||
|
||||||
|
strTemp.Find( ".bump" ) >= 0 ||
|
||||||
|
strTemp.Find( ".diffuse" ) >= 0 ||
|
||||||
|
strTemp.Find( ".blend" ) >= 0 ||
|
||||||
|
strTemp.Find( ".alpha" ) >= 0 ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// avoid glow, heightmap, normalmap and specular maps for Q4 texture sets
|
||||||
|
if ( g_str_has_suffix( name, "_g" ) ||
|
||||||
|
g_str_has_suffix( name, "_h" ) ||
|
||||||
|
g_str_has_suffix( name, "_local" ) ||
|
||||||
|
g_str_has_suffix( name, "_nm" ) ||
|
||||||
|
g_str_has_suffix( name, "_s" ) ||
|
||||||
|
g_str_has_suffix( name, "_bump" ) ||
|
||||||
|
g_str_has_suffix( name, "_gloss" ) ||
|
||||||
|
g_str_has_suffix( name, "_luma" ) ||
|
||||||
|
g_str_has_suffix( name, "_norm" ) ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// avoid ever loading a texture name with spaces
|
||||||
|
if ( strTemp.Find( " " ) >= 0 ) {
|
||||||
|
Sys_FPrintf( SYS_WRN, "WARNING: Skipping texture name with spaces [%s]\n", strTemp.GetBuffer() );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void Texture_ListDirectory(){
|
void Texture_ListDirectory(){
|
||||||
char name[1024];
|
char name[1024];
|
||||||
char dirstring[1024];
|
char dirstring[1024];
|
||||||
CString strTemp;
|
|
||||||
int shaders_count = 0;
|
int shaders_count = 0;
|
||||||
int textures_count = 0;
|
int textures_count = 0;
|
||||||
GSList *files = NULL, *temp;
|
GSList *files = NULL, *temp;
|
||||||
|
@ -558,36 +596,7 @@ void Texture_ListDirectory(){
|
||||||
{
|
{
|
||||||
sprintf( name, "%s%s", texture_directory, (char*)temp->data );
|
sprintf( name, "%s%s", texture_directory, (char*)temp->data );
|
||||||
|
|
||||||
StripExtension( name );
|
if ( !IsValidTextureName( name ) ) {
|
||||||
strTemp = name;
|
|
||||||
strTemp.MakeLower();
|
|
||||||
|
|
||||||
// avoid effect textures for Q3 texture sets
|
|
||||||
if ( strTemp.Find( ".specular" ) >= 0 ||
|
|
||||||
strTemp.Find( ".glow" ) >= 0 ||
|
|
||||||
strTemp.Find( ".bump" ) >= 0 ||
|
|
||||||
strTemp.Find( ".diffuse" ) >= 0 ||
|
|
||||||
strTemp.Find( ".blend" ) >= 0 ||
|
|
||||||
strTemp.Find( ".alpha" ) >= 0 ) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// avoid glow, heightmap, normalmap and specular maps for Q4 texture sets
|
|
||||||
if ( g_str_has_suffix( name, "_g" ) ||
|
|
||||||
g_str_has_suffix( name, "_h" ) ||
|
|
||||||
g_str_has_suffix( name, "_local" ) ||
|
|
||||||
g_str_has_suffix( name, "_nm" ) ||
|
|
||||||
g_str_has_suffix( name, "_s" ) ||
|
|
||||||
g_str_has_suffix( name, "_bump" ) ||
|
|
||||||
g_str_has_suffix( name, "_gloss" ) ||
|
|
||||||
g_str_has_suffix( name, "_luma" ) ||
|
|
||||||
g_str_has_suffix( name, "_norm" ) ) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// avoid ever loading a texture name with spaces
|
|
||||||
if ( strTemp.Find( " " ) >= 0 ) {
|
|
||||||
Sys_FPrintf( SYS_WRN, "WARNING: Skipping texture name with spaces [%s]\n", strTemp.GetBuffer() );
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue