mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-01-11 23:47:53 +00:00
Merge branch 'master' into poke646
This commit is contained in:
commit
6c23553486
20
.github/workflows/build.yml
vendored
20
.github/workflows/build.yml
vendored
@ -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:
|
||||
|
||||
- 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:
|
||||
|
||||
- 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
vendored
16
.github/workflows/manual.yml
vendored
@ -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:
|
||||
|
||||
- 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:
|
||||
|
||||
- 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:
|
||||
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
22
README.md
@ -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:
|
||||
- **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:
|
||||
</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
|
||||
```
|
||||
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:
|
||||
```
|
||||
|
@ -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 );
|
||||
|
||||
|
@ -736,7 +736,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 )
|
||||
|
@ -629,12 +629,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 ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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 );
|
||||
|
@ -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…
Reference in New Issue
Block a user