From DONOTREPLY at icculus.org Tue Aug 1 07:41:49 2006 From: DONOTREPLY at icculus.org (DONOTREPLY at icculus.org) Date: 1 Aug 2006 07:41:49 -0400 Subject: r827 - trunk/code/win32 Message-ID: <20060801114149.1949.qmail@icculus.org> Author: tma Date: 2006-08-01 07:41:49 -0400 (Tue, 01 Aug 2006) New Revision: 827 Modified: trunk/code/win32/win_local.h trunk/code/win32/win_shared.c Log: * Windows home directory support (tjw) Modified: trunk/code/win32/win_local.h =================================================================== --- trunk/code/win32/win_local.h 2006-07-31 19:05:14 UTC (rev 826) +++ trunk/code/win32/win_local.h 2006-08-01 11:41:49 UTC (rev 827) @@ -37,6 +37,7 @@ #include #include #include +#include void IN_MouseEvent (int mstate); Modified: trunk/code/win32/win_shared.c =================================================================== --- trunk/code/win32/win_shared.c 2006-07-31 19:05:14 UTC (rev 826) +++ trunk/code/win32/win_shared.c 2006-08-01 11:41:49 UTC (rev 827) @@ -285,7 +285,26 @@ } char *Sys_DefaultHomePath(void) { - return NULL; + TCHAR szPath[MAX_PATH]; + static char path[MAX_OSPATH]; + + if( !SUCCEEDED( SHGetFolderPath( NULL, CSIDL_LOCAL_APPDATA, + NULL, 0, szPath ) ) ) + { + + return NULL; + } + Q_strncpyz( path, szPath, sizeof(path) ); + Q_strcat( path, sizeof(path), "\\Quake3" ); + if( CreateDirectory( path, NULL ) ) + { + if( GetLastError() != ERROR_ALREADY_EXISTS ) + { + Com_Printf("Unable to create directory \"%s\"\n", path); + return NULL; + } + } + return path; } char *Sys_DefaultInstallPath(void) From DONOTREPLY at icculus.org Tue Aug 1 12:51:14 2006 From: DONOTREPLY at icculus.org (DONOTREPLY at icculus.org) Date: 1 Aug 2006 12:51:14 -0400 Subject: r828 - trunk/code/qcommon Message-ID: <20060801165114.5337.qmail@icculus.org> Author: tjw Date: 2006-08-01 12:51:13 -0400 (Tue, 01 Aug 2006) New Revision: 828 Modified: trunk/code/qcommon/cvar.c Log: bug 2810 once a latched cvar was changed it could not be reset to its original value Modified: trunk/code/qcommon/cvar.c =================================================================== --- trunk/code/qcommon/cvar.c 2006-08-01 11:41:49 UTC (rev 827) +++ trunk/code/qcommon/cvar.c 2006-08-01 16:51:13 UTC (rev 828) @@ -331,7 +331,11 @@ value = var->resetString; } - if (!strcmp(value,var->string)) { + if((var->flags & CVAR_LATCH) && var->latchedString) { + if(!strcmp(value,var->latchedString)) + return var; + } + else if (!strcmp(value,var->string)) { return var; } // note what types of cvars have been modified (userinfo, archive, serverinfo, systeminfo) From DONOTREPLY at icculus.org Tue Aug 1 13:36:48 2006 From: DONOTREPLY at icculus.org (DONOTREPLY at icculus.org) Date: 1 Aug 2006 13:36:48 -0400 Subject: r829 - in trunk: . code/win32 Message-ID: <20060801173648.21016.qmail@icculus.org> Author: tjw Date: 2006-08-01 13:36:47 -0400 (Tue, 01 Aug 2006) New Revision: 829 Modified: trunk/Makefile trunk/code/win32/win_shared.c Log: bug 2813 * fixed bug with new win32 home path detection * added SHFolder.lib linking to the mingw build for win98/win95 compat Modified: trunk/Makefile =================================================================== --- trunk/Makefile 2006-08-01 16:51:13 UTC (rev 828) +++ trunk/Makefile 2006-08-01 17:36:47 UTC (rev 829) @@ -385,7 +385,7 @@ BINEXT=.exe - LDFLAGS= -mwindows -lwsock32 -lgdi32 -lwinmm -lole32 + LDFLAGS= -mwindows -lshfolder -lwsock32 -lgdi32 -lwinmm -lole32 CLIENT_LDFLAGS= ifeq ($(USE_CODEC_VORBIS),1) Modified: trunk/code/win32/win_shared.c =================================================================== --- trunk/code/win32/win_shared.c 2006-08-01 16:51:13 UTC (rev 828) +++ trunk/code/win32/win_shared.c 2006-08-01 17:36:47 UTC (rev 829) @@ -296,7 +296,7 @@ } Q_strncpyz( path, szPath, sizeof(path) ); Q_strcat( path, sizeof(path), "\\Quake3" ); - if( CreateDirectory( path, NULL ) ) + if( !CreateDirectory( path, NULL ) ) { if( GetLastError() != ERROR_ALREADY_EXISTS ) { From DONOTREPLY at icculus.org Wed Aug 2 00:02:31 2006 From: DONOTREPLY at icculus.org (DONOTREPLY at icculus.org) Date: 2 Aug 2006 00:02:31 -0400 Subject: r830 - in trunk: . code/client code/libs/macosx code/qcommon code/unix Message-ID: <20060802040231.29353.qmail@icculus.org> Author: tjw Date: 2006-08-02 00:01:36 -0400 (Wed, 02 Aug 2006) New Revision: 830 Added: trunk/make-macosx-ub.sh Modified: trunk/Makefile trunk/code/client/snd_openal.c trunk/code/libs/macosx/libSDL-1.2.0.dylib trunk/code/qcommon/files.c trunk/code/unix/sdl_glimp.c trunk/code/unix/unix_net.c Log: bug 2723 * adds a shell script ./make-macosx-ub.sh that builds Mac OS X Universal Binary * fixes Mac OS X x86 VM crashes (-mstackrealign) * adds current working directory to the search path on Mac OS X to make working with .app bundles easier * various tweaks to make ioquake3 build against the 10.2 SDK * changed default OpenAL .dylib location to the path of the one included with the Framework bundled in 10.4 (for USE_OPENAL_DLOPEN) * updated to a Universal libSDL-1.2.0.dylib Modified: trunk/Makefile =================================================================== --- trunk/Makefile 2006-08-01 17:36:47 UTC (rev 829) +++ trunk/Makefile 2006-08-02 04:01:36 UTC (rev 830) @@ -262,45 +262,108 @@ ifeq ($(PLATFORM),darwin) CC=gcc - - # !!! FIXME: calling conventions are still broken! See Bugzilla #2519 VM_PPC=vm_ppc_new + HAVE_VM_COMPILED=true + BASE_CFLAGS= + CLIENT_LDFLAGS= + LDFLAGS= + OPTIMIZE= + ifeq ($(BUILD_MACOSX_UB),ppc) + CC=gcc-3.3 + BASE_CFLAGS += -arch ppc -DSMP \ + -DMAC_OS_X_VERSION_MIN_REQUIRED=1020 -nostdinc \ + -F/Developer/SDKs/MacOSX10.2.8.sdk/System/Library/Frameworks \ + -I/Developer/SDKs/MacOSX10.2.8.sdk/usr/include/gcc/darwin/3.3 \ + -isystem /Developer/SDKs/MacOSX10.2.8.sdk/usr/include + # when using the 10.2 SDK we are not allowed the two-level namespace so + # in order to get the OpenAL dlopen() stuff to work without major + # modifications, the controversial -m linker flag must be used. this + # throws a ton of multiply defined errors which cannot be suppressed. + LDFLAGS += -arch ppc \ + -L/Developer/SDKs/MacOSX10.2.8.sdk/usr/lib/gcc/darwin/3.3 \ + -F/Developer/SDKs/MacOSX10.2.8.sdk/System/Library/Frameworks \ + -Wl,-syslibroot,/Developer/SDKs/MacOSX10.2.8.sdk,-m + ARCH=ppc - BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes - BASE_CFLAGS += -DMACOS_X -fno-common -pipe + # OS X 10.2 sdk lacks dlopen() so ded would need libSDL anyway + BUILD_SERVER=0 + # because of a problem with linking on 10.2 this will generate multiply + # defined symbol errors. The errors can be turned into warnings with + # the -m linker flag, but you can't shut up the warnings + USE_OPENAL_DLOPEN=1 + else + ifeq ($(BUILD_MACOSX_UB),x86) + CC=gcc-4.0 + BASE_CFLAGS += -arch i386 -DSMP \ + -isysroot /Developer/SDKs/MacOSX10.4u.sdk \ + -mmacosx-version-min=10.4 \ + -DMAC_OS_X_VERSION_MIN_REQUIRED=1040 -nostdinc \ + -F/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks \ + -I/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/i686-apple-darwin8/4.0.1/include \ + -isystem /Developer/SDKs/MacOSX10.4u.sdk/usr/include + LDFLAGS = -mmacosx-version-min=10.4 \ + -L/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/i686-apple-darwin8/4.0.1 + ARCH=x86 + BUILD_SERVER=0 + else + # for whatever reason using the headers in the MacOSX SDKs tend to throw + # errors even though they are identical to the system ones which don't + # therefore we shut up warning flags when running the universal build + # script as much as possible. + BASE_CFLAGS += -Wall -Wimplicit -Wstrict-prototypes + endif + endif + + ifeq ($(ARCH),ppc) + OPTIMIZE += -faltivec + # Carbon is required on PPC only to make a call to MakeDataExecutable + # in the PPC vm (should be a better non-Carbon way). + LDFLAGS += -framework Carbon + endif + ifeq ($(ARCH),x86) + OPTIMIZE += -msse2 + # x86 vm will crash without -mstackrealign since MMX instructions will be + # used no matter what and they corrupt the frame pointer in VM calls + BASE_CFLAGS += -mstackrealign + endif + + BASE_CFLAGS += -fno-strict-aliasing -DMACOS_X -fno-common -pipe + # Always include debug symbols...you can strip the binary later... BASE_CFLAGS += -gfull ifeq ($(USE_OPENAL),1) BASE_CFLAGS += -DUSE_OPENAL=1 - ifeq ($(USE_OPENAL_DLOPEN),1) + ifneq ($(USE_OPENAL_DLOPEN),1) + CLIENT_LDFLAGS += -framework OpenAL + else BASE_CFLAGS += -DUSE_OPENAL_DLOPEN=1 endif endif ifeq ($(USE_CODEC_VORBIS),1) BASE_CFLAGS += -DUSE_CODEC_VORBIS=1 + CLIENT_LDFLAGS += -lvorbisfile -lvorbis -logg endif ifeq ($(USE_SDL),1) - BASE_CFLAGS += -DUSE_SDL_VIDEO=1 -DUSE_SDL_SOUND=1 -D_THREAD_SAFE=1 -I$(SDLHDIR)/include + BASE_CFLAGS += -DUSE_SDL_VIDEO=1 -DUSE_SDL_SOUND=1 -D_THREAD_SAFE=1 \ + -I$(SDLHDIR)/include GL_CFLAGS = + # We copy sdlmain before ranlib'ing it so that subversion doesn't think + # the file has been modified by each build. + LIBSDLMAIN=$(B)/libSDLmain.a + LIBSDLMAINSRC=$(LIBSDIR)/macosx/libSDLmain.a + CLIENT_LDFLAGS += -framework Cocoa -framework OpenGL \ + $(LIBSDIR)/macosx/libSDL-1.2.0.dylib + else + # !!! FIXME: frameworks: OpenGL, Carbon, etc... + #CLIENT_LDFLAGS += -L/usr/X11R6/$(LIB) -lX11 -lXext -lXxf86dga -lXxf86vm endif - OPTIMIZE = -O3 -ffast-math -falign-loops=16 + OPTIMIZE += -O3 -ffast-math -falign-loops=16 - ifeq ($(ARCH),ppc) - BASE_CFLAGS += -faltivec - ifneq ($(VM_PPC),) - HAVE_VM_COMPILED=true - endif - endif - - ifeq ($(ARCH),i386) - # !!! FIXME: x86-specific flags here... - endif - ifneq ($(HAVE_VM_COMPILED),true) BASE_CFLAGS += -DNO_VM_COMPILED endif @@ -315,34 +378,6 @@ NOTSHLIBCFLAGS=-mdynamic-no-pic - #THREAD_LDFLAGS=-lpthread - #LDFLAGS=-ldl -lm - LDFLAGS += -framework Carbon - - ifeq ($(USE_SDL),1) - # We copy sdlmain before ranlib'ing it so that subversion doesn't think - # the file has been modified by each build. - LIBSDLMAIN=$(B)/libSDLmain.a - LIBSDLMAINSRC=$(LIBSDIR)/macosx/libSDLmain.a - CLIENT_LDFLAGS=-framework Cocoa -framework OpenGL $(LIBSDIR)/macosx/libSDL-1.2.0.dylib - else - # !!! FIXME: frameworks: OpenGL, Carbon, etc... - #CLIENT_LDFLAGS=-L/usr/X11R6/$(LIB) -lX11 -lXext -lXxf86dga -lXxf86vm - endif - - # -framework OpenAL requires 10.4 or later...for builds shipping to the - # public, you'll want to use USE_OPENAL_DLOPEN and ship your own OpenAL - # library (http://openal.org/ or http://icculus.org/al_osx/) - ifeq ($(USE_OPENAL),1) - ifneq ($(USE_OPENAL_DLOPEN),1) - CLIENT_LDFLAGS += -framework OpenAL - endif - endif - - ifeq ($(USE_CODEC_VORBIS),1) - CLIENT_LDFLAGS += -lvorbisfile -lvorbis -logg - endif - else # ifeq darwin @@ -1261,6 +1296,12 @@ $(B)/ded/snapvectora.o \ $(B)/ded/matha.o endif +ifeq ($(ARCH),x86) + Q3DOBJ += \ + $(B)/ded/ftola.o \ + $(B)/ded/snapvectora.o \ + $(B)/ded/matha.o +endif ifeq ($(HAVE_VM_COMPILED),true) ifeq ($(ARCH),i386) Modified: trunk/code/client/snd_openal.c =================================================================== --- trunk/code/client/snd_openal.c 2006-08-01 17:36:47 UTC (rev 829) +++ trunk/code/client/snd_openal.c 2006-08-02 04:01:36 UTC (rev 830) @@ -1524,6 +1524,8 @@ #ifdef _WIN32 #define ALDRIVER_DEFAULT "OpenAL32.dll" +#elif defined(MACOS_X) +#define ALDRIVER_DEFAULT "/System/Library/Frameworks/OpenAL.framework/OpenAL" #else #define ALDRIVER_DEFAULT "libopenal.so.0" #endif Modified: trunk/code/libs/macosx/libSDL-1.2.0.dylib =================================================================== (Binary files differ) Modified: trunk/code/qcommon/files.c =================================================================== --- trunk/code/qcommon/files.c 2006-08-01 17:36:47 UTC (rev 829) +++ trunk/code/qcommon/files.c 2006-08-02 04:01:36 UTC (rev 830) @@ -2829,6 +2829,10 @@ if (fs_basepath->string[0]) { FS_AddGameDirectory( fs_basepath->string, gameName ); } +#ifdef MACOS_X + // allow .app bundles to be placed along side base dir + FS_AddGameDirectory( ".", gameName ); +#endif // fs_homepath is somewhat particular to *nix systems, only add if relevant // NOTE: same filtering below for mods and basegame if (fs_basepath->string[0] && Q_stricmp(fs_homepath->string,fs_basepath->string)) { Modified: trunk/code/unix/sdl_glimp.c =================================================================== --- trunk/code/unix/sdl_glimp.c 2006-08-01 17:36:47 UTC (rev 829) +++ trunk/code/unix/sdl_glimp.c 2006-08-02 04:01:36 UTC (rev 830) @@ -67,7 +67,12 @@ #include #include #include +#if USE_SDL_VIDEO +#include "SDL.h" +#include "SDL_loadso.h" +#else #include +#endif #include "../renderer/tr_local.h" #include "../client/client.h" @@ -832,7 +837,7 @@ if ( strstr( glConfig.extensions_string, "GL_EXT_texture_filter_anisotropic" ) ) { if ( r_ext_texture_filter_anisotropic->integer ) { - qglGetIntegerv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &maxAnisotropy ); + qglGetIntegerv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, (GLint *)&maxAnisotropy ); if ( maxAnisotropy <= 0 ) { ri.Printf( PRINT_ALL, "...GL_EXT_texture_filter_anisotropic not properly supported!\n" ); maxAnisotropy = 0; Modified: trunk/code/unix/unix_net.c =================================================================== --- trunk/code/unix/unix_net.c 2006-08-01 17:36:47 UTC (rev 829) +++ trunk/code/unix/unix_net.c 2006-08-02 04:01:36 UTC (rev 830) @@ -25,6 +25,10 @@ #include "../qcommon/qcommon.h" #include +#if MAC_OS_X_VERSION_MIN_REQUIRED == 1020 + // needed for socket_t on OSX 10.2 + #define _BSD_SOCKLEN_T_ +#endif #include #include #include Added: trunk/make-macosx-ub.sh =================================================================== --- trunk/make-macosx-ub.sh 2006-08-01 17:36:47 UTC (rev 829) +++ trunk/make-macosx-ub.sh 2006-08-02 04:01:36 UTC (rev 830) @@ -0,0 +1,62 @@ +#!/bin/sh + +DESTDIR=build/release-darwin-ub +BASEDIR=baseq3 +MPACKDIR=missionpack + +BIN_OBJ=" + build/release-darwin-ppc/ioquake3.ppc + build/release-darwin-x86/ioquake3.x86 +" +BASE_OBJ=" + build/release-darwin-ppc/$BASEDIR/cgameppc.dylib + build/release-darwin-x86/$BASEDIR/cgamex86.dylib + build/release-darwin-ppc/$BASEDIR/uippc.dylib + build/release-darwin-x86/$BASEDIR/uix86.dylib + build/release-darwin-ppc/$BASEDIR/qagameppc.dylib + build/release-darwin-x86/$BASEDIR/qagamex86.dylib +" +MPACK_OBJ=" + build/release-darwin-ppc/$MPACKDIR/cgameppc.dylib + build/release-darwin-x86/$MPACKDIR/cgamex86.dylib + build/release-darwin-ppc/$MPACKDIR/uippc.dylib + build/release-darwin-x86/$MPACKDIR/uix86.dylib + build/release-darwin-ppc/$MPACKDIR/qagameppc.dylib + build/release-darwin-x86/$MPACKDIR/qagamex86.dylib +" +if [ ! -f Makefile ]; then + echo "This script must be run from the ioquake3 build directory"; +fi + +if [ ! -d /Developer/SDKs/MacOSX10.2.8.sdk ]; then + echo " +/Developer/SDKs/MacOSX10.2.8.sdk/ is missing. +The installer for this SDK is included with XCode 2.2 or newer" + exit 1; +fi + +if [ ! -d /Developer/SDKs/MacOSX10.4u.sdk ]; then + echo " +/Developer/SDKs/MacOSX10.4u.sdk/ is missing. +The installer for this SDK is included with XCode 2.2 or newer" + exit 1; +fi + +(BUILD_MACOSX_UB=ppc make && BUILD_MACOSX_UB=x86 make) || exit 1; + +if [ ! -d $DESTDIR ]; then + mkdir $DESTDIR || exit 1; +fi +if [ ! -d $DESTDIR/$BASEDIR ]; then + mkdir $DESTDIR/$BASEDIR || exit 1; +fi +if [ ! -d $DESTDIR/$MPACKDIR ]; then + mkdir $DESTDIR/$MPACKDIR || exit 1; +fi + +echo "Installing Universal Binaries in $DESTDIR" +lipo -create -o $DESTDIR/ioquake3.ub $BIN_OBJ +cp $BASE_OBJ $DESTDIR/$BASEDIR/ +cp $MPACK_OBJ $DESTDIR/$MPACKDIR/ +cp code/libs/macosx/*.dylib $DESTDIR/ + Property changes on: trunk/make-macosx-ub.sh ___________________________________________________________________ Name: svn:executable + * From DONOTREPLY at icculus.org Wed Aug 2 01:12:20 2006 From: DONOTREPLY at icculus.org (DONOTREPLY at icculus.org) Date: 2 Aug 2006 01:12:20 -0400 Subject: r831 - trunk Message-ID: <20060802051220.17210.qmail@icculus.org> Author: tjw Date: 2006-08-02 01:12:20 -0400 (Wed, 02 Aug 2006) New Revision: 831 Modified: trunk/Makefile trunk/make-macosx-ub.sh Log: bug 2723 * ARCH should be i386 instead of x86 for Mac OS X too Modified: trunk/Makefile =================================================================== --- trunk/Makefile 2006-08-02 04:01:36 UTC (rev 830) +++ trunk/Makefile 2006-08-02 05:12:20 UTC (rev 831) @@ -293,7 +293,7 @@ # the -m linker flag, but you can't shut up the warnings USE_OPENAL_DLOPEN=1 else - ifeq ($(BUILD_MACOSX_UB),x86) + ifeq ($(BUILD_MACOSX_UB),i386) CC=gcc-4.0 BASE_CFLAGS += -arch i386 -DSMP \ -isysroot /Developer/SDKs/MacOSX10.4u.sdk \ @@ -304,7 +304,7 @@ -isystem /Developer/SDKs/MacOSX10.4u.sdk/usr/include LDFLAGS = -mmacosx-version-min=10.4 \ -L/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/i686-apple-darwin8/4.0.1 - ARCH=x86 + ARCH=i386 BUILD_SERVER=0 else # for whatever reason using the headers in the MacOSX SDKs tend to throw @@ -321,7 +321,7 @@ # in the PPC vm (should be a better non-Carbon way). LDFLAGS += -framework Carbon endif - ifeq ($(ARCH),x86) + ifeq ($(ARCH),i386) OPTIMIZE += -msse2 # x86 vm will crash without -mstackrealign since MMX instructions will be # used no matter what and they corrupt the frame pointer in VM calls Modified: trunk/make-macosx-ub.sh =================================================================== --- trunk/make-macosx-ub.sh 2006-08-02 04:01:36 UTC (rev 830) +++ trunk/make-macosx-ub.sh 2006-08-02 05:12:20 UTC (rev 831) @@ -6,23 +6,23 @@ BIN_OBJ=" build/release-darwin-ppc/ioquake3.ppc - build/release-darwin-x86/ioquake3.x86 + build/release-darwin-i386/ioquake3.i386 " BASE_OBJ=" build/release-darwin-ppc/$BASEDIR/cgameppc.dylib - build/release-darwin-x86/$BASEDIR/cgamex86.dylib + build/release-darwin-i386/$BASEDIR/cgamei386.dylib build/release-darwin-ppc/$BASEDIR/uippc.dylib - build/release-darwin-x86/$BASEDIR/uix86.dylib + build/release-darwin-i386/$BASEDIR/uii386.dylib build/release-darwin-ppc/$BASEDIR/qagameppc.dylib - build/release-darwin-x86/$BASEDIR/qagamex86.dylib + build/release-darwin-i386/$BASEDIR/qagamei386.dylib " MPACK_OBJ=" build/release-darwin-ppc/$MPACKDIR/cgameppc.dylib - build/release-darwin-x86/$MPACKDIR/cgamex86.dylib + build/release-darwin-i386/$MPACKDIR/cgamei386.dylib build/release-darwin-ppc/$MPACKDIR/uippc.dylib - build/release-darwin-x86/$MPACKDIR/uix86.dylib + build/release-darwin-i386/$MPACKDIR/uii386.dylib build/release-darwin-ppc/$MPACKDIR/qagameppc.dylib - build/release-darwin-x86/$MPACKDIR/qagamex86.dylib + build/release-darwin-i386/$MPACKDIR/qagamei386.dylib " if [ ! -f Makefile ]; then echo "This script must be run from the ioquake3 build directory"; @@ -42,7 +42,7 @@ exit 1; fi -(BUILD_MACOSX_UB=ppc make && BUILD_MACOSX_UB=x86 make) || exit 1; +(BUILD_MACOSX_UB=ppc make && BUILD_MACOSX_UB=i386 make) || exit 1; if [ ! -d $DESTDIR ]; then mkdir $DESTDIR || exit 1; From DONOTREPLY at icculus.org Wed Aug 2 22:29:47 2006 From: DONOTREPLY at icculus.org (DONOTREPLY at icculus.org) Date: 2 Aug 2006 22:29:47 -0400 Subject: r832 - trunk/code/client Message-ID: <20060803022947.19907.qmail@icculus.org> Author: tjw Date: 2006-08-02 22:29:47 -0400 (Wed, 02 Aug 2006) New Revision: 832 Modified: trunk/code/client/snd_openal.c Log: bug 2747 * open music stream in S_AL_StartBackgroundTrack() instead of relying on S_AL_MusicProcess() to open it. This allows S_AL_MusicProcess() to return early when called whenever there is no open music stream to prevent a segfault. Modified: trunk/code/client/snd_openal.c =================================================================== --- trunk/code/client/snd_openal.c 2006-08-02 05:12:20 UTC (rev 831) +++ trunk/code/client/snd_openal.c 2006-08-03 02:29:47 UTC (rev 832) @@ -1369,6 +1369,9 @@ int l; ALuint format; + if(!mus_stream) + return; + l = S_CodecReadStream(mus_stream, MUSIC_BUFFER_SIZE, decode_buffer); // Run out data to read, start at the beginning again @@ -1443,6 +1446,13 @@ if(musicSourceHandle == -1) return; + mus_stream = S_CodecOpenStream(s_backgroundLoop); + if(!mus_stream) + { + S_AL_MusicSourceFree(); + return; + } + // Generate the musicBuffers qalGenBuffers(NUM_MUSIC_BUFFERS, musicBuffers); @@ -1450,19 +1460,6 @@ for(i = 0; i < NUM_MUSIC_BUFFERS; i++) { S_AL_MusicProcess(musicBuffers[i]); - - // check whether our stream still exists. - if(!mus_stream) - { - // there was an error in reading which resulted in a - // closed stream. We must bail out or we'll crash. - - // deallocate everything we allocated so far: - qalDeleteBuffers(NUM_MUSIC_BUFFERS, musicBuffers); - S_AL_MusicSourceFree(); - - return; - } } qalSourceQueueBuffers(musicSource, NUM_MUSIC_BUFFERS, musicBuffers); From DONOTREPLY at icculus.org Wed Aug 2 23:15:24 2006 From: DONOTREPLY at icculus.org (DONOTREPLY at icculus.org) Date: 2 Aug 2006 23:15:24 -0400 Subject: r833 - trunk/code/client Message-ID: <20060803031524.1541.qmail@icculus.org> Author: tjw Date: 2006-08-02 23:15:24 -0400 (Wed, 02 Aug 2006) New Revision: 833 Modified: trunk/code/client/snd_openal.c Log: bug 2747 * it turns out Apple's OpenAL only allows for 64 alSource's by default http://opensource.creative.com/pipermail/openal/2005-October/008893.html This was the main cause of the Mac OS X OpenAL probem since we were using 128 as MAX_SRC Modified: trunk/code/client/snd_openal.c =================================================================== --- trunk/code/client/snd_openal.c 2006-08-03 02:29:47 UTC (rev 832) +++ trunk/code/client/snd_openal.c 2006-08-03 03:15:24 UTC (rev 833) @@ -465,7 +465,11 @@ qboolean local; // Is this local (relative to the cam) } src_t; -#define MAX_SRC 128 +#ifdef MACOS_X + #define MAX_SRC 64 +#else + #define MAX_SRC 128 +#endif static src_t srcList[MAX_SRC]; static int srcCount = 0; static qboolean alSourcesInitialised = qfalse; From DONOTREPLY at icculus.org Tue Aug 8 19:57:20 2006 From: DONOTREPLY at icculus.org (DONOTREPLY at icculus.org) Date: 8 Aug 2006 19:57:20 -0400 Subject: r834 - trunk Message-ID: <20060808235720.22615.qmail@icculus.org> Author: zakk Date: 2006-08-08 19:57:20 -0400 (Tue, 08 Aug 2006) New Revision: 834 Modified: trunk/.svnignore Log: Makefile.local gets ignored for great justice! Modified: trunk/.svnignore =================================================================== --- trunk/.svnignore 2006-08-03 03:15:24 UTC (rev 833) +++ trunk/.svnignore 2006-08-08 23:57:20 UTC (rev 834) @@ -1 +1,2 @@ build +Makefile.local From DONOTREPLY at icculus.org Wed Aug 9 17:03:11 2006 From: DONOTREPLY at icculus.org (DONOTREPLY at icculus.org) Date: 9 Aug 2006 17:03:11 -0400 Subject: r835 - webspace/include Message-ID: <20060809210311.7019.qmail@icculus.org> Author: tjw Date: 2006-08-09 17:03:11 -0400 (Wed, 09 Aug 2006) New Revision: 835 Modified: webspace/include/downloads.php Log: updated Mac OS X download info Modified: webspace/include/downloads.php =================================================================== --- webspace/include/downloads.php 2006-08-08 23:57:20 UTC (rev 834) +++ webspace/include/downloads.php 2006-08-09 21:03:11 UTC (rev 835) @@ -54,18 +54,19 @@ Nussel.

