/* * SV_AddPureShader * * FIXME: For now we don't parse shaders, but simply assume that it uses the same name .tga or .jpg */ static void SV_AddPureShader( const char *name ) { const char *extension; char tempname[MAX_CONFIGSTRING_CHARS]; if( !name || !name[0] ) return; assert( name && name[0] && strlen( name ) < MAX_CONFIGSTRING_CHARS ); if( !Q_strnicmp( name, "textures/common/", strlen( "textures/common/" ) ) ) return; Q_strncpyz( tempname, name, sizeof( tempname ) ); if( !COM_FileExtension( tempname ) ) { extension = FS_FirstExtension( tempname, IMAGE_EXTENSIONS, NUM_IMAGE_EXTENSIONS ); if( !extension ) return; COM_ReplaceExtension( tempname, extension, sizeof( tempname ) ); } SV_AddPureFile( tempname ); }
/* * CL_SetSoundExtension */ static char *CL_SetSoundExtension( const char *name ) { unsigned int i; char *finalname; size_t finalname_size, maxlen; const char *extension; assert( name ); if( COM_FileExtension( name ) ) return TempCopyString( name ); maxlen = 0; for( i = 0; i < NUM_SOUND_EXTENSIONS; i++ ) { if( strlen( SOUND_EXTENSIONS[i] ) > maxlen ) maxlen = strlen( SOUND_EXTENSIONS[i] ); } finalname_size = strlen( name ) + maxlen + 1; finalname = Mem_TempMalloc( finalname_size ); Q_strncpyz( finalname, name, finalname_size ); extension = FS_FirstExtension( finalname, SOUND_EXTENSIONS, NUM_SOUND_EXTENSIONS ); if( extension ) Q_strncatz( finalname, extension, finalname_size ); // if not found, we just pass it without the extension return finalname; }
/* * PF_PureSound */ static void PF_PureSound( const char *name ) { const char *extension; char tempname[MAX_CONFIGSTRING_CHARS]; if( sv.state != ss_loading ) return; if( !name || !name[0] || strlen( name ) >= MAX_CONFIGSTRING_CHARS ) return; Q_strncpyz( tempname, name, sizeof( tempname ) ); if( !COM_FileExtension( tempname ) ) { extension = FS_FirstExtension( tempname, SOUND_EXTENSIONS, NUM_SOUND_EXTENSIONS ); if( !extension ) return; COM_ReplaceExtension( tempname, extension, sizeof( tempname ) ); } SV_AddPureFile( tempname ); }