FreeBSD Bugzilla – Attachment 66540 Details for
Bug 98295
[UPDATE] games/cleanq3: security patch, fix on non-i386 and 4.X
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
cleanq3.diff
cleanq3.diff (text/plain), 41.98 KB, created by
Alejandro Pulver
on 2006-06-01 18:10:12 UTC
(
hide
)
Description:
cleanq3.diff
Filename:
MIME Type:
Creator:
Alejandro Pulver
Created:
2006-06-01 18:10:12 UTC
Size:
41.98 KB
patch
obsolete
>Index: Makefile >=================================================================== >RCS file: /home/pcvs/ports/games/cleanq3/Makefile,v >retrieving revision 1.2 >diff -u -r1.2 Makefile >--- Makefile 22 Apr 2006 22:11:33 -0000 1.2 >+++ Makefile 1 Jun 2006 02:49:22 -0000 >@@ -7,6 +7,7 @@ > > PORTNAME= cleanq3 > PORTVERSION= 0.5.2 >+PORTREVISION= 1 > CATEGORIES= games > MASTER_SITES= http://tremor.quakedev.com/ > DISTNAME= CleanQ3_v${PORTVERSION}-srcbin >@@ -14,72 +15,93 @@ > MAINTAINER= danfe@FreeBSD.org > COMMENT= Cleaned up copy of the original Quake III Arena source code > >-BUILD_DEPENDS= nasm:${PORTSDIR}/devel/nasm >- > USE_ZIP= yes >-USE_PERL5_BUILD=yes > USE_DOS2UNIX= yes >+USE_GMAKE= yes > USE_GCC= 3.2+ >-USE_GL= yes >- > WRKSRC= ${WRKDIR}/CleanQ3 >-INSTDIR= ${WRKSRC}/code/install >+BUILD_WRKSRC= ${WRKSRC}/code/unix > >-PLIST_FILES= bin/cleanq3 bin/cleanq3ded \ >- lib/cleanq3/baseq3/cgame.so \ >- lib/cleanq3/baseq3/qagame.so \ >- lib/cleanq3/baseq3/ui.so \ >- lib/cleanq3/missionpack/cgame.so \ >- lib/cleanq3/missionpack/qagame.so \ >- lib/cleanq3/missionpack/ui.so >-PLIST_DIRS= lib/cleanq3/baseq3 lib/cleanq3/missionpack lib/cleanq3 >+OPTIONS= CLIENT "Build client" on \ >+ DEDICATED "Build dedicated server" on \ >+ GAMELIBS "Build game libraries (when not mandatory)" off \ >+ OPTIMIZED_CFLAGS "Enable compilation optimizations" on \ >+ SMP "Build SMP (threaded) client" on > >-OPTIONS= OPTIMIZED_CFLAGS "Build with extra optimization options" on >+MAKE_ENV= LIBDIR="${LIBDIR}" >+PLIST_SUB= LIBDIR="${LIBDIR:S/${PREFIX}\///}" >+ >+LIBDIR= ${PREFIX}/lib/${PORTNAME} > > .include <bsd.port.pre.mk> > >-.if ${ARCH} != "i386" >-BROKEN= Does not compile on ${ARCH} >+.if defined(WITHOUT_CLIENT) && defined(WITHOUT_DEDICATED) \ >+ && defined(WITHOUT_SMP) >+IGNORE= needs at least one of CLIENT, DEDICATED and SMP options > .endif > >-.if ${OSVERSION} < 500000 >-BROKEN= Does not compile on 4.x >+.if ${ARCH} == "i386" >+BUILD_DEPENDS+= nasm:${PORTSDIR}/devel/nasm > .endif > >-.if defined(WITH_OPTIMIZED_CFLAGS) >-CFLAGS= -O6 -fomit-frame-pointer -ffast-math -falign-loops=2 -falign-jumps=2 \ >- -falign-functions=2 -fno-strict-aliasing -fstrength-reduce >-.endif >- >-post-patch: .SILENT >- ${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g ; \ >- s|%%X11BASE%%|${X11BASE}|g ; s|%%CFLAGS%%|${CFLAGS}|' \ >- ${WRKSRC}/code/Construct ${WRKSRC}/code/unix/Conscript-client >- ${REINPLACE_CMD} -e 's|-ldl || ; s|i386\.so|\.so|' \ >- ${WRKSRC}/code/cgame/Conscript \ >- ${WRKSRC}/code/game/Conscript ${WRKSRC}/code/q3_ui/Conscript \ >- ${WRKSRC}/code/unix/Conscript-dedicated \ >- ${WRKSRC}/code/ui/Conscript >- ${REINPLACE_CMD} -e 's|%%Q3DIR%%|"${Q3DIR}"|' \ >- ${WRKSRC}/code/unix/unix_shared.c >- ${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' \ >- ${WRKSRC}/code/unix/unix_main.c >- ${REINPLACE_CMD} -e 's|botlib.log|/dev/null|' \ >- ${WRKSRC}/code/botlib/be_interface.c >+.if !defined(WITHOUT_CLIENT) || !defined(WITHOUT_SMP) >+USE_GL= yes >+.endif > >-do-build: >- cd ${WRKSRC}/code && ${MAKE_ENV} ${PERL} unix/cons >+.if !defined(WITHOUT_CLIENT) >+MAKE_ENV+= CLIENT=YES >+PLIST_SUB+= CLIENT="" >+Q3BIN+= cleanq3 >+.else >+PLIST_SUB+= CLIENT="@comment " >+.endif >+ >+.if !defined(WITHOUT_DEDICATED) >+MAKE_ENV+= DEDICATED=YES >+PLIST_SUB+= DEDICATED="" >+Q3BIN+= cleanq3ded >+.else >+PLIST_SUB+= DEDICATED="@comment " >+.endif >+ >+.if defined(WITH_GAMELIBS) || (${ARCH} != "i386" && ${ARCH} != "powerpc") >+MAKE_ENV+= GAMELIBS=YES >+PLIST_SUB+= GAMELIBS="" >+.else >+PLIST_SUB+= GAMELIBS="@comment " >+.endif >+ >+.if !defined(WITHOUT_OPTIMIZED_CFLAGS) >+MAKE_ENV+= OPTIMIZED_CFLAGS=YES >+.endif >+ >+.if !defined(WITHOUT_SMP) >+MAKE_ENV+= SMP=YES \ >+ PTHREAD_LIBS="${PTHREAD_LIBS}" >+PLIST_SUB+= SMP="" >+Q3BIN+= cleanq3-smp >+.else >+PLIST_SUB+= SMP="@comment " >+.endif >+ >+post-patch: >+ @${REINPLACE_CMD} -e 's|botlib\.log|/dev/null|' \ >+ ${WRKSRC}/code/botlib/be_interface.c >+ @${REINPLACE_CMD} -e \ >+ 's|//[[:blank:]]*\(Swap_Init[[:blank:]]*();\)|\1|' \ >+ ${WRKSRC}/code/botlib/be_interface.c \ >+ ${WRKSRC}/code/renderer/tr_init.c > > do-install: >- ${INSTALL_PROGRAM} ${INSTDIR}/linuxquake3 ${PREFIX}/bin/cleanq3 >- ${INSTALL_PROGRAM} ${INSTDIR}/linuxq3ded ${PREFIX}/bin/cleanq3ded >-.for d in baseq3 missionpack >- @${MKDIR} ${PREFIX}/lib/cleanq3/${d} >- ${INSTALL_PROGRAM} ${INSTDIR}/${d}/cgame.so ${PREFIX}/lib/cleanq3/${d} >- ${INSTALL_PROGRAM} ${INSTDIR}/${d}/qagame.so ${PREFIX}/lib/cleanq3/${d} >- ${INSTALL_PROGRAM} ${INSTDIR}/${d}/ui.so ${PREFIX}/lib/cleanq3/${d} >+.for bin in ${Q3BIN} >+ ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/release/${bin} ${PREFIX}/bin >+.endfor >+.if defined(WITH_GAMELIBS) || (${ARCH} != "i386" && ${ARCH} != "powerpc") >+.for dir in baseq3 missionpack >+ ${MKDIR} ${LIBDIR}/${dir} >+ ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/release/${dir}/*.so ${LIBDIR}/${dir} > .endfor >+.endif > > .include "${.CURDIR}/../quake3-data/Makefile.include" >- > .include <bsd.port.post.mk> >Index: pkg-plist >=================================================================== >RCS file: pkg-plist >diff -N pkg-plist >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ pkg-plist 1 Jun 2006 02:49:22 -0000 >@@ -0,0 +1,13 @@ >+%%DEDICATED%%bin/cleanq3ded >+%%CLIENT%%bin/cleanq3 >+%%SMP%%bin/cleanq3-smp >+%%GAMELIBS%%%%LIBDIR%%/baseq3/cgame.so >+%%GAMELIBS%%%%LIBDIR%%/baseq3/qagame.so >+%%GAMELIBS%%%%LIBDIR%%/baseq3/ui.so >+%%GAMELIBS%%%%LIBDIR%%/missionpack/cgame.so >+%%GAMELIBS%%%%LIBDIR%%/missionpack/qagame.so >+%%GAMELIBS%%%%LIBDIR%%/missionpack/ui.so >+%%GAMELIBS%%@dirrm %%LIBDIR%%/missionpack >+%%GAMELIBS%%@dirrm %%LIBDIR%%/baseq3 >+%%GAMELIBS%%@dirrm %%LIBDIR%% >+ >Index: files/patch-code-Construct >=================================================================== >RCS file: files/patch-code-Construct >diff -N files/patch-code-Construct >--- files/patch-code-Construct 20 Mar 2006 15:21:27 -0000 1.1 >+++ /dev/null 1 Jan 1970 00:00:00 -0000 >@@ -1,68 +0,0 @@ >---- code/Construct.orig Mon Mar 20 18:19:09 2006 >-+++ code/Construct Mon Mar 20 18:37:12 2006 >-@@ -19,8 +19,8 @@ >- use Cons_gcc; >- >- # defaults >--$config = 'debug'; >--$do_smp = 1; >-+$config = 'release'; >-+$do_smp = 0; >- $do_masterserver = 0; >- $do_authserver = 0; >- $do_authport = 0; >-@@ -30,10 +30,10 @@ >- $do_pk3 = 0; >- # those are exported >- $DO_WIN32 = 0; >--$NO_VM = 0; >-+$NO_VM = 1; >- $NO_SO = 0; >--$CC='gcc'; >--$CXX='g++'; >-+$CC=$ENV{CC}; >-+$CXX=$ENV{CXX}; >- >- # detect an sdk build (don't attempt client build and other things) >- if ( -r 'unix/Conscript-client' ) >-@@ -63,9 +63,6 @@ >- else >- { >- # libc .. do the little magic! >-- $libc_cmd = '/lib/libc.so.6 |grep "GNU C "|grep version|awk -F "version " \'{ print $2 }\'|cut -b -3'; >-- $libc = `$libc_cmd`; >-- chop ($libc); >- } >- >- if ($DO_WIN32 eq 1) >-@@ -227,7 +224,7 @@ >- # build the config directory >- $CONFIG_DIR = $config . '-' . $cpu . '-' . $OS . '-' . $libc; >- >--$COMMON_CFLAGS = '-pipe -fsigned-char '; >-+$COMMON_CFLAGS = '-pipe -fsigned-char -I%%LOCALBASE%%/include -L%%LOCALBASE%%/lib -I%%X11BASE%%/include -L%%X11BASE%%/lib '; >- >- if ($config eq 'debug') >- { >-@@ -237,7 +234,7 @@ >- } >- else >- { >-- $BASE_CFLAGS = $COMMON_CFLAGS . '-DNDEBUG -O6 -mcpu=pentiumpro -march=pentium -fomit-frame-pointer -ffast-math -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fno-strict-aliasing -fstrength-reduce '; >-+ $BASE_CFLAGS = $COMMON_CFLAGS . '-DNDEBUG %%CFLAGS%% '; >- $BSPC_BASE_CFLAGS = $BASE_CFLAGS . '-DLINUX -DBSPC -Dstricmp=strcasecmp '; >- } >- >-@@ -302,9 +299,9 @@ >- } >- >- # build tools >--$env_tools = new cons(); >--Command $env_tools 'qvmtools/q3lcc', '[perl] &build_tools(\'q3lcc\')'; >--Command $env_tools 'qvmtools/q3asm', '[perl] &build_tools(\'q3asm\')'; >-+#$env_tools = new cons(); >-+#Command $env_tools 'qvmtools/q3lcc', '[perl] &build_tools(\'q3lcc\')'; >-+#Command $env_tools 'qvmtools/q3asm', '[perl] &build_tools(\'q3asm\')'; >- >- if ($do_bspc eq 1) >- { >Index: files/patch-code-cgame-cg_weapons.c >=================================================================== >RCS file: files/patch-code-cgame-cg_weapons.c >diff -N files/patch-code-cgame-cg_weapons.c >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-code-cgame-cg_weapons.c 1 Jun 2006 02:49:22 -0000 >@@ -0,0 +1,23 @@ >+--- ./code/cgame/cg_weapons.c.orig Wed May 31 20:52:06 2006 >++++ ./code/cgame/cg_weapons.c Wed May 31 20:52:54 2006 >+@@ -636,17 +636,17 @@ >+ } >+ >+ strcpy( path, item->world_model[0] ); >+- COM_StripExtension( path, path ); >++ COM_StripExtension( path, path, sizeof(path) ); >+ strcat( path, "_flash.md3" ); >+ weaponInfo->flashModel = trap_R_RegisterModel( path ); >+ >+ strcpy( path, item->world_model[0] ); >+- COM_StripExtension( path, path ); >++ COM_StripExtension( path, path, sizeof(path) ); >+ strcat( path, "_barrel.md3" ); >+ weaponInfo->barrelModel = trap_R_RegisterModel( path ); >+ >+ strcpy( path, item->world_model[0] ); >+- COM_StripExtension( path, path ); >++ COM_StripExtension( path, path, sizeof(path) ); >+ strcat( path, "_hand.md3" ); >+ weaponInfo->handsModel = trap_R_RegisterModel( path ); >+ >Index: files/patch-code-game-q_shared.c >=================================================================== >RCS file: files/patch-code-game-q_shared.c >diff -N files/patch-code-game-q_shared.c >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-code-game-q_shared.c 1 Jun 2006 02:49:22 -0000 >@@ -0,0 +1,113 @@ >+--- ./code/game/q_shared.c.orig Wed May 31 20:52:06 2006 >++++ ./code/game/q_shared.c Wed May 31 20:54:26 2006 >+@@ -38,14 +38,21 @@ >+ COM_StripExtension >+ ============ >+ */ >+-void COM_StripExtension( const char *in, char *out ) { >+- while ( *in && *in != '.' ) { >+- *out++ = *in++; >++void COM_StripExtension( const char *in, char *out, int destsize ) { >++ int length; >++ >++ Q_strncpyz(out, in, destsize); >++ >++ length = strlen(out)-1; >++ while (length > 0 && out[length] != '.') { >++ length--; >++ if (out[length] == '/') >++ return; // no extension >+ } >+- *out = 0; >++ if (length) >++ out[length] = 0; >+ } >+ >+- >+ /* >+ ================== >+ COM_DefaultExtension >+@@ -79,29 +86,28 @@ >+ >+ ============================================================================ >+ */ >+-/* >++ >+ // can't just use function pointers, or dll linkage can >+ // mess up when qcommon is included in multiple places >+-static short (*_BigShort) (short l); >+-static short (*_LittleShort) (short l); >+-static int (*_BigLong) (int l); >+-static int (*_LittleLong) (int l); >++static int16_t (*_BigShort) (int16_t l); >++static int16_t (*_LittleShort) (int16_t l); >++static int32_t (*_BigLong) (int32_t l); >++static int32_t (*_LittleLong) (int32_t l); >+ static qint64 (*_BigLong64) (qint64 l); >+ static qint64 (*_LittleLong64) (qint64 l); >+ static float (*_BigFloat) (const float *l); >+ static float (*_LittleFloat) (const float *l); >+ >+-short BigShort(short l){return _BigShort(l);} >+-short LittleShort(short l) {return _LittleShort(l);} >+-int BigLong (int l) {return _BigLong(l);} >+-int LittleLong (int l) {return _LittleLong(l);} >++int16_t BigShort(int16_t l){return _BigShort(l);} >++int16_t LittleShort(int16_t l) {return _LittleShort(l);} >++int32_t BigLong (int32_t l) {return _BigLong(l);} >++int32_t LittleLong (int32_t l) {return _LittleLong(l);} >+ qint64 BigLong64 (qint64 l) {return _BigLong64(l);} >+ qint64 LittleLong64 (qint64 l) {return _LittleLong64(l);} >+-float BigFloat (const float *l) {return _BigFloat(l);} >+-float LittleFloat (const float *l) {return _LittleFloat(l);} >+-*/ >++float BigFloat (float l) {return _BigFloat(&l);} >++float LittleFloat (float l) {return _LittleFloat(&l);} >+ >+-short ShortSwap (short l) >++int16_t ShortSwap (int16_t l) >+ { >+ byte b1,b2; >+ >+@@ -111,12 +117,12 @@ >+ return (b1<<8) + b2; >+ } >+ >+-short ShortNoSwap (short l) >++int16_t ShortNoSwap (int16_t l) >+ { >+ return l; >+ } >+ >+-int LongSwap (int l) >++int32_t LongSwap (int32_t l) >+ { >+ byte b1,b2,b3,b4; >+ >+@@ -128,7 +134,7 @@ >+ return ((int)b1<<24) + ((int)b2<<16) + ((int)b3<<8) + b4; >+ } >+ >+-int LongNoSwap (int l) >++int32_t LongNoSwap (int32_t l) >+ { >+ return l; >+ } >+@@ -179,7 +185,7 @@ >+ Swap_Init >+ ================ >+ */ >+-/* >++ >+ void Swap_Init (void) >+ { >+ byte swaptest[2] = {1,0}; >+@@ -209,7 +215,7 @@ >+ } >+ >+ } >+-*/ >++ >+ >+ /* >+ ============================================================================ >Index: files/patch-code-game-q_shared.h >=================================================================== >RCS file: /home/pcvs/ports/games/cleanq3/files/patch-code-game-q_shared.h,v >retrieving revision 1.1 >diff -u -r1.1 patch-code-game-q_shared.h >--- files/patch-code-game-q_shared.h 20 Mar 2006 15:21:27 -0000 1.1 >+++ files/patch-code-game-q_shared.h 1 Jun 2006 02:49:22 -0000 >@@ -1,6 +1,92 @@ >---- code/game/q_shared.h.orig Tue Aug 16 02:10:07 2005 >-+++ code/game/q_shared.h Tue Aug 23 14:16:34 2005 >-@@ -452,13 +452,9 @@ >+--- ./code/game/q_shared.h.orig Wed May 31 20:52:06 2006 >++++ ./code/game/q_shared.h Wed May 31 20:54:33 2006 >+@@ -126,12 +126,14 @@ >+ >+ #define ID_INLINE __inline >+ >++#if 0 >+ static ID_INLINE short BigShort( short l) { return ShortSwap(l); } >+ #define LittleShort >+ static ID_INLINE int BigLong(int l) { LongSwap(l); } >+ #define LittleLong >+ static ID_INLINE float BigFloat(const float *l) { FloatSwap(l); } >+ #define LittleFloat >++#endif >+ >+ #define PATH_SEP '\\' >+ >+@@ -182,12 +184,14 @@ >+ return fi; >+ } >+ >++#if 0 >+ #define BigShort >+ static inline short LittleShort(short l) { return ShortSwap(l); } >+ #define BigLong >+ static inline int LittleLong (int l) { return LongSwap(l); } >+ #define BigFloat >+ static inline float LittleFloat (const float l) { return FloatSwap(&l); } >++#endif >+ >+ #endif >+ >+@@ -205,12 +209,14 @@ >+ >+ void Sys_PumpEvents( void ); >+ >++#if 0 >+ #define BigShort >+ static inline short LittleShort(short l) { return ShortSwap(l); } >+ #define BigLong >+ static inline int LittleLong (int l) { return LongSwap(l); } >+ #define BigFloat >+ static inline float LittleFloat (const float l) { return FloatSwap(&l); } >++#endif >+ >+ #endif >+ >+@@ -244,6 +250,7 @@ >+ #define BOTLIB_HARD_LINKED >+ #endif >+ >++#if 0 >+ #if !idppc >+ inline static short BigShort( short l) { return ShortSwap(l); } >+ #define LittleShort >+@@ -259,6 +266,7 @@ >+ #define BigFloat >+ inline static float LittleFloat (const float *l) { return FloatSwap(l); } >+ #endif >++#endif >+ >+ #endif >+ >+@@ -280,8 +288,16 @@ >+ >+ #define PATH_SEP '/' >+ >++#include <machine/param.h> >++#if __FreeBSD_version < 500000 >++#include <inttypes.h> >++#else >++#include <stdint.h> >++#endif >++ >+ // bk010116 - omitted Q3STATIC (see Linux above), broken target >+ >++#if 0 >+ #if !idppc >+ static short BigShort( short l) { return ShortSwap(l); } >+ #define LittleShort >+@@ -297,6 +313,7 @@ >+ #define BigFloat >+ static float LittleFloat (const float *l) { return FloatSwap(l); } >+ #endif >++#endif >+ >+ #endif >+ >+@@ -428,13 +445,9 @@ > void *Hunk_Alloc( int size, ha_pref preference ); > #endif > >@@ -14,3 +100,41 @@ > > #if !( defined __VECTORC ) > void Com_Memset (void* dest, const int val, const size_t count); >+@@ -763,7 +776,7 @@ >+ float Com_Clamp( float min, float max, float value ); >+ >+ char *COM_SkipPath( char *pathname ); >+-void COM_StripExtension( const char *in, char *out ); >++void COM_StripExtension( const char *in, char *out, int destsize ); >+ void COM_DefaultExtension( char *path, int maxSize, const char *extension ); >+ >+ void COM_BeginParseSession( const char *name ); >+@@ -864,18 +877,18 @@ >+ } qint64; >+ >+ //============================================= >+-/* >+-short BigShort(short l); >+-short LittleShort(short l); >+-int BigLong (int l); >+-int LittleLong (int l); >+-qint64 BigLong64 (qint64 l); >+-qint64 LittleLong64 (qint64 l); >+-float BigFloat (const float *l); >+-float LittleFloat (const float *l); >++ >++int16_t BigShort(int16_t l); >++int16_t LittleShort(int16_t l); >++int32_t BigLong (int32_t l); >++int32_t LittleLong (int32_t l); >++qint64 BigLong64 (qint64 l); >++qint64 LittleLong64 (qint64 l); >++float BigFloat (float l); >++float LittleFloat (float l); >+ >+ void Swap_Init (void); >+-*/ >++ >+ char * QDECL va(char *format, ...); >+ >+ //============================================= >Index: files/patch-code-q3_ui-ui_playermodel.c >=================================================================== >RCS file: files/patch-code-q3_ui-ui_playermodel.c >diff -N files/patch-code-q3_ui-ui_playermodel.c >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-code-q3_ui-ui_playermodel.c 1 Jun 2006 02:49:22 -0000 >@@ -0,0 +1,11 @@ >+--- ./code/q3_ui/ui_playermodel.c.orig Wed May 31 20:52:07 2006 >++++ ./code/q3_ui/ui_playermodel.c Wed May 31 20:54:50 2006 >+@@ -404,7 +404,7 @@ >+ { >+ filelen = strlen(fileptr); >+ >+- COM_StripExtension(fileptr,skinname); >++ COM_StripExtension(fileptr, skinname, sizeof(skinname)); >+ >+ // look for icon_???? >+ if (!Q_stricmpn(skinname,"icon_",5)) >Index: files/patch-code-q3_ui-ui_players.c >=================================================================== >RCS file: files/patch-code-q3_ui-ui_players.c >diff -N files/patch-code-q3_ui-ui_players.c >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-code-q3_ui-ui_players.c 1 Jun 2006 02:49:22 -0000 >@@ -0,0 +1,18 @@ >+--- ./code/q3_ui/ui_players.c.orig Wed May 31 20:52:07 2006 >++++ ./code/q3_ui/ui_players.c Wed May 31 20:55:05 2006 >+@@ -69,13 +69,13 @@ >+ >+ if ( weaponNum == WP_MACHINEGUN || weaponNum == WP_GAUNTLET || weaponNum == WP_BFG ) { >+ strcpy( path, item->world_model[0] ); >+- COM_StripExtension( path, path ); >++ COM_StripExtension( path, path, sizeof(path) ); >+ strcat( path, "_barrel.md3" ); >+ pi->barrelModel = trap_R_RegisterModel( path ); >+ } >+ >+ strcpy( path, item->world_model[0] ); >+- COM_StripExtension( path, path ); >++ COM_StripExtension( path, path, sizeof(path) ); >+ strcat( path, "_flash.md3" ); >+ pi->flashModel = trap_R_RegisterModel( path ); >+ >Index: files/patch-code-q3_ui-ui_saveconfig.c >=================================================================== >RCS file: files/patch-code-q3_ui-ui_saveconfig.c >diff -N files/patch-code-q3_ui-ui_saveconfig.c >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-code-q3_ui-ui_saveconfig.c 1 Jun 2006 02:49:22 -0000 >@@ -0,0 +1,11 @@ >+--- ./code/q3_ui/ui_saveconfig.c.orig Wed May 31 20:52:07 2006 >++++ ./code/q3_ui/ui_saveconfig.c Wed May 31 20:55:15 2006 >+@@ -85,7 +85,7 @@ >+ return; >+ } >+ >+- COM_StripExtension(saveConfig.savename.field.buffer, configname ); >++ COM_StripExtension(saveConfig.savename.field.buffer, configname, sizeof(configname) ); >+ trap_Cmd_ExecuteText( EXEC_APPEND, va( "writeconfig %s.cfg\n", configname ) ); >+ UI_PopMenu(); >+ } >Index: files/patch-code-qcommon-common.c >=================================================================== >RCS file: /home/pcvs/ports/games/cleanq3/files/patch-code-qcommon-common.c,v >retrieving revision 1.1 >diff -u -r1.1 patch-code-qcommon-common.c >--- files/patch-code-qcommon-common.c 20 Mar 2006 15:21:27 -0000 1.1 >+++ files/patch-code-qcommon-common.c 1 Jun 2006 02:49:22 -0000 >@@ -1,15 +1,15 @@ >---- code/qcommon/common.c.orig Mon Aug 15 23:10:07 2005 >-+++ code/qcommon/common.c Wed Nov 23 10:53:29 2005 >+--- ./code/qcommon/common.c.orig Wed May 31 20:52:07 2006 >++++ ./code/qcommon/common.c Wed May 31 20:52:09 2006 > @@ -24,15 +24,8 @@ > #include "../game/q_shared.h" > #include "qcommon.h" > #include <setjmp.h> > -#ifdef __linux__ >-+#include <sys/types.h> >- #include <netinet/in.h> >+-#include <netinet/in.h> > -#else > -#if defined(MACOS_X) >--#include <netinet/in.h> >++#include <sys/types.h> >+ #include <netinet/in.h> > -#else > -#include <winsock.h> > -#endif >@@ -17,3 +17,12 @@ > > int demo_protocols[] = > { 66, 67, 68, 0 }; >+@@ -2367,7 +2360,7 @@ >+ // cvar and command buffer management >+ Com_ParseCommandLine( commandLine ); >+ >+-// Swap_Init (); >++ Swap_Init (); >+ Cbuf_Init (); >+ >+ Com_InitZoneMemory(); >Index: files/patch-code-qcommon-vm.c >=================================================================== >RCS file: files/patch-code-qcommon-vm.c >diff -N files/patch-code-qcommon-vm.c >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-code-qcommon-vm.c 1 Jun 2006 02:49:22 -0000 >@@ -0,0 +1,29 @@ >+--- code/qcommon/vm.c.orig Wed May 31 23:18:41 2006 >++++ code/qcommon/vm.c Wed May 31 23:19:43 2006 >+@@ -225,7 +225,7 @@ >+ return; >+ } >+ >+- COM_StripExtension( vm->name, name ); >++ COM_StripExtension( vm->name, name, sizeof(name) ); >+ Com_sprintf( symbols, sizeof( symbols ), "vm/%s.map", name ); >+ len = FS_ReadFile( symbols, (void **)&mapfile ); >+ if ( !mapfile ) { >+@@ -478,7 +478,7 @@ >+ } >+ } >+ >+- if ( interpret == VMI_NATIVE ) { >++ if ( 1 ) { >+ // try to load as a system dll >+ Com_Printf( "Loading dll file %s.\n", vm->name ); >+ vm->dllHandle = Sys_LoadDll( module, vm->fqpath , &vm->entryPoint, VM_DllSyscall ); >+@@ -826,7 +826,7 @@ >+ >+ >+ >+-#ifdef oDLL_ONLY // bk010215 - for DLL_ONLY dedicated servers/builds w/o VM >++#ifdef DLL_ONLY // bk010215 - for DLL_ONLY dedicated servers/builds w/o VM >+ int VM_CallCompiled( vm_t *vm, int *args ) { >+ return(0); >+ } >Index: files/patch-code-renderer-tr_bsp.c >=================================================================== >RCS file: files/patch-code-renderer-tr_bsp.c >diff -N files/patch-code-renderer-tr_bsp.c >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-code-renderer-tr_bsp.c 1 Jun 2006 02:49:22 -0000 >@@ -0,0 +1,11 @@ >+--- ./code/renderer/tr_bsp.c.orig Wed May 31 20:52:07 2006 >++++ ./code/renderer/tr_bsp.c Wed May 31 20:55:47 2006 >+@@ -1820,7 +1820,7 @@ >+ Q_strncpyz( s_worldData.name, name, sizeof( s_worldData.name ) ); >+ >+ Q_strncpyz( s_worldData.baseName, COM_SkipPath( s_worldData.name ), sizeof( s_worldData.name ) ); >+- COM_StripExtension( s_worldData.baseName, s_worldData.baseName ); >++ COM_StripExtension( s_worldData.baseName, s_worldData.baseName, sizeof(s_worldData.baseName) ); >+ >+ startMarker = ri.Hunk_Alloc(0, h_low); >+ c_gridVerts = 0; >Index: files/patch-code-renderer-tr_shader.c >=================================================================== >RCS file: files/patch-code-renderer-tr_shader.c >diff -N files/patch-code-renderer-tr_shader.c >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-code-renderer-tr_shader.c 1 Jun 2006 02:49:22 -0000 >@@ -0,0 +1,29 @@ >+--- ./code/renderer/tr_shader.c.orig Wed May 31 20:52:08 2006 >++++ ./code/renderer/tr_shader.c Wed May 31 20:56:20 2006 >+@@ -99,7 +99,7 @@ >+ >+ // remap all the shaders with the given name >+ // even tho they might have different lightmaps >+- COM_StripExtension( shaderName, strippedName ); >++ COM_StripExtension( shaderName, strippedName, sizeof(strippedName) ); >+ hash = generateHashValue(strippedName, FILE_HASH_SIZE); >+ for (sh = hashTable[hash]; sh; sh = sh->next) { >+ if (Q_stricmp(sh->name, strippedName) == 0) { >+@@ -2368,7 +2368,7 @@ >+ return tr.defaultShader; >+ } >+ >+- COM_StripExtension( name, strippedName ); >++ COM_StripExtension( name, strippedName, sizeof(strippedName) ); >+ >+ hash = generateHashValue(strippedName, FILE_HASH_SIZE); >+ >+@@ -2436,7 +2436,7 @@ >+ lightmapIndex = LIGHTMAP_BY_VERTEX; >+ } >+ >+- COM_StripExtension( name, strippedName ); >++ COM_StripExtension( name, strippedName, sizeof(strippedName) ); >+ >+ hash = generateHashValue(strippedName, FILE_HASH_SIZE); >+ >Index: files/patch-code-server-sv_client.c >=================================================================== >RCS file: files/patch-code-server-sv_client.c >diff -N files/patch-code-server-sv_client.c >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-code-server-sv_client.c 1 Jun 2006 02:49:22 -0000 >@@ -0,0 +1,65 @@ >+--- code/server/sv_client.c.orig Wed May 31 23:18:42 2006 >++++ code/server/sv_client.c Wed May 31 23:42:43 2006 >+@@ -756,20 +756,48 @@ >+ int curindex; >+ int rate; >+ int blockspersnap; >+- int idPack, missionPack; >++ int idPack, missionPack, unreferenced = 1; >+ char errorMessage[1024]; >++ char pakbuf[MAX_OSPATH], *pakptr; >++ const char *referencedPaks; >++ int numRefPaks; >+ >+ if (!*cl->downloadName) >+ return; // Nothing being downloaded >+ >+ if (!cl->download) { >+- // We open the file here >++ // Chop off filename extension. >++ Com_sprintf(pakbuf, sizeof(pakbuf), "%s", cl->downloadName); >++ pakptr = Q_strrchr(pakbuf, '.'); >+ >+- Com_Printf( "clientDownload: %d : begining \"%s\"\n", cl - svs.clients, cl->downloadName ); >++ if (pakptr) { >++ *pakptr = '\0'; >+ >+- missionPack = FS_idPak(cl->downloadName, "missionpack"); >+- idPack = missionPack || FS_idPak(cl->downloadName, "baseq3"); >++ // Check for pk3 filename extension >++ if (!Q_stricmp(pakptr + 1, "pk3")) { >++ referencedPaks = FS_ReferencedPakNames(); >++ >++ // Check whether the file appears in the list of referenced >++ // paks to prevent downloading of arbitrary files. >++ Cmd_TokenizeString(referencedPaks); >++ numRefPaks = Cmd_Argc(); >++ >++ for (curindex = 0; curindex < numRefPaks; curindex++) { >++ if (!FS_FilenameCompare(Cmd_Argv(curindex), pakbuf)) { >++ unreferenced = 0; >++ >++ // now that we know the file is referenced, >++ // check whether it's legal to download it. >++ missionPack = FS_idPak(pakbuf, "missionpack"); >++ idPack = missionPack || FS_idPak(pakbuf, BASEGAME); >++ >++ break; >++ } >++ } >++ } >++ } >+ >++ // We open the file here >+ if ( !sv_allowDownload->integer || idPack || >+ ( cl->downloadSize = FS_SV_FOpenFileRead( cl->downloadName, &cl->download ) ) <= 0 ) { >+ // cannot auto-download file >+@@ -809,6 +837,8 @@ >+ return; >+ } >+ >++ Com_Printf( "clientDownload: %d : beginning \"%s\"\n", cl - svs.clients, cl->downloadName ); >++ >+ // Init >+ cl->downloadCurrentBlock = cl->downloadClientBlock = cl->downloadXmitBlock = 0; >+ cl->downloadCount = 0; >Index: files/patch-code-ui-ui_main.c >=================================================================== >RCS file: files/patch-code-ui-ui_main.c >diff -N files/patch-code-ui-ui_main.c >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-code-ui-ui_main.c 1 Jun 2006 02:49:22 -0000 >@@ -0,0 +1,11 @@ >+--- ./code/ui/ui_main.c.orig Wed May 31 20:52:08 2006 >++++ ./code/ui/ui_main.c Wed May 31 20:56:29 2006 >+@@ -4971,7 +4971,7 @@ >+ { >+ filelen = strlen(fileptr); >+ >+- COM_StripExtension(fileptr,skinname); >++ COM_StripExtension(fileptr, skinname, sizeof(skinname)); >+ >+ // look for icon_???? >+ if (Q_stricmpn(skinname, "icon_", 5) == 0 && !(Q_stricmp(skinname,"icon_blue") == 0 || Q_stricmp(skinname,"icon_red") == 0)) >Index: files/patch-code-ui-ui_players.c >=================================================================== >RCS file: files/patch-code-ui-ui_players.c >diff -N files/patch-code-ui-ui_players.c >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-code-ui-ui_players.c 1 Jun 2006 02:49:22 -0000 >@@ -0,0 +1,18 @@ >+--- ./code/ui/ui_players.c.orig Wed May 31 20:52:08 2006 >++++ ./code/ui/ui_players.c Wed May 31 20:56:47 2006 >+@@ -70,13 +70,13 @@ >+ >+ if ( weaponNum == WP_MACHINEGUN || weaponNum == WP_GAUNTLET || weaponNum == WP_BFG ) { >+ strcpy( path, item->world_model[0] ); >+- COM_StripExtension( path, path ); >++ COM_StripExtension( path, path, sizeof(path) ); >+ strcat( path, "_barrel.md3" ); >+ pi->barrelModel = trap_R_RegisterModel( path ); >+ } >+ >+ strcpy( path, item->world_model[0] ); >+- COM_StripExtension( path, path ); >++ COM_StripExtension( path, path, sizeof(path) ); >+ strcat( path, "_flash.md3" ); >+ pi->flashModel = trap_R_RegisterModel( path ); >+ >Index: files/patch-code-unix-Conscript-client >=================================================================== >RCS file: files/patch-code-unix-Conscript-client >diff -N files/patch-code-unix-Conscript-client >--- files/patch-code-unix-Conscript-client 20 Mar 2006 15:21:27 -0000 1.1 >+++ /dev/null 1 Jan 1970 00:00:00 -0000 >@@ -1,26 +0,0 @@ >---- code/unix/Conscript-client.orig Fri Mar 17 13:50:18 2006 >-+++ code/unix/Conscript-client Fri Mar 17 13:50:40 2006 >-@@ -147,13 +147,13 @@ >- LINK => $LINK, >- ENV => { PATH => $ENV{PATH}, HOME => $ENV{HOME} }, >- CFLAGS => $BASE_CFLAGS, >-- LIBS => ' ' . $BUILD_DIR . '/unix/splines.a ' >-+ LIBS => ' ' >- . $BUILD_DIR . '/unix/botlib.a ' >- . $BUILD_DIR . '/unix/jpeglib.a ' >- . $BUILD_DIR . '/unix/asmlib.a ' >- . $BUILD_DIR . '/unix/inlinelib.a ' >- . $BASE_LDFLAGS >-- . '-L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm -ldl -lm' >-+ . '-L%%X11BASE%%/lib -lX11 -lXext -lXxf86dga -lXxf86vm -lm' >- ); >- >- @RENDERER_FILES = qw( >-@@ -231,7 +231,6 @@ >- ../unix/linux_common.c >- ../unix/linux_qgl.c >- ../unix/linux_glimp.c >-- ../unix/linux_joystick.c >- ../unix/linux_snd.c >- ../unix/linux_signals.c >- ); >Index: files/patch-code-unix-Makefile >=================================================================== >RCS file: files/patch-code-unix-Makefile >diff -N files/patch-code-unix-Makefile >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-code-unix-Makefile 1 Jun 2006 02:49:22 -0000 >@@ -0,0 +1,352 @@ >+--- ./code/unix/Makefile.orig Wed May 31 20:52:08 2006 >++++ ./code/unix/Makefile Wed May 31 20:52:09 2006 >+@@ -19,6 +19,7 @@ >+ >+ PLATFORM=$(shell uname|tr A-Z a-z) >+ PLATFORM_RELEASE=$(shell uname -r) >++ARCH=$(shell uname -m) >+ >+ ### >+ ### These paths are where you probably want to change things >+@@ -34,7 +35,7 @@ >+ >+ # Build name >+ # BUILD_NAME=$(BUILD_NAME) >+-BUILD_NAME=quake3.x86 >++BUILD_NAME=quake3 >+ >+ >+ >+@@ -46,8 +47,8 @@ >+ >+ BASEQ3_DIR=$(BDIR)/baseq3 >+ >+-BD=debug$(ARCH)$(GLIBC) >+-BR=release$(ARCH)$(GLIBC) >++BD=debug >++BR=release >+ CDIR=$(MOUNT_DIR)/client >+ SDIR=$(MOUNT_DIR)/server >+ RDIR=$(MOUNT_DIR)/renderer >+@@ -76,7 +77,7 @@ >+ ############################################################################# >+ >+ ## Defaults >+-DLL_ONLY=false >++DLL_ONLY?=false >+ # bk010215 - TODO - add all defaults / kill Ryan >+ >+ >+@@ -197,33 +198,35 @@ >+ >+ ifeq ($(PLATFORM),freebsd) >+ >++ifeq ($(ARCH),powerpc) >++ARCH=ppc >++endif >++ >+ GLIBC= #libc is irrelevant >+ >+-ifneq (,$(findstring alpha,$(shell uname -m))) >+-ARCH=axp >+-RPMARCH=alpha >+-VENDOR=dec >+-else #default to i386 >+-ARCH=i386 >+-RPMARCH=i386 >+-VENDOR=unknown >+-endif #alpha test >++BASE_CFLAGS = $(CFLAGS) -DDATADIR='\"$(Q3DIR)\"' -DLIBDIR='\"$(LIBDIR)\"' -pipe >+ >++GL_CFLAGS = -I$(X11BASE)/include >+ >+-BASE_CFLAGS = -pipe >++DEBUG_CFLAGS=$(BASE_CFLAGS) -g -Wall -Werror >++RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG >+ >+-GL_CFLAGS = -I$(MESADIR)/include -I/usr/X11R6/include >++ifdef OPTIMIZED_CFLAGS >++ ifeq ($(ARCH),i386) >++RELEASE_CFLAGS=$(BASE_CFLAGS) -O6 -fomit-frame-pointer -pipe -ffast-math -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fno-strict-aliasing -fstrength-reduce >++ else >++RELEASE_CFLAGS=$(BASE_CFLAGS) -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations >++ endif >++endif >+ >+-DEBUG_CFLAGS=$(BASE_CFLAGS) -g -Wall -Werror >+-ifeq ($(ARCH),axp) >+-CC=pgcc >+-RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O6 -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations >+-else >+-#NEWPGCC=/loki/global/x86/bin/gcc # raistlin012301 >+-#NEWPGCC=/usr/local/gcc-2.95.2/bin/gcc >+-NEWPGCC=/home/raistllin/src/gcc/build/install/bin/gcc >+-CC=$(shell if [ -f $(NEWPGCC) ]; then echo $(NEWPGCC); else echo pgcc; fi ) >+-RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG -O6 -mcpu=pentiumpro -march=pentium -fomit-frame-pointer -pipe -ffast-math -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fno-strict-aliasing - fstrength-reduce >++ifneq ($(ARCH),i386) >++ifneq ($(ARCH),ppc) >++DLL_ONLY=true >++endif >++endif >++ >++ifeq ($(DLL_ONLY),true) >++BASE_CFLAGS += -DDLL_ONLY >+ endif >+ >+ LIBEXT=a >+@@ -235,25 +238,37 @@ >+ ARFLAGS=ar rv >+ RANLIB=ranlib >+ >+-THREAD_LDFLAGS=-lpthread >++THREAD_LDFLAGS=$(PTHREAD_LIBS) >+ # don't need -ldl (FreeBSD) >+-LDFLAGS=-lm >++LDFLAGS+=-lm >+ #GLLDFLAGS=-L/usr/X11R6/lib -L$(MESADIR)/lib -lGL -lX11 -lXext -lXxf86dga -lXxf86vm >+ #GLLDFLAGS=-L/usr/X11/lib -lGL -lX11 -lXext -lm >+-GLLDFLAGS=-L/usr/X11R6/lib -lGL -lX11 -lXext -lXxf86dga -lXxf86vm >++GLLDFLAGS=-L$(X11BASE)/lib -lGL -lX11 -lXext -lXxf86dga -lXxf86vm >+ >+-ifeq ($(ARCH),axp) >+-TARGETS=\ >+- $(B)/$(PLATFORM)q3ded >+-else >+-TARGETS=\ >+- $(B)/$(PLATFORM)quake3 \ >+- $(B)/baseq3/cgame$(ARCH).$(SHLIBEXT) \ >+- $(B)/baseq3/qagame$(ARCH).$(SHLIBEXT) \ >+- $(B)/baseq3/ui$(ARCH).$(SHLIBEXT) \ >+- $(B)/missionpack/cgame$(ARCH).$(SHLIBEXT) \ >+- $(B)/missionpack/qagame$(ARCH).$(SHLIBEXT) \ >+- $(B)/missionpack/ui$(ARCH).$(SHLIBEXT) >++ifdef CLIENT >++TARGETS+=$(B)/cleanq3 >++endif >++ >++ifdef DEDICATED >++TARGETS+=$(B)/cleanq3ded >++endif >++ >++ifdef SMP >++TARGETS+=$(B)/cleanq3-smp >++endif >++ >++ifeq ($(DLL_ONLY),true) >++GAMELIBS=yes >++endif >++ >++ifdef GAMELIBS >++TARGETS+=\ >++ $(B)/baseq3/cgame.$(SHLIBEXT) \ >++ $(B)/baseq3/qagame.$(SHLIBEXT) \ >++ $(B)/baseq3/ui.$(SHLIBEXT) \ >++ $(B)/missionpack/cgame.$(SHLIBEXT) \ >++ $(B)/missionpack/qagame.$(SHLIBEXT) \ >++ $(B)/missionpack/ui.$(SHLIBEXT) >+ endif >+ >+ else # ifeq freebsd >+@@ -348,7 +363,7 @@ >+ $(MAKE) targets B=$(BR) CFLAGS="$(RELEASE_CFLAGS)" >+ >+ #Build both debug and release builds >+-all:build_debug build_release >++all:build_release >+ >+ targets:makedirs $(TARGETS) >+ >+@@ -516,20 +531,6 @@ >+ $(B)/client/unix_net.o \ >+ $(B)/client/unix_shared.o \ >+ \ >+- $(B)/client/ahoptim.o \ >+- $(B)/client/autohint.o \ >+- $(B)/client/ftbase.o \ >+- $(B)/client/ftdebug.o \ >+- $(B)/client/ftglyph.o \ >+- $(B)/client/ftinit.o \ >+- $(B)/client/ftmm.o \ >+- $(B)/client/ftsystem.o \ >+- $(B)/client/raster1.o \ >+- $(B)/client/sfnt.o \ >+- $(B)/client/sfobjs.o \ >+- $(B)/client/smooth.o \ >+- $(B)/client/truetype.o >+-# \ >+ # $(B)/client/q_parse.o \ >+ # $(B)/client/math_quaternion.o \ >+ # $(B)/client/util_str.o \ >+@@ -541,7 +542,9 @@ >+ # $(B)/client/q_shared.o \ >+ >+ ifeq ($(ARCH),i386) >+- Q3OBJ += $(B)/client/vm_x86.o >++ ifeq ($(DLL_ONLY),false) >++ Q3OBJ += $(B)/client/vm_x86.o >++ endif >+ endif >+ >+ ifeq ($(ARCH),ppc) >+@@ -559,10 +562,24 @@ >+ $(B)/client/linux_qgl.o \ >+ $(B)/client/linux_glimp.o \ >+ $(B)/client/linux_snd.o \ >++ $(B)/client/linux_signals.o \ >++ $(B)/client/snd_mixa.o \ >++ $(B)/client/matha.o >++ >++ Q3POBJ_SMP=\ >++ $(B)/client/linux_common.o \ >++ $(B)/client/linux_qgl.o \ >++ $(B)/client/linux_glimp_smp.o \ >++ $(B)/client/linux_snd.o \ >++ $(B)/client/linux_signals.o \ >+ $(B)/client/snd_mixa.o \ >+ $(B)/client/matha.o \ >+- $(B)/client/ftol.o \ >+- $(B)/client/snapvector.o >++ >++ ifeq ($(ARCH),i386) >++ Q3POBJ += $(B)/client/ftol.o $(B)/client/snapvector.o >++ Q3POBJ_SMP += $(B)/client/ftol.o $(B)/client/snapvector.o >++ endif >++ >+ else >+ ifeq ($(PLATFORM),irix) >+ Q3POBJ=\ >+@@ -602,12 +619,12 @@ >+ endif #FreeBSD >+ endif #IRIX >+ >+-$(B)/$(PLATFORM)quake3 : $(Q3OBJ) $(Q3POBJ) >++$(B)/cleanq3 : $(Q3OBJ) $(Q3POBJ) >+ $(CC) -o $@ $(Q3OBJ) $(Q3POBJ) $(GLLDFLAGS) $(LDFLAGS) >+ # TTimo: splines code requires C++ linking, but splines have not been officially included in the codebase >+ # $(CXX) -o $@ $(Q3OBJ) $(Q3POBJ) $(GLLDFLAGS) $(LDFLAGS) >+ >+-$(B)/$(PLATFORM)quake3-smp : $(Q3OBJ) $(Q3POBJ_SMP) >++$(B)/cleanq3-smp : $(Q3OBJ) $(Q3POBJ_SMP) >+ $(CC) -o $@ $(Q3OBJ) $(Q3POBJ_SMP) $(GLLDFLAGS) \ >+ $(THREAD_LDFLAGS) $(LDFLAGS) >+ >+@@ -758,6 +775,7 @@ >+ $(B)/client/linux_qgl.o : $(UDIR)/linux_qgl.c; $(DO_CC) $(GL_CFLAGS) >+ $(B)/client/linux_input.o : $(UDIR)/linux_input.c; $(DO_CC) >+ $(B)/client/linux_snd.o : $(UDIR)/linux_snd.c; $(DO_CC) >++$(B)/client/linux_signals.o : $(UDIR)/linux_signals.c; $(DO_CC) $(GL_CFLAGS) >+ $(B)/client/snd_mixa.o : $(UDIR)/snd_mixa.s; $(DO_AS) >+ $(B)/client/matha.o : $(UDIR)/matha.s; $(DO_AS) >+ >+@@ -912,13 +930,17 @@ >+ $(B)/ded/unix_main.o \ >+ $(B)/ded/unix_net.o \ >+ $(B)/ded/unix_shared.o \ >++ $(B)/ded/linux_signals.o \ >+ \ >+ $(B)/ded/null_client.o \ >+ $(B)/ded/null_input.o \ >+ $(B)/ded/null_snddma.o >+ >+ ifeq ($(ARCH),i386) >+- Q3DOBJ += $(B)/ded/vm_x86.o $(B)/ded/ftol.o $(B)/ded/snapvector.o >++ Q3DOBJ += $(B)/ded/ftol.o $(B)/ded/snapvector.o >++ ifeq ($(DLL_ONLY),false) >++ Q3DOBJ += $(B)/ded/vm_x86.o >++ endif >+ endif >+ >+ ifeq ($(ARCH),ppc) >+@@ -927,7 +949,7 @@ >+ endif >+ endif >+ >+-$(B)/$(PLATFORM)q3ded : $(Q3DOBJ) >++$(B)/cleanq3ded : $(Q3DOBJ) >+ $(CC) -o $@ $(Q3DOBJ) $(LDFLAGS) >+ >+ $(B)/ded/sv_bot.o : $(SDIR)/sv_bot.c; $(DO_DED_CC) >+@@ -988,6 +1010,7 @@ >+ $(B)/ded/unix_main.o : $(UDIR)/unix_main.c; $(DO_DED_CC) >+ $(B)/ded/unix_net.o : $(UDIR)/unix_net.c; $(DO_DED_CC) >+ $(B)/ded/unix_shared.o : $(UDIR)/unix_shared.c; $(DO_DED_CC) >++$(B)/ded/linux_signals.o : $(UDIR)/linux_signals.c; $(DO_DED_CC) >+ $(B)/ded/null_client.o : $(NDIR)/null_client.c; $(DO_DED_CC) >+ $(B)/ded/null_input.o : $(NDIR)/null_input.c; $(DO_DED_CC) >+ $(B)/ded/null_snddma.o : $(NDIR)/null_snddma.c; $(DO_DED_CC) >+@@ -1068,7 +1091,7 @@ >+ $(B)/baseq3/cgame/q_math.o \ >+ $(B)/baseq3/cgame/q_shared.o >+ >+-$(B)/baseq3/cgame$(ARCH).$(SHLIBEXT) : $(Q3CGOBJ) >++$(B)/baseq3/cgame.$(SHLIBEXT) : $(Q3CGOBJ) >+ $(CC) $(SHLIBLDFLAGS) -o $@ $(Q3CGOBJ) >+ >+ $(B)/baseq3/cgame/bg_misc.o : $(GDIR)/bg_misc.c; $(DO_SHLIB_CC) >+@@ -1128,7 +1151,7 @@ >+ $(B)/missionpack/cgame/q_shared.o \ >+ $(B)/missionpack/cgame/ui_shared.o >+ >+-$(B)/missionpack/cgame$(ARCH).$(SHLIBEXT) : $(MPCGOBJ) >++$(B)/missionpack/cgame.$(SHLIBEXT) : $(MPCGOBJ) >+ $(CC) $(SHLIBLDFLAGS) -o $@ $(MPCGOBJ) >+ >+ $(B)/missionpack/cgame/bg_misc.o : $(GDIR)/bg_misc.c; $(DO_SHLIB_CC) -DMISSIONPACK >+@@ -1200,7 +1223,7 @@ >+ $(B)/baseq3/game/q_math.o \ >+ $(B)/baseq3/game/q_shared.o >+ >+-$(B)/baseq3/qagame$(ARCH).$(SHLIBEXT) : $(Q3GOBJ) >++$(B)/baseq3/qagame.$(SHLIBEXT) : $(Q3GOBJ) >+ $(CC) $(SHLIBLDFLAGS) -o $@ $(Q3GOBJ) >+ >+ $(B)/baseq3/game/ai_chat.o : $(GDIR)/ai_chat.c; $(DO_SHLIB_CC) >+@@ -1278,7 +1301,7 @@ >+ $(B)/missionpack/game/q_math.o \ >+ $(B)/missionpack/game/q_shared.o >+ >+-$(B)/missionpack/qagame$(ARCH).$(SHLIBEXT) : $(MPGOBJ) >++$(B)/missionpack/qagame.$(SHLIBEXT) : $(MPGOBJ) >+ $(CC) $(SHLIBLDFLAGS) -o $@ $(MPGOBJ) >+ >+ $(B)/missionpack/game/ai_chat.o : $(GDIR)/ai_chat.c; $(DO_SHLIB_CC) -DMISSIONPACK >+@@ -1367,7 +1390,7 @@ >+ $(B)/baseq3/ui/q_math.o \ >+ $(B)/baseq3/ui/q_shared.o >+ >+-$(B)/baseq3/ui$(ARCH).$(SHLIBEXT) : $(Q3UIOBJ) >++$(B)/baseq3/ui.$(SHLIBEXT) : $(Q3UIOBJ) >+ $(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(Q3UIOBJ) >+ >+ $(B)/baseq3/ui/bg_misc.o : $(GDIR)/bg_misc.c; $(DO_SHLIB_CC) >+@@ -1410,7 +1433,7 @@ >+ $(B)/baseq3/ui/ui_startserver.o : $(Q3UIDIR)/ui_startserver.c; $(DO_SHLIB_CC) >+ $(B)/baseq3/ui/ui_team.o : $(Q3UIDIR)/ui_team.c; $(DO_SHLIB_CC) >+ $(B)/baseq3/ui/ui_teamorders.o : $(Q3UIDIR)/ui_teamorders.c; $(DO_SHLIB_CC) >+-$(B)/baseq3/ui/ui_syscalls.o : $(Q3UIDIR)/ui_syscalls.c; $(DO_SHLIB_CC) >++$(B)/baseq3/ui/ui_syscalls.o : $(UIDIR)/ui_syscalls.c; $(DO_SHLIB_CC) >+ $(B)/baseq3/ui/ui_video.o : $(Q3UIDIR)/ui_video.c; $(DO_SHLIB_CC) >+ >+ # bk001205 - these wre the only SHLIB compiles in 1.17 >+@@ -1450,7 +1473,7 @@ >+ # $(B)/missionpack/ui/q_math.o \ >+ # $(B)/missionpack/ui/q_shared.o >+ >+-$(B)/missionpack/ui$(ARCH).$(SHLIBEXT) : $(MPUIOBJ) >++$(B)/missionpack/ui.$(SHLIBEXT) : $(MPUIOBJ) >+ $(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(MPUIOBJ) >+ >+ $(B)/missionpack/ui/ui_atoms.o : $(UIDIR)/ui_atoms.c; $(DO_SHLIB_CC) -DMISSIONPACK >+@@ -2059,9 +2082,9 @@ >+ >+ copyfiles: >+ -mkdirhier $(COPYDIR) >+- cp $(BR)/linuxquake3 $(COPYDIR)/quake3.x86 >+- strip $(COPYDIR)/quake3.x86 >+- chmod 755 $(COPYDIR)/quake3.x86 >++ cp $(BR)/linuxquake3 $(COPYDIR)/quake3 >++ strip $(COPYDIR)/quake3 >++ chmod 755 $(COPYDIR)/quake3 >+ cp $(BR)/linuxq3ded $(COPYDIR)/q3ded >+ strip $(COPYDIR)/q3ded >+ chmod 755 $(COPYDIR)/q3ded >Index: files/patch-code-unix-cons >=================================================================== >RCS file: files/patch-code-unix-cons >diff -N files/patch-code-unix-cons >--- files/patch-code-unix-cons 20 Mar 2006 15:21:27 -0000 1.1 >+++ /dev/null 1 Jan 1970 00:00:00 -0000 >@@ -1,27 +0,0 @@ >---- code/unix/cons.orig Fri Jun 14 13:01:32 2002 >-+++ code/unix/cons Wed Nov 23 10:32:49 2005 >-@@ -271,11 +271,11 @@ >- # Defaults for a typical (?) UNIX platform. >- # Your mileage may vary. >- 'unix' => [ >-- 'CC' => 'cc', >-- 'CFLAGS' => '', >-+ 'CC' => $ENV{CC}, >-+ 'CFLAGS' => $ENV{CFLAGS}, >- 'CCCOM' => '%CC %CFLAGS %_IFLAGS -c %< -o %>', >-- 'CXX' => '%CC', >-- 'CXXFLAGS' => '%CFLAGS', >-+ 'CXX' => $ENV{CXX}, >-+ 'CXXFLAGS' => $ENV{CXXFLAGS}, >- 'CXXCOM' => '%CXX %CXXFLAGS %_IFLAGS -c %< -o %>', >- 'INCDIRPREFIX' => '-I', >- 'INCDIRSUFFIX' => '', >-@@ -294,7 +294,7 @@ >- 'LD' => 'ld', >- 'LDFLAGS' => '', >- 'PREFLIB' => 'lib', >-- 'ENV' => { 'PATH' => '/bin:/usr/bin' }, >-+ 'ENV' => { 'PATH' => '/bin:/usr/bin:/usr/local/bin' }, >- ], >- ); >- >Index: files/patch-code-unix-unix_main.c >=================================================================== >RCS file: /home/pcvs/ports/games/cleanq3/files/patch-code-unix-unix_main.c,v >retrieving revision 1.1 >diff -u -r1.1 patch-code-unix-unix_main.c >--- files/patch-code-unix-unix_main.c 20 Mar 2006 15:21:27 -0000 1.1 >+++ files/patch-code-unix-unix_main.c 1 Jun 2006 02:49:22 -0000 >@@ -1,5 +1,5 @@ >---- code/unix/unix_main.c.orig Mon Mar 20 18:39:10 2006 >-+++ code/unix/unix_main.c Mon Mar 20 20:24:22 2006 >+--- ./code/unix/unix_main.c.orig Wed May 31 20:52:08 2006 >++++ ./code/unix/unix_main.c Wed May 31 20:52:09 2006 > @@ -722,17 +722,7 @@ > assert( name ); > >@@ -25,7 +25,7 @@ > { > + Com_Printf( "Sys_LoadDll(%s) failed:\n\"%s\"\n", fn, dlerror() ); > + // FreeBSD package installation path >-+ fn = FS_BuildOSPath( "%%PREFIX%%/lib/cleanq3", gamedir, fname ); >++ fn = FS_BuildOSPath( LIBDIR , gamedir, fname ); > + Com_Printf( "Sys_LoadDll(%s)... \n", fn ); > + libHandle = dlopen( fn, Q_RTLD ); > + >Index: files/patch-code-unix-unix_shared.c >=================================================================== >RCS file: /home/pcvs/ports/games/cleanq3/files/patch-code-unix-unix_shared.c,v >retrieving revision 1.1 >diff -u -r1.1 patch-code-unix-unix_shared.c >--- files/patch-code-unix-unix_shared.c 20 Mar 2006 15:21:27 -0000 1.1 >+++ files/patch-code-unix-unix_shared.c 1 Jun 2006 02:49:23 -0000 >@@ -1,11 +1,11 @@ >---- code/unix/unix_shared.c.orig Mon Aug 15 20:10:07 2005 >-+++ code/unix/unix_shared.c Sun Nov 20 18:41:22 2005 >+--- ./code/unix/unix_shared.c.orig Wed May 31 20:52:08 2006 >++++ ./code/unix/unix_shared.c Wed May 31 20:52:09 2006 > @@ -38,7 +38,7 @@ > static char cdPath[MAX_OSPATH]; > > // Used to determine local installation path > -static char installPath[MAX_OSPATH]; >-+static char installPath[MAX_OSPATH] = %%Q3DIR%%; >++static char installPath[MAX_OSPATH] = DATADIR; > > // Used to determine where to store user-specific files > static char homePath[MAX_OSPATH]; >@@ -34,7 +34,7 @@ > > // test the wrap issue > #if 0 >-@@ -136,7 +140,7 @@ >+@@ -136,10 +140,10 @@ > > return ret; > } >@@ -42,4 +42,8 @@ > +// #endif > > //#if 0 // bk001215 - see snapvector.nasm for replacement >- #if (defined __APPLE__) // rcg010206 - using this for PPC builds... >+-#if (defined __APPLE__) // rcg010206 - using this for PPC builds... >++#ifndef __i386__ // rcg010206 - using this for PPC builds... >+ long fastftol( float f ) { // bk001213 - from win32/win_shared.c >+ //static int tmp; >+ // __asm fld f
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 98295
: 66540