diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1317da7..c099f6a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,7 +29,7 @@ jobs: - name: Upload Linux artifact uses: actions/upload-artifact@v4 with: - name: RayTracePlugin-linux + name: RayTrace-linux path: build/addons build-windows: @@ -80,21 +80,21 @@ jobs: call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" cmake -S . -B build -A x64 -DCMAKE_BUILD_TYPE=Release ^ -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) run: | - llvm-strip build/Release/RayTracePlugin.dll + llvm-strip build/Release/RayTrace.dll - name: Copy addons structure run: | - mkdir -p build/addons/RayTracePlugin/bin/win64 - copy build/Release/RayTracePlugin.dll build/addons/RayTracePlugin/bin/win64/ + mkdir -p build/addons/RayTrace/bin/win64 + copy build/Release/RayTrace.dll build/addons/RayTrace/bin/win64/ - name: Upload Windows artifact uses: actions/upload-artifact@v4 with: - name: RayTracePlugin-wwindows + name: RayTrace-wwindows path: build/addons release: @@ -108,26 +108,26 @@ jobs: - name: Download Linux artifact uses: actions/download-artifact@v4 with: - name: RayTracePlugin-linux + name: RayTrace-linux path: ./build/linux - name: Download Windows artifact uses: actions/download-artifact@v4 with: - name: RayTracePlugin-windows + name: RayTrace-windows path: ./build/windows - name: Archive packages run: | version="${GITHUB_REF#refs/tags/}" - tar -czf RayTracePlugin-${version}-linux.tar.gz -C build/linux . - tar -czf RayTracePlugin-${version}-windows.tar.gz -C build/windows . + tar -czf RayTrace-${version}-linux.tar.gz -C build/linux . + tar -czf RayTrace-${version}-windows.tar.gz -C build/windows . - name: Upload release archive uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} - file: RayTracePlugin-*.tar.gz + file: RayTrace-*.tar.gz tag: ${{ github.ref }} file_glob: true release_name: "${{ github.ref_name }} - Download" diff --git a/README.md b/README.md index 75f713e..39d98df 100644 --- a/README.md +++ b/README.md @@ -197,20 +197,43 @@ auto result = g_RayTrace->TraceShapeEx( ``` csharp private Func? _traceShape; +private Func? _traceEndShape; +private Func? _traceShapeEx; private void Bind() { + // index 1 - TraceShape _traceShape = VirtualFunction.Create< - nint, // thisptr + nint, // this nint, // Vector* nint, // QAngle* nint, // ignore entity nint, // TraceOptions* - nint // return - >(_handle, 0); + nint + >(_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 angles, nint ignoreEntity, @@ -221,9 +244,38 @@ public bool TraceShape( origin, angles, ignoreEntity, - options, - nint.Zero - ) != nint.Zero; + options + ); +} + +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 + ); } ```