Browse Source

Merge branch 'master' into tot

tot
Andrey Akhmichin 2 years ago
parent
commit
2a162d1a16
No known key found for this signature in database
GPG Key ID: 1F180D249B0643C0
  1. 20
      .github/workflows/build.yml
  2. 16
      .github/workflows/manual.yml
  3. 22
      README.md
  4. 2
      cl_dll/vgui_SpectatorPanel.cpp
  5. 2
      cl_dll/view.cpp
  6. 6
      dlls/func_tank.cpp
  7. 7
      dlls/subs.cpp
  8. 14
      dlls/tripmine.cpp

20
.github/workflows/build.yml

@ -22,20 +22,20 @@ jobs: @@ -22,20 +22,20 @@ jobs:
CXX: ${{ matrix.cxx }}
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
submodules: recursive
- name: Checkout steam-runtime
if: startsWith(matrix.os, 'ubuntu')
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
repository: ValveSoftware/steam-runtime
path: steam-runtime
- name: Cache steam-runtime
if: startsWith(matrix.os, 'ubuntu')
id: cache-steam-runtime
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: com.valvesoftware.SteamRuntime.Sdk-i386-scout-sysroot.tar.gz
key: ${{ runner.os }}-steam-runtime
@ -65,7 +65,7 @@ jobs: @@ -65,7 +65,7 @@ jobs:
- name: Add msbuild to PATH
if: startsWith(matrix.os, 'windows')
uses: microsoft/setup-msbuild@v1.0.2
uses: microsoft/setup-msbuild@v1.1
- name: Build on Windows
if: startsWith(matrix.os, 'windows')
run: |
@ -79,33 +79,33 @@ jobs: @@ -79,33 +79,33 @@ jobs:
- name: Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/} | tr '/' '_')"
run: echo "branch=$(echo ${GITHUB_REF#refs/heads/} | tr '/' '_')" >> $GITHUB_OUTPUT
id: extract_branch
- name: Extract gamedir
shell: bash
run: echo "##[set-output name=gamedir;]$(grep build/CMakeCache.txt -Ee 'GAMEDIR:STRING=[a-z]+' | cut -d '=' -f 2)"
run: echo "gamedir=$(grep build/CMakeCache.txt -Ee 'GAMEDIR:STRING=[a-z]+' | cut -d '=' -f 2)" >> $GITHUB_OUTPUT
id: extract_gamedir
- name: Upload linux artifact
if: startsWith(matrix.os, 'ubuntu') && matrix.cc == 'gcc'
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: hlsdk-${{ steps.extract_branch.outputs.branch }}-linux
path: dist/${{ steps.extract_gamedir.outputs.gamedir }}
- name: Upload linux artifact with vgui
if: startsWith(matrix.os, 'ubuntu') && matrix.cc == 'gcc'
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: hlsdk-${{ steps.extract_branch.outputs.branch }}-linux-vgui
path: dist-vgui/${{ steps.extract_gamedir.outputs.gamedir }}
- name: Upload windows artifact
if: startsWith(matrix.os, 'windows')
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: hlsdk-${{ steps.extract_branch.outputs.branch }}-windows
path: dist/${{ steps.extract_gamedir.outputs.gamedir }}
- name: Upload windows artifact with vgui
if: startsWith(matrix.os, 'windows')
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: hlsdk-${{ steps.extract_branch.outputs.branch }}-windows-vgui
path: dist-vgui/${{ steps.extract_gamedir.outputs.gamedir }}

16
.github/workflows/manual.yml

