X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=libs%2Fshaderlib.h;h=1d9f5e0a7983216b7660f698ae2e28980b829701;hb=3df6d45c403dbfbb0c772e8fc7a661a52c1d3244;hp=ee972437befeb934fbfb06c11862af6873d6329b;hpb=e4287c28bb2dafedc81c66e63951d947cfbeb225;p=xonotic%2Fnetradiant.git diff --git a/libs/shaderlib.h b/libs/shaderlib.h index ee972437..1d9f5e0a 100644 --- a/libs/shaderlib.h +++ b/libs/shaderlib.h @@ -50,6 +50,25 @@ bool operator()( const CopiedString& shader, const CopiedString& other ) const { } }; +static inline bool shader_is_diffuse( const char *shader ){ + return + /* Quetoo */ + !string_equal_suffix( shader, "_h" ) + && !string_equal_suffix( shader, "_local" ) + && !string_equal_suffix( shader, "_nm" ) + && !string_equal_suffix( shader, "_s" ) + /* DarkPlaces */ + && !string_equal_suffix( shader, "_bump" ) + && !string_equal_suffix( shader, "_glow" ) + && !string_equal_suffix( shader, "_gloss" ) + && !string_equal_suffix( shader, "_luma" ) + && !string_equal_suffix( shader, "_norm" ) + && !string_equal_suffix( shader, "_pants" ) + && !string_equal_suffix( shader, "_shirt" ) + && !string_equal_suffix( shader, "_reflect" ) + ; +} + inline bool shader_valid( const char* shader ){ return string_is_ascii( shader ) && strchr( shader, ' ' ) == 0 @@ -57,7 +76,8 @@ inline bool shader_valid( const char* shader ){ && strchr( shader, '\r' ) == 0 && strchr( shader, '\t' ) == 0 && strchr( shader, '\v' ) == 0 - && strchr( shader, '\\' ) == 0; + && strchr( shader, '\\' ) == 0 + && shader_is_diffuse( shader ); } inline const char* GlobalTexturePrefix_get(){