Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
191 commits
Select commit Hold shift + click to select a range
ad6d67c
Merge pull request #135 from actionquake/aqtion
darkshade9 Oct 30, 2023
8a4556c
Grab mouse when entering active state.
Nov 1, 2023
d79867f
Fix some issues with libavcodec cinematics.
Nov 1, 2023
9442417
Fix too early exit when one of the streams is shorter.
Nov 1, 2023
01971a0
Merge pull request #136 from skullernet/master
darkshade9 Nov 2, 2023
9b97f65
Changed branch name in workflow
darkshade9 Nov 2, 2023
3dee64a
Drop raw samples when resetting wrap counter.
Nov 3, 2023
a3a0138
Fix buffer underruns when in minimized state.
Nov 3, 2023
b98f35b
Wrap debug printf macros in do { } while (0).
Nov 4, 2023
1b4a15e
Replace libogg/libvorbis music playback with libavcodec.
Nov 4, 2023
9612988
Refuse downloading to ‘music’ or ‘video’ directories.
Nov 4, 2023
f0a36d0
Move casts in overflow checks.
Nov 5, 2023
3487f3f
Fix crash if MD5 skin path is too long.
Nov 5, 2023
f003fb0
Try different extensions for cinematics.
Nov 5, 2023
c8c0443
Initialize configstring mapping before serverdata.
Nov 5, 2023
c32121e
Account for terminating NUL for EntString lump.
Nov 9, 2023
03b7bda
Store edge/surfedge indices rather than pointers.
Nov 9, 2023
2cb4cc0
Fix dynamic lights on alpha faces.
Nov 12, 2023
ecce3b8
Add ‘autosave’ command.
Nov 12, 2023
a707d07
Bind white texture for flare occlusion test.
Nov 13, 2023
40e0023
Reduce number of BSP_RecursiveLightPoint() arguments.
Nov 14, 2023
a417338
Add struct for common frametime
res2k Nov 5, 2023
64aced4
Treat LOAD_LEVEL_START the same as level re-enter.
Nov 15, 2023
89dfa2f
Fixed merge conflits
darkshade9 Nov 15, 2023
46e51e5
Merge pull request #140 from actionquake/skullernet-master-1
darkshade9 Nov 15, 2023
1ead80c
Added ffmpeg deps
darkshade9 Nov 15, 2023
083a8b0
Missed a space
darkshade9 Nov 15, 2023
888fdd2
Merge pull request #141 from actionquake/support-ffmpeg-avcodec
darkshade9 Nov 15, 2023
92d2e23
Sync to aqtion alpha (#142)
darkshade9 Nov 15, 2023
99aef0b
Remove unused explosion type.
Nov 16, 2023
99a269a
Added handy message for badbyte, ListSounds prototype add
darkshade9 Nov 16, 2023
da2a8f1
Add monster muzzleflashes.
Nov 16, 2023
f6b72ef
Add more remaster muzzleflash definitions.
Nov 16, 2023
7425800
Add view weapon muzzleflashes.
Nov 17, 2023
6a93e69
Const-ify pointers to indices.
Nov 17, 2023
834262d
Reduce mesh drawing code duplication.
Nov 17, 2023
cf88706
Allow muzzleflashes to be disabled.
Nov 17, 2023
8416768
Allow custom footsteps to be disabled.
Nov 17, 2023
6ba7075
Enable lit alpha faces for N64 maps too.
Nov 18, 2023
6a9bcc0
Sync monster_flash_offset[] definitions with remaster.
Nov 18, 2023
408b0d8
Store MD5 texcoords in a separate array.
Nov 18, 2023
b3512e0
Replace qboolean with bool in hash map code.
Nov 19, 2023
876673b
List images that have glowmaps.
Nov 20, 2023
c9f74f7
List models that have MD5 replacements.
Nov 20, 2023
39c488d
Make Win32 pthread wrapper symbols static.
Nov 20, 2023
e567bd8
Add Meson 1.3.0 warning workaround.
Nov 20, 2023
31f26e0
Remove unused prototypes.
Nov 24, 2023
8583bba
Fix typo.
Nov 24, 2023
aff9aa8
Convert MSG_* flags to BIT() macro.
Nov 24, 2023
54809f7
Refuse downloading to ‘save’ directory.
Nov 25, 2023
4e25d99
Add Z_ReallocArray().
Nov 25, 2023
7cf1ed1
Discard raw texture data when stopping cinematic.
Nov 25, 2023
42cd25f
Fix decoding last frame in OGG_Load().
Nov 25, 2023
00019b8
Fix crash when resampling too long WAV file.
Nov 25, 2023
7577cee
Optimize sfx resampling for big-endian.
Nov 25, 2023
385d89c
Show MD5 feature if enabled.
Nov 25, 2023
b9c1b66
Limit OGG files to MAX_SFX_SAMPLES for symmetry with WAV.
Nov 25, 2023
c8e84a7
Fix ‘ogg info’ display.
Nov 27, 2023
f895a5f
Use entity radius for tracker shell and power splash effects.
Nov 27, 2023
a851181
Fix wrong axis.
Nov 29, 2023
55d2978
Allow more fine-grained ‘gl_showtris’ control.
Nov 29, 2023
3ab3394
Merge begin_/end_alias_mesh().
Nov 29, 2023
87d28b4
Improve drawing transparent gun.
Nov 29, 2023
5ccb2ac
Avoid depth func manipulation.
Nov 29, 2023
c2a1ef2
Simplify assert.
Dec 1, 2023
f3d9120
Fix UB if LM_MAX_LIGHTMAPS is exceeded.
Dec 2, 2023
ddee7ff
Make BSP face hashing always on.
Dec 2, 2023
22aefb0
Batch lightmap updates.
Dec 2, 2023
7c50405
Draw all lightmaps for debugging.
Dec 2, 2023
f59c8ed
Print lightmap extents if out of range.
Dec 2, 2023
8333905
Simplify checks for lightmap.
Dec 2, 2023
d50b52b
Don't spam about missing glowmaps with ‘developer 2’.
Dec 4, 2023
80636a5
Print BSPX lumps found with ‘developer 2’.
Dec 4, 2023
b3286ea
Use larger lightmaps for DECOUPLED_LM maps.
Dec 6, 2023
c528c92
Fit debug lightmaps on screen.
Dec 6, 2023
3cb974b
Count uploaded lightmap texels.
Dec 6, 2023
9ff231d
Update libcurl to 8.5.0.
Dec 7, 2023
d6fb3da
Simplify GL_RebuildLighting().
Dec 7, 2023
4001f13
Fix previous commit and clean up.
Dec 7, 2023
0f26547
Fix UB after GL_RebuildLighting().
Dec 8, 2023
df70ccf
Fix transparent surfaces with vertex lighting.
Dec 8, 2023
de93e69
Test ent->area.next to determine if entity is linked.
Dec 8, 2023
ba7f483
Fix UB in MenuList_PrevColumn().
Dec 9, 2023
7d251e5
Don't always scroll menu list when sorting.
Dec 9, 2023
6204d3f
Fix UB in touch functions when plane is NULL.
Dec 9, 2023
e020bdc
Support PRINT_TYPEWRITER and centerprint queue.
Dec 10, 2023
525ce14
Give more time to read typewritten string.
Dec 11, 2023
f60108f
Made String layout errors easier to debug
darkshade9 Dec 14, 2023
7148b8e
Lag scale graph scaling engage
darkshade9 Dec 14, 2023
528b27d
Updated meson.build to support c11 fallback
darkshade9 Dec 14, 2023
97204b6
Updated meson.build to support c11 fallback
darkshade9 Dec 14, 2023
02d534d
Reduce sizebuf_t size.
Dec 13, 2023
4f8e955
Avoid using size_t where int is sufficient.
Dec 13, 2023
ade77dd
Avoid having redundant fields in netchan_t.
Dec 13, 2023
fed8177
Avoid storing netchan methods in netchan_t.
Dec 13, 2023
b5ac669
Unify netchan message overflow check.
Dec 13, 2023
33a3baf
Reorder netchan_t fields to make it smaller.
Dec 13, 2023
4369511
Simplify packing mvd_unicast/multicast length.
Dec 14, 2023
5dafe2d
Avoid caching some sound indices.
Dec 14, 2023
35b109a
Refresh global precache indices after savegame load.
Dec 14, 2023
a3e8cb8
Allow SZ_Write() with NULL data if len == 0.
Dec 14, 2023
b8bc79d
Revert "Fix UB after GL_RebuildLighting()."
Dec 15, 2023
d7e4d98
Properly fix UB after GL_RebuildLighting().
Dec 15, 2023
5b29fa3
Merge SV_HullForEntity2() into SV_HullForEntity().
Dec 18, 2023
2cd1a76
Add q_cold attribute and mark Com_Error() as such.
Dec 18, 2023
d0db0cb
Replace some Com_LPrintf with specific macros.
Dec 18, 2023
319a0f4
Merge conflicts resolved
darkshade9 Dec 19, 2023
968a06b
Merge pull request #147 from actionquake/skullernet-master-2
darkshade9 Dec 19, 2023
ac68409
Fixing protocol issue
darkshade9 Dec 19, 2023
8cf3252
Merge pull request #148 from actionquake/bug/fix-protocol-problem
darkshade9 Dec 19, 2023
17d3300
Scope stuff?
darkshade9 Dec 21, 2023
dc750e1
Merge branch 'aqtion-alpha' of github.com:actionquake/q2pro into aqti…
darkshade9 Dec 21, 2023
6e8e108
Fixing Github huge screwup on not syncing parse.c correctly
darkshade9 Dec 22, 2023
07f1324
Merge branch 'aqtion' into aqtion-alpha
darkshade9 Dec 22, 2023
3a4313e
Merge pull request #146 from actionquake/scr_draw_lag_graph
darkshade9 Dec 22, 2023
b7a965f
Add SignExtend() function.
Dec 24, 2023
aec56b8
Fix more whitespace issues in game code.
Dec 24, 2023
322173f
Use initializer for aim vector.
Dec 24, 2023
466ff91
Precaching hitsounds
darkshade9 Jan 12, 2024
d1f7ff7
Removed unused sounds
darkshade9 Jan 12, 2024
342c88b
Removed unused sounds again
darkshade9 Jan 12, 2024
70f8971
Allows for multiple scopes
darkshade9 Jan 12, 2024
d7bfb73
Merge branch 'aqtion-alpha' of github.com:actionquake/q2pro into aqti…
darkshade9 Jan 14, 2024
b7f5d81
Enable zoom autosensitivity
darkshade9 Jan 16, 2024
d997b50
Got rid of some nonsense
darkshade9 Jan 16, 2024
7ffe61a
Got rid of some nonsense
darkshade9 Jan 16, 2024
2b9fcb0
Cleaning up some stuff + fix openal site link
darkshade9 Jan 16, 2024
d1a987e
More fixes
darkshade9 Jan 16, 2024
69c85fb
Merge pull request #152 from actionquake/fix/openal-and-stuff
darkshade9 Jan 16, 2024
79e8912
Merge pull request #150 from actionquake/feat/selectable_scopes
darkshade9 Jan 16, 2024
f34804a
Merge branch 'aqtion-alpha' of github.com:actionquake/q2pro into feat…
darkshade9 Jan 16, 2024
67bd7d8
Trying something a little different
darkshade9 Jan 16, 2024
6394dcf
Using a cvar rather than a struct entry
darkshade9 Jan 16, 2024
4ee13a8
Removed unused cvar, removed debug print
darkshade9 Jan 16, 2024
459678b
Misc game code simplifications.
Jan 14, 2024
2f271a3
Fix maps with 255 inline models and more.
Jan 14, 2024
4505802
Free edicts without classname or spawn function.
Jan 17, 2024
b7996d9
Use game.maxclients instead of maxclients->value.
Jan 17, 2024
b39cfd7
Use BIT_ULL() for all U_* defines.
Jan 21, 2024
337f9d3
Reduce size of some BoxEdicts() lists.
Jan 22, 2024
d487c85
Get rid of clamp() macro.
Jan 25, 2024
26b9feb
Add and use Q_atoi().
Jan 25, 2024
309b732
Allow client messagelevel up to 256.
Jan 28, 2024
45e658e
Check for zero JPEG/PNG image dimensions.
Jan 30, 2024
4a360a6
Make CL_ParseZPacket() length variables unsigned.
Jan 30, 2024
fcf63da
Use MAX_EDICTS instead of magic constants.
Jan 30, 2024
9ea8e6a
Properly check inuse flag in blocked functions.
Jan 30, 2024
8473ee5
Make HashMap_Reserve() capacity argument unsigned.
Jan 30, 2024
6699381
Fix use of uninitialized variable.
Jan 30, 2024
796df13
Change MAX_MSGLEN back to 32 KiB.
Jan 30, 2024
7fd2b4b
Scan client inventory up to game.num_items.
Jan 30, 2024
7fa6d69
Simplify sky drawing code.
Jan 30, 2024
f068cd7
Avoid signed integer overflow in SortPlayers().
Jan 31, 2024
5e4c5d1
Prefer libc versions of some string functions.
Jan 31, 2024
ce42912
Avoid using sizeof on pointer variable.
Feb 1, 2024
dc0a9b4
Properly check inuse flag in ai_run().
Feb 1, 2024
fca90a0
Debug print statements for sound caching
darkshade9 Feb 2, 2024
ce89c77
Simplify hash map lookup code.
Feb 1, 2024
a01f449
Clean up UI player models listing.
Feb 2, 2024
03707f4
Update zlib to 1.3.1.
Feb 3, 2024
14b2530
Update libpng to 1.6.42.
Feb 3, 2024
340a0e0
Update libjpeg-turbo to 3.0.2.
Feb 3, 2024
b0cc9f5
Update libcurl to 8.6.0.
Feb 3, 2024
a268fd4
Shorten code.
Feb 4, 2024
392c9bb
Update CI workflow.
Feb 4, 2024
d82d13a
Simplify code.
Feb 4, 2024
a952279
Fix message overflow check.
Feb 4, 2024
01f4496
Update comment.
Feb 4, 2024
49b9c7e
Add link to nightly builds.
Feb 5, 2024
ebce246
Merge conflicts addressed
darkshade9 Feb 6, 2024
135e260
Merge pull request #160 from actionquake/master_skuller_sync
darkshade9 Feb 6, 2024
e5516c4
Forgot to save file
darkshade9 Feb 6, 2024
bbea1a6
Merge pull request #161 from actionquake/master_skuller_sync
darkshade9 Feb 6, 2024
8d10713
Merge pull request #149 from actionquake/feat/hitsounds
darkshade9 Feb 27, 2024
b4cc577
Merge pull request #151 from actionquake/feat/autosens-zoom
darkshade9 Mar 19, 2024
89f8b1a
Fixed an issue in CL_PlayFootstepSfx where it always played a random …
ndit-dev Apr 20, 2024
d3a096d
Merge pull request #177 from ndit-dev/aqtion-alpha
darkshade9 Apr 29, 2024
accaeca
Set defines for referencing OpenAL header files for MacOS
darkshade9 Apr 29, 2024
94b45ce
Changed PKG_CONFIG_PATH for Darwin build
darkshade9 Apr 29, 2024
e54adfe
Revert AL import change as a test
darkshade9 Apr 29, 2024
7ea4701
Merge pull request #178 from actionquake/bug/fix-macos-openal-import
darkshade9 Apr 29, 2024
43ac843
Testing Mac ARM builds
darkshade9 Apr 29, 2024
9f5ec03
Changed tag
darkshade9 Apr 29, 2024
e86e942
macos-latest is now ARM64, trying macos-13 for Intel builds
darkshade9 Apr 29, 2024
6b90d2f
Reverted pkgconfig path for Intel homebrew
darkshade9 Apr 29, 2024
11528cc
Updated arm release steps
darkshade9 Apr 29, 2024
3cd3f79
Updated upload-artifact to v4
darkshade9 Apr 29, 2024
52d1562
Updated checkout and upload actions
darkshade9 Apr 29, 2024
8ebe6ae
Updated openal for Mac users
darkshade9 Apr 29, 2024
c2b7b08
Merge pull request #180 from actionquake/mac-arm-builds
darkshade9 Apr 29, 2024
3ac3a13
Merge branch 'aqtion' into aqtion-alpha
darkshade9 Sep 16, 2024
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
1 change: 1 addition & 0 deletions .ci/i686-w64-mingw32.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ cpp = 'i686-w64-mingw32-g++'
ar = 'i686-w64-mingw32-ar'
strip = 'i686-w64-mingw32-strip'
windres = 'i686-w64-mingw32-windres'
nasm = 'nasm'

[host_machine]
system = 'windows'
Expand Down
1 change: 1 addition & 0 deletions .ci/x86_64-w64-mingw32.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ cpp = 'x86_64-w64-mingw32-g++'
ar = 'x86_64-w64-mingw32-ar'
strip = 'x86_64-w64-mingw32-strip'
windres = 'x86_64-w64-mingw32-windres'
nasm = 'nasm'

[host_machine]
system = 'windows'
Expand Down
120 changes: 59 additions & 61 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: build

on:
push:
branches: [master, aqtion, alpha-aqtion, ci]
branches: [master, aqtion, aqtion-alpha, ci]
pull_request:
branches: [master, aqtion, alpha-aqtion]
branches: [master, aqtion, aqtion-alpha]
workflow_dispatch:

env:
Expand All @@ -19,14 +19,10 @@ env:
-Dvariable-fps=true
-Dwerror=false
-Daqtion-build=true
-Ddiscord-sdk=true
-Davcodec=disabled
# Disabled avcodec for now, because AQtion doesn't use it, but it's there if we do cinematics one day
-Ddiscord-sdk=false

MESON_ARGS_WIN: >-
-Dlibpng:werror=false
-Dsdl2=disabled
-Dvorbis:werror=false
-Dwayland=disabled
-Dwrap_mode=forcefallback
-Dx11=disabled
Expand Down Expand Up @@ -55,17 +51,18 @@ jobs:
#arch: ["i686", "x86_64"]
arch: ["x86_64"]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: actions/cache@v3
- uses: actions/cache@v4
with:
path: subprojects/packagecache
key: ${{ hashFiles('subprojects/*.wrap') }}

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y gcc-mingw-w64 meson nasm uuid-dev
sudo apt-get install -y gcc-mingw-w64 nasm python3-pip ninja-build
sudo python3 -m pip install meson

- name: Build
run: |
Expand All @@ -74,7 +71,7 @@ jobs:
meson compile -vC builddir

- name: Generate Win Mingw archives
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: q2pro-mingw-${{ matrix.arch }}
path: |
Expand All @@ -89,9 +86,9 @@ jobs:
#arch: ["x86", "x64"]
arch: ["x64"]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: actions/cache@v3
- uses: actions/cache@v4
with:
path: subprojects/packagecache
key: ${{ hashFiles('subprojects/*.wrap') }}
Expand All @@ -111,7 +108,7 @@ jobs:
meson compile -C builddir

- name: Generate Win MSVC archives
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: q2pro-msvc-${{ matrix.arch }}
path: |
Expand All @@ -126,15 +123,17 @@ jobs:
matrix:
cc: [gcc, clang]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y python3 python3-pip libsdl2-dev libopenal-dev \
libpng-dev libjpeg-dev zlib1g-dev mesa-common-dev \
libcurl4-openssl-dev libx11-dev libxi-dev \
libogg-dev libvorbis-dev uuid-dev patchelf
libavcodec-dev libavformat-dev libavutil-dev \
libswresample-dev libswscale-dev \
uuid-dev patchelf
pip3 install meson ninja

- name: Build
Expand All @@ -153,7 +152,7 @@ jobs:
chmod +x builddir/q2pro*

- name: Generate Linux x64 archives
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: q2pro-lin-${{ matrix.cc }}
path: |
Expand All @@ -168,7 +167,7 @@ jobs:
matrix:
cc: [gcc, clang]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Install dependencies
run: |
Expand All @@ -177,7 +176,9 @@ jobs:
libpng-dev libjpeg-dev zlib1g-dev mesa-common-dev \
libcurl4-openssl-dev libx11-dev libxi-dev \
libwayland-dev wayland-protocols libdecor-0-dev \
libogg-dev libvorbis-dev uuid-dev patchelf
libavcodec-dev libavformat-dev libavutil-dev \
libswresample-dev libswscale-dev \
uuid-dev patchelf

- name: Build
run: |
Expand All @@ -195,7 +196,7 @@ jobs:
chmod +x builddir/q2pro*

- name: Generate Linux x64 archives
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: q2pro-lin-wayland-${{ matrix.cc }}
path: |
Expand All @@ -209,7 +210,7 @@ jobs:
matrix:
cc: [gcc]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

# - name: Install dependencies
# run: |
Expand All @@ -222,7 +223,7 @@ jobs:

- name: Build
run: |
meson setup ${{ env.MESON_ARGS }} ${{ env.MESON_ARGS_LINUX }} builddir
meson setup ${{ env.MESON_ARGS }} ${{ env.MESON_ARGS_LINUX_X11 }} builddir
meson compile -vC builddir
env:
CC: ${{ matrix.cc }}
Expand All @@ -232,7 +233,7 @@ jobs:
chmod +x builddir/q2pro*

- name: Generate Linux ARM archives
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: q2pro-lin-arm64
path: |
Expand All @@ -241,16 +242,13 @@ jobs:
builddir/gamearm.so

darwin:
runs-on: macos-latest
strategy:
matrix:
arch: [x86_64]
runs-on: macos-13
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Install dependencies
run: |
brew install pkg-config meson libpng sdl2 openal-soft zlib curl libvorbis jpeg-turbo
brew install pkg-config meson libpng sdl2 openal-soft zlib curl ffmpeg jpeg-turbo

- name: Build
run: |
Expand All @@ -266,41 +264,41 @@ jobs:
chmod +x builddir/q2pro*

- name: Generate Mac archives
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: q2pro-darwin-${{ matrix.arch }}
name: q2pro-darwin-x86_64
path: |
builddir/q2pro
builddir/q2proded
builddir/gamex86_64.dylib

# Github does not support Apple Silicon yet
# macARM64:
# runs-on: macos-latest
# steps:
# - uses: actions/checkout@v2

# - name: Setup Homebrew for ARM64 and dependencies
# run: |
# arch -arm64 brew install meson libpng jpeg sdl2 openal-soft zlib curl libvorbis

# - name: Build
# run: |
# meson setup ${{ env.MESON_ARGS }} builddir
# ninja -vC builddir
# env:
# CC: "gcc"
# PKG_CONFIG_PATH: "/opt/homebrew/Cellar/openal-soft/1.22.2/lib/pkgconfig/:/opt/homebrew/Cellar/jpeg/9e/lib/pkgconfig/"
# CFLAGS: "-target arm64-apple-macos11"

# - name: Set binaries as executable
# run: |
# chmod +x builddir/q2pro*

# - name: Generate Mac archives
# uses: actions/upload-artifact@v3
# with:
# name: q2pro-mac-arm64
# path: |
# builddir/q2pro
# builddir/q2proded
darwin-arm64:
runs-on: macos-14
steps:
- uses: actions/checkout@v4

- name: Install dependencies
run: |
brew install pkg-config meson libpng sdl2 openal-soft zlib curl ffmpeg jpeg-turbo

- name: Build
run: |
meson setup ${{ env.MESON_ARGS }} ${{ env.MESON_ARGS_MAC }} builddir
meson compile -vC builddir
env:
CC: "gcc"
PKG_CONFIG_PATH: "/opt/homebrew/opt/openal-soft/lib/pkgconfig"
CFLAGS: "-target arm64-apple-macos11"

- name: Set binaries as executable
run: |
chmod +x builddir/q2pro*

- name: Generate Mac archives
uses: actions/upload-artifact@v4
with:
name: q2pro-darwin-arm64
path: |
builddir/q2pro
builddir/q2proded
builddir/gamex86_64.dylib
10 changes: 9 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: actionquake/q2pro
ref: ${{ github.ref }}
Expand Down Expand Up @@ -101,6 +101,13 @@ jobs:
name: q2pro-darwin-x86_64
skip_unpack: true

- name: Download Darwin arm64 build artifacts
uses: dawidd6/action-download-artifact@v2
with:
workflow: build.yml
name: q2pro-darwin-arm64
skip_unpack: true

- name: Upload dist tarball to release
uses: softprops/action-gh-release@v1
env:
Expand All @@ -117,6 +124,7 @@ jobs:
q2pro-lin-wayland-gcc.zip
q2pro-lin-wayland-clang.zip
q2pro-darwin-x86_64.zip
q2pro-darwin-arm64.zip



Expand Down
9 changes: 6 additions & 3 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,18 @@ network protocol level. The rest of dependencies are optional.
For JPEG support libjpeg-turbo is required, plain libjpeg will not work. Most
Linux distributions already provide libjpeg-turbo in place of libjpeg.

For playing back cinematics in Ogg Theora format and music in Ogg Vorbis format
FFmpeg libraries are required.

To install the *full* set of dependencies for building Q2PRO on Debian or
Ubuntu use the following command:

apt-get install meson gcc libc6-dev libsdl2-dev libopenal-dev \
libpng-dev libjpeg-dev zlib1g-dev mesa-common-dev \
libcurl4-gnutls-dev libx11-dev libxi-dev \
libwayland-dev wayland-protocols libdecor-0-dev \
libogg-dev libvorbis-dev
libavcodec-dev libavformat-dev libavutil-dev \
libswresample-dev libswscale-dev

Users of other distributions should look for equivalent development packages
and install them.
Expand Down Expand Up @@ -85,8 +89,7 @@ Q2PRO supports playback of background music ripped off original CD in Ogg
Vorbis format. Music files should be placed in `music` subdirectory of the game
directory in format `music/trackNN.ogg`, where `NN` corresponds to CD track
number. `NN` should be typically in range 02-11 (track 01 is data track on
original CD and should never be used). Placing music in packfile will also
work.
original CD and should never be used).