@ -32,20 +32,20 @@ jobs: @@ -32,20 +32,20 @@ jobs:
CXX: ${{ matrix.cxx }}
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
submodules: recursive
- name: Checkout steam-runtime
if: startsWith(matrix.os, 'ubuntu')
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
repository: ValveSoftware/steam-runtime
path: steam-runtime
- name: Cache steam-runtime
if: startsWith(matrix.os, 'ubuntu')
id: cache-steam-runtime
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: com.valvesoftware.SteamRuntime.Sdk-i386-scout-sysroot.tar.gz
key: ${{ runner.os }}-steam-runtime
@ -73,7 +73,7 @@ jobs: @@ -73,7 +73,7 @@ jobs:
- name: Add msbuild to PATH
if: startsWith(matrix.os, 'windows')
uses: microsoft/setup-msbuild@v1.0.2
uses: microsoft/setup-msbuild@v1.1
- name: Build on Windows
if: startsWith(matrix.os, 'windows')
run: |
@ -82,11 +82,11 @@ jobs: @@ -82,11 +82,11 @@ jobs:
- name: Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/} | tr '/' '_')"
run: echo "branch=$(echo ${GITHUB_REF#refs/heads/} | tr '/' '_')" >> $GITHUB_OUTPUT
id: extract_branch
- name: Extract gamedir
shell: bash
run: echo "##[set-output name=gamedir;]$(grep build/CMakeCache.txt -Ee 'GAMEDIR:STRING=[a-z]+' | cut -d '=' -f 2)"
run: echo "gamedir=$(grep build/CMakeCache.txt -Ee 'GAMEDIR:STRING=[a-z]+' | cut -d '=' -f 2)" >> $GITHUB_OUTPUT
id: extract_gamedir
- name: Copy pdbs to dist dir
if: ${{ startsWith(matrix.os, 'windows') && github.event.inputs.buildtype == 'Debug' }}
@ -100,13 +100,13 @@ jobs: @@ -100,13 +100,13 @@ jobs:
Remove-Item -Force -Path dist/${{ steps.extract_gamedir.outputs.gamedir }}/dlls/hl.lib
- name: Upload linux artifact
if: startsWith(matrix.os, 'ubuntu')
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: hlsdk-${{ steps.extract_branch.outputs.branch }}-linux
path: dist/${{ steps.extract_gamedir.outputs.gamedir }}
- name: Upload windows artifact
if: startsWith(matrix.os, 'windows')
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: hlsdk-${{ steps.extract_branch.outputs.branch }}-windows
path: dist/${{ steps.extract_gamedir.outputs.gamedir }}

22
README.md

