Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1678 commits
Select commit Hold shift + click to select a range
0fe630c
Add support for KEX demo playback
res2k Dec 11, 2024
1995819
Update q2proto for kex fixes
res2k Dec 11, 2024
3358a03
Updates for q2proto I/O changes
res2k Dec 11, 2024
76375cd
Handle Q2P_SVC_FOG in CL_SeekDemoMessage()
res2k Dec 11, 2024
c4f162c
Also use static configstrings, spawnbaselines in CL_Record_f()
res2k Dec 12, 2024
1b9824f
Handle more messages in CL_SeekDemoMessage()
res2k Dec 12, 2024
b43a4d0
Include baselines in demo snaps, update q2proto for latest kex fixes
res2k Dec 12, 2024
bd24006
Allow compression when writing demo snaps
res2k Dec 12, 2024
288d92a
Add missing USE_ZLIB check
res2k Dec 12, 2024
2862a94
Fix building with zlib missing
res2k Dec 20, 2024
db8f1cf
Remove unused defines.
Nov 27, 2024
c7b6438
Add BSPX header presence flag.
Nov 29, 2024
b35cd29
Ignore SURF_NODRAW bit in vanilla maps.
Nov 27, 2024
9336d64
Allow lightmapped SURF_FLOWING faces.
Nov 27, 2024
f422890
Show surface flags for ‘cl_surface’ macro.
Nov 27, 2024
800a7bc
Remove fake sky faces if using cubemaps.
Nov 28, 2024
90473c8
Calc vertex buffer size after removing sky faces.
Nov 29, 2024
69c91a1
Consider more flags for N64 detection.
Nov 29, 2024
0b68137
Align code for readability.
Dec 10, 2024
7820c5f
Fix race condition when retrieving thread return value.
Dec 18, 2024
2846687
Rename CHAR_WIDTH to CONCHAR_WIDTH.
Dec 21, 2024
26ca8ce
Better protect against multiple nextserver commands.
Dec 23, 2024
e0c584d
Change debug level comparisons to >= for readability.
Dec 23, 2024
61af7f7
Const-ify server state pointers in client_t.
Dec 26, 2024
30be03d
Assert input field buffer is nul-terminated.
Dec 26, 2024
f3b8cfa
Update libcurl to 8.11.1.
Dec 27, 2024
f234aee
Update libjpeg-turbo to 3.1.0.
Dec 27, 2024
a17e39e
More strictly check stat index bounds.
Dec 28, 2024
a309740
Add shadow alpha fading with distance.
Dec 24, 2024
96b36ac
Change gl_shadows default, to match previous gl_shadows_fade default
res2k Jan 2, 2025
33c9c18
Count culled shadows separately.
Dec 25, 2024
7a85994
Determine maximum debug line count based on tess.vertices size
res2k Jan 4, 2025
2b9b921
Restore line-based debug text as an alternative to texture-based text
res2k Jan 4, 2025
0a3d18b
Remove redundant static_assert()
res2k Jan 5, 2025
0d0eab9
Tweak BSP feature detection logic a bit.
Dec 30, 2024
67e3aec
Skip cinematic demos if running coop server.
Dec 30, 2024
f3a7511
Skip cinematic existence check if running dedicated server.
Dec 30, 2024
1766086
Move CRC to common code, expose CRC_Block().
Jan 1, 2025
d5c2fe3
Support hashed format for entity string overrides.
Jan 1, 2025
abc48c9
Fix broken lightstyle updates w/ per-pixel light enabled
res2k Feb 1, 2025
4b80db3
Fix CL_GetDemoInfo() for extended MVDs.
Jan 7, 2025
a7a6d75
Expand comment.
Jan 11, 2025
9b01a61
Cache ‘maxclients’ and ‘sv_reserved_slots’ values.
Jan 12, 2025
5ead3e2
Clean up and fix USE_ICMP check on non-Win32.
Jan 15, 2025
bc9abc9
Print SV_CheckEntityNumber() warning in developer mode only.
Jan 28, 2025
7f3776b
Use separate buffer object for model indices.
Jan 29, 2025
f99cbed
Set default precision for integers too.
Jan 29, 2025
259c957
Disable client vertex arrays in WebGL contexts.
Jan 30, 2025
b91adf5
Always test for ‘-Wno-microsoft-anon-tag’ flag.
Jan 31, 2025
b6f2718
Update libpng to 1.6.46.
Jan 31, 2025
7a8efbe
Update libcurl to 8.12.0.
Feb 5, 2025
f6252dc
Fix unused variable warning w/o USE_SYSCON.
Feb 9, 2025
af9a193
Only check for WebGL if GL ES version ≥ 3.0.
Feb 17, 2025
c526a96
Update libcurl to 8.12.1.
Feb 18, 2025
01a7233
Set activator in trigger_elevator_use().
Feb 23, 2025
bff20fc
Move engine private cvar_t fields #endif guard.
Mar 1, 2025
591ead8
Simplify assert.
Mar 1, 2025
dba2c23
Be forgiving with overlong EntString lumps
res2k Mar 2, 2025
10392f5
Update libpng to 1.6.47.
Mar 3, 2025
dc71a0a
Make more game definitions static (misc).
Mar 3, 2025
71354d7
Make more game definitions static (monsters).
Mar 4, 2025
9e4abe0
Remove unused monster code.
Mar 4, 2025
afd328b
More game headers cleanup.
Mar 4, 2025
c98f9af
Clear spawn_temp_t after SpawnEntities().
Mar 4, 2025
cd312c4
Remove limit on number of heatbeam rings.
Mar 5, 2025
036e8db
Never draw beam shadows.
Mar 5, 2025
3224c8f
Don't add beam offset to direction vector.
Mar 5, 2025
0498407
Adjust player beam offset based on ‘cl_gunfov’.
Mar 5, 2025
e0c78f4
Fix drawing beams with forced handedness.
Mar 5, 2025
c95c2a0
Remove redundant beam model checks.
Mar 6, 2025
b8fed55
Move assignments out of loop.
Mar 6, 2025
4466596
Replace tan() with tanf().
Mar 6, 2025
e7468b1
Always transform lights in GL_DrawBspModel()
res2k Mar 10, 2025
95ece9c
Improve AL_Spatialize().
Mar 7, 2025
893797a
Return entity count from S_BuildSoundList().
Mar 7, 2025
71643ab
Move S_SpatializeOrigin() into shared sound code.
Mar 7, 2025
99d9a02
Merge and manually pan looped AL sources.
Mar 7, 2025
8080feb
Don't update gain and distance model every frame.
Mar 8, 2025
64e55a3
Import more alcGet* functions.
Mar 10, 2025
0e9a668
Print ALC extensions with ‘developer 2’.
Mar 10, 2025
c2b5b3d
Print ALC device list with ‘al_device ?’.
Mar 10, 2025
ae73c6f
Disable merging AL sources if output mode isn't stereo.
Mar 10, 2025
16bd8ce
Add lightstyle interpolation.
Mar 10, 2025
5834c29
Batch unqueue stream source buffers.
Mar 10, 2025
60000ba
Require at least OpenAL 1.1.
Mar 10, 2025
3a0d65c
Improve some debug prints.
Mar 11, 2025
a0249e0
Make muzzleflash light lifetime configurable.
Mar 12, 2025
fead488
Update documentation.
Mar 12, 2025
332d67f
Add support for syncing rendering to GPU.
Mar 13, 2025
d5227e6
Remove unused explosion type.
Mar 14, 2025
45360e7
Add cvar to enable smooth explosions.
Mar 14, 2025
ffb038a
Print unsupported OpenGL version in error message.
Mar 14, 2025
a21ca2d
Update q2proto
res2k Mar 29, 2025
730f09a
Reduce code duplication.
Mar 14, 2025
c3caf80
Improve custom entity alpha handling.
Mar 14, 2025
3631101
More code cleanup.
Mar 15, 2025
e488ab9
Fix server side loop attenuation calculation.
Mar 15, 2025
64d2889
Add broken map workaround.
Mar 16, 2025
70a08ab
Use cls.realtime for AL time.
Mar 19, 2025
eec1b74
Improve background music playback.
Mar 19, 2025
db203e7
Bump MAX_STREAM_BUFFERS to 128.
Mar 20, 2025
875dfed
Print developer message if track is not found.
Mar 20, 2025
b73e3da
Redesign and improve music decoding loop.
Mar 22, 2025
f869a9a
Move OGG_Load() into mem.c where it belongs.
Mar 22, 2025
c3fe733
Retry if file fails to open while shuffling.
Mar 24, 2025
6aaa60e
Call S_Update() from CL_LoadState().
Mar 24, 2025
bc94832
Make CL_ClientCommand() string printable.
Mar 24, 2025
b438bff
Don't drop raw samples when activating.
Mar 25, 2025
498679d
Reduce ‘developer 2’ verbosity.
Mar 25, 2025
667f98c
Remove definitions for now-unused OGG_PlayMenu
res2k Apr 27, 2025
cb9c056
Remove 24-bit sample size support from AL sound renderer.
res2k Apr 27, 2025
9ddadf3
Remove 24-bit sample size support from software sound renderer.
res2k Apr 27, 2025
c06e303
Implement sample rate query for AL backend.
Mar 26, 2025
b1caafb
Support and prefer floating point raw samples.
Mar 26, 2025
17885c6
Don't stop manual playback on ‘ogg_enable’ change.
Mar 27, 2025
9028add
Try to rewind music file if possible.
Mar 27, 2025
182cd93
Don't drain SWR if not initialized.
Mar 27, 2025
d664774
Allow pausing music playback.
Mar 28, 2025
ece2917
Rename menu option.
Mar 28, 2025
2e214aa
Add FS_FinalizeList().
Mar 28, 2025
98729c3
Add HashCaseStr().
Mar 30, 2025
7c741a5
Remove ogg 'currenttrack'.
res2k Apr 27, 2025
3d627e3
Improve music track to filename mapping logic.
Mar 28, 2025
2adbc7e
Fix edge case if no music/cinematic formats are supported.
Mar 28, 2025
8b93296
Don't recursively scan GOG music directory.
Apr 2, 2025
9bdac8f
Simplify opening music files.
Apr 2, 2025
f03367d
Disable music/cinematic format autodetection.
Apr 2, 2025
bbff4d2
Flush SWR after cinematic audio EOF.
Apr 3, 2025
6fc1f59
Make more warnings developer only.
Apr 3, 2025
6c04eec
Add FFmpeg logging to console.
Apr 3, 2025
901bacf
Restore deleted comment.
Apr 4, 2025
6fcc268
Rewrite some server cvar descriptions.
Apr 7, 2025
1f3e3d6
Update libcurl to 8.13.0.
Apr 7, 2025
af96a93
Clean up Cvar_List_f().
Apr 8, 2025
141d05b
Avoid integer overflow.
Apr 8, 2025
a813bae
Update FreeBSD VM to 14.2.
Apr 9, 2025
4f80f48
Avoid unneeded sqrtf().
Apr 9, 2025
9107848
Remove unused parameter.
Apr 9, 2025
f61c048
Reorder standard includes.
Apr 9, 2025
832ad6a
Use standard offsetof() macro.
Apr 9, 2025
bd26ecb
Always use fseeki64/ftelli64 on Windows.
Apr 9, 2025
ce6cb42
Only use gnu_printf format with GCC/MinGW.
Apr 9, 2025
2b94252
Drop legacy check for GCC 4.
Apr 9, 2025
a4ec945
Use union type for PVS row.
Apr 9, 2025
32e37d5
Build FreeBSD CI target in C23 mode.
Apr 9, 2025
3c21b4b
Use C11 fallback for q_alignof() macro.
Apr 9, 2025
d66dc9a
Skip non-existing basedir if homedir is set.
Apr 10, 2025
da44d22
Mention that ‘cddir’ is not supported.
Apr 10, 2025
5ee91a7
Drop non-FFmpeg cinematic code.
Apr 11, 2025
c3ecbf9
Minor CL_Frame() simplifications.
Apr 11, 2025
48eadd9
Change cls.frametime to represent video frame time.
Apr 11, 2025
735c37c
Pass cls.frametime to renderer in refdef_t.
Apr 11, 2025
291be2b
Simplify condition.
Apr 12, 2025
1122226
Fix bloom with legacy skybox.
Apr 12, 2025
319cc4d
Restrict removable sky faces to LIGHT or NODRAW.
Apr 12, 2025
e2b7e32
Add debug macro to show view leaf.
Apr 13, 2025
6c69ee6
Allow setting custom clear color.
Apr 13, 2025
d5e1a29
Rename INSTALL.md to BUILDING.md.
Apr 14, 2025
fb26f15
Update README.md.
Apr 15, 2025
ef9e423
Slightly adjust README.MD
res2k Apr 27, 2025
3e061b2
Implement aimfix in game library.
Apr 16, 2025
8c71b8d
More const.
Apr 16, 2025
5b21fe5
Minor optimization.
Apr 18, 2025
da3c564
Compare with explicit netchan type constant.
Apr 18, 2025
0f53a9a
Check for skies in GL_RotateForEntity().
Apr 19, 2025
6bcf259
Improve transparent entities drawing order.
Apr 20, 2025
ce15258
Clean up after previous commit.
Apr 20, 2025
15e821e
Don't draw null weapon model.
Apr 21, 2025
46b73df
Clean up binding framebuffer.
Apr 21, 2025
3354052
Small documentation correction.
Apr 21, 2025
709714c
Don't write depth for explosions and muzzleflashes.
Apr 22, 2025
3e34f7b
Trace transparent entitites to bmodels too.
Apr 22, 2025
f25b4d3
Clean up setting custom flags and alpha.
Apr 22, 2025
ca7a6ef
Always draw shell after linked models.
Apr 22, 2025
aadbf18
Fix stripping whitespace from command string.
Apr 22, 2025
429ac54
Fix completing arguments with spaces.
Apr 22, 2025
e88764f
Add item name autocompletion.
Apr 22, 2025
080109f
Clean up resizing framebuffers.
Apr 22, 2025
6468f10
Make updating blur params a proper backend method.
Apr 22, 2025
f54b07d
Revert "Trace transparent entitites to bmodels too."
Apr 23, 2025
91b0257
Draw entities with small alpha always in front.
Apr 23, 2025
ac3a653
Add support for UTF-8 to Quake transliteration.
Apr 23, 2025
0071aa3
Always use verbose format for ‘ogg info’.
Apr 23, 2025
85deadc
Don't output tab characters to terminal.
Apr 23, 2025
f2a892d
Transliterate UTF-8 text from clipboard too.
Apr 24, 2025
ee20c48
Remove now-unused SV_WriteFrameToClient_Default
res2k Apr 27, 2025
da639ce
Remove two function pointers from client_t.
Apr 25, 2025
b16dd76
Improve third person view tracing.
Apr 25, 2025
8811715
Simplify setting gun alpha.
Apr 25, 2025
8cf8159
Remove unused type.
Apr 25, 2025
76fd337
Add support for RF_NO_STEREO flag.
Apr 25, 2025
7b3159e
Alpha fade player entity in third person mode.
Apr 25, 2025
dd45591
Only use GetExtension() from game if not NULL
res2k May 10, 2025
5c1549d
Fix a mismatched enum
res2k May 16, 2025
e146d2a
Update to latest q2proto
res2k May 20, 2025
4aa036c
Remove unused function
res2k May 20, 2025
55f9b2e
Implement NotifyMessage for classic cgame
res2k May 20, 2025
7c82485
Fix pmove wrapping & ABI for q2pro extended games
res2k May 20, 2025
d75cd15
Set correct server extended game version when using q2repro protocol
res2k May 20, 2025
3b74b68
Update rerelease-game subproject
res2k May 20, 2025
9bc5af3
Restore call to CL_Wheel_Update() that was mistakenly removed.
res2k Jun 14, 2025
b81a1ff
Fixed some divisions by zero if client frame time is 0
res2k Jun 15, 2025
8b505e3
Fix behavior for saves made during level transitions
res2k Jun 15, 2025
7229e9f
Close nav files when done
res2k Jun 17, 2025
a2f2987
Fix/improve zpacket shownet messages
res2k Jun 19, 2025
99f7d84
Remove 'packetentities' SHOWNET as it moved to q2proto
res2k Jun 22, 2025
279a204
Revert third persion view tracing to smaller extents.
Apr 26, 2025
0104871
Fix broken sexed sounds downloading.
Apr 27, 2025
c4f2cc1
Try to load Q2Game.kpf from homedir too.
Apr 30, 2025
3801df5
Add flag to disable blaster trail particles.
May 1, 2025
4ce8f9e
Sanitize maxclients->value too after init.
May 1, 2025
60b4f38
cgame: Implement CL_GetWarnAmmoCount
res2k Jun 24, 2025
3f92a90
Add R_DrawStringStretch()
res2k Jun 24, 2025
ac62c60
Add 'Stretch' variants of DrawString functions
res2k Jun 25, 2025
ddd7600
Add SCR_DrawKStringMultiStretch()
res2k Jun 25, 2025
70c1a5b
Support linebreaks in cgame MeasureFontString, DrawFontString
res2k Jun 25, 2025
3edcf9a
Remove now-unused source file
res2k Jun 25, 2025
de604a7
Also recognize .png for cinematics
res2k Jun 25, 2025
3ad1da9
Implement 'endgame' command
res2k Jun 25, 2025
fda06ea
Use q2proto_error_string() to improve protocol error messages
res2k Jun 15, 2025
0c0e38a
Rename binaries to q2repro*
res2k May 16, 2025
397330b
workflows: Update filenames in nightly workflow
res2k Jun 26, 2025
85e542a
Draw ammo size below icon in weapons carousel.
res2k Jun 22, 2025
d27f117
Take HUD scale more into consideration when drawing weapon/powerup wh…
res2k Jun 22, 2025
3e21662
Factor wheel slot icon drawing out into function
res2k Jun 26, 2025
db6c497
Favor larger weapon wheel by not considering padding for scaling
res2k Jun 26, 2025
7a4c952
Make weapon wheel size more consistent between different screen scale…
res2k Jun 26, 2025
70a7f85
Reintroduce scaled carousel, wheel ammo counts
res2k Jun 26, 2025
8acb34e
Add a bit more horizontal spacing to carousel
res2k Jun 26, 2025
931b299
Don't draw item count when having a single powerup
res2k Jun 26, 2025
89e1272
Simplify
res2k Jun 26, 2025
5173e0d
subprojects: Use ffmpeg revision w/o symbol visibility
res2k Jul 17, 2025
434e88f
Revert "subprojects: Use ffmpeg revision w/o symbol visibility"
res2k Jul 18, 2025
30241a0
Update rerelease-game to latest commit with build fix
res2k Jul 28, 2025
1b39c22
Fix issues with builtin pak in dedicated server.
res2k Jul 28, 2025
78dcc16
Don't have builtin pak depend on zlib availability
res2k Jul 28, 2025
6ed5493
Fix some spelling errors.
May 4, 2025
a8f7364
Small console drawing fix/optimization.
Jun 8, 2025
107b543
Clean up string drawing functions
res2k Jul 28, 2025
1e7cbd4
Fix uninitialized variable access.
Jun 8, 2025
a8c6897
Bump MAX_LOADFILE.
Jun 8, 2025
6537861
Warn about empty Visibility lump.
Jun 25, 2025
05a3685
Delay warping pointer until window is configured.
Jun 28, 2025
7c50cf7
Minor heatbeam position fix.
Jul 21, 2025
929f490
Update crosshair color cvars docs.
Jul 21, 2025
d29f377
Switch to zlib-ng wrap.
Jul 21, 2025
9abb6c6
Update libpng to 1.6.50.
Jul 21, 2025
4cbac6d
Update libcurl to 8.15.0.
Jul 21, 2025
6d8a8e1
Change meson project name to q2repro
res2k Jul 28, 2025
c8ab33b
Also write SERVERINFO cvars into savegames, as a troubleshooting aid
res2k Aug 25, 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
2 changes: 2 additions & 0 deletions .ci/i686-w64-mingw32.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ cpp = 'i686-w64-mingw32-g++'
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
2 changes: 2 additions & 0 deletions .ci/x86_64-w64-mingw32.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ 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'
pkg-config = 'pkg-config'

[host_machine]
system = 'windows'
Expand Down
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
copy-game-dll.py text=auto eol=lf
embed.py text=auto eol=lf
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