diff --git a/engine/client/sys_linux.c b/engine/client/sys_linux.c index f9cef8602..8c368c343 100644 --- a/engine/client/sys_linux.c +++ b/engine/client/sys_linux.c @@ -364,15 +364,19 @@ void *Sys_GetGameAPI(void *parms) void *(*GetGameAPI)(void *); char name[MAX_OSPATH]; + char curpath[MAX_OSPATH]; char *searchpath; const char *gamename = "gamei386.so"; void *ret; + getcwd(curpath, sizeof(curpath)); + searchpath = 0; while((searchpath = COM_NextPath(searchpath))) { - sprintf (name, "%s/%s", searchpath, gamename); + sprintf (name, "%s/%s/%s", curpath, searchpath, gamename); + game_library = dlopen (name, RTLD_LAZY ); if (game_library) {