Note that so-called ‘GOG’ naming convention where music tracks are named
‘Track01’ to ‘Track21’ is not supported.
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ Features include:
* recording from demos, forward and backward seeking
* server side multiview demos and GTV capabilities

For building Q2PRO, consult the INSTALL file.
For building Q2PRO, consult the INSTALL.md file.

Nightly Windows builds are available at https://skuller.net/q2pro/

For information on using and configuring Q2PRO, refer to client and server
manuals available in doc/ subdirectory.
8 changes: 7 additions & 1 deletion doc/client.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,10 @@ cl_gun::
cl_footsteps::
Controls footstep sounds. When using Q2PRO protocol, disabling this saves
some bandwidth since the server stops sending footstep events at all.
Default value is 1 (enabled).
Default value is 1.
- 0 — footsteps disabled
- 1 — use custom footsteps per surface (if found)
- 2 — use default footstep sound

cl_updaterate::
Specifies the perferred update rate requested from Q2PRO servers. Only used
Expand Down Expand Up @@ -265,6 +268,9 @@ cl_gun_y::
cl_gun_z::
Specifies custom gun model offset. Default value is 0.

cl_muzzleflashes::
Specifies if muzzleflash effects are enabled. Default value is 1.

Sound Subsystem
~~~~~~~~~~~~~~~

Expand Down
3 changes: 3 additions & 0 deletions inc/client/client.h
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@ void Con_Close(bool force);

void SCR_BeginLoadingPlaque(void);
void SCR_EndLoadingPlaque(void);
int SCR_CheckForCinematic(const char *name);

void SCR_ModeChanged(void);
void SCR_UpdateScreen(void);

Expand Down Expand Up @@ -150,5 +152,6 @@ float V_CalcFov(float fov_x, float width, float height);

#define SCR_BeginLoadingPlaque() (void)0
#define SCR_EndLoadingPlaque() (void)0
#define SCR_CheckForCinematic(name) Q_ERR_SUCCESS

#endif // !USE_CLIENT
5 changes: 4 additions & 1 deletion inc/client/sound/sound.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,12 @@ void S_BeginRegistration(void);
qhandle_t S_RegisterSound(const char *sample);
void S_EndRegistration(void);

#define MAX_RAW_SAMPLES 8192

void S_RawSamples(int samples, int rate, int width, int channels, const byte *data);
int S_GetSampleRate(void);

#if USE_OGG
#if USE_AVCODEC
void OGG_Play(void);
void OGG_Stop(void);
void OGG_Update(void);
Expand Down
Loading