Merge remote-tracking branch 'origin/main'

This commit is contained in:
SlynxCZ 2026-01-14 17:20:34 +04:00
commit 4b95ba9d36
2 changed files with 70 additions and 18 deletions

View file

@ -29,7 +29,7 @@ jobs:
- name: Upload Linux artifact - name: Upload Linux artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: RayTracePlugin-linux name: RayTrace-linux
path: build/addons path: build/addons
build-windows: build-windows:
@ -80,21 +80,21 @@ jobs:
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
cmake -S . -B build -A x64 -DCMAKE_BUILD_TYPE=Release ^ cmake -S . -B build -A x64 -DCMAKE_BUILD_TYPE=Release ^
-DHL2SDKCS2=%HL2SDKCS2% -DMMSOURCE_DEV=%MMSOURCE_DEV% -DCSGO_PROTO=%CSGO_PROTO% -DHL2SDKCS2=%HL2SDKCS2% -DMMSOURCE_DEV=%MMSOURCE_DEV% -DCSGO_PROTO=%CSGO_PROTO%
cmake --build build --config Release --target RayTracePlugin cmake --build build --config Release --target RayTrace
- name: Strip symbols (Windows) - name: Strip symbols (Windows)
run: | run: |
llvm-strip build/Release/RayTracePlugin.dll llvm-strip build/Release/RayTrace.dll
- name: Copy addons structure - name: Copy addons structure
run: | run: |
mkdir -p build/addons/RayTracePlugin/bin/win64 mkdir -p build/addons/RayTrace/bin/win64
copy build/Release/RayTracePlugin.dll build/addons/RayTracePlugin/bin/win64/ copy build/Release/RayTrace.dll build/addons/RayTrace/bin/win64/
- name: Upload Windows artifact - name: Upload Windows artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: RayTracePlugin-wwindows name: RayTrace-wwindows
path: build/addons path: build/addons
release: release:
@ -108,26 +108,26 @@ jobs:
- name: Download Linux artifact - name: Download Linux artifact
uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
with: with:
name: RayTracePlugin-linux name: RayTrace-linux
path: ./build/linux path: ./build/linux
- name: Download Windows artifact - name: Download Windows artifact
uses: actions/download-artifact@v4 uses: actions/download-artifact@v4
with: with:
name: RayTracePlugin-windows name: RayTrace-windows
path: ./build/windows path: ./build/windows
- name: Archive packages - name: Archive packages
run: | run: |
version="${GITHUB_REF#refs/tags/}" version="${GITHUB_REF#refs/tags/}"
tar -czf RayTracePlugin-${version}-linux.tar.gz -C build/linux . tar -czf RayTrace-${version}-linux.tar.gz -C build/linux .
tar -czf RayTracePlugin-${version}-windows.tar.gz -C build/windows . tar -czf RayTrace-${version}-windows.tar.gz -C build/windows .
- name: Upload release archive - name: Upload release archive
uses: svenstaro/upload-release-action@v2 uses: svenstaro/upload-release-action@v2
with: with:
repo_token: ${{ secrets.GITHUB_TOKEN }} repo_token: ${{ secrets.GITHUB_TOKEN }}
file: RayTracePlugin-*.tar.gz file: RayTrace-*.tar.gz
tag: ${{ github.ref }} tag: ${{ github.ref }}
file_glob: true file_glob: true
release_name: "${{ github.ref_name }} - Download" release_name: "${{ github.ref_name }} - Download"

View file

@ -197,20 +197,43 @@ auto result = g_RayTrace->TraceShapeEx(
``` csharp ``` csharp
private Func<nint, nint, nint, nint, nint, nint>? _traceShape; private Func<nint, nint, nint, nint, nint, nint>? _traceShape;
private Func<nint, nint, nint, nint, nint, nint>? _traceEndShape;
private Func<nint, nint, nint, nint, nint, nint>? _traceShapeEx;
private void Bind() private void Bind()
{ {
// index 1 - TraceShape
_traceShape = VirtualFunction.Create< _traceShape = VirtualFunction.Create<
nint, // thisptr nint, // this
nint, // Vector* nint, // Vector*
nint, // QAngle* nint, // QAngle*
nint, // ignore entity nint, // ignore entity
nint, // TraceOptions* nint, // TraceOptions*
nint // return nint
>(_handle, 0); >(_handle, 1);
// index 2 - TraceEndShape
_traceEndShape = VirtualFunction.Create<
nint, // this
nint, // start Vector*
nint, // end Vector*
nint, // ignore entity
nint, // TraceOptions*
nint
>(_handle, 2);
// index 3 - TraceShapeEx
_traceShapeEx = VirtualFunction.Create<
nint, // this
nint, // start Vector*
nint, // end Vector*
nint, // CTraceFilter*
nint, // Ray_t*
nint
>(_handle, 3);
} }
public bool TraceShape( public nint TraceShape(
nint origin, nint origin,
nint angles, nint angles,
nint ignoreEntity, nint ignoreEntity,
@ -221,9 +244,38 @@ public bool TraceShape(
origin, origin,
angles, angles,
ignoreEntity, ignoreEntity,
options, options
nint.Zero );
) != nint.Zero; }
public nint TraceEndShape(
nint start,
nint end,
nint ignoreEntity,
nint options)
{
return _traceEndShape!(
_handle,
start,
end,
ignoreEntity,
options
);
}
public nint TraceShapeEx(
nint start,
nint end,
nint filter,
nint ray)
{
return _traceShapeEx!(
_handle,
start,
end,
filter,
ray
);
} }
``` ```