Browse Source

Merge branch 'master' of https://github.com/FWGS/hlsdk-xash3d into vita-hl

fix-cwd-path
fgsfds 2 years ago
parent
commit
0efa8a6388
  1. 14
      README.md
  2. 14
      cl_dll/input_goldsource.cpp

14
README.md

@ -76,7 +76,7 @@ git clone --recursive https://github.com/FWGS/hlsdk-portable @@ -76,7 +76,7 @@ git clone --recursive https://github.com/FWGS/hlsdk-portable
# Build Instructions
## Windows
## Windows x86.
### Prerequisites
@ -131,7 +131,7 @@ cmake -G "Visual Studio 16 2019" -A Win32 -B build @@ -131,7 +131,7 @@ cmake -G "Visual Studio 16 2019" -A Win32 -B build
After the configuration step, `HLSDK-PORTABLE.sln` should appear in the `build` directory. You can open this solution in Visual Studio and continue developing there.
## Windows. Using Microsoft Visual Studio 6
## Windows x86. Using Microsoft Visual Studio 6
Microsoft Visual Studio 6 is very old, but if you still have it installed, you can use it to build this hlsdk. There are no project files, but two `.bat` files, for server and client libraries. They require variable **MSVCDir** to be set to the installation path of Visual Studio:
@ -142,7 +142,7 @@ cd dlls && compile.bat && cd ../cl_dll && compile.bat @@ -142,7 +142,7 @@ cd dlls && compile.bat && cd ../cl_dll && compile.bat
`hl.dll` and `client.dll` will appear in `dlls/` and `cl_dll/` diretories. The libraries built with msvc6 should be compatible with Windows XP.
## Linux. Using Steam Runtime in chroot
## Linux x86. Portable steam-compatible build using Steam Runtime in chroot
### Prerequisites
@ -168,7 +168,7 @@ schroot --chroot steamrt_scout_i386 -- cmake -B build-in-steamrt -S . @@ -168,7 +168,7 @@ schroot --chroot steamrt_scout_i386 -- cmake -B build-in-steamrt -S .
schroot --chroot steamrt_scout_i386 -- cmake --build build-in-steamrt
```
## Linux. Build without Steam Runtime
## Linux x86. Portable steam-compatible build without Steam Runtime
### Prerequisites
@ -190,7 +190,7 @@ cmake .. -DCMAKE_C_FLAGS="-static-libstdc++ -static-libgcc" @@ -190,7 +190,7 @@ cmake .. -DCMAKE_C_FLAGS="-static-libstdc++ -static-libgcc"
```
To ensure portability it's still better to build using Steam Runtime or another chroot of some older distro.
## Linux. Build in your own chroot
## Linux x86. Portable steam-compatible build in your own chroot
### Prerequisites
@ -272,11 +272,11 @@ make -j @@ -272,11 +272,11 @@ make -j
## Other platforms
Building on other Unix-like platforms (e.g. FreeBSD) is supported.
Building on other architectures (e.g x86_64 or arm) and POSIX-compliant OSes (e.g. FreeBSD) is supported.
### Prerequisites
Install C and C++ compilers (like gcc or clang), cmake and make (or gmake)
Install C and C++ compilers (like gcc or clang), cmake and make.
### Building

14
cl_dll/input_goldsource.cpp

@ -150,6 +150,7 @@ extern cvar_t *cl_pitchspeed; @@ -150,6 +150,7 @@ extern cvar_t *cl_pitchspeed;
extern cvar_t *cl_movespeedkey;
#if _WIN32
static cvar_t* m_rawinput = NULL;
static double s_flRawInputUpdateTime = 0.0f;
static bool m_bRawInput = false;
static bool m_bMouseThread = false;
@ -158,7 +159,6 @@ bool isMouseRelative = false; @@ -158,7 +159,6 @@ bool isMouseRelative = false;
#if _WIN32
#include "progdefs.h"
extern globalvars_t *gpGlobals;
#endif
int CL_IsDead( void );
@ -386,7 +386,7 @@ void IN_SetMouseMode(bool enable) @@ -386,7 +386,7 @@ void IN_SetMouseMode(bool enable)
if (mouseparmsvalid)
restore_spi = SystemParametersInfo (SPI_SETMOUSE, 0, newmouseparms, 0);
m_bRawInput = CVAR_GET_FLOAT( "m_rawinput" ) != 0;
m_bRawInput = m_rawinput->value != 0;
if(m_bRawInput)
{
#if USE_SDL2
@ -781,13 +781,14 @@ void GoldSourceInput::IN_GetMouseDelta( int *pOutX, int *pOutY) @@ -781,13 +781,14 @@ void GoldSourceInput::IN_GetMouseDelta( int *pOutX, int *pOutY)
#if _WIN32
// update m_bRawInput occasionally:
if ( gpGlobals && gpGlobals->time - s_flRawInputUpdateTime > 1.0f )
const float currentTime = gEngfuncs.GetClientTime();
if ( currentTime - s_flRawInputUpdateTime > 1.0f || s_flRawInputUpdateTime == 0.0f )
{
s_flRawInputUpdateTime = gpGlobals->time;
s_flRawInputUpdateTime = currentTime;
bool lockEntered = MouseThread_ActiveLock_Enter();
m_bRawInput = CVAR_GET_FLOAT( "m_rawinput" ) != 0;
m_bRawInput = m_rawinput->value != 0;
if(m_bRawInput && !isMouseRelative)
{
@ -1571,7 +1572,8 @@ void GoldSourceInput::IN_Init (void) @@ -1571,7 +1572,8 @@ void GoldSourceInput::IN_Init (void)
m_customaccel_exponent = gEngfuncs.pfnRegisterVariable ( "m_customaccel_exponent", "1", FCVAR_ARCHIVE );
#if _WIN32
m_bRawInput = CVAR_GET_FLOAT( "m_rawinput" ) != 0;
m_rawinput = gEngfuncs.pfnGetCvarPointer("m_rawinput");
m_bRawInput = m_rawinput->value != 0;
m_bMouseThread = gEngfuncs.CheckParm ("-mousethread", NULL ) != NULL;
m_mousethread_sleep = gEngfuncs.pfnRegisterVariable ( "m_mousethread_sleep", "1", FCVAR_ARCHIVE ); // default to less than 1000 Hz

Loading…
Cancel
Save