FreeBSD Bugzilla – Attachment 62835 Details for
Bug 93837
[NEW PORT] games/sdlquake2: Combination of R1Q2 and R1GL with SDL code from Quake2Forge
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
sdlquake2.shar
sdlquake2.shar (text/plain), 16.42 KB, created by
Alejandro Pulver
on 2006-02-25 20:00:18 UTC
(
hide
)
Description:
sdlquake2.shar
Filename:
MIME Type:
Creator:
Alejandro Pulver
Created:
2006-02-25 20:00:18 UTC
Size:
16.42 KB
patch
obsolete
># This is a shell archive. Save it in a file, remove anything before ># this line, and then unpack it by entering "sh file". Note, it may ># create directories; files and directories will be owned by you and ># have default permissions. ># ># This archive contains: ># ># sdlquake2 ># sdlquake2/Makefile ># sdlquake2/files ># sdlquake2/files/patch-Makefile ># sdlquake2/files/patch-cl_main.c ># sdlquake2/files/patch-files.c ># sdlquake2/files/patch-gl_image.c ># sdlquake2/files/patch-gl_local.h ># sdlquake2/files/patch-gl_rmain.c ># sdlquake2/files/patch-menu.c ># sdlquake2/files/patch-q_shlinux.c ># sdlquake2/files/patch-qgl.h ># sdlquake2/files/patch-snd_mix.c ># sdlquake2/files/patch-snd_openal.h ># sdlquake2/files/patch-sv_user.c ># sdlquake2/files/patch-sys_linux.c ># sdlquake2/files/patch-vid_so.c ># sdlquake2/files/patch-sv_ccmds.c ># sdlquake2/pkg-message ># sdlquake2/distinfo ># sdlquake2/pkg-plist ># sdlquake2/pkg-descr ># >echo c - sdlquake2 >mkdir -p sdlquake2 > /dev/null 2>&1 >echo x - sdlquake2/Makefile >sed 's/^X//' >sdlquake2/Makefile << 'END-of-sdlquake2/Makefile' >X# New ports collection makefile for: sdlquake2 >X# Date created: 25 Feb 2006 >X# Whom: Alejandro Pulver <alejandro@varnet.biz> >X# >X# $FreeBSD$ >X# >X >XPORTNAME= sdlquake2 >XPORTVERSION= 0.1.4 >XCATEGORIES= games >XMASTER_SITES= http://koti.mbnet.fi/~turol/sdlquake2/ >X >XMAINTAINER= alejandro@varnet.biz >XCOMMENT= Combination of R1Q2 and R1GL with SDL code from Quake2Forge >X >XLIB_DEPENDS= execinfo.1:${PORTSDIR}/devel/libexecinfo \ >X jpeg.9:${PORTSDIR}/graphics/jpeg \ >X png.5:${PORTSDIR}/graphics/png >X >XUSE_BZIP2= yes >XUSE_GMAKE= yes >XUSE_GL= yes >XUSE_SDL= sdl >X >XMAKE_ENV= LIBDIR="${LIBDIR}" >X >XLIBDIR= ${PREFIX}/lib/${PORTNAME} >XPLIST_SUB= LIBDIR=${LIBDIR:S/${PREFIX}\///} >X >Xdo-install: >X ${MKDIR} ${LIBDIR}/baseq2 >X ${INSTALL_PROGRAM} ${WRKSRC}/ref_sdlgl.so ${LIBDIR} >X ${INSTALL_PROGRAM} ${WRKSRC}/baseq2/game.so ${LIBDIR}/baseq2 >X ${INSTALL_PROGRAM} ${WRKSRC}/quake2 ${PREFIX}/bin/${PORTNAME} >X ${INSTALL_PROGRAM} ${WRKSRC}/q2ded ${PREFIX}/bin/${PORTNAME}-ded >X >Xpost-install: >X @${ECHO_CMD} >X @${CAT} ${PKGMESSAGE} >X @${ECHO_CMD} >X >X.include "${.CURDIR}/../quake2-data/Makefile.include" >X >X.include <bsd.port.mk> >END-of-sdlquake2/Makefile >echo c - sdlquake2/files >mkdir -p sdlquake2/files > /dev/null 2>&1 >echo x - sdlquake2/files/patch-Makefile >sed 's/^X//' >sdlquake2/files/patch-Makefile << 'END-of-sdlquake2/files/patch-Makefile' >X--- ./Makefile.orig Thu May 19 17:56:13 2005 >X+++ ./Makefile Sat Feb 25 16:24:56 2006 >X@@ -1,5 +1,18 @@ >X-CC:=gcc >X-CFLAGS:=-O3 -ffast-math -march=athlon-xp -g -Wall $(shell sdl-config --cflags) >X+CC?=gcc >X+SDL_CONFIG?=sdl-config >X+LOCALBASE?=/usr/local >X+X11BASE?=/usr/X11R6 >X+CFLAGS+=-O3 -ffast-math -DDATADIR='"$(Q2DIR)"' -DLIBDIR='"$(LIBDIR)"' $(shell $(SDL_CONFIG) --cflags) -I$(X11BASE)/include >X+ >X+LIBS=-lm -lz >X+ >X+ifeq ($(shell uname),Linux) >X+LIBS+=-ldl >X+endif >X+ >X+ifeq ($(shell uname),FreeBSD) >X+LIBS+=-L$(LOCALBASE)/lib -lexecinfo >X+endif >X >X GAMES:=baseq2 >X >X@@ -43,15 +56,14 @@ >X @sed "s@^\(.*\)\.o:@$(dir $*)\1.o:@" < .depends/$*.d > .depends/$*.d.new >X @mv .depends/$*.d.new .depends/$*.d >X >X- >X quake2: $(quake2_OBJ) >X- $(CC) -g -o $@ $(shell sdl-config --libs) -lz -ldl $^ >X+ $(CC) -g -o $@ $(shell $(SDL_CONFIG) --libs) $(LIBS) $^ >X >X q2ded: $(q2ded_OBJ) >X- $(CC) -g -o $@ $^ -lz -ldl >X+ $(CC) -g -o $@ $^ $(LIBS) >X >X ref_sdlgl.so: $(sdlgl_OBJ) >X- $(CC) -shared -g -o $@ $(shell sdl-config --libs) -lGL -ljpeg -lpng12 $^ >X+ $(CC) -shared -g -o $@ $(shell $(SDL_CONFIG) --libs) -L$(X11BASE)/lib -lGL -ljpeg -lpng $^ >X >X ALLOBJ:=$(quake2_OBJ) $(sdlgl_OBJ) >X >END-of-sdlquake2/files/patch-Makefile >echo x - sdlquake2/files/patch-cl_main.c >sed 's/^X//' >sdlquake2/files/patch-cl_main.c << 'END-of-sdlquake2/files/patch-cl_main.c' >X--- ./cl_main.c.orig Thu May 19 17:56:13 2005 >X+++ ./cl_main.c Sat Feb 25 16:24:56 2006 >X@@ -3657,7 +3657,7 @@ >X Cbuf_Execute (); >X >X Con_Init (); >X-#if defined __linux__ || defined __sgi >X+#if defined __linux__ || defined __sgi || defined __FreeBSD__ >X S_Init (true); >X >X VID_Init (); >END-of-sdlquake2/files/patch-cl_main.c >echo x - sdlquake2/files/patch-files.c >sed 's/^X//' >sdlquake2/files/patch-files.c << 'END-of-sdlquake2/files/patch-files.c' >X--- ./files.c.orig Thu May 19 17:56:13 2005 >X+++ ./files.c Sat Feb 25 16:24:56 2006 >X@@ -233,7 +233,7 @@ >X #ifdef MAGIC_BTREE >X rb = rbinit (_compare, 1); >X #else >X-#ifdef LINUX >X+#if defined(__linux__) || defined(__FreeBSD__) >X rb = rbinit ((int (*)(const void *, const void *))strcmp, 0); >X #else >X rb = rbinit ((int (*)(const void *, const void *))Q_stricmp, 0); >X@@ -1158,6 +1158,7 @@ >X Com_sprintf (fs_gamedir, sizeof(fs_gamedir), "%s/%s", fs_basedir->string, dir); >X Cvar_FullSet ("gamedir", dir, CVAR_SERVERINFO|CVAR_NOSET); >X FS_AddGameDirectory (va("%s/%s", fs_basedir->string, dir) ); >X+ FS_AddGameDirectory (va("%s/%s", LIBDIR, dir)); >X } >X } >X >X@@ -1383,6 +1384,9 @@ >X */ >X void FS_InitFilesystem (void) >X { >X+ char *home; >X+ char homedir[MAX_OSPATH]; >X+ >X current_filename = "unknown"; >X >X Cmd_AddCommand ("path", FS_Path_f); >X@@ -1405,7 +1409,7 @@ >X // basedir <path> >X // allows the game to run from outside the data tree >X // >X- fs_basedir = Cvar_Get ("basedir", ".", CVAR_NOSET); >X+ fs_basedir = Cvar_Get ("basedir", DATADIR, CVAR_NOSET); >X fs_cache = Cvar_Get ("fs_cache", "7", 0); >X fs_noextern = Cvar_Get ("fs_noextern", "0", 0); >X >X@@ -1413,6 +1417,7 @@ >X // start up with baseq2 by default >X // >X FS_AddGameDirectory (va("%s/"BASEDIRNAME, fs_basedir->string) ); >X+ FS_AddGameDirectory (va("%s/"BASEDIRNAME, LIBDIR)); >X >X // any set gamedirs will be freed up to here >X fs_base_searchpaths = fs_searchpaths; >X@@ -1421,4 +1426,13 @@ >X fs_gamedirvar = Cvar_Get ("game", "", CVAR_LATCH|CVAR_SERVERINFO); >X if (fs_gamedirvar->string[0]) >X FS_SetGamedir (fs_gamedirvar->string); >X+ >X+ if ((home = getenv("HOME")) != NULL) { >X+ strncpy(homedir, home, sizeof(homedir)-1); >X+ strncat(homedir, "/.sdlquake2/", sizeof(homedir)-strlen(homedir)-1); >X+ Sys_Mkdir(homedir); >X+ strncat(homedir, fs_gamedirvar->string[0] ? fs_gamedirvar->string : BASEDIRNAME, sizeof(homedir)-strlen(homedir)-1); >X+ Sys_Mkdir(homedir); >X+ FS_AddGameDirectory(homedir); >X+ } >X } >END-of-sdlquake2/files/patch-files.c >echo x - sdlquake2/files/patch-gl_image.c >sed 's/^X//' >sdlquake2/files/patch-gl_image.c << 'END-of-sdlquake2/files/patch-gl_image.c' >X--- ./gl_image.c.orig Thu May 19 17:56:13 2005 >X+++ ./gl_image.c Sat Feb 25 16:24:56 2006 >X@@ -555,7 +555,7 @@ >X size_t Pos; >X } TPngFileBuffer; >X >X-void __cdecl PngReadFunc(png_struct *Png, png_bytep buf, png_size_t size) >X+void PngReadFunc(png_struct *Png, png_bytep buf, png_size_t size) >X { >X TPngFileBuffer *PngFileBuffer=(TPngFileBuffer*)png_get_io_ptr(Png); >X memcpy(buf,PngFileBuffer->Buffer+PngFileBuffer->Pos,size); >X@@ -1007,17 +1007,17 @@ >X ================================================================= >X */ >X >X-void __cdecl jpg_null(j_decompress_ptr cinfo) >X+void jpg_null(j_decompress_ptr cinfo) >X { >X } >X >X-unsigned char __cdecl jpg_fill_input_buffer(j_decompress_ptr cinfo) >X+unsigned char jpg_fill_input_buffer(j_decompress_ptr cinfo) >X { >X ri.Con_Printf(PRINT_ALL, "Premature end of JPEG data\n"); >X return 1; >X } >X >X-void __cdecl jpg_skip_input_data(j_decompress_ptr cinfo, long num_bytes) >X+void jpg_skip_input_data(j_decompress_ptr cinfo, long num_bytes) >X { >X >X cinfo->src->next_input_byte += (size_t) num_bytes; >END-of-sdlquake2/files/patch-gl_image.c >echo x - sdlquake2/files/patch-gl_local.h >sed 's/^X//' >sdlquake2/files/patch-gl_local.h << 'END-of-sdlquake2/files/patch-gl_local.h' >X--- ./gl_local.h.orig Thu May 19 17:56:13 2005 >X+++ ./gl_local.h Sat Feb 25 16:24:56 2006 >X@@ -28,7 +28,7 @@ >X #include <GL/glu.h> >X #include <math.h> >X >X-#ifndef __linux__ >X+#if !defined(__linux__) && !defined(__FreeBSD__) >X #ifndef GL_COLOR_INDEX8_EXT >X #define GL_COLOR_INDEX8_EXT GL_COLOR_INDEX >X #endif >END-of-sdlquake2/files/patch-gl_local.h >echo x - sdlquake2/files/patch-gl_rmain.c >sed 's/^X//' >sdlquake2/files/patch-gl_rmain.c << 'END-of-sdlquake2/files/patch-gl_rmain.c' >X--- ./gl_rmain.c.orig Thu May 19 17:56:13 2005 >X+++ ./gl_rmain.c Sat Feb 25 16:24:56 2006 >X@@ -1450,7 +1450,7 @@ >X ri.Cvar_Set( "scr_drawall", "0" ); >X } >X >X-#ifdef __linux__ >X+#if defined(__linux__) || defined(__FreeBSD__) >X ri.Cvar_SetValue( "gl_finish", 0 ); >X #endif >X >END-of-sdlquake2/files/patch-gl_rmain.c >echo x - sdlquake2/files/patch-menu.c >sed 's/^X//' >sdlquake2/files/patch-menu.c << 'END-of-sdlquake2/files/patch-menu.c' >X--- ./menu.c.orig Thu May 19 17:56:13 2005 >X+++ ./menu.c Sat Feb 25 16:24:56 2006 >X@@ -587,6 +587,7 @@ >X { >X {"+attack", "attack"}, >X {"weapnext", "next weapon"}, >X+{"weapprev", "previous weapon"}, >X {"+forward", "walk forward"}, >X {"+back", "backpedal"}, >X {"+left", "turn left"}, >END-of-sdlquake2/files/patch-menu.c >echo x - sdlquake2/files/patch-q_shlinux.c >sed 's/^X//' >sdlquake2/files/patch-q_shlinux.c << 'END-of-sdlquake2/files/patch-q_shlinux.c' >X--- ./q_shlinux.c.orig Thu May 19 17:56:13 2005 >X+++ ./q_shlinux.c Sat Feb 25 16:24:56 2006 >X@@ -12,6 +12,10 @@ >X >X #include "qcommon.h" >X >X+#ifdef __FreeBSD__ >X+#include <machine/param.h> >X+#endif >X+ >X //=============================================================================== >X >X byte *membase; >X@@ -54,14 +58,32 @@ >X >X int Hunk_End (void) >X { >X-#ifndef __FreeBSD__ >X byte *n; >X >X+#ifdef __FreeBSD__ >X+ size_t old_size = maxhunksize; >X+ size_t new_size = curhunksize + sizeof(int); >X+ void * unmap_base; >X+ size_t unmap_len; >X+ >X+ new_size = round_page(new_size); >X+ old_size = round_page(old_size); >X+ >X+ if (new_size > old_size) >X+ n = 0; /* error */ >X+ else if (new_size < old_size) >X+ { >X+ unmap_base = (caddr_t)(membase + new_size); >X+ unmap_len = old_size - new_size; >X+ n = munmap(unmap_base, unmap_len) + membase; >X+ } >X+#endif >X+#ifdef __linux__ >X n = mremap(membase, maxhunksize, curhunksize + sizeof(int), 0); >X+#endif >X if (n != membase) >X Sys_Error("Hunk_End: Could not remap virtual block (%d)", errno); >X *((int *)membase) = curhunksize + sizeof(int); >X-#endif >X >X return curhunksize; >X } >END-of-sdlquake2/files/patch-q_shlinux.c >echo x - sdlquake2/files/patch-qgl.h >sed 's/^X//' >sdlquake2/files/patch-qgl.h << 'END-of-sdlquake2/files/patch-qgl.h' >X--- ./qgl.h.orig Thu May 19 17:56:13 2005 >X+++ ./qgl.h Sat Feb 25 16:24:56 2006 >X@@ -31,7 +31,7 @@ >X #include <GL/gl.h> >X #include "glext.h" >X >X-#ifdef __linux__ >X+#if defined(__linux__) || defined(__FreeBSD__) >X //#include <GL/fxmesa.h> >X #include <GL/glx.h> >X #endif >X@@ -436,7 +436,7 @@ >X >X #endif >X >X-#ifdef __linux__ >X+#if defined(__linux__) || defined(__FreeBSD__) >X >X // local function in dll >X extern void *qwglGetProcAddress(char *symbol); >END-of-sdlquake2/files/patch-qgl.h >echo x - sdlquake2/files/patch-snd_mix.c >sed 's/^X//' >sdlquake2/files/patch-snd_mix.c << 'END-of-sdlquake2/files/patch-snd_mix.c' >X--- ./snd_mix.c.orig Thu May 19 17:56:13 2005 >X+++ ./snd_mix.c Sat Feb 25 16:24:56 2006 >X@@ -168,8 +168,8 @@ >X =============================================================================== >X */ >X >X-void __cdecl S_PaintChannelFrom8 (channel_t *ch, sfxcache_t *sc, int endtime, int offset); >X-void __cdecl S_PaintChannelFrom16 (channel_t *ch, sfxcache_t *sc, int endtime, int offset); >X+void S_PaintChannelFrom8 (channel_t *ch, sfxcache_t *sc, int endtime, int offset); >X+void S_PaintChannelFrom16 (channel_t *ch, sfxcache_t *sc, int endtime, int offset); >X >X void S_PaintChannels(int endtime) >X { >X@@ -349,7 +349,7 @@ >X } >X >X >X-void __cdecl S_PaintChannelFrom16 (channel_t *ch, sfxcache_t *sc, int count, int offset) >X+void S_PaintChannelFrom16 (channel_t *ch, sfxcache_t *sc, int count, int offset) >X { >X int data; >X int left, right; >END-of-sdlquake2/files/patch-snd_mix.c >echo x - sdlquake2/files/patch-snd_openal.h >sed 's/^X//' >sdlquake2/files/patch-snd_openal.h << 'END-of-sdlquake2/files/patch-snd_openal.h' >X--- ./snd_openal.h.orig Thu May 19 17:56:13 2005 >X+++ ./snd_openal.h Sat Feb 25 16:24:56 2006 >X@@ -18,7 +18,7 @@ >X #ifdef _WIN32 >X #include "alw_win.h" >X #endif >X-#ifdef __linux__ >X+#if defined(__linux__) || defined(__FreeBSD__) >X #include "al_linux.h" >X #endif >X #endif >X@@ -162,9 +162,9 @@ >X #define ALimp_Shutdown ALW_Shutdown >X >X #else >X-#ifdef __linux__ >X+#if defined(__linux__) || defined(__FreeBSD__) >X >X-#define AL_DRIVER_OPENAL "/usr/lib/libopenal.so" >X+#define AL_DRIVER_OPENAL "libopenal.so" >X >X #define ALimp_Init AL_Init >X #define ALimp_Shutdown AL_Shutdown >END-of-sdlquake2/files/patch-snd_openal.h >echo x - sdlquake2/files/patch-sv_user.c >sed 's/^X//' >sdlquake2/files/patch-sv_user.c << 'END-of-sdlquake2/files/patch-sv_user.c' >X--- ./sv_user.c.orig Thu May 19 17:56:13 2005 >X+++ ./sv_user.c Sat Feb 25 16:24:56 2006 >X@@ -1183,7 +1183,7 @@ >X sv_client->downloadsize = FS_LoadFile (name, NULL); >X >X //adjust case and re-try >X-#ifdef LINUX >X+#if defined(__linux__) || defined(__FreeBSD__) >X if (sv_client->downloadsize == -1) >X { >X Q_strlwr (name); >END-of-sdlquake2/files/patch-sv_user.c >echo x - sdlquake2/files/patch-sys_linux.c >sed 's/^X//' >sdlquake2/files/patch-sys_linux.c << 'END-of-sdlquake2/files/patch-sys_linux.c' >X--- ./sys_linux.c.orig Thu May 19 17:56:13 2005 >X+++ ./sys_linux.c Sat Feb 25 16:24:56 2006 >X@@ -230,7 +230,7 @@ >X >X size = backtrace (array, sizeof(array)/sizeof(void*)); >X >X-#ifndef __x86_64__ >X+#if !defined(__x86_64__) && !defined(__FreeBSD__) >X array[1] = (void *) uc->uc_mcontext.gregs[REG_EIP]; >X #endif >X >X@@ -423,7 +423,7 @@ >X >X if (baseq2) >X { >X- Com_sprintf (name, sizeof(name), "%s/%s/%s", curpath, BASEDIRNAME, gamename); >X+ Com_sprintf (name, sizeof(name), "%s/%s/%s", LIBDIR, BASEDIRNAME, gamename); >X game_library = dlopen (name, RTLD_NOW ); >X } >X else >X@@ -435,7 +435,7 @@ >X path = FS_NextPath (path); >X if (!path) >X return NULL; // couldn't find one anywhere >X- Com_sprintf (name, sizeof(name), "%s/%s/%s", curpath, path, gamename); >X+ Com_sprintf (name, sizeof(name), "%s/%s", path, gamename); >X game_library = dlopen (name, RTLD_NOW ); >X if (game_library) >X { >END-of-sdlquake2/files/patch-sys_linux.c >echo x - sdlquake2/files/patch-vid_so.c >sed 's/^X//' >sdlquake2/files/patch-vid_so.c << 'END-of-sdlquake2/files/patch-vid_so.c' >X--- ./vid_so.c.orig Thu May 19 17:56:13 2005 >X+++ ./vid_so.c Sat Feb 25 16:24:56 2006 >X@@ -225,7 +225,7 @@ >X fn[strlen(fn) - 1] = 0; >X */ >X >X- strcpy (fn, "."); >X+ strcpy (fn, LIBDIR); >X strcat(fn, "/"); >X strcat(fn, name); >X >END-of-sdlquake2/files/patch-vid_so.c >echo x - sdlquake2/files/patch-sv_ccmds.c >sed 's/^X//' >sdlquake2/files/patch-sv_ccmds.c << 'END-of-sdlquake2/files/patch-sv_ccmds.c' >X--- ./sv_ccmds.c.orig Thu May 19 17:56:13 2005 >X+++ ./sv_ccmds.c Sat Feb 25 16:35:01 2006 >X@@ -589,7 +589,8 @@ >X SV_Map (false, Cmd_Argv(1), false ); >X >X // archive server state >X- strncpy (svs.mapcmd, Cmd_Argv(1), sizeof(svs.mapcmd)-1); >X+ if (Cmd_Argv(1)[0] != '\0') >X+ strncpy (svs.mapcmd, Cmd_Argv(1), sizeof(svs.mapcmd)-1); >X >X // copy off the level to the autosave slot >X if (!dedicated->intvalue && !Cvar_IntValue ("deathmatch")) >END-of-sdlquake2/files/patch-sv_ccmds.c >echo x - sdlquake2/pkg-message >sed 's/^X//' >sdlquake2/pkg-message << 'END-of-sdlquake2/pkg-message' >X============================================================================== >X >XSDLQuake2 has been installed. >X >XThe binaries have been renamed to "sdlquake2" and "sdlquake2-ded" to avoid >Xconflicting with the "games/quake2lnx" port. >X >XThe configuration will be written to the "~/.sdlquake2" directory. >X >XThe gamma can not be adjusted from the game. You can use "xgamma" to change it >Xbefore running it, and restore it later. >X >X============================================================================== >END-of-sdlquake2/pkg-message >echo x - sdlquake2/distinfo >sed 's/^X//' >sdlquake2/distinfo << 'END-of-sdlquake2/distinfo' >XMD5 (sdlquake2-0.1.4.tar.bz2) = 7f7b9b871558e09783c404472d593478 >XSHA256 (sdlquake2-0.1.4.tar.bz2) = 5e44652f474236f8d94257c17132f68af6e70437df891856892e594572dfea73 >XSIZE (sdlquake2-0.1.4.tar.bz2) = 581563 >END-of-sdlquake2/distinfo >echo x - sdlquake2/pkg-plist >sed 's/^X//' >sdlquake2/pkg-plist << 'END-of-sdlquake2/pkg-plist' >Xbin/sdlquake2 >Xbin/sdlquake2-ded >X%%LIBDIR%%/baseq2/game.so >X%%LIBDIR%%/ref_sdlgl.so >X@dirrm %%LIBDIR%%/baseq2 >X@dirrm %%LIBDIR%% >END-of-sdlquake2/pkg-plist >echo x - sdlquake2/pkg-descr >sed 's/^X//' >sdlquake2/pkg-descr << 'END-of-sdlquake2/pkg-descr' >XBasically this is a combination of R1Q2 and R1GL with SDL code from >XQuake2Forge. Meaning it's R1Q2 protocol 35 compatible Linux client. Tested on >XDebian Sarge. Both client and dedicated server. >X >XWWW: http://koti.mbnet.fi/~turol/sdlquake2/ >END-of-sdlquake2/pkg-descr >exit
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 Raw
Actions:
View
Attachments on
bug 93837
: 62835