Commit graph

3332 commits

Author SHA1 Message Date
Zack Middleton
b61e2998f3 Fix exploit to reset player by sending wrong serverId
If client sends wrong serverId but is already active in the world
(CS_ACTIVE) don't resend initial gamestate for the map. This isn't a
valid situation. The player should be CS_CONNECTED or CS_PRIMED.

Resending gamestate to an active player will cause them to respawn
without dying or disconnecting. If the player had a CTF flag it gets
lost until the map is changed or restarted.

Reported by Ensiform at:

    https://bugzilla.icculus.org/show_bug.cgi?id=6324
2018-04-03 21:37:15 -05:00
Zack Middleton
1284205012 Remove duplicate setting of FREETYPE_CFLAGS in Makefile 2018-04-03 20:11:53 -05:00
Zack Middleton
484149573b Allow loading system OpenAL library on macOS again
In May 2017 the library loading was limited to *.dylib but the macOS
system OpenAL framework does not have dylib extension. So allow loading
files from /System/Library/Frameworks/ as libraries even without dylib
extension.

This is checked in Sys_DllExtension() so that QVM filesystem access will
not allow writing files to /System/Library/Frameworks/ even if homepath
is changed to include it. (Admittedly it doesn't fit the function name
but fits the function description and current usage.)
2018-03-22 14:58:44 -05:00
Zachary J. Slater
9465b445b0 Feedback from the PR
minor edits based on feedback to the PR
2018-03-21 10:59:13 +00:00
Zachary J. Slater
e511c114b3 First swing at a CONTRIBUTING.md
Thanks to Timbo for the suggestion. This one is mostly based on the one
from Atom.
2018-03-21 10:59:13 +00:00
Zack Middleton
acef71af5e Rename (already updated) opusfile-0.8 to opusfile-0.9 2018-03-16 13:29:20 -05:00
Zack Middleton
58a315fe3f Update opusfile from 0.8 to 0.9 2018-03-16 13:29:20 -05:00
Zack Middleton
8611eb421d Rename (already updated) opus-1.1.4 to opus-1.2.1 2018-03-16 13:29:19 -05:00
Zack Middleton
cb24c59567 Update opus from 1.1.4 to 1.2.1 2018-03-16 13:29:19 -05:00
Zack Middleton
c38c823a2a Rename (already updated) libvorbis-1.3.5 to libvorbis-1.3.6 2018-03-16 13:29:19 -05:00
Zack Middleton
b78c6e61bf Update libvorbis from 1.3.5 to 1.3.6
* Fix CVE-2018-5146 - out-of-bounds write on codebook decoding.
* Fix CVE-2017-14632 - free() on unitialized data
* Fix CVE-2017-14633 - out-of-bounds read
2018-03-16 13:29:02 -05:00
Zack Middleton
ebd3d516ac Rename (already updated) libogg-1.3.2 to libogg-1.3.3 2018-03-16 13:11:27 -05:00
Zack Middleton
2e7900c1aa Update libogg from 1.3.2 to 1.3.3 2018-03-16 13:11:27 -05:00
Tom Murphy
af6b1f8edf Remove CON_FlushIn function and where STDIN needs flushing, use tcflush POSIX function 2018-03-14 21:43:56 +00:00
Zack Middleton
b48d902672 OpenGL1: Use glGenTextures instead of hardcoded values
It's the proper way to use the OpenGL API. It's already done in the
OpenGL2 renderer.
2018-03-13 09:17:23 -05:00
Zack Middleton
9fcb8a05e4 Fix indent warning in sv_world.c 2018-03-06 18:38:45 -06:00
Zack Middleton
d28e667e46 Fix macOS app bundle with space in name 2018-03-04 05:16:29 -06:00
Zack Middleton
4a063679f8 Merge branch 'misc/lilium_common' into game/eliteforce
Conflicts:
	code/qcommon/common.c
	code/qcommon/q_shared.h
2018-03-04 05:10:01 -06:00
Zack Middleton
51a57b8420 Merge branch 'master' into misc/lilium_common
Conflicts:
	Makefile
	code/client/cl_main.c
	code/qcommon/common.c
	code/qcommon/q_shared.h
	code/sys/sys_unix.c
2018-03-04 05:08:08 -06:00
Zack Middleton
83e5ecfe36 Add BUILD_FINAL from Spearmint 2018-03-04 05:03:27 -06:00
Zack Middleton
c5e5ec3204 Fix macOS app bundle version/renderer_prefix
Rename baseq3 to baseEF.
Don't create missionpack.
Don't try to add VMs to app bundle.
2018-03-04 04:39:33 -06:00
Zack Middleton
6ae59a4186 Fix macOS app bundle with space in name 2018-03-04 04:23:42 -06:00
Zack Middleton
7fda468f5b Change renderer prefix, fix app bundle 2018-03-04 04:14:29 -06:00
Zack Middleton
3521787c14 Merge branch 'misc/lilium_common' into game/eliteforce
Conflicts:
	README.md
	code/client/cl_main.c
	code/qcommon/common.c
	code/qcommon/q_shared.h
	code/sys/sys_unix.c
