diff --git a/engine/client/cl_game.c b/engine/client/cl_game.c index 4449b68d..f67f5655 100644 --- a/engine/client/cl_game.c +++ b/engine/client/cl_game.c @@ -4019,36 +4019,19 @@ qboolean CL_LoadProgs( const char *name ) clgame.mempool = Mem_AllocPool( "Client Edicts Zone" ); clgame.entities = NULL; - // a1ba: we need to check if client.dll has direct dependency on SDL2 // and if so, disable relative mouse mode #if XASH_WIN32 && !XASH_64BIT - if( ( clgame.client_dll_uses_sdl = COM_CheckLibraryDirectDependency( name, OS_LIB_PREFIX "SDL2." OS_LIB_EXT, false ) ) ) - { - Con_Printf( S_NOTE "%s uses SDL2 for mouse input\n", name ); - } - else - { - Con_Printf( S_NOTE "%s uses Windows API for mouse input\n", name ); - } -#else - // this doesn't mean other platforms uses SDL2 in any case - // it just helps input code to stay platform-independent - clgame.client_dll_uses_sdl = true; + clgame.client_dll_uses_sdl = COM_CheckLibraryDirectDependency( name, OS_LIB_PREFIX "SDL2." OS_LIB_EXT, false ); + Con_Printf( S_NOTE "%s uses %s for mouse input\n", name, clgame.client_dll_uses_sdl ? "SDL2" : "Windows API" ); #endif // NOTE: important stuff! - // vgui must startup BEFORE loading client.dll to avoid get error ERROR_NOACESS - // during LoadLibrary + // vgui must startup BEFORE loading client.dll to avoid get error ERROR_NOACESS during LoadLibrary if( !GI->internal_vgui_support && VGui_LoadProgs( NULL )) - { VGui_Startup( refState.width, refState.height ); - } else - { - // we failed to load vgui_support, but let's probe client.dll for support anyway - GI->internal_vgui_support = true; - } + GI->internal_vgui_support = true; // we failed to load vgui_support, but let's probe client.dll for support anyway clgame.hInstance = COM_LoadLibrary( name, false, false ); @@ -4057,9 +4040,7 @@ qboolean CL_LoadProgs( const char *name ) // delayed vgui initialization for internal support if( GI->internal_vgui_support && VGui_LoadProgs( clgame.hInstance )) - { VGui_Startup( refState.width, refState.height ); - } // clear exports ClearExports( cdll_exports, ARRAYSIZE( cdll_exports )); diff --git a/engine/client/client.h b/engine/client/client.h index 6ddacb47..7e9b96e9 100644 --- a/engine/client/client.h +++ b/engine/client/client.h @@ -495,7 +495,9 @@ typedef struct cl_entity_t viewent; // viewmodel +#if XASH_WIN32 qboolean client_dll_uses_sdl; +#endif } clgame_static_t; typedef struct