Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1073 commits
Select commit Hold shift + click to select a range
e9af1a8
Compiles and runs
darkshade9 Sep 18, 2024
4f72c24
Cleaned up old refs that weren't relevant
darkshade9 Sep 18, 2024
84b4d6f
Always enable blend for debug lines.
Sep 19, 2024
30f5792
bot_navautogen introduced, maps without navmesh will autogenerate one…
darkshade9 Sep 19, 2024
9585982
Improve debug text drawing.
Sep 20, 2024
3df324d
Changed info messaging slightly
darkshade9 Sep 20, 2024
d1a4ddf
Added botlib documentation
darkshade9 Sep 20, 2024
3d15340
Merge pull request #202 from actionquake/botlib/autogen-if-not-found
darkshade9 Sep 20, 2024
1e21582
Merge branch 'sync/aq2-tng' of github.com:actionquake/q2pro into sync…
darkshade9 Sep 20, 2024
2e4b1bc
Removed unnecessary qhandles
darkshade9 Sep 20, 2024
37a5f67
Merge pull request #200 from actionquake/sync/aq2-tng-hitsound-add
darkshade9 Sep 20, 2024
cf407ef
Set hit marker sound to weapons/marker.wav
darkshade9 Sep 20, 2024
18c029e
Set cl_hit_markers default to 0
darkshade9 Sep 20, 2024
5ff82e3
Disable cubemaps by default.
Sep 21, 2024
4208686
Fix double assignment.
Sep 22, 2024
f6fdb81
Fix missing break statement.
Sep 22, 2024
45b25f7
Make hash map allocations tagged.
Sep 23, 2024
0d674ae
Templatize BSP loading code.
Sep 25, 2024
9593d90
Update libjpeg-turbo to 3.0.4.
Sep 25, 2024
61636aa
Update libpng to 1.6.44.
Sep 25, 2024
53374e6
Update libcurl to 8.10.1.
Sep 25, 2024
7c0b87d
Update openal-soft to 1.23.1.
Sep 25, 2024
013c8fb
Update khr-headers to 20240924.
Sep 25, 2024
ffec154
Unignore subprojects/packagefiles.
Sep 25, 2024
f15a750
Update README.md.
Sep 25, 2024
27df08e
Silence compiler warning.
Sep 26, 2024
287ef46
Add CI workflow for nightly builds.
Sep 25, 2024
47ef036
Use enum instead of magic constant.
Sep 27, 2024
014160f
Warn if DECOUPLED_LM lump has invalid offsets.
Sep 27, 2024
f9705be
Added check if roundtimelimit >= 1 to make announcement
darkshade9 Sep 30, 2024
2a36ea9
Added bot_reportasclient cvar to de-list bots as players
darkshade9 Sep 30, 2024
22beb00
Revamped a lot of USE_AQTION macro conditional compilation, change to…
darkshade9 Sep 30, 2024
aef64a9
Removed redundant -lcurl from meson
darkshade9 Sep 30, 2024
66b8619
Re-arranged writing stats functionality
darkshade9 Sep 30, 2024
5e0862d
Some cleanup, formatting
darkshade9 Sep 30, 2024
6d5c3f2
Some cleanup, menu add, taking care for cases where the option isn't …
darkshade9 Sep 30, 2024
1a3556b
Added documentation, use_pickup to enable/disable
darkshade9 Sep 30, 2024
ec19d73
Synced with skuller build changes
darkshade9 Sep 30, 2024
eb81844
Missed updating OpenAL-soft
darkshade9 Sep 30, 2024
d82b6cf
Updated libjpeg-turbo and linpng as well
darkshade9 Sep 30, 2024
65b6fa0
Removed unneeded preprocessor
darkshade9 Sep 30, 2024
afe0864
Somehow git is not picking up changes to g_cmds.c
darkshade9 Sep 30, 2024
810b0ec
MSVC is a joke
darkshade9 Sep 30, 2024
0fa8cf4
Windows is amazing
darkshade9 Sep 30, 2024
40cb461
Added support for multiple game modes
darkshade9 Sep 30, 2024
0d9d197
Changed some preprocessing items, reverting small/large in Cmd_Player…
darkshade9 Sep 30, 2024
ac462b1
Moved Windows-specific botlib stuff to its own file
darkshade9 Sep 30, 2024
bdf7b99
helps to add your source files
darkshade9 Sep 30, 2024
8eea98d
Removed windows.h from botlib
darkshade9 Sep 30, 2024
5fd9176
Simpler method
darkshade9 Sep 30, 2024
a068d17
Done with the windows nonsense, just renaming the vars
darkshade9 Sep 30, 2024
fc80c2b
Simplified allocating buffer room for request message
darkshade9 Sep 30, 2024
400cda0
Simplified format for pickup requests
darkshade9 Sep 30, 2024
1a4ae73
Add COM_ParseToken().
Oct 1, 2024
8f02176
Merge pull request #206 from actionquake/add-pickup-request-menu
darkshade9 Oct 2, 2024
eb74eec
Set bot_enable checks in various places
darkshade9 Oct 2, 2024
ad6526e
Merge pull request #204 from actionquake/roundtimelimit-less-than-1
darkshade9 Oct 2, 2024
9044fb8
Merge branch 'sync/aq2-tng' of github.com:actionquake/q2pro into sync…
darkshade9 Oct 2, 2024
07585fb
Some documentation additions
darkshade9 Oct 2, 2024
5a20359
Merge branch 'sync/aq2-tng-extensions' into botlib/bot_reportasclient
darkshade9 Oct 2, 2024
b1e19e8
Merge pull request #205 from actionquake/botlib/bot_reportasclient
darkshade9 Oct 2, 2024
f5d0b69
Merge pull request #209 from actionquake/bot_enable_toggle
darkshade9 Oct 2, 2024
e43e5ad
Merged conflict in documentation
darkshade9 Oct 2, 2024
5e64dac
Retrying reverting small and large
darkshade9 Oct 2, 2024
dd574c0
Trying adding LEAN_AND_MEAN to rpc.h
darkshade9 Oct 2, 2024
2a57625
Define, not include, dummy
darkshade9 Oct 2, 2024
102e219
Replaced small/large with playerInfo/playerList in g_cmds.c
darkshade9 Oct 2, 2024
133b182
Some documentation editing
darkshade9 Oct 2, 2024
cd30ec4
Use real JSON parser to parse MD5 scales.
Oct 2, 2024
da32d03
Factor MD5 skin loading into separate function.
Oct 2, 2024
b711e8f
Refactor MD5 code more.
Oct 2, 2024
bfa623d
Simplify Quat_SLerp() close angle check.
Oct 2, 2024
782c15b
Add VectorRotate() macro.
Oct 3, 2024
81b2eb1
Optimize MD5 interpolation more.
Oct 2, 2024
943a00c
Un-inline quaternion functions.
Oct 2, 2024
c2cb036
Only warn if MD5 has less frames than MD2.
Oct 3, 2024
6e77efb
Added comments
darkshade9 Oct 4, 2024
3359944
Added sv_load_ent toggle cvar
darkshade9 Oct 4, 2024
15bf62b
Fixed documentation
darkshade9 Oct 4, 2024
995432b
Fixed crashing bug that tried to find a null edict
darkshade9 Oct 5, 2024
52d337c
Build changes to fix sync/aq2-tng
darkshade9 Oct 5, 2024
88c5f6b
Merge pull request #213 from actionquake/build/skullernet-changes
darkshade9 Oct 5, 2024
b60233c
Fixed ETV capture issue, client crash on GL_ColorBytePointer and GL_V…
darkshade9 Oct 5, 2024
fae2693
Merge branch 'sync/aq2-tng' of github.com:actionquake/q2pro into sync…
darkshade9 Oct 6, 2024
b8b3484
Refactored setting and determining espionage modes, removed atl/etv c…
darkshade9 Oct 7, 2024
c04b4b9
Removed redundant settings
darkshade9 Oct 7, 2024
c00920a
Added TestEntityPosition check on leader respawns
darkshade9 Oct 7, 2024
b494490
Merge pull request #211 from actionquake/feat/add-sv_load_ent
darkshade9 Oct 7, 2024
f39cc7e
Fixed merge conflict in download.c
darkshade9 Oct 7, 2024
59e3668
Needed to rename VectorRotate because it was reintroduced..?
darkshade9 Oct 7, 2024
feb25fd
Returning if bots are disabled
darkshade9 Oct 7, 2024
6032d73
Removed extra debug info
darkshade9 Oct 7, 2024
0f96f44
Merge pull request #215 from actionquake/skullernet-master-10-07-2024
darkshade9 Oct 7, 2024
2a2b256
Flush uniform buffer explicitly.
Oct 6, 2024
efd8da1
Add GL_DeleteBuffer() function.
Oct 6, 2024
44ba29e
Add R_Malloc() macro.
Oct 6, 2024
8a2080e
Prepare hunk API for GPU lerp.
Oct 6, 2024
223508c
Add GL_BindingForTarget().
Oct 6, 2024
1a170a8
Allow binding VA_NONE.
Oct 6, 2024
0b2cd8e
Reduce scope of variable.
Oct 6, 2024
9c9818e
Move glBindBufferBase to GL 3.0.
Oct 6, 2024
2a513c2
Print freed models count.
Oct 6, 2024
a5e0aaa
Fixing bot scaling issues in teamplay
darkshade9 Oct 11, 2024
8cb2d94
Commenting out TE_DAMAGE_DEALT
darkshade9 Oct 12, 2024
009f142
Support alias model interpolation on GPU.
Sep 28, 2024
4bbaafa
Always use 16-bit indices for meshes.
Oct 7, 2024
e85d1d8
Update bug report template.
Oct 7, 2024
7fdb039
Update INSTALL.md.
Oct 8, 2024
46b1bfc
Optimize skipping MD5 bounds.
Oct 8, 2024
25a54a6
Update FreeBSD VM to 14.1.
Oct 8, 2024
13c2c9b
Fix rendering error if classic sky texture is missing.
Oct 11, 2024
61324ff
Use VectorRotate() macro in more places.
Oct 11, 2024
5dcc520
Use system meson package.
Oct 12, 2024
d54bdc6
No longer precaching AQtion gun sounds, saves us memory and sound slots
darkshade9 Oct 14, 2024
d05bd86
Synced with latest from upstream
darkshade9 Oct 14, 2024
c0966a9
Allow message write buffer to overflow.
Oct 13, 2024
70c1a33
Fixed Espionage bugs
darkshade9 Oct 14, 2024
81dab91
Merge pull request #214 from actionquake/esp/refactor-mode-check
darkshade9 Oct 14, 2024
0ca9ad8
Merge branch 'sync/aq2-tng' of github.com:actionquake/q2pro into sync…
darkshade9 Oct 14, 2024
b109294
Merge pull request #216 from actionquake/esp/bugfix-1
darkshade9 Oct 14, 2024
c255817
Fixed merge conflicts because git wouldn't pull from origin
darkshade9 Oct 14, 2024
1b95904
Merge conflict resolved
darkshade9 Oct 14, 2024
2fa4d6b
Merge pull request #218 from actionquake/skullernet-master1014
darkshade9 Oct 14, 2024
22e1bcb
Merge branch 'sync/aq2-tng' into sync/aq2-tng-extend-curl
darkshade9 Oct 16, 2024
ce2963d
Added weapon options in docs
darkshade9 Oct 16, 2024
e49ad6e
Set timelimit and fraglimit to 0 if we issue nav_edit
darkshade9 Oct 16, 2024
3a8ad7e
Quick and dirty expose gl_shaders value to gamelib
darkshade9 Oct 16, 2024
08151ed
Reduced special weapon/item respawn timers if bots are in the game
darkshade9 Oct 16, 2024
2935483
Merge pull request #221 from actionquake/bots/glsl-shaders-warning-an…
darkshade9 Oct 18, 2024
5f97238
Added option to not include bots in highscores, ctf fix
darkshade9 Oct 18, 2024
4b9f386
Synced with skuller build changes
darkshade9 Oct 18, 2024
612613a
Reverted mingw change, why fix if not broken
darkshade9 Oct 18, 2024
6ef329b
Merge branch 'sync/aq2-tng' of github.com:actionquake/q2pro into sync…
darkshade9 Oct 18, 2024
99358ec
Merge branch 'sync/aq2-tng' of github.com:actionquake/q2pro into sync…
darkshade9 Oct 18, 2024
4bd18e8
Merge pull request #168 from actionquake/sync/aq2-tng-extend-curl
darkshade9 Oct 18, 2024
8b0f446
Merge branch 'sync/aq2-tng' into bug/highscores-ctf-and-bots
darkshade9 Oct 18, 2024
cd21506
Merge pull request #225 from actionquake/bug/highscores-ctf-and-bots
darkshade9 Oct 18, 2024
f83b384
Changed bot radio to use streakKills instead of score
darkshade9 Oct 18, 2024
0957581
Use mat4_t for GL matrices.
Oct 19, 2024
fbf0cd9
Add re-release fog effect support.
Oct 19, 2024
1d54743
Set fog params too if only for sky factor.
Oct 20, 2024
887c468
Explicitly use ubuntu-24.04 for mingw CI.
Oct 20, 2024
218da0a
Enable fog for shadows/celshading.
Oct 20, 2024
3e90b4d
Make ‘gl_fog’ a simple off/on toggle.
Oct 20, 2024
6a45deb
rebased ch_hide_while_zoomed
mikota Oct 21, 2024
dad329c
Merge pull request #227 from mikota/new_ch_while_zoomed
darkshade9 Oct 21, 2024
2cc93fa
Fixed some old typos
darkshade9 Oct 21, 2024
4fdeee1
Merge branch 'sync/aq2-tng' of github.com:actionquake/q2pro into sync…
darkshade9 Oct 21, 2024
9159e0d
renamed to currently_scoped_in
darkshade9 Oct 21, 2024
74b47ba
Set hc_boost default to 0, zoom crosshair default to 1
darkshade9 Oct 21, 2024
64f2dd7
Merge pull request #222 from actionquake/bots/reduce_item_respawn_timer
darkshade9 Oct 21, 2024
c7a801e
Nade bonk is a little more accurate on hit location
darkshade9 Oct 21, 2024
5ec63e4
Nade bonk is a little more accurate on hit location
darkshade9 Oct 21, 2024
f59a56c
Setup CTFSetupStatusbar
darkshade9 Oct 21, 2024
cf2ab85
Merge branch 'sync/aq2-tng' of github.com:actionquake/q2pro into sync…
darkshade9 Oct 21, 2024
112fead
Added documentation
darkshade9 Oct 22, 2024
ef80dcd
Resolved merge conflicts?
darkshade9 Oct 22, 2024
e038a1a
Merge pull request #199 from actionquake/sync/aq2-tng-extensions
darkshade9 Oct 22, 2024
adc1e93
Statically linking some libraries
darkshade9 Oct 22, 2024
b6f9a27
Building libjansson from source
darkshade9 Oct 22, 2024
43e8491
sudo make install
darkshade9 Oct 22, 2024
5b12fae
Fixed wording on pickup command errors
darkshade9 Oct 22, 2024
200a121
Added ctf_dyn_respawn, sv bots fixed in TP mode, some optimizations..
darkshade9 Oct 22, 2024
cbe9cbd
Adjusted the respawn timer to use a static value to subtract from
darkshade9 Oct 22, 2024
c7cf76e
Check for invalid node on dropped flag and return to avoid segfault
darkshade9 Oct 23, 2024
8212216
Adjusted messaging criteria, updated docs
darkshade9 Oct 23, 2024
69e6f4a
Merge pull request #230 from actionquake/build/static-links
darkshade9 Oct 23, 2024
472d309
Moved SteamCloud definition before fs_game/fs_home
darkshade9 Oct 23, 2024
3418abc
Merge pull request #231 from actionquake/ctf/dynamic-respawn-timers
darkshade9 Oct 25, 2024
ea40230
Refined documentation around bots
darkshade9 Oct 25, 2024
66ba1b0
unified AQTION_EXTENSION check to an #ifdef instead of an #if
Iceman12k Oct 26, 2024
3428ab6
Fixed AQTION_EXTENSION pmove fields being stripped when player state …
Iceman12k Oct 26, 2024
1206f40
removed hack to strip protocol 38 support on non-listen servers
Iceman12k Oct 26, 2024
e88762b
restored customizeentityforclient, restored CvarSync_Updated
Iceman12k Oct 26, 2024
ab3e483
fixed double tempent parse and filtered hitmarker sending
Iceman12k Oct 26, 2024
e092829
Merge pull request #233 from Iceman12k/reki/sync/aq2-tng
darkshade9 Oct 27, 2024
01a22cf
Merge branch 'sync/aq2-tng' of github.com:actionquake/q2pro into sync…
darkshade9 Oct 28, 2024
54ae37f
Additional check on round number > 0
darkshade9 Oct 28, 2024
3603b96
Better CTF rules messages, fixed highscores crash
darkshade9 Oct 28, 2024
f1508c1
Report all players in a pickup match in the Discord webhook
darkshade9 Oct 28, 2024
e6300ce
Set bot ping to BOT if bot_reportasclient is 0
darkshade9 Oct 28, 2024
a650c14
Re-added duplicate CL_ParseTEnt();
darkshade9 Oct 28, 2024
a01809e
Merge pull request #232 from actionquake/bug/steamcloud_define
darkshade9 Oct 29, 2024
646a9c1
Initial save point on player stat bar in GHUD
darkshade9 Oct 30, 2024
f973eaf
Looking a little better
darkshade9 Oct 31, 2024
2a108c6
Re-colorized, fixed stat bar drawing
darkshade9 Oct 31, 2024
a24112d
Fixed team 1 bug
darkshade9 Oct 31, 2024
7c4cab9
Added center clock timer
darkshade9 Oct 31, 2024
a51878f
Hiding timer if timelimit is 0
darkshade9 Oct 31, 2024
e2c2c73
Reduced timer border thickness
darkshade9 Oct 31, 2024
08ce49c
SetAnchor'd timer
darkshade9 Nov 1, 2024
e1bd232
Using SetAnchor, center stat bar compatible with scr_scale
darkshade9 Nov 1, 2024
d77ffe2
Using SetAnchor, center stat bar compatible with scr_scale
darkshade9 Nov 1, 2024
3a5500c
Fixed vertical alignment of stat values
darkshade9 Nov 1, 2024
a0baa5d
Moved stats horizontally, added award tallies
darkshade9 Nov 1, 2024
d0d8c2e
GHUD Player stat and timer Deathmatch compatible
darkshade9 Nov 1, 2024
ccfe259
Removed MOD_TELEFRAG from recording 100000 damage
darkshade9 Nov 1, 2024
6eef514
Set timer values to 0 if negative (overtime)
darkshade9 Nov 1, 2024
468ae28
Some cleanup, darkened gray bar
darkshade9 Nov 1, 2024
f5d67a0
A/I/E icons
darkshade9 Nov 1, 2024
577621b
Unhide timer elements
darkshade9 Nov 1, 2024
8cd7596
Re-draw the GHUD if going spectator
darkshade9 Nov 1, 2024
0b80b9e
Support for CTF scores in GHUD
darkshade9 Nov 1, 2024
8b9011e
Moved HUD score a bit, CTF/Esp team logos render in GHUD now
darkshade9 Nov 1, 2024
1253654
Team scores moved to center, matchmode has its own format
darkshade9 Nov 6, 2024
29c49fb
Save point
darkshade9 Nov 6, 2024
a229048
Static link libjpeg
darkshade9 Nov 8, 2024
1cca1cc
Merge pull request #234 from actionquake/pickup/report-all-players
darkshade9 Nov 8, 2024
897d571
Merge pull request #235 from actionquake/ghud/player-stat-bar
darkshade9 Nov 8, 2024
98005fc
re-add xhair
mikota Dec 5, 2024
1d0605c
Added nice features from TNG upstream, thanks Raptor007
darkshade9 Jan 7, 2025
9406cda
Updated doc on missing stats_mode code
darkshade9 Jan 7, 2025
b491e72
Merge pull request #238 from mikota/xhairfix
darkshade9 Jan 8, 2025
b17ee95
Added teamnone command
darkshade9 Jan 8, 2025
479ce4f
Added check for Espionage leader and documentation
darkshade9 Jan 8, 2025
f37212e
Updated documentation
darkshade9 Jan 8, 2025
cb47268
A potential fix for crashing when refreshing due to crosshair loading
darkshade9 Jan 10, 2025
9bccd1c
MSVC always bitches about something
darkshade9 Jan 10, 2025
e17f2ba
Removed debug statements
darkshade9 Jan 10, 2025
949d47e
Removed scr_crosshair_changed in scr_scale_changed
darkshade9 Jan 10, 2025
855b845
Merge pull request #241 from actionquake/q2pro/multisample-crash-fix
darkshade9 Jan 10, 2025
d2af296
Merge pull request #240 from actionquake/tng/teamnone
darkshade9 Jan 10, 2025
39d90cd
Merge pull request #239 from actionquake/tng/raptor007-patch-1
darkshade9 Jan 10, 2025
5a50b54
Fix for Espionage not starting in ATL mode
darkshade9 Jan 11, 2025
0309382
Set chosenItem to 0 if no item to log
darkshade9 Jan 12, 2025
73613f0
Merge pull request #229 from actionquake/skullernet-master1022
darkshade9 Jan 15, 2025
caf3e0a
Check gl_shaders value before using legacy gl in DrawNullModel
darkshade9 Jan 15, 2025
a205e81
Merge branch 'sync/aq2-tng' of github.com:actionquake/q2pro into sync…
darkshade9 Jan 15, 2025
83529ad
Client will not try to download jpg textures if r_override_textures i…
darkshade9 Jan 15, 2025
7fe7aa0
Variety of null/value checks (#244)
darkshade9 Jan 15, 2025
cc33a55
Added knife_catch (#224)
darkshade9 Jan 15, 2025
d2efa5b
Fix uncommon spawnpoints (#255)
darkshade9 May 14, 2025
ab4bc80
Gamemode fixes (#260)
darkshade9 Dec 18, 2025
313a9a9
Add missing stats (#258)
darkshade9 Dec 18, 2025
89b2956
auto_menu 2 and gl_shader check (#250)
darkshade9 Dec 18, 2025
d66e778
Added IS_BOT macro, bot_reportpings cvar (#246)
darkshade9 Dec 18, 2025
5190460
Minor CTF revamp (#247)
darkshade9 Dec 18, 2025
e63a4f3
Updated to macos-15-intel
darkshade9 Dec 18, 2025
072004a
Added lrcon support directly to the gamelib (#261)
darkshade9 Dec 19, 2025
e362225
Support for Extended Status and Rules queries (#262)
darkshade9 Dec 19, 2025
38aa123
Autoghost (#259)
darkshade9 Dec 19, 2025
689955c
Keeping track of CTF/Dom/TeamDM scores in t1/t2/t3 cvars now (#263)
darkshade9 Dec 20, 2025
c35c686
Fixed implicit declaration
darkshade9 Dec 20, 2025
a800fe1
Automatic demo recording, including deathmatch, without lua needed (#…
darkshade9 Dec 20, 2025
6b2d544
training mode (#254)
darkshade9 Dec 20, 2025
9b3d89a
Fixed static dec bug
darkshade9 Dec 20, 2025
05414de
Add timeout functionality for matchmode (#253)
darkshade9 Dec 20, 2025
354d48c
CTF fixes, null checks (#264)
darkshade9 Dec 20, 2025
40b9c67
More CTF Fixes (#265)
darkshade9 Dec 23, 2025
b6fcf8e
Restored ctf_mode design, added docs, fixes (#266)
darkshade9 Dec 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
76 changes: 76 additions & 0 deletions .ci/configure-ffmpeg.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
#!/bin/sh -e

OPTS_COMMON="--disable-everything \
--enable-decoder=theora \
--enable-decoder=vorbis \
--enable-decoder=idcin \
--enable-decoder=pcm_* \
--disable-decoder=pcm_bluray \
--disable-decoder=pcm_dvd \
--disable-decoder=pcm_alaw_at \
--disable-decoder=pcm_mulaw_at \
--enable-demuxer=ogg \
--enable-demuxer=idcin \
--enable-demuxer=wav \
--enable-parser=vp3 \
--enable-parser=vorbis \
--disable-protocols \
--enable-protocol=file \
--disable-avdevice \
--disable-avfilter \
--disable-postproc \
--disable-programs \
--disable-autodetect \
--disable-network \
--disable-doc \
--disable-swscale-alpha \
--enable-small \
--disable-pthreads \
--disable-w32threads"

config_linux() {
../configure --prefix="$1" $OPTS_COMMON
}

config_win32() {
../configure \
--prefix="$1" \
--cross-prefix=i686-w64-mingw32- \
--arch=x86 \
--target-os=mingw32 \
--extra-cflags='-msse2 -mfpmath=sse' \
$OPTS_COMMON
}

config_win64() {
../configure \
--prefix="$1" \
--cross-prefix=x86_64-w64-mingw32- \
--arch=x86 \
--target-os=mingw64 \
$OPTS_COMMON
}

usage() {
echo "Usage: $0 <build type> <prefix>"
exit 1
}

if [ -z "$2" ] ; then
usage
fi

case "$1" in
--win32)
config_win32 "$2"
;;
--win64)
config_win64 "$2"
;;
--linux)
config_linux "$2"
;;
*)
usage
;;
esac
1 change: 1 addition & 0 deletions .ci/i686-w64-mingw32.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ ar = 'i686-w64-mingw32-ar'
strip = 'i686-w64-mingw32-strip'
windres = 'i686-w64-mingw32-windres'
nasm = 'nasm'
pkg-config = 'pkg-config'

[host_machine]
system = 'windows'
Expand Down
145 changes: 145 additions & 0 deletions .ci/nightly.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
#!/bin/sh -ex

MESON_OPTS_COMMON="--auto-features=enabled --fatal-meson-warnings \
-Dwerror=true -Dwrap_mode=forcefallback"

MESON_OPTS="$MESON_OPTS_COMMON \
-Dgame-build-options=optimization=s,b_lto=true \
-Dsdl2=disabled -Dwayland=disabled -Dx11=disabled"

SRC_DIR=`pwd`
CI=$SRC_DIR/.ci

TMP_DIR=$SRC_DIR/q2pro-build
mkdir $TMP_DIR

export MESON_PACKAGE_CACHE_DIR=$SRC_DIR/subprojects/packagecache

### Source ###

REV=$(git rev-list --count HEAD)
SHA=$(git rev-parse --short HEAD)
VER="r$REV~$SHA"
SRC="q2pro-r$REV"

cd $TMP_DIR
GIT_DIR=$SRC_DIR/.git git archive --format=tar --prefix=$SRC/ HEAD | tar x
echo "$VER" > $SRC/VERSION
rm -rf $SRC/.gitignore $SRC/.ci $SRC/.github
fakeroot tar czf q2pro-source.tar.gz $SRC

sed -e "s/##VER##/$VER/" -e "s/##DATE##/`date -R`/" $CI/readme-template.txt > README
sed -e "s/##VER##/$VER/" -e "s/##DATE##/`date -R`/" $CI/readme-template-rr.txt > README.rr

### FFmpeg ###

cd $TMP_DIR
git clone --depth=1 https://github.com/FFmpeg/FFmpeg.git ffmpeg
cd ffmpeg

mkdir build-mingw-32
cd build-mingw-32
$CI/configure-ffmpeg.sh --win32 $TMP_DIR/ffmpeg-prefix-32
make -j4 install
cd ..

mkdir build-mingw-64
cd build-mingw-64
$CI/configure-ffmpeg.sh --win64 $TMP_DIR/ffmpeg-prefix-64
make -j4 install
cd ..

### Win32 ###

export PKG_CONFIG_SYSROOT_DIR="$TMP_DIR/ffmpeg-prefix-32"
export PKG_CONFIG_LIBDIR="$PKG_CONFIG_SYSROOT_DIR/lib/pkgconfig"

cd $TMP_DIR
meson setup --cross-file $CI/i686-w64-mingw32.txt $MESON_OPTS build-mingw-32 $SRC
cd build-mingw-32
ninja
i686-w64-mingw32-strip q2pro.exe q2proded.exe gamex86.dll

unix2dos -k -n ../$SRC/LICENSE LICENSE.txt ../$SRC/doc/client.asciidoc MANUAL.txt ../README README.txt
mkdir baseq2
cp -a ../$SRC/src/client/ui/q2pro.menu baseq2/
mv gamex86.dll baseq2/

zip -9 ../q2pro-client_win32_x86.zip \
q2pro.exe \
LICENSE.txt \
MANUAL.txt \
README.txt \
baseq2/q2pro.menu \
baseq2/gamex86.dll

unix2dos -k -n ../$SRC/doc/server.asciidoc MANUAL.txt
zip -9 ../q2pro-server_win32_x86.zip \
q2proded.exe \
LICENSE.txt \
MANUAL.txt \
README.txt

### Win64 ###

export PKG_CONFIG_SYSROOT_DIR="$TMP_DIR/ffmpeg-prefix-64"
export PKG_CONFIG_LIBDIR="$PKG_CONFIG_SYSROOT_DIR/lib/pkgconfig"

cd $TMP_DIR
meson setup --cross-file $CI/x86_64-w64-mingw32.txt $MESON_OPTS build-mingw-64 $SRC
cd build-mingw-64
ninja
x86_64-w64-mingw32-strip q2pro.exe q2proded.exe gamex86_64.dll

unix2dos -k -n ../$SRC/LICENSE LICENSE.txt ../$SRC/doc/client.asciidoc MANUAL.txt ../README README.txt
mkdir baseq2
cp -a ../$SRC/src/client/ui/q2pro.menu baseq2/
mv gamex86_64.dll baseq2/
mv q2pro.exe q2pro64.exe
mv q2proded.exe q2proded64.exe

zip -9 ../q2pro-client_win64_x64.zip \
q2pro64.exe \
LICENSE.txt \
MANUAL.txt \
README.txt \
baseq2/q2pro.menu \
baseq2/gamex86_64.dll

unix2dos -k -n ../$SRC/doc/server.asciidoc MANUAL.txt
zip -9 ../q2pro-server_win64_x64.zip \
q2proded64.exe \
LICENSE.txt \
MANUAL.txt \
README.txt

### Win64-rerelease ###

cd $TMP_DIR
git clone https://github.com/skullernet/q2pro-rerelease-dll.git
cd q2pro-rerelease-dll
meson setup --cross-file $CI/x86_64-w64-mingw32.txt $MESON_OPTS_COMMON build-mingw
ninja -C build-mingw
x86_64-w64-mingw32-strip build-mingw/gamex86_64.dll
cd etc
zip -9 ../build-mingw/q2pro.pkz default.cfg q2pro.menu

cd $TMP_DIR/build-mingw-64

mv q2pro64.exe q2pro.exe
cp -a ../q2pro-rerelease-dll/build-mingw/q2pro.pkz baseq2/
cp -a ../q2pro-rerelease-dll/build-mingw/gamex86_64.dll baseq2/
unix2dos -k -n ../$SRC/doc/client.asciidoc MANUAL.txt ../README.rr README.txt

zip -9 ../q2pro-rerelease-client_win64_x64.zip \
q2pro.exe \
LICENSE.txt \
MANUAL.txt \
README.txt \
baseq2/q2pro.pkz \
baseq2/gamex86_64.dll

### Version ###

cd $TMP_DIR
echo $VER > version.txt
13 changes: 13 additions & 0 deletions .ci/readme-template-rr.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Welcome to Q2PRO, an enhanced Quake 2 client and server.

Version ##VER## has been automatically built ##DATE##
from git master branch.

Installation: extract this archive into new directory, then create shortcut to
q2pro.exe with the following command line:

q2pro.exe +set basedir "<path to re-release dir>" +set homedir "."

For information on using and configuring Q2PRO, refer to MANUAL file.

Project homepage: https://github.com/skullernet/q2pro
10 changes: 10 additions & 0 deletions .ci/readme-template.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Welcome to Q2PRO, an enhanced Quake 2 client and server.

Version ##VER## has been automatically built ##DATE##
from git master branch.

Installation: extract this archive into your Quake 2 directory.

For information on using and configuring Q2PRO, refer to MANUAL file.

Project homepage: https://github.com/skullernet/q2pro
1 change: 1 addition & 0 deletions .ci/x86_64-w64-mingw32.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ ar = 'x86_64-w64-mingw32-ar'
strip = 'x86_64-w64-mingw32-strip'
windres = 'x86_64-w64-mingw32-windres'
nasm = 'nasm'
pkg-config = 'pkg-config'

[host_machine]
system = 'windows'
Expand Down
8 changes: 6 additions & 2 deletions .github/ISSUE_TEMPLATE/1_bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ assignees: ''

Make sure the bug is reproducible with latest Q2PRO version. If you compile
Q2PRO yourself, update to the latest version from git master. If you are using
prebuilt Windows binaries, update to the latest version available from
https://skuller.net/q2pro/nightly/
prebuilt Windows binaries, update to the latest nightly build.

### Important information

Expand Down Expand Up @@ -51,3 +50,8 @@ Provide a link to the log file created by launching `q2pro +set developer 1
If Q2PRO crashes, provide a crash report (Windows) or a backtrace (Linux). On
Linux, backtrace can be created by launching Q2PRO with `gdb q2pro --args
[...]` and typing `bt` after the crash.

### Compilation issues

If reporting a building / compilation issue, provide `meson setup` command
line and full console output.
Loading
Loading