mirror of
https://github.com/TTimo/GtkRadiant.git
synced 2025-01-10 12:01:10 +00:00
Merge pull request #575 from illwieckz/shaderlists
load shaderlist.txt from more than one VFS, fix #573
This commit is contained in:
commit
ac48f23d4d
1 changed files with 65 additions and 58 deletions
|
@ -469,7 +469,7 @@ void DumpUnreferencedShaders(){
|
||||||
==================
|
==================
|
||||||
*/
|
*/
|
||||||
void BuildShaderList(){
|
void BuildShaderList(){
|
||||||
int count;
|
int count, i;
|
||||||
char filename[1024];
|
char filename[1024];
|
||||||
char *pBuff;
|
char *pBuff;
|
||||||
char dirstring[NAME_MAX];
|
char dirstring[NAME_MAX];
|
||||||
|
@ -486,15 +486,18 @@ void BuildShaderList(){
|
||||||
Sys_FPrintf( SYS_ERR, "Couldn't find '%s'\n", g_pGameDescription->mShaderlist.GetBuffer() );
|
Sys_FPrintf( SYS_ERR, "Couldn't find '%s'\n", g_pGameDescription->mShaderlist.GetBuffer() );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for ( i = 0; i < count; i++ )
|
||||||
|
{
|
||||||
// NOTE TTimo we use vfsGetFullPath solely to get the full path of the shader list we are gonna load
|
// NOTE TTimo we use vfsGetFullPath solely to get the full path of the shader list we are gonna load
|
||||||
// but we actually send the relative path to vfsLoadFile
|
// but we actually send the relative path to vfsLoadFile
|
||||||
// so let's hope there is no disparity between the two functions
|
// so let's hope there is no disparity between the two functions
|
||||||
if ( !vfsGetFullPath( filename, 0, 0 ) ) {
|
if ( !vfsGetFullPath( filename, i, 0 ) ) {
|
||||||
Sys_FPrintf( SYS_ERR, "Couldn't find full path for '%s'\n", g_pGameDescription->mShaderlist.GetBuffer() );
|
Sys_FPrintf( SYS_ERR, "Couldn't find full path for '%s'\n", g_pGameDescription->mShaderlist.GetBuffer() );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Sys_Printf( "Parsing shader files from %s\n", vfsGetFullPath( filename, 0, 0 ) );
|
Sys_Printf( "Parsing shader files from %s\n", vfsGetFullPath( filename, i, 0 ) );
|
||||||
nLen = vfsLoadFile( filename, reinterpret_cast<void**>( &pBuff ), 0 );
|
nLen = vfsLoadFile( filename, reinterpret_cast<void**>( &pBuff ), i );
|
||||||
if ( nLen > 0 ) {
|
if ( nLen > 0 ) {
|
||||||
StartTokenParsing( pBuff );
|
StartTokenParsing( pBuff );
|
||||||
nLen = 0;
|
nLen = 0;
|
||||||
|
@ -524,6 +527,7 @@ void BuildShaderList(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
==================
|
==================
|
||||||
|
@ -1088,7 +1092,7 @@ void Texture_ShowStartupShaders(){
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( g_PrefsDlg.m_nShader == PrefsDlg::SHADER_ALL ) {
|
if ( g_PrefsDlg.m_nShader == PrefsDlg::SHADER_ALL ) {
|
||||||
int count;
|
int count, i;
|
||||||
char filename[1024];
|
char filename[1024];
|
||||||
char *pBuff;
|
char *pBuff;
|
||||||
char dirstring[NAME_MAX];
|
char dirstring[NAME_MAX];
|
||||||
|
@ -1107,8 +1111,10 @@ void Texture_ShowStartupShaders(){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Sys_Printf( "Parsing shader files from %s\n", vfsGetFullPath( filename, 0, 0 ) );
|
for ( i = 0; i < count; i++ )
|
||||||
nLen = vfsLoadFile( filename, reinterpret_cast<void**>( &pBuff ), 0 );
|
{
|
||||||
|
Sys_Printf( "Parsing shader files from %s\n", vfsGetFullPath( filename, i, 0 ) );
|
||||||
|
nLen = vfsLoadFile( filename, reinterpret_cast<void**>( &pBuff ), i );
|
||||||
if ( nLen > 0 ) {
|
if ( nLen > 0 ) {
|
||||||
StartTokenParsing( pBuff );
|
StartTokenParsing( pBuff );
|
||||||
nLen = 0;
|
nLen = 0;
|
||||||
|
@ -1140,6 +1146,7 @@ void Texture_ShowStartupShaders(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
============================================================================
|
============================================================================
|
||||||
|
|
Loading…
Reference in a new issue