Removed **Sys_LoadDll** (unused)

This commit is contained in:
OM 2023-05-24 00:49:49 +02:00
parent c180514a72
commit dba6b82df8

View file

@ -1053,125 +1053,6 @@ void* Sys_GetCGameAPI(void* parms)
return GetCGameAPI(parms);
}
/*
=================
Sys_LoadDll
Used to load a development dll instead of a virtual machine
TTimo:
changed the load procedure to match VFS logic, and allow developer use
#1 look down current path
#2 look in fs_homepath
#3 look in fs_basepath
=================
*/
extern char *FS_BuildOSPath( const char *base, const char *game, const char *qpath );
void *Sys_LoadDll( const char *name, char *fqpath ,
int (**entryPoint)(int, ...),
int (*systemcalls)(int, ...) )
{
void *libHandle;
void (*dllEntry)( int (*syscallptr)(int, ...) );
char curpath[MAX_OSPATH];
char fname[MAX_OSPATH];
char *basepath;
char *homepath;
char *pwdpath;
char *gamedir;
char *fn;
const char* err = NULL;
*fqpath = 0;
// bk001206 - let's have some paranoia
assert( name );
getcwd(curpath, sizeof(curpath));
#if defined __i386__
snprintf (fname, sizeof(fname), "%si386.so", name);
#elif defined __powerpc__ //rcg010207 - PPC support.
snprintf (fname, sizeof(fname), "%sppc.so", name);
#elif defined __axp__
snprintf (fname, sizeof(fname), "%saxp.so", name);
#elif defined __mips__
snprintf (fname, sizeof(fname), "%smips.so", name);
#elif defined __x86_64__
snprintf(fname, sizeof(fname), "%sx86_64.so", name);
#elif defined __arm__
snprintf(fname, sizeof(fname), "%sarm.so", name);
#elif defined __arm64__
snprintf(fname, sizeof(fname), "%sarm64.so", name);
#error Unknown arch
#endif
// bk001129 - was RTLD_LAZY
#define Q_RTLD RTLD_NOW
pwdpath = Sys_Cwd();
basepath = Cvar_VariableString( "fs_basepath" );
homepath = Cvar_VariableString( "fs_homepath" );
gamedir = Cvar_VariableString( "fs_game" );
// pwdpath
fn = FS_BuildOSPath( pwdpath, gamedir, fname );
Com_Printf( "Sys_LoadDll(%s)... \n", fn );
libHandle = dlopen( fn, Q_RTLD );
if ( !libHandle )
{
Com_Printf( "Sys_LoadDll(%s) failed:\n\"%s\"\n", fn, dlerror() );
// fs_homepath
fn = FS_BuildOSPath( homepath, gamedir, fname );
Com_Printf( "Sys_LoadDll(%s)... \n", fn );
libHandle = dlopen( fn, Q_RTLD );
if ( !libHandle )
{
Com_Printf( "Sys_LoadDll(%s) failed:\n\"%s\"\n", fn, dlerror() );
// fs_basepath
fn = FS_BuildOSPath( basepath, gamedir, fname );
Com_Printf( "Sys_LoadDll(%s)... \n", fn );
libHandle = dlopen( fn, Q_RTLD );
if ( !libHandle )
{
#ifndef NDEBUG // bk001206 - in debug abort on failure
Com_Error ( ERR_FATAL, "Sys_LoadDll(%s) failed dlopen() completely!\n", name );
#else
Com_Printf ( "Sys_LoadDll(%s) failed dlopen() completely!\n", name );
#endif
return NULL;
} else
Com_Printf ( "Sys_LoadDll(%s): succeeded ...\n", fn );
} else
Com_Printf ( "Sys_LoadDll(%s): succeeded ...\n", fn );
} else
Com_Printf ( "Sys_LoadDll(%s): succeeded ...\n", fn );
dllEntry = dlsym( libHandle, "dllEntry" );
*entryPoint = dlsym( libHandle, "vmMain" );
if ( !*entryPoint || !dllEntry )
{
err = dlerror();
#ifndef NDEBUG // bk001206 - in debug abort on failure
Com_Error ( ERR_FATAL, "Sys_LoadDll(%s) failed dlsym(vmMain):\n\"%s\" !\n", name, err );
#else
Com_Printf ( "Sys_LoadDll(%s) failed dlsym(vmMain):\n\"%s\" !\n", name, err );
#endif
dlclose( libHandle );
err = dlerror();
if ( err != NULL )
Com_Printf ( "Sys_LoadDll(%s) failed dlcose:\n\"%s\"\n", name, err );
return NULL;
}
Com_Printf ( "Sys_LoadDll(%s) found **vmMain** at %p \n", name, *entryPoint ); // bk001212
dllEntry( systemcalls );
Com_Printf ( "Sys_LoadDll(%s) succeeded!\n", name );
if ( libHandle ) Q_strncpyz ( fqpath , fn , MAX_QPATH ) ; // added 7/20/02 by T.Ray
return libHandle;
}
/*
========================================================================