', - "apple" => '

Mac OS X (PowerPC)

-

You must download patch data seperately - with this dmg. When the installation is complete, - you need to copy your pak0.pk3 from your legal CD-ROM. - Further instruction is in the ReadMe.rtf included in - the dmg. Intel binaries will be coming shortly.

+ "apple" => '

Mac OS X (Universal Binary)

+

Provides latest patch pk3 data from id. You only need to copy + the pak0.pk3 file from your legal Quake 3 CD-ROM to complete + the installation process.

+

+ Installation instructions are in the ReadMe.rtf included in + the dmg.

- Download for OS X (PowerPC), 5.5MB. - MD5: f9fc08c9bcc68ee5c1a8462533c66bf4
+ Download for OS X (Universal Binary), 35.7MB. + MD5: 6adeae5048e4f0049ab7cf5f54beea1e
Built from Subversion - revision 653. -

Thanks to Vincent Mor?nas.

' + revision 834. +

Thanks to Tony J. White.

' ); uksort($downloads, "oscompare"); From DONOTREPLY at icculus.org Sat Aug 12 01:05:56 2006 From: DONOTREPLY at icculus.org (DONOTREPLY at icculus.org) Date: 12 Aug 2006 01:05:56 -0400 Subject: r836 - webspace/include Message-ID: <20060812050556.17924.qmail@icculus.org> Author: zakk Date: 2006-08-12 01:05:55 -0400 (Sat, 12 Aug 2006) New Revision: 836 Modified: webspace/include/home.php Log: Server stuff Modified: webspace/include/home.php =================================================================== --- webspace/include/home.php 2006-08-09 21:03:11 UTC (rev 835) +++ webspace/include/home.php 2006-08-12 05:05:55 UTC (rev 836) @@ -9,7 +9,8 @@ permanent goal is to create the open source Quake 3 distribution upon which people base their games and projects. We also seek to have the perfect version of the engine for playing Quake 3: Arena, Team Arena, and all popular mods. This distribution of the engine has been ported to many new platforms and has had a slew -of new features added, along with massive bug extermination. +of new features added, along with massive bug extermination. While we don't have PunkBuster (and never will), we do have +more security for servers. Check out some screenshots!

