Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F137096875
D10171.id28295.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
21 KB
Referenced Files
None
Subscribers
None
D10171.id28295.diff
View Options
Index: games/ioquake3/Makefile
===================================================================
--- games/ioquake3/Makefile
+++ games/ioquake3/Makefile
@@ -2,12 +2,9 @@
# $FreeBSD$
PORTNAME?= ioquake3
-PORTVERSION?= ${IOQUAKE3VER}
-PORTREVISION?= 15
+DISTVERSION?= 2930
+PORTREVISION?= 0
CATEGORIES= games
-MASTER_SITES?= http://ioquake3.org/files/${DISTVERSION}/
-# Using zip this way enables slaves to override it.
-EXTRACT_SUFX?= .zip
MAINTAINER?= kami@FreeBSD.org
COMMENT?= Cleaned-up and enhanced version of Quake 3
@@ -15,13 +12,19 @@
LICENSE?= GPLv2
LICENSE_FILE?= ${WRKSRC}/COPYING.txt
-USES= pkgconfig gmake
+USES+= pkgconfig gmake
+
+.ifndef(MASTER_SITES)
+USE_GITHUB?= yes
+GH_ACCOUNT?= lonkamikaze
+GH_PROJECT?= ioq3-freebsd
+.endif
# Port configuration flags:
# CLIENT SERVER TOOLS DLRENDERER GAMELIBS OPUS OPENGL2
-IOQ3?= CLIENT TOOLS GAMELIBS
-IOQ3ARCH?= ${ARCH}
-IOQ3SDL?= sdl
+IOQ3?= CLIENT TOOLS DLRENDERER GAMELIBS OPUS OPENGL2
+IOQ3ARCH?= ${ARCH:S/i386/x86/:S/amd64/x86_64/}
+IOQ3SDL?= sdl2
.if ! ${IOQ3:MCLIENT} && ! ${IOQ3:MSERVER}
BROKEN= Slave ports must at least specify IOQ3=CLIENT or IOQ3=SERVER
@@ -29,20 +32,21 @@
# Client options
.if ${IOQ3:MCLIENT}
-OPTIONS_DEFINE= SERVER CURL OPENAL MUMBLE VORBIS DEBUG
+OPTIONS_DEFINE= SERVER CURL OPENAL MUMBLE VORBIS
OPTIONS_DEFAULT= SERVER CURL OPENAL MUMBLE VORBIS
SERVER_DESC= Install dedicated server
MUMBLE_DESC= Enable Mumble support (no dependencies)
USE_GL+= gl
.endif
IOQ3_OPTIONS= ${IOQ3:MTOOLS} ${IOQ3:MDLRENDERER} ${IOQ3:MGAMELIBS} \
- ${IOQ3:MOPUS}
-OPTIONS_DEFINE+= ${IOQ3_OPTIONS} DOCS
+ ${IOQ3:MGAMELIBS:S/LIBS$$/QVMS/} ${IOQ3:MOPUS}
+OPTIONS_DEFINE+= ${IOQ3_OPTIONS} DEBUG DOCS
OPTIONS_DEFAULT+= ${IOQ3_OPTIONS}
TOOLS_DESC= Enable modding tools
DLRENDERER_DESC= Build dynamically loaded renderer
GAMELIBS_DESC= Build game libraries
+GAMEQVMS_DESC= Build game VMs
MAKE_ARGS+= DEFAULT_BASEDIR="${Q3DIR}" \
DEFAULT_LIBDIR="${PREFIX}/${LIBDIR}" \
@@ -64,9 +68,10 @@
q3cpp \
q3lcc \
q3rcc
-Q3DOCS?= README \
+Q3DOCS?= README.md \
id-readme.txt \
md4-readme.txt \
+ opengl2-readme.md \
voip-readme.txt
Q3BASE?= baseq3 \
missionpack
@@ -108,24 +113,14 @@
MUMBLE_MAKE_ARGS_OFF= USE_MUMBLE=0
GAMELIBS_MAKE_ARGS= BUILD_GAME_SO=1
GAMELIBS_MAKE_ARGS_OFF= BUILD_GAME_SO=0
-# Note that SMP is only supported on OS-X, hence the option has been removed.
-SMP_VARS= Q3BIN+=${Q3CLIENT}-smp
-SMP_MAKE_ARGS= BUILD_CLIENT_SMP=1
-SMP_MAKE_ARGS_OFF= BUILD_CLIENT_SMP=0
DLRENDERER_MAKE_ARGS= USE_RENDERER_DLOPEN=1
DLRENDERER_MAKE_ARGS_OFF= USE_RENDERER_DLOPEN=0
.include <bsd.port.options.mk>
-.if !defined(DESKTOP_ENTRIES)
-. if ${IOQ3:MCLIENT}
-DESKTOP_ENTRIES+= "${Q3CLIENT} ${Q3ENGINEVER}" "${COMMENT}" \
+.if ${IOQ3:MCLIENT}
+DESKTOP_ENTRIES?= "${Q3CLIENT} ${Q3ENGINEVER}" "${COMMENT}" \
"${Q3ICON}" "${Q3CLIENT}${BINSUFFIX}" "Game;" false
-. endif
-. if ${PORT_OPTIONS:MSMP}
-DESKTOP_ENTRIES+= "${Q3CLIENT} ${Q3ENGINEVER} SMP" "${COMMENT}" \
- "${Q3ICON}" "${Q3CLIENT}-smp${BINSUFFIX}" "Game;" false
-. endif
.endif
.if ${IOQ3:MCLIENT}
@@ -148,6 +143,16 @@
MAKE_ARGS+= USE_INTERNAL_OGG=0
.endif
+.if ${PORT_OPTIONS:MTOOLS} || ${PORT_OPTIONS:MGAMEQVMS}
+MAKE_ARGS+= BUILD_GAME_QVM=1
+.else
+MAKE_ARGS+= BUILD_GAME_QVM=0
+.endif
+
+.if ${PORT_OPTIONS:MDLRENDERER} && ${IOQ3:MOPENGL2}
+SUB_FILES?= pkg-message
+.endif
+
# Generate a set of install instruction tuples: <cmd>;<src>;<dst>
.for bin in ${Q3BIN}
IOQ3_INST+= PROGRAM;${bin}.${IOQ3ARCH};bin/${bin}${BINSUFFIX}
@@ -174,6 +179,17 @@
. endfor
. endfor
.endif
+.if ${PORT_OPTIONS:MGAMEQVMS}
+. for dir in ${Q3BASE}
+.if !${PORT_OPTIONS:MGAMELIBS}
+PLIST_DIRS+= ${LIBDIR}/${dir}
+.endif
+PLIST_DIRS+= ${LIBDIR}/${dir}/vm
+. for lib in ${Q3GAMELIBS}
+IOQ3_INST+= DATA;${dir}/vm/${lib}.qvm;${LIBDIR}/${dir}/vm/${lib}.qvm
+. endfor
+. endfor
+.endif
.if ${PORT_OPTIONS:MDLRENDERER} || ${PORT_OPTIONS:MGAMELIBS}
PLIST_DIRS+= ${LIBDIR}
.endif
Index: games/ioquake3/distinfo
===================================================================
--- games/ioquake3/distinfo
+++ games/ioquake3/distinfo
@@ -1,2 +1,3 @@
-SHA256 (ioquake3-1.36.zip) = 3f8fecd81f9af484b9215df4cf58bcc6a378adb6f1504b0bba169c3dbadb4c94
-SIZE (ioquake3-1.36.zip) = 4583577
+TIMESTAMP = 1494409743
+SHA256 (lonkamikaze-ioq3-freebsd-2930_GH0.tar.gz) = c8a21a91e238265585096cc167822738947bf7b06d3c2df9f9b888780cb92136
+SIZE (lonkamikaze-ioq3-freebsd-2930_GH0.tar.gz) = 11577186
Index: games/ioquake3/files/patch-Makefile
===================================================================
--- games/ioquake3/files/patch-Makefile
+++ /dev/null
@@ -1,162 +0,0 @@
---- Makefile.orig 2009-04-22 18:54:48 UTC
-+++ Makefile
-@@ -187,6 +187,8 @@ ifeq ($(shell which pkg-config > /dev/nu
- # FIXME: introduce CLIENT_CFLAGS
- SDL_CFLAGS=$(shell pkg-config --cflags sdl|sed 's/-Dmain=SDL_main//')
- SDL_LIBS=$(shell pkg-config --libs sdl)
-+ VORBIS_CFLAGS=$(shell pkg-config --silence-errors --cflags vorbis vorbisfile)
-+ VORBIS_LIBS=$(shell pkg-config --silence-errors --libs vorbis vorbisfile)
- endif
-
- # version info
-@@ -521,44 +523,25 @@ else # ifeq mingw32
-
- ifeq ($(PLATFORM),freebsd)
-
-- ifneq (,$(findstring alpha,$(shell uname -m)))
-- ARCH=axp
-- else #default to i386
-- ARCH=i386
-- endif #alpha test
--
--
-- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
-- -DUSE_ICON $(shell sdl-config --cflags)
--
-- ifeq ($(USE_OPENAL),1)
-- BASE_CFLAGS += -DUSE_OPENAL
-- ifeq ($(USE_OPENAL_DLOPEN),1)
-- BASE_CFLAGS += -DUSE_OPENAL_DLOPEN
-- endif
-- endif
--
-- ifeq ($(USE_CODEC_VORBIS),1)
-- BASE_CFLAGS += -DUSE_CODEC_VORBIS
-- endif
--
-- ifeq ($(ARCH),axp)
-- BASE_CFLAGS += -DNO_VM_COMPILED
-- RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 -ffast-math -funroll-loops \
-- -fomit-frame-pointer -fexpensive-optimizations
-- else
-- ifeq ($(ARCH),i386)
-- RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O3 -mtune=pentiumpro \
-- -march=pentium -fomit-frame-pointer -pipe -ffast-math \
-- -falign-loops=2 -falign-jumps=2 -falign-functions=2 \
-- -funroll-loops -fstrength-reduce
-- HAVE_VM_COMPILED=true
-- else
-- BASE_CFLAGS += -DNO_VM_COMPILED
-- endif
-- endif
-+ ifndef HOMEPATH
-+ HOMEPATH = /.ioquake3
-+ endif
-+
-+ ifndef DEFAULT_LIBDIR
-+ DEFAULT_LIBDIR = /usr/local/lib/ioquake3
-+ endif
-+
-+ # flags
-+ BASE_CFLAGS = $(shell env MACHINE_ARCH=$(ARCH) make -f /dev/null -VCFLAGS) \
-+ -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \
-+ -DHOMEPATH=\\\"$(HOMEPATH)\\\" \
-+ -DDEFAULT_LIBDIR=\\\"$(DEFAULT_LIBDIR)\\\" \
-+ -DUSE_ICON -DMAP_ANONYMOUS=MAP_ANON
-+ CLIENT_CFLAGS += $(SDL_CFLAGS)
-+ HAVE_VM_COMPILED = true
-
-- DEBUG_CFLAGS=$(BASE_CFLAGS) -g
-+ OPTIMIZEVM = -O3 -funroll-loops -fomit-frame-pointer
-+ OPTIMIZE = $(OPTIMIZEVM) -ffast-math
-
- SHLIBEXT=so
- SHLIBCFLAGS=-fPIC
-@@ -568,20 +551,52 @@ ifeq ($(PLATFORM),freebsd)
- # don't need -ldl (FreeBSD)
- LIBS=-lm
-
-- CLIENT_LIBS =
--
-- CLIENT_LIBS += $(shell sdl-config --libs) -lGL
-+ CLIENT_LIBS = $(SDL_LIBS) -lGL
-
-+ # optional features/libraries
- ifeq ($(USE_OPENAL),1)
-- ifneq ($(USE_OPENAL_DLOPEN),1)
-- CLIENT_LIBS += $(THREAD_LIBS) -lopenal
-+ CLIENT_LIBS += $(THREAD_LIBS) $(OPENAL_LIBS)
-+ CLIENT_CFLAGS += -DUSE_OPENAL
-+ ifneq ($(USE_LOCAL_HEADERS),1)
-+ CLIENT_CFLAGS += $(OPENAL_CFLAGS)
-+ endif
-+ endif
-+
-+ ifeq ($(USE_CURL),1)
-+ CLIENT_LIBS += $(CURL_LIBS)
-+ CLIENT_CFLAGS += -DUSE_CURL
-+ ifneq ($(USE_LOCAL_HEADERS),1)
-+ CLIENT_CFLAGS += $(CURL_CFLAGS)
- endif
- endif
-
- ifeq ($(USE_CODEC_VORBIS),1)
-- CLIENT_LIBS += -lvorbisfile -lvorbis -logg
-+ CLIENT_LIBS += $(VORBIS_LIBS)
-+ CLIENT_CFLAGS += -DUSE_CODEC_VORBIS
-+ ifneq ($(USE_LOCAL_HEADERS),1)
-+ CLIENT_CFLAGS += $(VORBIS_CFLAGS)
-+ endif
- endif
-
-+ ifeq ($(BUILD_CLIENT),1)
-+ BASE_CFLAGS += $(CLIENT_CFLAGS)
-+ endif
-+
-+ # cross-compiling tweaks
-+ ifeq ($(ARCH),i386)
-+ ifeq ($(CROSS_COMPILING),1)
-+ BASE_CFLAGS += -m32
-+ endif
-+ endif
-+ ifeq ($(ARCH),amd64)
-+ ifeq ($(CROSS_COMPILING),1)
-+ BASE_CFLAGS += -m64
-+ endif
-+ endif
-+
-+ RELEASE_CFLAGS = $(BASE_CFLAGS)
-+ DEBUG_CFLAGS = $(BASE_CFLAGS) -g
-+
- else # ifeq freebsd
-
- #############################################################################
-@@ -831,7 +846,7 @@ endif
- ifeq ($(USE_VOIP),1)
- BASE_CFLAGS += -DUSE_VOIP
- ifeq ($(USE_INTERNAL_SPEEX),1)
-- BASE_CFLAGS += -DFLOATING_POINT -DUSE_ALLOCA -I$(SPEEXDIR)/include
-+ BASE_CFLAGS := -I$(SPEEXDIR)/include -DFLOATING_POINT -DUSE_ALLOCA $(BASE_CFLAGS)
- else
- CLIENT_LIBS += -lspeex
- endif
-@@ -1442,6 +1457,9 @@ ifeq ($(HAVE_VM_COMPILED),true)
- ifeq ($(ARCH),x86_64)
- Q3OBJ += $(B)/client/vm_x86_64.o $(B)/client/vm_x86_64_assembler.o
- endif
-+ ifeq ($(ARCH),amd64)
-+ Q3OBJ += $(B)/client/vm_x86_64.o $(B)/client/vm_x86_64_assembler.o
-+ endif
- ifeq ($(ARCH),ppc)
- Q3OBJ += $(B)/client/vm_powerpc.o $(B)/client/vm_powerpc_asm.o
- endif
-@@ -1591,6 +1609,9 @@ ifeq ($(HAVE_VM_COMPILED),true)
- ifeq ($(ARCH),x86_64)
- Q3DOBJ += $(B)/ded/vm_x86_64.o $(B)/ded/vm_x86_64_assembler.o
- endif
-+ ifeq ($(ARCH),amd64)
-+ Q3DOBJ += $(B)/ded/vm_x86_64.o $(B)/ded/vm_x86_64_assembler.o
-+ endif
- ifeq ($(ARCH),ppc)
- Q3DOBJ += $(B)/ded/vm_powerpc.o $(B)/ded/vm_powerpc_asm.o
- endif
Index: games/ioquake3/files/patch-README
===================================================================
--- games/ioquake3/files/patch-README
+++ /dev/null
@@ -1,11 +0,0 @@
---- README.orig 2009-04-08 03:36:16 UTC
-+++ README
-@@ -79,6 +79,8 @@ Makefile.local:
- CFLAGS - use this for custom CFLAGS
- V - set to show cc command line when building
- DEFAULT_BASEDIR - extra path to search for baseq3 and such
-+ DEFAULT_LIBDIR - extra path to search for libraries (FreeBSD only)
-+ HOMEPATH - alternative home directory (FreeBSD only)
- BUILD_SERVER - build the 'ioq3ded' server binary
- BUILD_CLIENT - build the 'ioquake3' client binary
- BUILD_CLIENT_SMP - build the 'ioquake3-smp' client binary
Index: games/ioquake3/files/patch-code-client-snd_openal.c
===================================================================
--- games/ioquake3/files/patch-code-client-snd_openal.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- code/client/snd_openal.c.orig 2009-03-15 12:39:53 UTC
-+++ code/client/snd_openal.c
-@@ -1719,7 +1719,7 @@ static cvar_t *s_alCapture;
- #elif defined(MACOS_X)
- #define ALDRIVER_DEFAULT "/System/Library/Frameworks/OpenAL.framework/OpenAL"
- #else
--#define ALDRIVER_DEFAULT "libopenal.so.0"
-+#define ALDRIVER_DEFAULT "libopenal.so"
- #endif
-
- /*
Index: games/ioquake3/files/patch-code-qcommon-files.c
===================================================================
--- games/ioquake3/files/patch-code-qcommon-files.c
+++ /dev/null
@@ -1,18 +0,0 @@
---- code/qcommon/files.c.orig 2009-02-26 13:02:59 UTC
-+++ code/qcommon/files.c
-@@ -241,6 +241,7 @@ static cvar_t *fs_apppath;
- #endif
-
- static cvar_t *fs_basepath;
-+static cvar_t *fs_libpath;
- static cvar_t *fs_basegame;
- static cvar_t *fs_gamedirvar;
- static searchpath_t *fs_searchpaths;
-@@ -2761,6 +2762,7 @@ static void FS_Startup( const char *game
- fs_debug = Cvar_Get( "fs_debug", "0", 0 );
- fs_basepath = Cvar_Get ("fs_basepath", Sys_DefaultInstallPath(), CVAR_INIT );
- fs_basegame = Cvar_Get ("fs_basegame", "", CVAR_INIT );
-+ fs_libpath = Cvar_Get ("fs_libpath", Sys_DefaultLibPath(), CVAR_INIT );
- homePath = Sys_DefaultHomePath();
- if (!homePath || !homePath[0]) {
- homePath = fs_basepath->string;
Index: games/ioquake3/files/patch-code-qcommon-q_platform.h
===================================================================
--- games/ioquake3/files/patch-code-qcommon-q_platform.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- code/qcommon/q_platform.h.orig 2009-03-02 17:29:30 UTC
-+++ code/qcommon/q_platform.h
-@@ -199,6 +199,8 @@ Foundation, Inc., 51 Franklin St, Fifth
-
- #ifdef __i386__
- #define ARCH_STRING "i386"
-+#elif defined __amd64__
-+#define ARCH_STRING "amd64"
- #elif defined __axp__
- #define ARCH_STRING "alpha"
- #endif
Index: games/ioquake3/files/patch-code-qcommon-qcommon.h
===================================================================
--- games/ioquake3/files/patch-code-qcommon-qcommon.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- code/qcommon/qcommon.h.orig 2009-01-17 23:09:58 UTC
-+++ code/qcommon/qcommon.h
-@@ -1069,6 +1069,9 @@ char *Sys_DefaultInstallPath(void);
- char *Sys_DefaultAppPath(void);
- #endif
-
-+void Sys_SetDefaultLibPath(const char *path);
-+char *Sys_DefaultLibPath(void);
-+
- void Sys_SetDefaultHomePath(const char *path);
- char *Sys_DefaultHomePath(void);
- const char *Sys_Dirname( char *path );
Index: games/ioquake3/files/patch-code-qcommon-vm_interpreted.c
===================================================================
--- games/ioquake3/files/patch-code-qcommon-vm_interpreted.c
+++ /dev/null
@@ -1,34 +0,0 @@
---- code/qcommon/vm_interpreted.c.orig 2008-08-23 22:45:30 UTC
-+++ code/qcommon/vm_interpreted.c
-@@ -526,18 +526,20 @@ nextInstruction2:
-
- //VM_LogSyscalls( (int *)&image[ programStack + 4 ] );
- {
-- intptr_t* argptr = (intptr_t *)&image[ programStack + 4 ];
-- #if __WORDSIZE == 64
-- // the vm has ints on the stack, we expect
-- // longs so we have to convert it
-- intptr_t argarr[16];
-- int i;
-- for (i = 0; i < 16; ++i) {
-- argarr[i] = *(int*)&image[ programStack + 4 + 4*i ];
-+ // the vm has ints on the stack, we expect
-+ // pointers so we might have to convert it
-+ if (sizeof(intptr_t) != sizeof(int)) {
-+ intptr_t argarr[16];
-+ int *imagePtr = (int *)&image[programStack];
-+ int i;
-+ for (i = 0; i < 16; ++i) {
-+ argarr[i] = *(++imagePtr);
-+ }
-+ r = vm->systemCall( argarr );
-+ } else {
-+ intptr_t* argptr = (intptr_t *)&image[ programStack + 4 ];
-+ r = vm->systemCall( argptr );
- }
-- argptr = argarr;
-- #endif
-- r = vm->systemCall( argptr );
- }
-
- #ifdef DEBUG_VM
Index: games/ioquake3/files/patch-code-qcommon-vm_x86.c
===================================================================
--- games/ioquake3/files/patch-code-qcommon-vm_x86.c
+++ /dev/null
@@ -1,41 +0,0 @@
---- code/qcommon/vm_x86.c.orig 2008-08-17 23:22:06 UTC
-+++ code/qcommon/vm_x86.c
-@@ -36,7 +36,25 @@ Foundation, Inc., 51 Franklin St, Fifth
-
- /* need this on NX enabled systems (i386 with PAE kernel or
- * noexec32=on x86_64) */
--#ifdef __linux__
-+// Rambetter's note: I'm adding the test for __FreeBSD__ in addition to the [already
-+// existing] test for __linux__. Here is why. I own a 32 bit FreeBSD 8.0 server with
-+// a PAE kernel. Without VM_X86_MMAP, ioq3ded segfaults shortly after starting
-+// (this should come as no surprise). With VM_X86_MMAP, ioq3ded runs very smoothly.
-+// So, at a very minimum, we need to set VM_X86_MMAP for FreeBSD PAE kernels.
-+// Now, I also happen to own a 32 bit FreeBSD 7.1 server with just the standard kernel
-+// (non-PAE). I have run ioq3ded successfully on it with and without VM_X86_MMAP for many
-+// months. So, in the case of non-PAE FreeBSD, we can go either way - use VM_X86_MMAP or
-+// not use it. The absolute safest fix to this problem is to only set VM_X86_MMAP on
-+// PAE FreeBSD kernels (in addition to Linux); however, I don't know of a way to detect
-+// the PAE kernel easily. Therefore, since using VM_X86_MMAP won't break anything on
-+// non-PAE kernels [apparently], we'll just use it all the time on FreeBSD 32 bit.
-+// Now, you may ask the question: Why not change the entire test for just __unix__?
-+// Unfortunately I cannot say anything about this because I don't have access to every
-+// other system that has __unix__ defined, so I cannot possibly test all those cases to
-+// make sure things work. We'll just leave it with __linux__ and __FreeBSD__ to be safe.
-+// If someone with a different flavor of UNIX running a PAE kernel has this problem too,
-+// they can report the bug and we will adjust the line below accordingly.
-+#if defined(__linux__) || defined(__FreeBSD__)
- #define VM_X86_MMAP
- #endif
-
-@@ -90,7 +108,11 @@ void AsmCall(void);
- static void (*const asmCallPtr)(void) = AsmCall;
-
-
-+#ifdef __clang__
-+ int callMask = 0;
-+#else
- static int callMask = 0;
-+#endif
-
- static int instruction, pass;
- static int lastConst = 0;
Index: games/ioquake3/files/patch-code-qcommon-vm_x86_64.c
===================================================================
--- games/ioquake3/files/patch-code-qcommon-vm_x86_64.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- code/qcommon/vm_x86_64.c.orig 2008-08-06 16:09:29 UTC
-+++ code/qcommon/vm_x86_64.c
-@@ -246,7 +246,7 @@ void emit(const char* fmt, ...)
- #else
- #define JMPIARG \
- emit("movq $%lu, %%rax", vm->codeBase+vm->instructionPointers[iarg]); \
-- emit("jmpq *%rax");
-+ emit("jmpq *%%rax");
- #endif
-
- // integer compare and jump
Index: games/ioquake3/files/patch-code-sys-sys_main.c
===================================================================
--- games/ioquake3/files/patch-code-sys-sys_main.c
+++ /dev/null
@@ -1,94 +0,0 @@
---- code/sys/sys_main.c.orig 2009-03-02 22:26:36 UTC
-+++ code/sys/sys_main.c
-@@ -49,6 +49,7 @@ Foundation, Inc., 51 Franklin St, Fifth
-
- static char binaryPath[ MAX_OSPATH ] = { 0 };
- static char installPath[ MAX_OSPATH ] = { 0 };
-+static char libPath[ MAX_OSPATH ] = { 0 };
-
- /*
- =================
-@@ -95,6 +96,30 @@ char *Sys_DefaultInstallPath(void)
-
- /*
- =================
-+Sys_SetDefaultLibPath
-+=================
-+*/
-+void Sys_SetDefaultLibPath(const char *path)
-+{
-+ Q_strncpyz(libPath, path, sizeof(libPath));
-+}
-+
-+/*
-+=================
-+Sys_DefaultLibPath
-+=================
-+*/
-+char *Sys_DefaultLibPath(void)
-+{
-+ if (*libPath)
-+ return libPath;
-+ else
-+ return Sys_Cwd();
-+}
-+
-+
-+/*
-+=================
- Sys_DefaultAppPath
- =================
- */
-@@ -384,6 +409,7 @@ Used to load a development dll instead o
- #1 look down current path
- #2 look in fs_homepath
- #3 look in fs_basepath
-+#4 look in fs_libpath
- =================
- */
- void *Sys_LoadDll( const char *name, char *fqpath ,
-@@ -394,6 +420,7 @@ void *Sys_LoadDll( const char *name, cha
- void (*dllEntry)( intptr_t (*syscallptr)(intptr_t, ...) );
- char fname[MAX_OSPATH];
- char *basepath;
-+ char *libpath;
- char *homepath;
- char *pwdpath;
- char *gamedir;
-@@ -405,6 +432,7 @@ void *Sys_LoadDll( const char *name, cha
- // TODO: use fs_searchpaths from files.c
- pwdpath = Sys_Cwd();
- basepath = Cvar_VariableString( "fs_basepath" );
-+ libpath = Cvar_VariableString( "fs_libpath" );
- homepath = Cvar_VariableString( "fs_homepath" );
- gamedir = Cvar_VariableString( "fs_game" );
-
-@@ -413,6 +441,9 @@ void *Sys_LoadDll( const char *name, cha
- if(!libHandle && homepath)
- libHandle = Sys_TryLibraryLoad(homepath, gamedir, fname, fqpath);
-
-+ if(!libHandle && libpath)
-+ libHandle = Sys_TryLibraryLoad(libpath, gamedir, fname, fqpath);
-+
- if(!libHandle && basepath)
- libHandle = Sys_TryLibraryLoad(basepath, gamedir, fname, fqpath);
-
-@@ -469,6 +500,10 @@ void Sys_ParseArgs( int argc, char **arg
- # endif
- #endif
-
-+#ifndef DEFAULT_LIBDIR
-+# define DEFAULT_LIBDIR DEFAULT_BASEDIR
-+#endif
-+
- /*
- =================
- Sys_SigHandler
-@@ -540,6 +575,7 @@ int main( int argc, char **argv )
- Sys_ParseArgs( argc, argv );
- Sys_SetBinaryPath( Sys_Dirname( argv[ 0 ] ) );
- Sys_SetDefaultInstallPath( DEFAULT_BASEDIR );
-+ Sys_SetDefaultLibPath( DEFAULT_LIBDIR );
-
- // Concatenate the command line for passing to Com_Init
- for( i = 1; i < argc; i++ )
Index: games/ioquake3/files/patch-code-sys-sys_unix.c
===================================================================
--- games/ioquake3/files/patch-code-sys-sys_unix.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- code/sys/sys_unix.c.orig 2008-11-10 23:55:22 UTC
-+++ code/sys/sys_unix.c
-@@ -53,7 +53,9 @@ char *Sys_DefaultHomePath(void)
- if( ( p = getenv( "HOME" ) ) != NULL )
- {
- Q_strncpyz( homePath, p, sizeof( homePath ) );
--#ifdef MACOS_X
-+#ifdef HOMEPATH
-+ Q_strcat( homePath, sizeof( homePath ), HOMEPATH );
-+#elif defined MACOS_X
- Q_strcat( homePath, sizeof( homePath ), "/Library/Application Support/Quake3" );
- #else
- Q_strcat( homePath, sizeof( homePath ), "/.q3a" );
Index: games/ioquake3/files/pkg-message.in
===================================================================
--- /dev/null
+++ games/ioquake3/files/pkg-message.in
@@ -0,0 +1,5 @@
+The default renderer has switched to OpenGL2. Should you encounter
+a performance drop with this update, you can return to the old
+OpenGL1 rendere by executing:
+
+ ioquake3 +seta cl_renderer opengl1
Index: games/ioquake3/pkg-message
===================================================================
--- games/ioquake3/pkg-message
+++ /dev/null
@@ -1,7 +0,0 @@
-Should the game freeze when entering a match, try to change the value of
-com_zoneMegs (e.g. to 48).
-
-The configuration files are saved to ~/.ioquake3 instead of ~/.q3a because
-they have additional variables which would be removed if other engines
-overwrite them. But you can safely copy the original directory to the new one
-for the first time.
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Nov 22, 3:28 AM (21 h, 19 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25891997
Default Alt Text
D10171.id28295.diff (21 KB)
Attached To
Mode
D10171: games/ioquake3: Fix CVE-2017-6903
Attached
Detach File
Event Timeline
Log In to Comment