Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
892b2af
initial conversion of base to plugin
EricZhang456 Sep 19, 2026
8e7d21e
fix typo in base
EricZhang456 Sep 19, 2026
d704566
fix IPointsForKill hook
EricZhang456 Sep 19, 2026
5e9729d
fix weapon parsing issue
EricZhang456 Sep 19, 2026
bb4407f
fix spawn forward getting called when client is spectating
EricZhang456 Sep 19, 2026
6147ec3
update comment
EricZhang456 Sep 19, 2026
9885734
bump the version number
EricZhang456 Sep 19, 2026
093238d
document the natives
EricZhang456 Sep 19, 2026
d289e15
make DM_IsClientAlive a stock
EricZhang456 Sep 19, 2026
c317379
nuke the extension
EricZhang456 Sep 19, 2026
27b2f08
fix indent in gamedata
EricZhang456 Sep 19, 2026
4f91f92
rework the ci
EricZhang456 Sep 19, 2026
518ee98
define SetNVTOptional
EricZhang456 Sep 19, 2026
197c0fe
disable warnings as errors for now
EricZhang456 Sep 19, 2026
0651abf
delete the gitmodules file
EricZhang456 Sep 19, 2026
776e3e6
actually fire shutdown and startup forwards when enable cvar changes
EricZhang456 Sep 19, 2026
e4d9cb8
don't set ffa failed when hook failed
EricZhang456 Sep 19, 2026
2791dd3
move spec check in spawn event hook
EricZhang456 Sep 20, 2026
215fafd
retag fullRespawn as bool in native callback
EricZhang456 Sep 20, 2026
163f32c
turn the memory patch stuff into a sp2 class
EricZhang456 Sep 21, 2026
1813626
disable sm 1.12 build
EricZhang456 Sep 21, 2026
abf5997
whitespace
EricZhang456 Sep 21, 2026
6a70b25
use let in for loops inside memory patch class
EricZhang456 Sep 21, 2026
48074cd
get rid of unnecessary retag
EricZhang456 Sep 21, 2026
79ed04e
make enable/disable return bool in memory patch
EricZhang456 Sep 22, 2026
75a3ffa
make g_SkipNextPlayerSpawnCallback an array of bools
EricZhang456 Sep 25, 2026
041a771
pass client index directory in respawn timer
EricZhang456 Sep 25, 2026
5dbe8cc
kill respawn timer before making a new one
EricZhang456 Sep 25, 2026
be1b1f9
reset skip spawn callback on round end
EricZhang456 Sep 25, 2026
cb7e306
fix invalid handle on timer end
EricZhang456 Sep 25, 2026
4c35ef6
use MAXPLAYERS for max players in dm_preset_spawns
EricZhang456 Sep 25, 2026
bbb8156
make the spawn editor translatable
EricZhang456 Sep 25, 2026
c934da9
add a cvar to disable spawn editor
EricZhang456 Sep 25, 2026
1d0a99d
remove unnecessary client index check
EricZhang456 Sep 25, 2026
12eb4b5
only call GetClientTeam once in player_spawn callback
EricZhang456 Sep 26, 2026
4ccf18d
fix AskPluginLoad2 game check
EricZhang456 Sep 26, 2026
19a34ed
remov unnecessary env var in build step
EricZhang456 Sep 26, 2026
25cc2b6
Merge remote-tracking branch 'upstream/master' into cssdm-no-ext-2
EricZhang456 Sep 27, 2026
d65069b
Merge remote-tracking branch 'upstream/master' into cssdm-no-ext-2
EricZhang456 Sep 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
150 changes: 15 additions & 135 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,93 +26,27 @@ jobs:
echo "version=${base_version}-git${build_number}" >> "$GITHUB_OUTPUT"

build:
name: sm${{ matrix.sm.label }}-${{ matrix.target.os_name }}-${{ matrix.target.arch }}
name: sm${{ matrix.sm.label }}
needs: version
runs-on: ${{ matrix.target.os }}
container: ${{ matrix.target.container }}
strategy:
fail-fast: false
matrix:
sm:
- label: "1.12"
branch: "1.12-dev"
- label: "1.13"
branch: "master"
target:
- os: ubuntu-latest
os_name: linux
arch: x86
container: ghcr.io/alliedmodders/build-containers/debian11-clang22:latest
- os: ubuntu-latest
os_name: linux
arch: x86_64
container: ghcr.io/alliedmodders/build-containers/debian11-clang22:latest
- os: windows-latest
os_name: windows
arch: x86
msvc_arch: x86
- os: windows-latest
os_name: windows
arch: x86_64
msvc_arch: amd64

steps:
- name: Checkout
uses: actions/checkout@v7
with:
submodules: recursive

- name: Setup Python (Windows)
if: matrix.target.os_name == 'windows'
uses: actions/setup-python@v7
with:
python-version: '3.14'

- name: Setup MSVC (Windows)
if: matrix.target.os_name == 'windows'
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.target.msvc_arch }}

- name: Install AMBuild
if: matrix.target.os_name == 'windows'
shell: bash
run: python -m pip install --upgrade git+https://github.com/alliedmodders/ambuild.git

- name: Fetch SourceMod
uses: actions/checkout@v7
with:
repository: alliedmodders/sourcemod
ref: ${{ matrix.sm.branch }}
path: sourcemod
submodules: recursive

- name: Fetch Metamod:Source
uses: actions/checkout@v7
with:
repository: alliedmodders/metamod-source
ref: 1.12-dev
path: mmsource
submodules: recursive