2018-03-04 04:04:35 -06:00
Zack Middleton
4c31c90f6c Add lily icon for macOS and edit app bundle 2018-03-04 03:53:09 -06:00
Zack Middleton
95c3deaa0c Unify com_homepath and use XDG_DATA_HOME 2018-03-04 03:25:13 -06:00
Zack Middleton
cb7ccbacac Allow changing the renderer file name prefix
This makes it easier for forks to coexist without having issues with
incompatible renderers.
2018-03-04 03:17:31 -06:00
Zack Middleton
b9a643264d Change version to 1.39, update README 2018-03-04 01:52:27 -06:00
Zack Middleton
15a82def3b Fix server not being added to Raven master list
Raven master requires protocol in statusResponse. q3master and dpmaster
use protocol in infoResponse.
2018-03-04 00:39:38 -06:00
Zack Middleton
30190f45f3 Remove duplicate set netchan compat
Left over from before legacy protocol support was moved from iostvef
into ioquake3.
2018-03-04 00:32:06 -06:00
Zack Middleton
060610f671 Merge branch 'misc/lilium_common' into game/eliteforce 2018-03-03 23:21:51 -06:00
Zack Middleton
2c99e8f1d1 Update make-linux-portable.sh to current version in Spearmint 2018-03-03 23:21:15 -06:00
Zack Middleton
98272de2ea Update README for adding libmad source to local tree 2018-03-03 23:01:54 -06:00
Zack Middleton
c0c4385122 Merge branch 'codec/mp3' into game/eliteforce 2018-03-03 22:58:53 -06:00
Zack Middleton
0704abe5ec Add libmad source to internal source tree
Modified to fit into Quake 3 build system and use q_platform.h instead of
configure.
2018-03-03 22:47:09 -06:00
Zack Middleton
3d85ba00b1 Merge branch 'master' into codec/mp3
Conflicts:
	Makefile
2018-03-03 22:44:15 -06:00
Zack Middleton
b9131e5980 Add note about MP3 to Elite Force README 2018-03-03 19:28:37 -06:00
Zack Middleton
d2ee25c8e9 eliteforce: Revert "[qcommon] Remove dead serialization code"
This reverts commit d047210aca.
2018-03-03 19:28:29 -06:00
Zack Middleton
e45538b1c5 Merge branch 'master' into game/eliteforce
Conflicts:
	README.md
	code/server/sv_client.c
2018-03-03 19:27:28 -06:00
Zack Middleton
0d6edd227a Support Unicode characters greater than 0xFF in cl_consoleKeys
Unrelated: make '0x' value be -1 (invalid) instead of 0.

Reported by MAN-AT-ARMS.
2018-02-22 18:15:53 -06:00
Zack Middleton
00c3480938 OpenGL2: Fix crash when BSP has deluxe maps and vertex lit surfaces
Reported by Mickaël Thomas (mickael9).
2018-02-18 13:05:27 -06:00
Zack Middleton
d1f82ed567 Increase q3_ui .arena filename list buffer size to 4096 bytes
Allow listing about 273 .arena filenames for loading in q3_ui instead
of only about 136 that fit in a 2048 byte buffer (average 15 bytes per
file name).

The buffer for filename list runs out of space long before the buffer
for arena file content does. There is no warning for file list out of
space but there is a warning for arena file content.

This was requested by a user with many maps.
2018-02-11 15:54:05 -06:00
Zack Middleton
d4e7d987a3 Fix MAC_OS_X_VERSION_MIN_REQUIRED for macOS 10.10 and later
Manually specifying MACOSX_VERSION_MIN=10.10 or later would use the
wrong value for MAC_OS_X_VERSION_MIN_REQUIRED define. 1100 instead of
101000.
2018-02-08 10:23:44 -06:00
Thomas Köppe
3f29b8558d [qcommon] Make several zone variables and functions static. 2018-02-07 09:13:27 -06:00
Thomas Köppe
d047210aca [qcommon] Remove dead serialization code 2018-02-05 10:37:46 -06:00
Zack Middleton
71a9a5efa6 Make FS_InvalidGameDir() consider subdirectories invalid
fs_game shouldn't be a subdirectory and it simplifies the code.
2018-02-04 20:34:48 -06:00
Zack Middleton
3d6aa05694 OpenGL2: Fix dark lightmap on shader in mpteam6
Team Arena's mpteam6 map has a shader textures/base_wall2/space_concrete
that contains an opaque stage, two non-lightmap blendfunc filter stages,
a blendfunc add stage, and a lightmap stage. The lightmap was attached
to all four of the non-lightmap stages causing the filter stages to
darken the lightmap multiple times.

Change setting up the lightall GLSL shader to only use lightmap if it's
the first stage or not a blendfunc filter stage. Now only the opaque
and blendfunc add stages of the mpteam6 shader use the lightmap.

Reported by Alexander Nadeau (wareya).
2018-02-04 14:34:17 -06:00
Zack Middleton
0b6d97f849 Fix negative frag/capturelimit causing an infinite map end loop
Reported by @vloup.
2018-02-04 10:37:39 -06:00
Zack Middleton
fc16ac6bd2 Fix invalid access to cluster 0 in AAS_AreaRouteToGoalArea()
Newer versions of BSPC such as 2.1h included with the Quake 3 GPL source
code create AAS files containing areas in cluster 0 if the area has no
reachabilities.

The AAS files included with Quake 3 and Team Arena do not contain areas
in cluster 0. It's apparent that BSPC would not create them. Instead it
created clusters with no reachability areas.

It seems the intention was to check if the areanum and goalareanum have
reachable areas using AAS_AreaReachability(areanum) everywhere before
calling AAS_AreaRouteToGoalArea(). This prevents adding cluster 0 to
the routing cache and portal cache. However, it is not checked
everywhere and including some places in the Game VM.

Fix AAS_AreaRouteToGoalArea() instead of trying to wack-a-mole with all
the places that call it.

Cluster 0 access reported by Thomas Köppe (github @tkoeppe) as causing
crashes in rare cases.
2018-02-04 09:07:44 -06:00
Zack Middleton
0822772ea2 Fix timelimit causing an infinite map ending loop
A negative timelimit value or a value that would overflow the
multiplication by 60000 caused an endless map change/reload.

Based on patch and description by @vloup.
2018-02-04 09:00:08 -06:00