Browse Source

engine: strip Intel suffixes from server library name, but only on special platforms

Remove same code from filesystem, it's not what filesystem should do
pull/2/head
Alibek Omarov 2 years ago
parent
commit
eb0459a045
  1. 19
      engine/common/lib_common.c
  2. 18
      filesystem/filesystem.c

19
engine/common/lib_common.c

@ -158,6 +158,22 @@ static void COM_GenerateClientLibraryPath( const char *name, char *out, size_t s
#endif #endif
} }
/*
==============
COM_StripIntelSuffix
Some modders use _i?86 suffix in game library name
So strip it to follow library naming for non-Intel CPUs
==============
*/
static void COM_StripIntelSuffix( char *out )
{
char *suffix = Q_strrchr( out, '_' );
if( suffix && Q_stricmpext( "_i?86", suffix ))
*suffix = 0;
}
/* /*
============== ==============
COM_GenerateServerLibraryPath COM_GenerateServerLibraryPath
@ -193,6 +209,7 @@ static void COM_GenerateServerLibraryPath( char *out, size_t size )
ext = COM_FileExtension( dllpath ); ext = COM_FileExtension( dllpath );
COM_StripExtension( dllpath ); COM_StripExtension( dllpath );
COM_StripIntelSuffix( dllpath );
COM_GenerateCommonLibraryName( dllpath, ext, out, size ); COM_GenerateCommonLibraryName( dllpath, ext, out, size );
#endif #endif
@ -234,7 +251,7 @@ void COM_GetCommonLibraryPath( ECommonLibraryType eLibType, char *out, size_t si
} }
break; break;
default: default:
ASSERT( true ); ASSERT( 0 );
out[0] = 0; out[0] = 0;
break; break;
} }

18
filesystem/filesystem.c

@ -625,24 +625,6 @@ void FS_ParseGenericGameInfo( gameinfo_t *GameInfo, const char *buf, const qbool
else if( !Q_stricmp( token, "gamedll_linux" )) else if( !Q_stricmp( token, "gamedll_linux" ))
{ {
pfile = COM_ParseFile( pfile, GameInfo->game_dll_linux, sizeof( GameInfo->game_dll_linux )); pfile = COM_ParseFile( pfile, GameInfo->game_dll_linux, sizeof( GameInfo->game_dll_linux ));
// try to normalize filename only for liblist.gam
// from hl_i?86.so to hl.so
if( !isGameInfo )
{
char *p;
COM_StripExtension( GameInfo->game_dll_linux );
p = Q_strrchr( GameInfo->game_dll_linux, '_' );
if( p && Q_stricmpext( "_i?86", p ))
{
*p = 0;
}
COM_DefaultExtension( GameInfo->game_dll_linux, "."OS_LIB_EXT );
}
found_linux = true; found_linux = true;
} }
// valid for both // valid for both

Loading…
Cancel
Save