Download Now

From DONOTREPLY at icculus.org Sat Aug 12 14:48:30 2006 From: DONOTREPLY at icculus.org (DONOTREPLY at icculus.org) Date: 12 Aug 2006 14:48:30 -0400 Subject: r837 - webspace/include Message-ID: <20060812184830.7846.qmail@icculus.org> Author: zakk Date: 2006-08-12 14:48:30 -0400 (Sat, 12 Aug 2006) New Revision: 837 Modified: webspace/include/home.php Log: Minor edit Modified: webspace/include/home.php =================================================================== --- webspace/include/home.php 2006-08-12 05:05:55 UTC (rev 836) +++ webspace/include/home.php 2006-08-12 18:48:30 UTC (rev 837) @@ -10,7 +10,7 @@ which people base their games and projects. We also seek to have the perfect version of the engine for playing Quake 3: Arena, Team Arena, and all popular mods. This distribution of the engine has been ported to many new platforms and has had a slew of new features added, along with massive bug extermination. While we don't have PunkBuster (and never will), we do have -more security for servers. +more security for servers and clients from various bugfixes which aren't in id's client. Check out some screenshots!

Download Now

From DONOTREPLY at icculus.org Sun Aug 13 13:09:06 2006 From: DONOTREPLY at icculus.org (DONOTREPLY at icculus.org) Date: 13 Aug 2006 13:09:06 -0400 Subject: r838 - in trunk: . code/client code/renderer code/server Message-ID: <20060813170906.13101.qmail@icculus.org> Author: tma Date: 2006-08-13 13:09:05 -0400 (Sun, 13 Aug 2006) New Revision: 838 Modified: trunk/Makefile trunk/code/client/cl_input.c trunk/code/client/cl_main.c trunk/code/client/client.h trunk/code/renderer/tr_image.c trunk/code/renderer/tr_init.c trunk/code/server/sv_snapshot.c Log: * qvm files no longer installed by "make copyfiles" * Loopback clients only get snapshots at the server frame rate now (Anonymous ) * JPEG chroma subsampling disabled if the quality value is >= 85 (Anonymous ) * cl_lanForcePackets. When set to 0 (default is 1) the cl_maxpackets setting will be ignored if on a LAN. (Anonymous ) Modified: trunk/Makefile =================================================================== --- trunk/Makefile 2006-08-12 18:48:30 UTC (rev 837) +++ trunk/Makefile 2006-08-13 17:09:05 UTC (rev 838) @@ -1760,17 +1760,6 @@ $(COPYDIR)/missionpack/. endif -ifneq ($(BUILD_GAME_QVM),0) - -$(MKDIR) -p -m 0755 $(COPYDIR)/baseq3/vm - $(INSTALL) -m 0755 $(BR)/baseq3/vm/qagame.qvm $(COPYDIR)/baseq3/vm/qagame.qvm - $(INSTALL) -m 0755 $(BR)/baseq3/vm/cgame.qvm $(COPYDIR)/baseq3/vm/cgame.qvm - $(INSTALL) -m 0755 $(BR)/baseq3/vm/ui.qvm $(COPYDIR)/baseq3/vm/ui.qvm - -$(MKDIR) -p -m 0755 $(COPYDIR)/missionpack/vm - $(INSTALL) -m 0755 $(BR)/missionpack/vm/qagame.qvm $(COPYDIR)/missionpack/vm/qagame.qvm - $(INSTALL) -m 0755 $(BR)/missionpack/vm/cgame.qvm $(COPYDIR)/missionpack/vm/cgame.qvm - $(INSTALL) -m 0755 $(BR)/missionpack/vm/ui.qvm $(COPYDIR)/missionpack/vm/ui.qvm -endif - clean: clean-debug clean-release $(MAKE) -C $(LOKISETUPDIR) clean Modified: trunk/code/client/cl_input.c =================================================================== --- trunk/code/client/cl_input.c 2006-08-12 18:48:30 UTC (rev 837) +++ trunk/code/client/cl_input.c 2006-08-13 17:09:05 UTC (rev 838) @@ -645,7 +645,7 @@ } // send every frame for LAN - if ( Sys_IsLANAddress( clc.netchan.remoteAddress ) ) { + if ( cl_lanForcePackets->integer && Sys_IsLANAddress( clc.netchan.remoteAddress ) ) { return qtrue; } Modified: trunk/code/client/cl_main.c =================================================================== --- trunk/code/client/cl_main.c 2006-08-12 18:48:30 UTC (rev 837) +++ trunk/code/client/cl_main.c 2006-08-13 17:09:05 UTC (rev 838) @@ -72,6 +72,8 @@ cvar_t *cl_serverStatusResendTime; cvar_t *cl_trn; +cvar_t *cl_lanForcePackets; + clientActive_t cl; clientConnection_t clc; clientStatic_t cls; @@ -2484,6 +2486,7 @@ Cvar_Get( "cl_maxPing", "800", CVAR_ARCHIVE ); + cl_lanForcePackets = Cvar_Get ("cl_lanForcePackets", "1", CVAR_ARCHIVE); // userinfo Cvar_Get ("name", "UnnamedPlayer", CVAR_USERINFO | CVAR_ARCHIVE ); Modified: trunk/code/client/client.h =================================================================== --- trunk/code/client/client.h 2006-08-12 18:48:30 UTC (rev 837) +++ trunk/code/client/client.h 2006-08-13 17:09:05 UTC (rev 838) @@ -355,6 +355,8 @@ extern cvar_t *cl_conXOffset; extern cvar_t *cl_inGameVideo; +extern cvar_t *cl_lanForcePackets; + //================================================= // Modified: trunk/code/renderer/tr_image.c =================================================================== --- trunk/code/renderer/tr_image.c 2006-08-12 18:48:30 UTC (rev 837) +++ trunk/code/renderer/tr_image.c 2006-08-13 17:09:05 UTC (rev 838) @@ -1816,6 +1816,11 @@ * Here we just illustrate the use of quality (quantization table) scaling: */ jpeg_set_quality(&cinfo, quality, TRUE /* limit to baseline-JPEG values */); + /* If quality is set high, disable chroma subsampling */ + if (quality >= 85) { + cinfo.comp_info[0].h_samp_factor = 1; + cinfo.comp_info[0].v_samp_factor = 1; + } /* Step 4: Start compressor */ @@ -1890,6 +1895,11 @@ jpeg_set_defaults(&cinfo); jpeg_set_quality(&cinfo, quality, TRUE /* limit to baseline-JPEG values */); + /* If quality is set high, disable chroma subsampling */ + if (quality >= 85) { + cinfo.comp_info[0].h_samp_factor = 1; + cinfo.comp_info[0].v_samp_factor = 1; + } /* Step 4: Start compressor */ jpeg_start_compress(&cinfo, TRUE); Modified: trunk/code/renderer/tr_init.c =================================================================== --- trunk/code/renderer/tr_init.c 2006-08-12 18:48:30 UTC (rev 837) +++ trunk/code/renderer/tr_init.c 2006-08-13 17:09:05 UTC (rev 838) @@ -423,7 +423,7 @@ } ri.FS_WriteFile( fileName, buffer, 1 ); // create path - SaveJPG( fileName, 95, glConfig.vidWidth, glConfig.vidHeight, buffer); + SaveJPG( fileName, 90, glConfig.vidWidth, glConfig.vidHeight, buffer); ri.Hunk_FreeTempMemory( buffer ); } @@ -727,7 +727,7 @@ if( cmd->motionJpeg ) { - frameSize = SaveJPGToBuffer( cmd->encodeBuffer, 95, + frameSize = SaveJPGToBuffer( cmd->encodeBuffer, 90, cmd->width, cmd->height, cmd->captureBuffer ); ri.CL_WriteAVIVideoFrame( cmd->encodeBuffer, frameSize ); } Modified: trunk/code/server/sv_snapshot.c =================================================================== --- trunk/code/server/sv_snapshot.c 2006-08-12 18:48:30 UTC (rev 837) +++ trunk/code/server/sv_snapshot.c 2006-08-13 17:09:05 UTC (rev 838) @@ -583,11 +583,11 @@ // set nextSnapshotTime based on rate and requested number of updates - // local clients get snapshots every frame + // local clients get snapshots every server frame // TTimo - https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=491 // added sv_lanForceRate check if ( client->netchan.remoteAddress.type == NA_LOOPBACK || (sv_lanForceRate->integer && Sys_IsLANAddress (client->netchan.remoteAddress)) ) { - client->nextSnapshotTime = svs.time - 1; + client->nextSnapshotTime = svs.time + (1000/sv_fps->integer); return; } From DONOTREPLY at icculus.org Tue Aug 15 01:32:59 2006 From: DONOTREPLY at icculus.org (DONOTREPLY at icculus.org) Date: 15 Aug 2006 01:32:59 -0400 Subject: r839 - in webspace: . include Message-ID: <20060815053259.6162.qmail@icculus.org> Author: zakk Date: 2006-08-15 01:32:59 -0400 (Tue, 15 Aug 2006) New Revision: 839 Modified: webspace/include/discuss.php webspace/include/get.php webspace/include/getdata.php webspace/include/media.php webspace/include/status.php webspace/index.php Log: Curse you, illiterate people. Modified: webspace/include/discuss.php =================================================================== --- webspace/include/discuss.php 2006-08-13 17:09:05 UTC (rev 838) +++ webspace/include/discuss.php 2006-08-15 05:32:59 UTC (rev 839) @@ -1,7 +1,7 @@