- name: Fetch CSS HL2SDK
uses: actions/checkout@v7
with:
repository: alliedmodders/hl2sdk
ref: css
path: hl2sdk-css
submodules: recursive

- name: Fetch CSGO HL2SDK
uses: actions/checkout@v7
with:
repository: alliedmodders/hl2sdk
ref: csgo
path: hl2sdk-csgo
submodules: recursive

- name: Fetch SourceMod Binary (Linux)
if: matrix.target.os_name == 'linux'
- name: Fetch SourceMod Binary
run: |
mkdir sm_bin
wget -O sm_bin.tar.gz "https://www.sourcemod.net/latest.php?os=linux&version=${{ matrix.sm.label }}"
Expand All @@ -121,59 +55,21 @@ jobs:
cd ..
rm sm_bin.tar.gz

- name: Fetch SourceMod Binary (Windows)
if: matrix.target.os_name == 'windows'
run: |
Invoke-WebRequest -OutFile sm_bin.zip -Uri "https://www.sourcemod.net/latest.php?os=windows&version=${{ matrix.sm.label }}"
Expand-Archive -Path sm_bin.zip -DestinationPath sm_bin
Remove-Item -Path sm_bin.zip

- name: Set environment variables (Linux)
if: matrix.target.os_name == 'linux'
- name: Set environment variables
run: |
echo "SOURCEMOD=$GITHUB_WORKSPACE/sourcemod" >> $GITHUB_ENV
echo "SOURCEMOD_BIN=$GITHUB_WORKSPACE/sm_bin" >> $GITHUB_ENV
echo "MMSOURCE=$GITHUB_WORKSPACE/mmsource" >> $GITHUB_ENV
echo "HL2SDKCSS=$GITHUB_WORKSPACE/hl2sdk-css" >> $GITHUB_ENV
echo "HL2SDKCSGO=$GITHUB_WORKSPACE/hl2sdk-csgo" >> $GITHUB_ENV

- name: Set environment variables (Windows)
if: matrix.target.os_name == 'windows'
run: |
echo "SOURCEMOD=$env:GITHUB_WORKSPACE/sourcemod" >> $env:GITHUB_ENV
echo "SOURCEMOD_BIN=$env:GITHUB_WORKSPACE/sm_bin" >> $env:GITHUB_ENV
echo "MMSOURCE=$env:GITHUB_WORKSPACE/mmsource" >> $env:GITHUB_ENV
echo "HL2SDKCSS=$env:GITHUB_WORKSPACE/hl2sdk-css" >> $env:GITHUB_ENV
echo "HL2SDKCSGO=$env:GITHUB_WORKSPACE/hl2sdk-csgo" >> $env:GITHUB_ENV

- name: Build (Linux)
if: matrix.target.os_name == 'linux'
env:
CC: clang-22
CXX: clang++-22
- name: Build
run: |
python3 ./configure.py \
-o build \
--targets ${{ matrix.target.arch }} \
--enable-optimize
cd build
ambuild

- name: Build (Windows)
if: matrix.target.os_name == 'windows'
shell: bash
run: |
python ./configure.py \
-o build \
--targets ${{ matrix.target.arch }} \
--enable-optimize
-o build
cd build
ambuild

- name: Upload package artifact
uses: actions/upload-artifact@v7
with:
name: pkg-sm${{ matrix.sm.label }}-${{ matrix.target.os_name }}-${{ matrix.target.arch }}
name: pkg-sm${{ matrix.sm.label }}
path: build/package
if-no-files-found: error

Expand Down Expand Up @@ -201,34 +97,18 @@ jobs:
version="${{ needs.version.outputs.version }}"
echo "version=${version}" >> "$GITHUB_OUTPUT"

# One package per SourceMod version per OS: Windows as .zip, Linux as
# .tar.gz. Each merges that combination's per-arch slices (the include
# file rides along in every slice).
assets=""
for label in 1.12 1.13; do
for os_name in windows linux; do
dest="package-sm${label}-${os_name}/"
mkdir -p "${dest}"
for dir in artifacts/pkg-sm${label}-${os_name}-*/; do
cp -a "${dir}." "${dest}/"
[ -d "${dest}/cfg/cssdm/maps" ] || mkdir -p "${dest}/cfg/cssdm/maps"
done
if [ "${os_name}" = "windows" ]; then
asset="cssdm-${version}-sm${label}-windows.zip"
(cd "package-sm${label}-${os_name}" && zip -r "../${asset}" *)
else
# fix permissions of the dlls first
pushd "package-sm${label}-${os_name}"/addons/sourcemod/extensions
chmod +x *.so
pushd x64
chmod +x *.so
popd
popd
asset="cssdm-${version}-sm${label}-linux.tar.gz"
(cd "package-sm${label}-${os_name}" && tar -czf "../${asset}" .)
fi
assets="${assets} ${asset}"
dest="package-sm${label}/"
mkdir -p "${dest}"
for dir in artifacts/pkg-sm${label}/; do
cp -a "${dir}." "${dest}/"
[ -d "${dest}/cfg/cssdm/maps" ] || mkdir -p "${dest}/cfg/cssdm/maps"
done
asset="cssdm-${version}-sm${label}.zip"
(cd "package-sm${label}" && zip -r "../${asset}" *)
fi
assets="${assets} ${asset}"
done
echo "assets=${assets# }" >> "$GITHUB_OUTPUT"

Expand Down
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

Loading
Loading