From 43fde38d8842f78b93598eca392498f6a7f74311 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sat, 22 Jul 2023 00:19:37 +0300 Subject: [PATCH] filesystem: allow to reference game libraries in different case --- filesystem/filesystem.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/filesystem/filesystem.c b/filesystem/filesystem.c index 6a083af7..b129b97d 100644 --- a/filesystem/filesystem.c +++ b/filesystem/filesystem.c @@ -1261,6 +1261,7 @@ search for library, assume index is valid */ static qboolean FS_FindLibrary( const char *dllname, qboolean directpath, fs_dllinfo_t *dllInfo ) { + string fixedname; searchpath_t *search; int index, start = 0, i, len; @@ -1286,7 +1287,7 @@ static qboolean FS_FindLibrary( const char *dllname, qboolean directpath, fs_dll COM_DefaultExtension( dllInfo->shortPath, "."OS_LIB_EXT, sizeof( dllInfo->shortPath )); // apply ext if forget - search = FS_FindFile( dllInfo->shortPath, &index, NULL, 0, false ); + search = FS_FindFile( dllInfo->shortPath, &index, fixedname, sizeof( fixedname ), false ); if( !search && !directpath ) { @@ -1294,10 +1295,12 @@ static qboolean FS_FindLibrary( const char *dllname, qboolean directpath, fs_dll // trying check also 'bin' folder for indirect paths Q_strncpy( dllInfo->shortPath, dllname, sizeof( dllInfo->shortPath )); - search = FS_FindFile( dllInfo->shortPath, &index, NULL, 0, false ); + search = FS_FindFile( dllInfo->shortPath, &index, fixedname, sizeof( fixedname ), false ); if( !search ) return false; // unable to find } + Q_strncpy( dllInfo->shortPath, fixedname, sizeof( dllInfo->shortPath )); + dllInfo->encrypted = FS_CheckForCrypt( dllInfo->shortPath ); if( index >= 0 && !dllInfo->encrypted && search )