mirror of
https://github.com/YGGverse/xash3d-fwgs.git
synced 2025-01-17 18:40:02 +00:00
partially fix amd64 build on windows
Quality of this commit is questionable. I have no idea whether what I did here makes sense or not. But it compiles and runs (provided with hlsdk-xash3d amd64 build, which is another story). This omits necessary waf changes that are necessary to make a valid 64-bit build. Apparently it's not enough to just pass `-8` on Windows, you also need to hack wscript to add `x64` target to MSVC. I'll do that later when I figure out how. This change is a precursor for RTX Vulkan effort -- VK_KHR_ray_tracing_pipeline and friends are only available on 64-bit nvidia drivers (no idea about AMD, pls send GPUs onegai).
This commit is contained in:
parent
8d50049db7
commit
1b426b67e7
@ -3945,7 +3945,7 @@ qboolean CL_LoadProgs( const char *name )
|
||||
|
||||
// a1ba: we need to check if client.dll has direct dependency on SDL2
|
||||
// and if so, disable relative mouse mode
|
||||
#if XASH_WIN32
|
||||
#if XASH_WIN32 && !defined(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 );
|
||||
|
@ -324,7 +324,7 @@ static void listdirectory( stringlist_t *list, const char *path, qboolean lowerc
|
||||
#if XASH_WIN32
|
||||
char pattern[4096];
|
||||
struct _finddata_t n_file;
|
||||
int hFile;
|
||||
intptr_t hFile;
|
||||
#else
|
||||
DIR *dir;
|
||||
struct dirent *entry;
|
||||
|
@ -354,7 +354,11 @@ void Wcon_CreateConsole( void )
|
||||
|
||||
if( host.type == HOST_DEDICATED )
|
||||
{
|
||||
#ifdef XASH_64BIT
|
||||
s_wcd.SysInputLineWndProc = (WNDPROC)SetWindowLongPtr( s_wcd.hwndInputLine, GWLP_WNDPROC, (LONG_PTR)Wcon_InputLineProc );
|
||||
#else
|
||||
s_wcd.SysInputLineWndProc = (WNDPROC)SetWindowLong( s_wcd.hwndInputLine, GWL_WNDPROC, (long)Wcon_InputLineProc );
|
||||
#endif
|
||||
SendMessage( s_wcd.hwndInputLine, WM_SETFONT, ( WPARAM )s_wcd.hfBufferFont, 0 );
|
||||
}
|
||||
|
||||
|
@ -20,9 +20,14 @@ GNU General Public License for more details.
|
||||
#ifdef XASH_64BIT
|
||||
#include <dbghelp.h>
|
||||
|
||||
void *COM_LoadLibrary( const char *dllname, int build_ordinals_table )
|
||||
void *COM_LoadLibrary( const char *dllname, int build_ordinals_table, qboolean directpath )
|
||||
{
|
||||
return LoadLibraryA( dllname );
|
||||
dll_user_t *hInst;
|
||||
|
||||
hInst = FS_FindLibrary( dllname, directpath );
|
||||
if( !hInst ) return NULL; // nothing to load
|
||||
|
||||
return LoadLibraryA( hInst->fullPath );
|
||||
}
|
||||
|
||||
void COM_FreeLibrary( void *hInstance )
|
||||
|
@ -3138,9 +3138,9 @@ void SV_AllocStringPool( void )
|
||||
#endif
|
||||
|
||||
str64.pstringarray = ptr;
|
||||
str64.pstringarraystatic = ptr + str64.maxstringarray;
|
||||
str64.pstringarraystatic = (byte*)ptr + str64.maxstringarray;
|
||||
str64.pstringbase = str64.poldstringbase = ptr;
|
||||
str64.plast = ptr + 1;
|
||||
str64.plast = (byte*)ptr + 1;
|
||||
svgame.globals->pStringBase = ptr;
|
||||
#else
|
||||
svgame.stringspool = Mem_AllocPool( "Server Strings" );
|
||||
@ -3153,9 +3153,11 @@ void SV_FreeStringPool( void )
|
||||
#ifdef XASH_64BIT
|
||||
Con_Reportf( "SV_FreeStringPool()\n" );
|
||||
|
||||
#if USE_MMAP
|
||||
if( str64.pstringarray != str64.staticstringarray )
|
||||
munmap( str64.pstringarray, (str64.maxstringarray * 2) & ~(sysconf( _SC_PAGESIZE ) - 1) );
|
||||
else
|
||||
#endif
|
||||
Mem_Free( str64.staticstringarray );
|
||||
#else
|
||||
Mem_FreePool( &svgame.stringspool );
|
||||
|
Loading…
x
Reference in New Issue
Block a user