@ -12,7 +12,7 @@ Half-Life SDK for GoldSource & Xash3D with some bugfixes. @@ -12,7 +12,7 @@ Half-Life SDK for GoldSource & Xash3D with some bugfixes.
- Scientists now react to smells. [Patch](https://github.com/FWGS/hlsdk-portable/commit/2de4e7ab003d5b1674d12525f5aefb1e57a49fa3)
- Tau-cannon (gauss) plays idle animations.
- Tau-cannon (gauss) beam color depends on the charge as it was before the prediction code was introduced in Half-Life. [Patch](https://github.com/FWGS/hlsdk-portable/commit/0a29ec49c8183ebb8da22a6d2ef395eae9c3dffe)
- Brought back gluon flare in singleplayer.
- Brought back gluon flare in singleplayer. [Patch](https://github.com/FWGS/hlsdk-portable/commit/9d7ab6acf46a8b71ef119d9c252767865522d21d)
- Hand grenades don't stay primed after holster, preventing detonation after weapon switch. [Patch](https://github.com/FWGS/hlsdk-portable/commit/6e1059026faa90c5bfe5e3b3f4f58fde398d4524)
- Fixed flashlight battery appearing as depleted on restore.
- Fixed a potential overflow when reading sentences.txt. [Patch](https://github.com/FWGS/hlsdk-xash3d/commit/cb51d2aa179f1eb622e08c1c07b053ccd49e40a5)
@ -37,7 +37,7 @@ Bugfix-related server cvars: @@ -37,7 +37,7 @@ Bugfix-related server cvars:
- **explosionfix**: if set to 1, explosion damage won't propagate through thin bruses.
- **selfgauss**: if set to 0, players won't hurt themselves with secondary attack when shooting thick brushes.
*Note*: the macros and cvars were adjusted in [hlfixed](https://github.com/FWGS/hlsdk-portable/tree/hlfixed) branch. The bugfix macros are kept turned off in master branch to maintain the compatibility with vanilla servers and clients.
*Note*: the macros and cvars were adjusted in [hlfixed](https://github.com/FWGS/hlsdk-portable/tree/hlfixed) branch (for further information read [this](https://github.com/FWGS/hlsdk-portable/wiki/HL-Fixed)). The bugfix macros are kept turned off in `master` branch to maintain the compatibility with vanilla servers and clients.
Other server cvars:
@ -48,6 +48,22 @@ Other server cvars: @@ -48,6 +48,22 @@ Other server cvars:
</p>
</details>
<details><summary>Support for mods</summary>
<p>
This repository contains (re-)implementations of some mods as separate branches derived from `master`. The list of supported mods can be found [here](https://github.com/FWGS/hlsdk-portable/wiki/Mods). Note that some branches are unstable and incomplete.
To get the mod branch locally run the following git command:
```
git fetch origin asheep:asheep
```
This is considering that you have set **FWGS/hlsdk-portable** as an `origin` remote and want to fetch `asheep` branch.
</p>
</details>
# Obtaining source code
Either clone the repository via [git](`https://git-scm.com/downloads`) or just download ZIP via **Code** button on github. The first option is more preferable as it also allows you to search through the repo history, switch between branches and clone the vgui submodule.
@ -87,7 +103,7 @@ cd projects\hlsdk-portable @@ -87,7 +103,7 @@ cd projects\hlsdk-portable
```
cmake -A Win32 -B build
```
Once you configure the project you don't need to call `cmake` anymore unless you modify `CMakeLists.txt` files or want to reconfigure the project with different parameters.
Note that you must repeat the configuration step if you modify `CMakeLists.txt` files or want to reconfigure the project with different parameters.
The next step is to compile the libraries:
```

2
cl_dll/vgui_SpectatorPanel.cpp

@ -29,7 +29,7 @@ Sets the location of the input for chat text @@ -29,7 +29,7 @@ Sets the location of the input for chat text
==========================
*/
void DLLEXPORT HUD_ChatInputPosition( int *x, int *y )
extern "C" void DLLEXPORT HUD_ChatInputPosition( int *x, int *y )
{
// RecClChatInputPosition( x, y );

2
cl_dll/view.cpp

@ -735,7 +735,7 @@ void V_CalcNormalRefdef( struct ref_params_s *pparams ) @@ -735,7 +735,7 @@ void V_CalcNormalRefdef( struct ref_params_s *pparams )
// Apply this at all times
{
float pitch = camAngles[0];
float pitch = pparams->viewangles[0];
// Normalize angles
if( pitch > 180.0f )

6
dlls/func_tank.cpp

@ -626,12 +626,14 @@ void CFuncTank::AdjustAnglesForBarrel( Vector &angles, float distance ) @@ -626,12 +626,14 @@ void CFuncTank::AdjustAnglesForBarrel( Vector &angles, float distance )
if( m_barrelPos.y )
{
r2 = m_barrelPos.y * m_barrelPos.y;
angles.y += ( 180.0f / M_PI_F ) * atan2( m_barrelPos.y, sqrt( d2 - r2 ) );
if( d2 > r2 )
angles.y += ( 180.0f / M_PI_F ) * atan2( m_barrelPos.y, sqrt( d2 - r2 ) );
}
if( m_barrelPos.z )
{
r2 = m_barrelPos.z * m_barrelPos.z;
angles.x += ( 180.0f / M_PI_F ) * atan2( -m_barrelPos.z, sqrt( d2 - r2 ) );
if( d2 > r2 )
angles.x += ( 180.0f / M_PI_F ) * atan2( -m_barrelPos.z, sqrt( d2 - r2 ) );
}
}
}

7
dlls/subs.cpp

@ -400,13 +400,6 @@ void CBaseToggle::LinearMove( Vector vecDest, float flSpeed ) @@ -400,13 +400,6 @@ void CBaseToggle::LinearMove( Vector vecDest, float flSpeed )
// divide vector length by speed to get time to reach dest
float flTravelTime = vecDestDelta.Length() / flSpeed;
if( flTravelTime < 0.05f )
{
UTIL_SetOrigin( pev, m_vecFinalDest );
LinearMoveDone();
return;
}
// set nextthink to trigger a call to LinearMoveDone when dest is reached
pev->nextthink = pev->ltime + flTravelTime;
SetThink( &CBaseToggle::LinearMoveDone );

14
dlls/tripmine.cpp

@ -282,9 +282,23 @@ void CTripmineGrenade::BeamBreakThink( void ) @@ -282,9 +282,23 @@ void CTripmineGrenade::BeamBreakThink( void )
// respawn detect.
if( !m_pBeam )
{
#if TRIPMINE_BEAM_DUPLICATION_FIX
// Use the same trace parameters as the original trace above so the right entity is hit.
TraceResult tr2;
UTIL_TraceLine( pev->origin + m_vecDir * 8.0f, pev->origin - m_vecDir * 32.0f, dont_ignore_monsters, ENT( pev ), &tr2 );
#endif
MakeBeam();
#if TRIPMINE_BEAM_DUPLICATION_FIX
if( tr2.pHit )
{
// reset owner too
pev->owner = tr2.pHit;
m_hOwner = CBaseEntity::Instance( tr2.pHit );
}
#else
if( tr.pHit )
m_hOwner = CBaseEntity::Instance( tr.pHit ); // reset owner too
#endif
}
if( fabs( m_flBeamLength - tr.flFraction ) > 0.001f )

Loading…
Cancel
Save