Web Forums

We provide web forums to facilitate the desire for a place to discuss this project and seek help from peers online. Please be courteous!

-

Enter the icculus.org/quake3 forums.
+

Enter the ioquake3 forums.
If you need more technical help, or have a bug to report, please consult the mailing lists and Bugzilla.

@@ -13,7 +13,7 @@

quake3 at icculus.org

There is a general discussion mailing list where you can discuss this project, ask for help, announce patches, and anything else that could possibly be talked - about with the developers and users of icculus.org/quake3.

+ about with the developers and users of ioquake3.

To join the list, send a blank e-mail to quake3-subscribe at icculus.org.
@@ -42,8 +42,8 @@

IRC

To join the IRC channel, aim -your client at -#icculus.org/quake3 on irc.freenode.net +your client at +#ioquake3 on irc.freenode.net Please make sure that you've read the Help section before you start wasting your time bugging people!.

Modified: webspace/include/get.php =================================================================== --- webspace/include/get.php 2006-08-13 17:09:05 UTC (rev 838) +++ webspace/include/get.php 2006-08-15 05:32:59 UTC (rev 839) @@ -1,6 +1,6 @@

The Quake 3 engine is open source, this does not mean that Quake III: Arena the game is free. You must purchase the game to use the data!

-

Get icculus.org/quake3

+

Get ioquake3

There are three methods of installation. The preffered way is to use an official installer. Note that just as before, you can use a Quake 3: Arena CD-ROM from any version of Quake 3 (Windows, Linux, Gold, etc) to get the needed pak0.pk3.

    @@ -15,7 +15,7 @@ $official ="

    Sanctioned Installers

    -

    We have provided installers for the most popular platforms icculus.org/quake3 +

    We have provided installers for the most popular platforms ioquake3 supports. These have been tested, and if they do not work you can report bugs to us about them.

      @@ -83,7 +83,7 @@
    • Read the README file. Really. Do it.
    • -
    • Compile and install icculus.org/quake3: +
    • Compile and install ioquake3:
      • Linux and friends

        We all can compile it ourselves:

        Modified: webspace/include/getdata.php =================================================================== --- webspace/include/getdata.php 2006-08-13 17:09:05 UTC (rev 838) +++ webspace/include/getdata.php 2006-08-15 05:32:59 UTC (rev 839) @@ -18,7 +18,7 @@ $eula = file_get_contents("include/id_patch_pk3s_Q3A_EULA.txt"); $html = "

        Newer pk3 files from id point release patches -are required to play Quake III: Arena on icculus.org/quake3.

        +are required to play Quake III: Arena on ioquake3.

        EULA

        In order for us to distribute the updated pk3 files from id Software, you need to agree to their EULA. Read through it, then click Agree if Modified: webspace/include/media.php =================================================================== --- webspace/include/media.php 2006-08-13 17:09:05 UTC (rev 838) +++ webspace/include/media.php 2006-08-15 05:32:59 UTC (rev 839) @@ -1,5 +1,5 @@

        Screenshots

        -

        Here be some screenshots of icculus.org/quake3 and its children in action on +

        Here be some screenshots of ioquake3 and its children in action on different platforms.

        • @@ -22,7 +22,7 @@
        • Tremulous

          Tremulous is the first Quake3 mod - to evolve into its very own standalone game, based upon icculus.org/quake3.

          + to evolve into its very own standalone game, based upon ioquake3.

          • On Linux/x86:
            @@ -33,7 +33,7 @@
          • Star Trek: Voyager Elite Force

            An ambitious project - is in the process of making icculus.org/quake3 run + is in the process of making ioquake3 run Elite Force!

            • Modified: webspace/include/status.php =================================================================== --- webspace/include/status.php 2006-08-13 17:09:05 UTC (rev 838) +++ webspace/include/status.php 2006-08-15 05:32:59 UTC (rev 839) @@ -1,6 +1,6 @@

              Port Status

              Here is a table of the most up to date information we have regarding -icculus.org/quake3's working status on different operating systems. There are things +ioquake3's working status on different operating systems. There are things to bear in mind when viewing this:

              • The status column refers only to the latest information we are given, so it may be out of date.
              • Modified: webspace/index.php =================================================================== --- webspace/index.php 2006-08-13 17:09:05 UTC (rev 838) +++ webspace/index.php 2006-08-15 05:32:59 UTC (rev 839) @@ -9,12 +9,12 @@ icculus.org/quake3: <?php echo $navlist[$page]; ?> - +