Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Jan 2006 15:01:09 -0300
From:      "Alejandro Pulver" <alejandro@varnet.biz>
To:        "FreeBSD gnats submit" <bug-followup@FreeBSD.org>
Subject:   ports/92628: [UPDATE] games/fuhquake: remove some options (will be split to another port)
Message-ID:  <1138730469.0@phobos.mars.bsd>
Resent-Message-ID: <200601311810.k0VIA5Mu073370@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         92628
>Category:       ports
>Synopsis:       [UPDATE] games/fuhquake: remove some options (will be split to another port)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jan 31 18:10:05 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Alejandro Pulver
>Release:        FreeBSD 5.4-RELEASE i386
>Organization:
>Environment:


System: FreeBSD 5.4-RELEASE #0: Sat May 21 12:14:47 ART 2005
    root@ale.varnet.bsd:/usr/src/sys/i386/compile/ATHLON-ALE



>Description:


* Make FuhQuake write in "~/.fuhquake".


>How-To-Repeat:





>Fix:


--- fuhquake.diff begins here ---
diff -urN /usr/ports/games/fuhquake/Makefile fuhquake/Makefile
--- /usr/ports/games/fuhquake/Makefile	Mon Dec 12 06:25:24 2005
+++ fuhquake/Makefile	Tue Jan 31 14:58:12 2006
@@ -9,17 +9,14 @@
 PORTVERSION=	0.31
 PORTREVISION=	1
 CATEGORIES=	games
-MASTER_SITES=	http://www.fuhquake.net/files/releases/v${PORTVERSION}/:q \
-		http://www.fuhquake.net/files/extras/:s \
-		ftp://gibbage.mine.nu/clients/fuhquake/releases/v${PORTVERSION}/:q \
-		http://gamefiles.blueyonder.co.uk/blueyondergames/quake/quakeworld/clients/fuhquake/source/:q \
-		http://gamefiles.blueyonder.co.uk/blueyondergames/quake/quakeworld/clients/fuhquake/addons/:s
+MASTER_SITES=	http://www.fuhquake.net/files/releases/v${PORTVERSION}/ \
+		ftp://gibbage.mine.nu/clients/fuhquake/releases/v${PORTVERSION}/ \
+		http://gamefiles.blueyonder.co.uk/blueyondergames/quake/quakeworld/clients/fuhquake/source/ \
+		http://www.fuhquake.net/files/misc/:misc
 DISTNAME=	${PORTNAME}-source-v${PORTVERSION}
-DISTFILES=	${DISTNAME}${EXTRACT_SUFX}:q \
-		${PORTNAME}-linux-v${PORTVERSION}${EXTRACT_SUFX}:q
-DIST_SUBDIR=	${PORTNAME}
-EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX} \
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX} \
 		${PORTNAME}-linux-v${PORTVERSION}${EXTRACT_SUFX}
+DIST_SUBDIR=	${PORTNAME}
 
 MAINTAINER=	danfe@FreeBSD.org
 COMMENT=	An excellent QuakeWorld client
@@ -27,24 +24,27 @@
 WRKSRC=		${WRKDIR}/source
 
 USE_ZIP=	yes
-USE_REINPLACE=	yes
 
 MAKEFILE=	${FILESDIR}/Makefile
 
 OPTIONS=	GLX "Build GLX client" on \
-		LITS "Enable coloured lighting" off \
+		HUD "High quality HUD images" off \
 		OPTIMIZED_CFLAGS "Enable compilation optimizations" on \
-		SKYBOXES "Install skyboxes pak" off \
 		X11 "Build X11 client" on \
 		X86_ASM "Enable x86 assembly code" on \
 		XMMS "Enable MP3 Player feature" off
 
 DATADIR=	${Q1DIR}
+MAKE_ENV=	DATADIR="${DATADIR}"
 
 .include "${.CURDIR}/../quake-data/Makefile.include"
 
 .include <bsd.port.pre.mk>
 
+.if !defined(WITH_GLX) && !defined(WITH_X11)
+IGNORE=		Please select at least one client
+.endif
+
 .if defined(WITH_GLX)
 USE_GL=		yes
 LIB_DEPENDS+=	png.5:${PORTSDIR}/graphics/png \
@@ -55,12 +55,11 @@
 PLIST_SUB+=	GLX="@comment "
 .endif
 
-.if defined(WITH_LITS)
-DISTFILES+=	${PORTNAME}-lits.rar:s
-BUILD_DEPENDS+=	unrar:${PORTSDIR}/archivers/unrar
-PLIST_SUB+=	LITS=""
+.if defined(WITH_HUD)
+DISTFILES+=	fuh-hud${EXTRACT_SUFX}:misc
+PLIST_SUB+=	HUD=""
 .else
-PLIST_SUB+=	LITS="@comment "
+PLIST_SUB+=	HUD="@comment "
 .endif
 
 .for f in OPTIMIZED_CFLAGS X86_ASM
@@ -71,14 +70,6 @@
 .   endif
 .endfor
 
-.if defined(WITH_SKYBOXES)
-DISTFILES+=	${PORTNAME}-skyboxes${EXTRACT_SUFX}:s
-EXTRACT_ONLY+=	${PORTNAME}-skyboxes${EXTRACT_SUFX}
-PLIST_SUB+=	SKYBOXES=""
-.else
-PLIST_SUB+=	SKYBOXES="@comment "
-.endif
-
 .if defined(WITH_X11)
 USE_XLIB=	yes
 PLIST_SUB+=	X11=""
@@ -95,16 +86,7 @@
 		PTHREAD_LIBS=${PTHREAD_LIBS}
 .endif
 
-.if defined(WITH_LITS)
-post-extract:
-	@${MKDIR} ${WRKDIR}/lits
-	@unrar x -inul ${DISTDIR}/${DIST_SUBDIR}/${PORTNAME}-lits.rar \
-		${WRKDIR}/lits
-.endif
-
 post-patch:
-	@${REINPLACE_CMD} -e 's|%%BASEDIR%%|${DATADIR}|' ${WRKSRC}/common.c
-	@${REINPLACE_CMD} -e 's|%%X11BASE%%|${X11BASE}|' ${WRKSRC}/mp3_player.c
 	@${CP} ${FILESDIR}/*.c ${WRKSRC}
 
 do-build:
@@ -121,11 +103,11 @@
 	${MKDIR} ${DATADIR}/${PORTNAME}
 	${INSTALL_DATA} ${WRKDIR}/qw/*.dat ${DATADIR}/${PORTNAME}
 	${INSTALL_DATA} ${WRKDIR}/${PORTNAME}/pak0.pak ${DATADIR}/${PORTNAME}
-.if defined(WITH_LITS)
-	${CP} -R ${WRKDIR}/lits ${DATADIR}/${PORTNAME}
-.endif
-.if defined(WITH_SKYBOXES)
-	${INSTALL_DATA} ${WRKDIR}/pakX.pak ${DATADIR}/${PORTNAME}/pak1.pak
+.if defined(WITH_HUD)
+	${MKDIR} ${DATADIR}/${PORTNAME}/textures/wad
+	${INSTALL_DATA} ${WRKDIR}/qw/charset.png ${DATADIR}/${PORTNAME}
+	${INSTALL_DATA} ${WRKDIR}/qw/textures/wad/* \
+		${DATADIR}/${PORTNAME}/textures/wad
 .endif
 .if !defined(NOPORTDOCS)
 	${MKDIR} ${DOCSDIR}
diff -urN /usr/ports/games/fuhquake/distinfo fuhquake/distinfo
--- /usr/ports/games/fuhquake/distinfo	Thu Nov 17 09:17:11 2005
+++ fuhquake/distinfo	Tue Jan 17 16:16:26 2006
@@ -1,8 +1,9 @@
 MD5 (fuhquake/fuhquake-source-v0.31.zip) = 3db5852cfbdf4a4855072305c32f6075
+SHA256 (fuhquake/fuhquake-source-v0.31.zip) = 905c973e34e3d511665cc26f9f2b64fcb568e9c8363b93af5d5685e979309139
 SIZE (fuhquake/fuhquake-source-v0.31.zip) = 789610
 MD5 (fuhquake/fuhquake-linux-v0.31.zip) = 479a6f8dad1174333819e850b3aca8c1
+SHA256 (fuhquake/fuhquake-linux-v0.31.zip) = f9a9bce98a2a8f76f75c344b14a338b33ebc9d0e9b018e0965a1080586b9cda4
 SIZE (fuhquake/fuhquake-linux-v0.31.zip) = 4520020
-MD5 (fuhquake/fuhquake-lits.rar) = 9e345bee7f331652c2e926e705d25b19
-SIZE (fuhquake/fuhquake-lits.rar) = 8388829
-MD5 (fuhquake/fuhquake-skyboxes.zip) = 9360d7902e24e8b89d74600ce5d61b81
-SIZE (fuhquake/fuhquake-skyboxes.zip) = 3258479
+MD5 (fuhquake/fuh-hud.zip) = e7726b50bc1223681a698eb232ee26cc
+SHA256 (fuhquake/fuh-hud.zip) = d5632ef9f2a31ec59055b311edf022e1695f88e0e44a524f7fdc594b114ced05
+SIZE (fuhquake/fuh-hud.zip) = 518560
diff -urN /usr/ports/games/fuhquake/files/Makefile fuhquake/files/Makefile
--- /usr/ports/games/fuhquake/files/Makefile	Thu Nov 17 09:17:11 2005
+++ fuhquake/files/Makefile	Mon Jan 16 21:43:04 2006
@@ -11,7 +11,7 @@
 # $FreeBSD: ports/games/fuhquake/files/Makefile,v 1.5 2005/11/17 12:17:11 edwin Exp $
 #
 
-DO_CFLAGS =	${CFLAGS} -funsigned-char -I${LOCALBASE}/include -I${X11BASE}/include
+DO_CFLAGS =	${CFLAGS} -funsigned-char -I${LOCALBASE}/include -I${X11BASE}/include -DDATADIR='"${DATADIR}"' -DX11BASE='"${X11BASE}"'
 
 .if ${MACHINE_ARCH} == "i386" && !defined(WITHOUT_X86_ASM)
 DO_CFLAGS +=	-Did386
@@ -22,7 +22,7 @@
 .endif
 
 .if defined(WITH_OPTIMIZED_CFLAGS)
-DO_CFLAGS +=	-O3 -pipe -s -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations
+DO_CFLAGS +=	-O -pipe -s -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations
 .endif
 
 .if defined(WITH_XMMS)
diff -urN /usr/ports/games/fuhquake/files/patch-cl_demo.c fuhquake/files/patch-cl_demo.c
--- /usr/ports/games/fuhquake/files/patch-cl_demo.c	Wed Dec 31 21:00:00 1969
+++ fuhquake/files/patch-cl_demo.c	Tue Jan 31 14:39:51 2006
@@ -0,0 +1,20 @@
+--- cl_demo.c.orig	Wed Jan  7 00:39:44 2004
++++ cl_demo.c	Tue Jan 31 13:40:38 2006
+@@ -733,7 +733,7 @@
+ static char *CL_DemoDirectory(void) {
+ 	static char dir[MAX_OSPATH * 2];
+ 
+-	Q_strncpyz(dir, demo_dir.string[0] ? va("%s/%s", com_basedir, demo_dir.string) : cls.gamedir, sizeof(dir));
++	Q_strncpyz(dir, demo_dir.string[0] ? va("%s/%s", cls.gamedir, demo_dir.string) : cls.gamedir, sizeof(dir));
+ 	return dir;
+ }
+ 
+@@ -1191,7 +1191,7 @@
+ 		COM_DefaultExtension (name, *s);
+ 
+ 		if (!strncmp(name, "../", 3) || !strncmp(name, "..\\", 3))
+-			playbackfile = fopen (va("%s/%s", com_basedir, name + 3), "rb");
++			playbackfile = fopen (va("%s/%s", com_gamedir, name + 3), "rb");
+ 		else
+ 			FS_FOpenFile (name, &playbackfile);
+ 	}
diff -urN /usr/ports/games/fuhquake/files/patch-cl_main.c fuhquake/files/patch-cl_main.c
--- /usr/ports/games/fuhquake/files/patch-cl_main.c	Mon Jun  2 15:29:57 2003
+++ fuhquake/files/patch-cl_main.c	Tue Jan 31 14:39:51 2006
@@ -1,6 +1,6 @@
---- cl_main.c.orig	Wed May 21 17:18:35 2003
-+++ cl_main.c	Sun May 25 20:30:58 2003
-@@ -43,6 +43,10 @@
+--- cl_main.c.orig	Wed Jan  7 00:39:44 2004
++++ cl_main.c	Sun Jan 22 22:49:30 2006
+@@ -44,6 +44,10 @@
  #include "mp3_player.h"
  
  #ifndef _WIN32
@@ -11,7 +11,13 @@
  #include <netdb.h>		
  #endif
  
-@@ -857,13 +861,13 @@
+@@ -850,19 +854,16 @@
+ 		Sys_Error ("Couldn't load gfx/colormap.lmp");
+ 	FMod_CheckModel("gfx/colormap.lmp", host_colormap, com_filesize); 
+ 
+-	Sys_mkdir(va("%s/qw", com_basedir));
+-	Sys_mkdir(va("%s/fuhquake", com_basedir));	
+-
  	Key_Init ();
  	V_Init ();
  
diff -urN /usr/ports/games/fuhquake/files/patch-cl_parse.c fuhquake/files/patch-cl_parse.c
--- /usr/ports/games/fuhquake/files/patch-cl_parse.c	Wed Dec 31 21:00:00 1969
+++ fuhquake/files/patch-cl_parse.c	Tue Jan 31 14:39:51 2006
@@ -0,0 +1,50 @@
+--- cl_parse.c.orig	Wed Jan  7 00:39:44 2004
++++ cl_parse.c	Tue Jan 31 13:42:19 2006
+@@ -327,10 +327,7 @@
+ 
+ 	// open the file if not opened yet
+ 	if (!cls.download) {
+-		if (strncmp(cls.downloadtempname,"skins/",6))
+ 			Q_snprintfz (name, sizeof(name), "%s/%s", cls.gamedir, cls.downloadtempname);
+-		else
+-			Q_snprintfz (name, sizeof(name), "qw/%s", cls.downloadtempname);
+ 
+ 		COM_CreatePath (name);
+ 
+@@ -360,13 +357,8 @@
+ 
+ 		// rename the temp file to its final name
+ 		if (strcmp(cls.downloadtempname, cls.downloadname)) {
+-			if (strncmp(cls.downloadtempname,"skins/",6)) {
+ 				sprintf (oldn, "%s/%s", cls.gamedir, cls.downloadtempname);
+ 				sprintf (newn, "%s/%s", cls.gamedir, cls.downloadname);
+-			} else {
+-				sprintf (oldn, "qw/%s", cls.downloadtempname);
+-				sprintf (newn, "qw/%s", cls.downloadname);
+-			}
+ 			r = rename (oldn, newn);
+ 			if (r)
+ 				Com_Printf ("failed to rename.\n");
+@@ -437,7 +429,7 @@
+ 	if (CL_IsUploading())
+ 		CL_StopUpload();
+ 
+-	if ((size = COM_FileOpenRead (va("%s/%s", com_basedir, filename), &f)) == -1)
++	if ((size = COM_FileOpenRead (va("%s/%s", com_gamedir, filename), &f)) == -1)
+ 		return;
+ 
+ 	Com_DPrintf ("Upload starting of %d...\n", size);
+@@ -527,13 +519,6 @@
+ 				Cbuf_AddText ("exec config.cfg\n");
+ 			else
+ 				Cbuf_AddText (va("exec ../%s/config.cfg\n", cls.gamedirfile));
+-		} else if (cfg_legacy_exec.value == 3 && strcmp(cls.gamedir, "qw")){
+-			
+-			Q_snprintfz (fn, sizeof(fn), "qw/%s", "config.cfg");
+-			if ((f = fopen(fn, "r")) != NULL) {
+-				fclose(f);
+-				Cbuf_AddText ("exec config.cfg\n");
+-			}
+ 		}
+ 		Q_snprintfz (fn, sizeof(fn), "%s/%s", cls.gamedir, "frontend.cfg");
+ 		if ((f = fopen(fn, "r")) != NULL) {
diff -urN /usr/ports/games/fuhquake/files/patch-cl_screen.c fuhquake/files/patch-cl_screen.c
--- /usr/ports/games/fuhquake/files/patch-cl_screen.c	Wed Dec 31 21:00:00 1969
+++ fuhquake/files/patch-cl_screen.c	Tue Jan 31 14:39:51 2006
@@ -0,0 +1,107 @@
+--- cl_screen.c.orig	Wed Jan  7 00:39:44 2004
++++ cl_screen.c	Tue Jan 31 14:24:58 2006
+@@ -1123,7 +1123,7 @@
+ 	byte *buffer;
+ 	image_format_t format;
+ 
+-	name = (*name == '/') ? name + 1 : name;
++	COM_CreatePath(name);
+ 	format = SShot_FormatForName(name);
+ 	COM_ForceExtension (name, SShot_ExtForFormat(format));
+ 	buffersize = glwidth * glheight * 3;
+@@ -1187,7 +1187,7 @@
+ 	int success;
+ 	image_format_t format;
+ 
+-	name = (*name == '/') ? name + 1 : name;
++	COM_CreatePath(name);
+ 	format = SShot_FormatForName(name);
+ 	COM_ForceExtension (name, SShot_ExtForFormat(format));
+ 
+@@ -1222,12 +1222,12 @@
+ #endif
+ 
+ void SCR_ScreenShot_f (void) {
+-	char name[MAX_OSPATH], ext[4], *filename, *sshot_dir;
++	char name[MAX_OSPATH], ext[4], *sshot_dir;
+ 	int i, success;
+ 	FILE *f;
+ 
+ 	ext[0] = 0;
+-	sshot_dir = scr_sshot_dir.string[0] ? scr_sshot_dir.string : cls.gamedirfile;
++	sshot_dir = scr_sshot_dir.string[0] ? scr_sshot_dir.string : "shots";
+ 
+ 	if (Cmd_Argc() == 2) {
+ 		Q_strncpyz (name, Cmd_Argv(1), sizeof(name));
+@@ -1246,7 +1246,7 @@
+ 
+ 		for (i = 0; i < 999; i++) {
+ 			Q_snprintfz(name, sizeof(name), "fuhquake%03i.%s", i, ext);
+-			if (!(f = fopen (va("%s/%s/%s", com_basedir, sshot_dir, name), "rb")))
++			if (!(f = fopen (va("%s/%s/%s", cls.gamedir, sshot_dir, name), "rb")))
+ 				break;  // file doesn't exist
+ 			fclose(f);
+ 		}
+@@ -1260,17 +1260,15 @@
+ 	}
+ 
+ 	
+-	for (filename = name; *filename == '/' || *filename == '\\'; filename++)
+-		;
+ 
+-	success = SCR_Screenshot(va("%s/%s", sshot_dir, filename));
++	success = SCR_Screenshot(va("%s/%s/%s", cls.gamedir, sshot_dir, name));
+ 	if (success != SSHOT_FAILED_QUIET)
+ 		Com_Printf ("%s %s\n", success == SSHOT_SUCCESS ? "Wrote" : "Couldn't write", name);
+ }
+ 
+ void SCR_RSShot_f (void) { 
+ 	int success = SSHOT_FAILED;
+-	char *filename;
++	char filename[MAX_OSPATH];
+ #ifdef GLQUAKE
+ 	int width, height;
+ 	byte *base, *pixels;
+@@ -1291,7 +1289,8 @@
+ 
+ 	Com_Printf ("Remote screenshot requested.\n");
+ 
+-	filename = "fuhquake/temp/__rsshot__";
++	Q_snprintfz(filename, sizeof(filename), "%s/shots/rsshot", com_gamedir);
++	COM_CreatePath(filename);
+ 
+ #ifdef GLQUAKE
+ 
+@@ -1342,7 +1341,7 @@
+ 		CL_StartUpload(filename);
+ 	}
+ 
+-	remove(va("%s/%s", com_basedir, filename));
++	remove(filename);
+ }
+ 
+ static void SCR_CheckAutoScreenshot(void) {
+@@ -1357,20 +1356,17 @@
+ 	if (!cl.intermission)
+ 		return;
+ 
+-	for (filename = auto_matchname; *filename == '/' || *filename == '\\'; filename++)
+-		;
+-
+-	sshot_dir = scr_sshot_dir.string[0] ? scr_sshot_dir.string : cls.gamedirfile;
++	sshot_dir = scr_sshot_dir.string[0] ? scr_sshot_dir.string : "shots";
+ 	ext = SShot_ExtForFormat(SShot_FormatForName(filename));
+ 
+-	fullsavedname = va("%s/%s", sshot_dir, auto_matchname);
++	fullsavedname = va("%s/%s/%s", cls.gamedir, sshot_dir, auto_matchname);
+ 	if ((num = Util_Extend_Filename(fullsavedname, exts)) == -1) {
+ 		Com_Printf("Error: no available filenames\n");
+ 		return;
+ 	}
+ 
+ 	Q_snprintfz (savedname, sizeof(savedname), "%s_%03i%s", auto_matchname, num, ext);
+-	fullsavedname = va("%s/%s", sshot_dir, savedname);
++	fullsavedname = va("%s/%s/%s", cls.gamedir, sshot_dir, savedname);
+ 
+ #ifdef GLQUAKE
+ 	glFinish();
diff -urN /usr/ports/games/fuhquake/files/patch-cl_slist.c fuhquake/files/patch-cl_slist.c
--- /usr/ports/games/fuhquake/files/patch-cl_slist.c	Wed Dec 31 21:00:00 1969
+++ fuhquake/files/patch-cl_slist.c	Tue Jan 31 14:39:51 2006
@@ -0,0 +1,20 @@
+--- cl_slist.c.orig	Wed Jan  7 00:39:44 2004
++++ cl_slist.c	Tue Jan 31 13:42:49 2006
+@@ -36,7 +36,7 @@
+ 	if (!slist_initialised)
+ 		return;	
+ 
+-	if (!(f = fopen(va("%s/servers.txt", com_basedir), "w"))) {
++	if (!(f = fopen(va("%s/servers.txt", com_gamedir), "w"))) {
+ 		Com_DPrintf ("Couldn't open servers.txt.\n");
+ 		return;
+ 	}
+@@ -105,7 +105,7 @@
+ 	char line[128], *desc, *addr;
+ 	FILE *f;
+ 
+-	if (!(f = fopen (va("%s/servers.txt", com_basedir), "r")))
++	if (!(f = fopen (va("%s/servers.txt", com_gamedir), "r")))
+ 		return;
+ 
+ 	count = len = 0;
diff -urN /usr/ports/games/fuhquake/files/patch-common.c fuhquake/files/patch-common.c
--- /usr/ports/games/fuhquake/files/patch-common.c	Fri Jun 18 05:16:23 2004
+++ fuhquake/files/patch-common.c	Tue Jan 31 14:39:51 2006
@@ -1,11 +1,110 @@
---- common.c.orig	Thu Feb  5 01:05:19 2004
-+++ common.c	Thu Feb  5 01:09:07 2004
-@@ -1006,7 +1006,7 @@
+--- common.c.orig	Wed Jan  7 00:39:44 2004
++++ common.c	Tue Jan 31 14:39:05 2006
+@@ -652,16 +652,10 @@
+ //The filename will be prefixed by com_basedir
+ qboolean COM_WriteFile (char *filename, void *data, int len) {
+ 	FILE *f;
+-	char name[MAX_OSPATH];
+ 
+-	Q_snprintfz (name, sizeof(name), "%s/%s", com_basedir, filename);
+-
+-	if (!(f = fopen (name, "wb"))) {
+-		COM_CreatePath (name);
+-		if (!(f = fopen (name, "wb")))
+-			return false;
+-	}
+-	Sys_Printf ("COM_WriteFile: %s\n", name);
++	if (!(f = fopen (filename, "wb")))
++		return false;
++	Sys_Printf ("COM_WriteFile: %s\n", filename);
+ 	fwrite (data, 1, len, f);
+ 	fclose (f);
+ 	return true;
+@@ -670,6 +664,7 @@
+ //Only used for CopyFile and download
+ 
+ 
++#if 0
+ #define _MAX_SUBSIRS	8
+ void COM_CreatePath (char *path) {
+ 	char *slash = NULL;
+@@ -699,6 +694,22 @@
+ 		path[slash_indices[i]] = '/';
+ 	}
+ }
++#else
++void COM_CreatePath (char *path)
++{
++	char	*ofs;
++
++	for (ofs = path+1 ; *ofs ; ofs++)
++	{
++		if (*ofs == '/')
++		{       // create the directory
++			*ofs = 0;
++			Sys_mkdir (path);
++			*ofs = '/';
++		}
++	}
++}
++#endif
+ 
+ //Copies a file over from the net to the local cache, creating any directories
+ //needed.  This is for the convenience of developers using ISDN from home.
+@@ -976,7 +987,7 @@
+ 
+ 	sprintf (com_gamedir, "%s/%s", com_basedir, dir);
+ 
+-	if (!strcmp(dir, "id1") || !strcmp(dir, "qw") || !strcmp(dir, "fuhquake"))	
++	if (!strcmp(dir, "id1") || !strcmp(dir, "fuhquake"))
+ 		return;
+ 
+ 	// add the directory to the search path
+@@ -999,14 +1010,17 @@
+ }
+ 
+ void FS_InitFilesystem (void) {
++	char	*home, homepath[MAX_OSPATH];
+ 	int		i;
+ 
++	home = getenv("HOME");
++
+ 	// -basedir <path>
+ 	// Overrides the system supplied base directory (under id1)
  	if ((i = COM_CheckParm ("-basedir")) && i < com_argc - 1)
  		Q_strncpyz (com_basedir, com_argv[i + 1], sizeof(com_basedir));
  	else
 -		getcwd(com_basedir, sizeof(com_basedir) - 1);
-+		strcpy(com_basedir, "%%BASEDIR%%");
++		Q_strncpyz(com_basedir, DATADIR, sizeof(com_basedir));
  
  	for (i = 0; i < strlen(com_basedir); i++)
  		if (com_basedir[i] == '\\')
+@@ -1018,8 +1032,13 @@
+ 
+ 	// start up with id1 by default
+ 	FS_AddGameDirectory ( va("%s/id1", com_basedir) );
++
++	if (home != NULL) {
++		Q_snprintfz(homepath, sizeof(homepath), "%s/.fuhquake/id1", home, com_gamedirfile);
++		FS_AddGameDirectory(homepath);
++	}
++
+ 	FS_AddGameDirectory ( va("%s/fuhquake", com_basedir) );	
+-	FS_AddGameDirectory ( va("%s/qw", com_basedir) );
+ 
+ 	// any set gamedirs will be freed up to here
+ 	com_base_searchpaths = com_searchpaths;
+@@ -1029,6 +1048,13 @@
+ 		i = COM_CheckParm ("+gamedir");
+ 	if (i && i < com_argc - 1)
+ 		FS_SetGamedir (com_argv[i + 1]);
++
++	if (home != NULL) {
++		Q_snprintfz(homepath, sizeof(homepath), "%s/.fuhquake/%s", home, com_gamedirfile);
++		COM_CreatePath(homepath);
++		Sys_mkdir(homepath);
++		FS_AddGameDirectory(homepath);
++	}
+ }
+ 
+ /*
diff -urN /usr/ports/games/fuhquake/files/patch-config_manager.c fuhquake/files/patch-config_manager.c
--- /usr/ports/games/fuhquake/files/patch-config_manager.c	Wed Dec 31 21:00:00 1969
+++ fuhquake/files/patch-config_manager.c	Tue Jan 31 14:39:51 2006
@@ -0,0 +1,47 @@
+--- config_manager.c.orig	Wed Jan  7 00:39:44 2004
++++ config_manager.c	Tue Jan 31 13:45:45 2006
+@@ -54,7 +54,7 @@
+ cvar_t	cfg_save_unchanged	=	{"cfg_save_unchanged", "0"};
+ cvar_t	cfg_save_userinfo	=	{"cfg_save_userinfo", "2"};
+ cvar_t	cfg_legacy_exec		=	{"cfg_legacy_exec", "1"};
+-cvar_t	cfg_legacy_write	=	{"cfg_legacy_write", "0"};
++cvar_t	cfg_legacy_write	=	{"cfg_legacy_write", "1"};
+ 
+ cvar_t	cfg_save_cvars		=	{"cfg_save_cvars", "1"};
+ cvar_t	cfg_save_aliases	=	{"cfg_save_aliases", "1"};
+@@ -597,13 +597,11 @@
+ 	FILE	*f;
+ 	char	*outfile, *newlines = "\n\n\n\n";
+ 
+-	outfile = va("%s/fuhquake/configs/%s", com_basedir, name);
++	outfile = va("%s/configs/%s", com_gamedir, name);
++	COM_CreatePath(outfile);
+ 	if (!(f	= fopen	(outfile, "w"))) {
+-		COM_CreatePath(outfile);
+-		if (!(f	= fopen	(outfile, "w"))) {
+-			Com_Printf ("Couldn't write	%s.\n",	name);
+-			return;
+-		}
++		Com_Printf ("Couldn't write	%s.\n",	name);
++		return;
+ 	}
+ 
+ 	Config_PrintPreamble(f);
+@@ -667,7 +665,7 @@
+ 
+ 
+ 	if (cfg_backup.value) {
+-		filename_ext = va("%s/fuhquake/configs/%s", com_basedir, filename);
++		filename_ext = va("%s/configs/%s", com_gamedir, filename);
+ 		if ((f = fopen(filename_ext, "r"))) {
+ 			fclose(f);
+ 			backupname_ext = Z_Malloc(strlen(filename_ext) + 4);
+@@ -705,7 +703,7 @@
+ 	}
+ 	filename = COM_SkipPath(Cmd_Argv(1));
+ 	COM_ForceExtension(filename, ".cfg");
+-	if (!(f = fopen(va("%s/fuhquake/configs/%s", com_basedir, filename), "r"))) {
++	if (!(f = fopen(va("%s/configs/%s", com_gamedir, filename), "r"))) {
+ 		Com_Printf("Couldn't load config %s\n", filename);
+ 		return;
+ 	}
diff -urN /usr/ports/games/fuhquake/files/patch-console.c fuhquake/files/patch-console.c
--- /usr/ports/games/fuhquake/files/patch-console.c	Wed Dec 31 21:00:00 1969
+++ fuhquake/files/patch-console.c	Tue Jan 31 14:39:51 2006
@@ -0,0 +1,11 @@
+--- console.c.orig	Wed Jan  7 00:39:44 2004
++++ console.c	Tue Jan 31 12:43:15 2006
+@@ -198,7 +198,7 @@
+ 		return;
+ 
+ 	if (COM_CheckParm("-condebug"))
+-		qconsole_log = fopen(va("%s/qw/qconsole.log",com_basedir), "a");
++		qconsole_log = fopen(va("%s/qconsole.log", cls.gamedir), "a");
+ 
+ 	if ((i = COM_CheckParm("-conbufsize")) && i + 1 < com_argc) {
+ 		conbufsize = Q_atoi(com_argv[i + 1]) << 10;
diff -urN /usr/ports/games/fuhquake/files/patch-image.c fuhquake/files/patch-image.c
--- /usr/ports/games/fuhquake/files/patch-image.c	Wed Dec 31 21:00:00 1969
+++ fuhquake/files/patch-image.c	Tue Jan 31 14:39:51 2006
@@ -0,0 +1,53 @@
+--- image.c.orig	Wed Jan  7 00:43:22 2004
++++ image.c	Tue Jan 31 13:09:14 2006
+@@ -647,13 +647,11 @@
+ }
+ 
+ int Image_WritePNG (char *filename, int compression, byte *pixels, int width, int height) {
+-	char name[MAX_OSPATH];
+ 	int i, bpp = 3, pngformat, width_sign;
+ 	FILE *fp;
+ 	png_structp png_ptr;
+ 	png_infop info_ptr;
+ 	png_byte **rowpointers;
+-	Q_snprintfz (name, sizeof(name), "%s/%s", com_basedir, filename);
+ 
+ 	if (!png_handle)
+ 		return false;
+@@ -661,11 +659,8 @@
+ 	width_sign = (width < 0) ? -1 : 1;
+ 	width = abs(width);
+ 
+-	if (!(fp = fopen (name, "wb"))) {
+-		COM_CreatePath (name);
+-		if (!(fp = fopen (name, "wb")))
+-			return false;
+-	}
++	if (!(fp = fopen (filename, "wb")))
++		return false;
+ 
+ 	if (!(png_ptr = qpng_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL))) {
+ 		fclose(fp);
+@@ -1230,7 +1225,6 @@
+ 
+ 
+ int Image_WriteJPEG(char *filename, int quality, byte *pixels, int width, int height) {
+-	char name[MAX_OSPATH];
+ 	FILE *outfile;
+ 	jpeg_error_mgr_wrapper jerr;
+ 	struct jpeg_compress_struct cinfo;
+@@ -1239,12 +1233,8 @@
+ 	if (!jpeg_handle)
+ 		return false;
+ 
+-	Q_snprintfz (name, sizeof(name), "%s/%s", com_basedir, filename);	
+-	if (!(outfile = fopen (name, "wb"))) {
+-		COM_CreatePath (name);
+-		if (!(outfile = fopen (name, "wb")))
+-			return false;
+-	}
++	if (!(outfile = fopen (filename, "wb")))
++		return false;
+ 
+ 	cinfo.err = qjpeg_std_error(&jerr.pub);
+ 	jerr.pub.error_exit = jpeg_error_exit;
diff -urN /usr/ports/games/fuhquake/files/patch-logging.c fuhquake/files/patch-logging.c
--- /usr/ports/games/fuhquake/files/patch-logging.c	Wed Dec 31 21:00:00 1969
+++ fuhquake/files/patch-logging.c	Tue Jan 31 14:39:51 2006
@@ -0,0 +1,11 @@
+--- logging.c.orig	Wed Jan  7 00:39:44 2004
++++ logging.c	Tue Jan 31 13:48:22 2006
+@@ -41,7 +41,7 @@
+ static char *Log_LogDirectory(void) {
+ 	static char dir[LOG_FILENAME_MAXSIZE];
+ 
+-	Q_strncpyz(dir, log_dir.string[0] ? va("%s/%s", com_basedir, log_dir.string) : cls.gamedir, sizeof(dir));
++	Q_strncpyz(dir, log_dir.string[0] ? va("%s/%s", cls.gamedir, log_dir.string) : cls.gamedir, sizeof(dir));
+ 	return dir;
+ }
+ 
diff -urN /usr/ports/games/fuhquake/files/patch-match_tools.c fuhquake/files/patch-match_tools.c
--- /usr/ports/games/fuhquake/files/patch-match_tools.c	Wed Dec 31 21:00:00 1969
+++ fuhquake/files/patch-match_tools.c	Tue Jan 31 14:39:51 2006
@@ -0,0 +1,29 @@
+--- match_tools.c.orig	Wed Jan  7 00:39:44 2004
++++ match_tools.c	Tue Jan 31 13:48:59 2006
+@@ -301,7 +301,7 @@
+ 		return mt_empty;
+ 
+ 
+-	if (!Q_strcasecmp(matchinfo->gamedir, "qw") && !strcmp(MT_Serverinfo_Race(), matchinfo->mapname))
++	if (!Q_strcasecmp(matchinfo->gamedir, "fuhquake") && !strcmp(MT_Serverinfo_Race(), matchinfo->mapname))
+ 		return mt_race;
+ 
+ 
+@@ -695,7 +695,7 @@
+ 	static char dir[MAX_OSPATH * 2] = {0};
+ 
+ 	if (!dir[0])
+-		Q_snprintfz(dir, sizeof(dir), "%s/fuhquake/temp", com_basedir);
++		Q_snprintfz(dir, sizeof(dir), "%s/temp", com_gamedir);
+ 	return dir;
+ }
+ 
+@@ -1049,7 +1049,7 @@
+ }
+ 
+ void MT_Init(void) {
+-	Sys_mkdir(va("%s/fuhquake/temp", com_basedir));
++	Sys_mkdir(va("%s/temp", com_gamedir));
+ 	MT_ClearClientState();
+ 
+ 	Cmd_AddMacro("matchname", Macro_MatchName);
diff -urN /usr/ports/games/fuhquake/files/patch-menu.c fuhquake/files/patch-menu.c
--- /usr/ports/games/fuhquake/files/patch-menu.c	Fri Jun 18 05:16:23 2004
+++ fuhquake/files/patch-menu.c	Tue Jan 31 14:39:51 2006
@@ -1,6 +1,6 @@
---- menu.c.orig	Thu Feb  5 00:33:07 2004
-+++ menu.c	Thu Feb  5 00:34:32 2004
-@@ -411,9 +436,11 @@
+--- menu.c.orig	Wed Jan  7 01:02:12 2004
++++ menu.c	Tue Jan 31 13:49:29 2006
+@@ -411,9 +411,11 @@
  		Cvar_SetValue (&cl_hudswap, !cl_hudswap.value);
  		break;
  
@@ -12,7 +12,7 @@
  	}
  }
  
-@@ -873,24 +900,24 @@
+@@ -873,24 +875,24 @@
  	M_Print (16, 96, "        Pickup flashes");
  	M_DrawCheckbox (ALIGN_FPS_OPTIONS, 96, v_bonusflash.value);
  
@@ -43,3 +43,48 @@
  
  // cursor
  	M_DrawCharacter (196, 32 + fps_cursor * 8, 12 + ((int) (curtime * 4) & 1));
+@@ -1225,8 +1227,6 @@
+ 
+ 	
+ 	progs = (dprograms_t *) FS_LoadHunkFile ("spprogs.dat");
+-	if (progs && !file_from_gamedir)	
+-		Cbuf_AddText ("gamedir qw\n");
+ 	Cbuf_AddText ("map start\n");
+ }
+ 
+@@ -1385,7 +1385,7 @@
+ 		return;
+ 
+ 	M_EnterMenu (m_load);
+-	M_ScanSaves (!file_from_gamedir ? "qw" : com_gamedir);
++	M_ScanSaves (com_gamedir);
+ }
+ 
+ void M_Menu_Save_f (void) {
+@@ -1443,7 +1443,7 @@
+ 
+ 		// issue the load command
+ 		if (FS_LoadHunkFile ("spprogs.dat") && !file_from_gamedir)
+-			Cbuf_AddText("disconnect; gamedir qw\n");
++			Cbuf_AddText("disconnect\n");
+ 		Cbuf_AddText (va ("load s%i\n", load_cursor) );
+ 		return;
+ 
+@@ -2209,7 +2209,7 @@
+ 		return;
+ 	}
+ #else
+-	if (!(d = opendir(va("%s%s", com_basedir, demo_currentdir)))) {
++	if (!(d = opendir(va("%s/%s", com_gamedir, demo_currentdir)))) {
+ 		demolist_data[demolist_count].name = strdup ("Error reading directory");
+ 		demolist_data[demolist_count].type = dt_msg;
+ 		demolist_count++;
+@@ -2315,7 +2315,7 @@
+ 					*s = 0;
+ 			}
+ 		} else {
+-			strcpy(demo_currentdir, "/qw");	
++			strcpy(demo_currentdir, com_gamedir);
+ 		}
+ 	}
+ 	
diff -urN /usr/ports/games/fuhquake/files/patch-modules.c fuhquake/files/patch-modules.c
--- /usr/ports/games/fuhquake/files/patch-modules.c	Fri Jun 18 05:16:23 2004
+++ fuhquake/files/patch-modules.c	Tue Jan 31 14:39:51 2006
@@ -1,5 +1,5 @@
---- modules.c.orig	Wed Feb  4 21:05:56 2004
-+++ modules.c	Wed Feb  4 21:14:23 2004
+--- modules.c.orig	Wed Jan  7 03:51:30 2004
++++ modules.c	Sun Jan 22 22:07:23 2006
 @@ -31,10 +31,6 @@
  char _temp_modulename[MAX_OSPATH];
  static registeredModule_t registeredModules[qlib_nummodules];
diff -urN /usr/ports/games/fuhquake/files/patch-modules.h fuhquake/files/patch-modules.h
--- /usr/ports/games/fuhquake/files/patch-modules.h	Fri Jun 18 05:16:23 2004
+++ fuhquake/files/patch-modules.h	Tue Jan 31 14:39:51 2006
@@ -1,5 +1,5 @@
---- modules.h.orig	Wed Feb  4 21:13:04 2004
-+++ modules.h	Wed Feb  4 21:13:36 2004
+--- modules.h.orig	Wed Jan  7 00:43:26 2004
++++ modules.h	Sun Jan 22 22:07:23 2006
 @@ -24,7 +24,7 @@
  
  #include "security.h"
diff -urN /usr/ports/games/fuhquake/files/patch-mp3_player.c fuhquake/files/patch-mp3_player.c
--- /usr/ports/games/fuhquake/files/patch-mp3_player.c	Fri Jun 18 05:16:23 2004
+++ fuhquake/files/patch-mp3_player.c	Tue Jan 31 14:39:51 2006
@@ -1,5 +1,5 @@
---- mp3_player.c.orig	Wed Feb  4 21:19:26 2004
-+++ mp3_player.c	Wed Feb  4 21:23:46 2004
+--- mp3_player.c.orig	Wed Jan  7 00:45:20 2004
++++ mp3_player.c	Sun Jan 22 22:07:23 2006
 @@ -56,9 +56,10 @@
  
  #ifdef __XMMS__
@@ -8,7 +8,7 @@
  #include <sys/wait.h>
  
 -cvar_t mp3_dir = {"mp3_xmms_dir", "/usr/local/bin"};
-+cvar_t mp3_dir = {"mp3_xmms_dir", "%%X11BASE%%/bin"};
++cvar_t mp3_dir = {"mp3_xmms_dir", X11BASE "/bin"};
  cvar_t mp3_xmms_session = {"mp3_xmms_session", "0"};
  
  #endif
diff -urN /usr/ports/games/fuhquake/files/patch-r_part.c fuhquake/files/patch-r_part.c
--- /usr/ports/games/fuhquake/files/patch-r_part.c	Fri Jul 23 04:15:38 2004
+++ fuhquake/files/patch-r_part.c	Tue Jan 31 14:39:51 2006
@@ -1,5 +1,5 @@
 --- r_part.c.orig	Wed Jan  7 00:39:44 2004
-+++ r_part.c	Mon Jul 19 11:54:15 2004
++++ r_part.c	Sun Jan 22 22:07:23 2006
 @@ -58,7 +58,7 @@
  
  vec3_t				r_pright, r_pup, r_ppn;
diff -urN /usr/ports/games/fuhquake/files/patch-sv_main.c fuhquake/files/patch-sv_main.c
--- /usr/ports/games/fuhquake/files/patch-sv_main.c	Wed Dec 31 21:00:00 1969
+++ fuhquake/files/patch-sv_main.c	Tue Jan 31 14:39:51 2006
@@ -0,0 +1,11 @@
+--- sv_main.c.orig	Wed Jan  7 03:53:12 2004
++++ sv_main.c	Tue Jan 31 12:53:04 2006
+@@ -1088,7 +1088,7 @@
+ 	Info_SetValueForStarKey (svs.info, "*fuh_version", VersionString(), MAX_SERVERINFO_STRING);
+ 	Info_SetValueForStarKey (svs.info, "*z_ext", va("%i", SV_SUPPORTED_EXTENSIONS), MAX_SERVERINFO_STRING);
+ 
+-	if (strcmp(com_gamedirfile, "qw"))
++	if (strcmp(com_gamedirfile, "fuhquake"))
+ 		Info_SetValueForStarKey (svs.info, "*gamedir", com_gamedirfile, MAX_SERVERINFO_STRING); 
+ 
+ 	// init fraglog stuff
diff -urN /usr/ports/games/fuhquake/files/patch-sv_user.c fuhquake/files/patch-sv_user.c
--- /usr/ports/games/fuhquake/files/patch-sv_user.c	Wed Dec 31 21:00:00 1969
+++ fuhquake/files/patch-sv_user.c	Tue Jan 31 14:39:51 2006
@@ -0,0 +1,11 @@
+--- sv_user.c.orig	Wed Jan  7 00:39:44 2004
++++ sv_user.c	Tue Jan 31 12:52:27 2006
+@@ -65,7 +65,7 @@
+ 
+ 	gamedir = Info_ValueForKey (svs.info, "*gamedir");
+ 	if (!gamedir[0])
+-		gamedir = "qw";
++		gamedir = "fuhquake";
+ 
+ 	//NOTE:  This doesn't go through ClientReliableWrite since it's before the userspawns.
+ 	//These functions are written to not overflow
diff -urN /usr/ports/games/fuhquake/files/patch-version.h fuhquake/files/patch-version.h
--- /usr/ports/games/fuhquake/files/patch-version.h	Fri Jun 18 05:16:23 2004
+++ fuhquake/files/patch-version.h	Tue Jan 31 14:39:51 2006
@@ -1,7 +1,7 @@
---- version.h.orig	Wed Sep 24 20:56:57 2003
-+++ version.h	Wed Sep 24 20:58:44 2003
+--- version.h.orig	Wed Jan  7 00:58:18 2004
++++ version.h	Sun Jan 22 22:07:23 2006
 @@ -4,10 +4,12 @@
- #define FUH_VERSION		"0.30"
+ #define FUH_VERSION		"0.31"
  #define LINUX_VERSION	0.98
  
 -#ifdef _WIN32
diff -urN /usr/ports/games/fuhquake/files/patch-vid_glx.c fuhquake/files/patch-vid_glx.c
--- /usr/ports/games/fuhquake/files/patch-vid_glx.c	Fri Jun 18 05:16:23 2004
+++ fuhquake/files/patch-vid_glx.c	Tue Jan 31 14:39:51 2006
@@ -1,5 +1,5 @@
---- vid_glx.c.orig	Thu Aug 28 18:08:22 2003
-+++ vid_glx.c	Thu Aug 28 18:08:03 2003
+--- vid_glx.c.orig	Wed Jan  7 00:39:44 2004
++++ vid_glx.c	Sun Jan 22 22:07:23 2006
 @@ -20,7 +20,9 @@
  #include <termios.h>
  #include <sys/ioctl.h>
diff -urN /usr/ports/games/fuhquake/files/patch-vid_svga.c fuhquake/files/patch-vid_svga.c
--- /usr/ports/games/fuhquake/files/patch-vid_svga.c	Fri Jun 18 05:16:23 2004
+++ fuhquake/files/patch-vid_svga.c	Wed Dec 31 21:00:00 1969
@@ -1,107 +0,0 @@
---- vid_svgalib.c.orig	Thu Feb  5 00:41:00 2004
-+++ vid_svgalib.c	Thu Feb  5 00:51:44 2004
-@@ -20,12 +20,18 @@
- #include <termios.h>
- #include <sys/ioctl.h>
- #include <sys/stat.h>
-+#ifdef __linux__
- #include <sys/vt.h>
-+#endif
- #include <stdarg.h>
- #include <stdio.h>
- #include <signal.h>
- 
-+#if defined(__linux__)
- #include <asm/io.h>
-+#elif defined(__FreeBSD__)
-+#include <machine/cpufunc.h>
-+#endif
- 
- #include "vga.h"
- #include "vgakeyboard.h"
-@@ -92,7 +98,6 @@
- float	old_mouse_x, old_mouse_y;
- int		mx, my;
- 
--cvar_t _windowed_mouse = {"_windowed_mouse", "1", CVAR_ARCHIVE};	//dummy for menu.c
- cvar_t	m_filter = {"m_filter","0"};
- cvar_t cl_keypad = {"cl_keypad", "1"};
- 
-@@ -307,45 +312,41 @@
- }
- 
- static byte scantokey_kp[128] = {
--//  0       1        2       3       4       5       6       7
--//  8       9        A       B       C       D       E       F
--	0  ,   K_ESCAPE,'1',    '2',    '3',    '4',    '5',    '6',
--	'7',    '8',    '9',    '0',    '-',    '=',    K_BACKSPACE, 9,					// 0
--	'q',    'w',    'e',    'r',    't',    'y',    'u',    'i',
--	'o',    'p',    '[',    ']',    K_ENTER,K_LCTRL, 'a',    's',					// 1
--	'd',    'f',    'g',    'h',    'j',    'k',    'l',    ';',
--	'\'',   '`',    K_LSHIFT,'\\',   'z',    'x',    'c',    'v',					// 2
--	'b',    'n',    'm',    ',',    '.',    '/',    K_RSHIFT,KP_STAR,
--	K_LALT,  ' ',  K_CAPSLOCK,K_F1,  K_F2,   K_F3,   K_F4,   K_F5,					// 3
--	K_F6,   K_F7,   K_F8,   K_F9,   K_F10,  KP_NUMLOCK,K_SCRLCK,KP_HOME,
--	KP_UPARROW,KP_PGUP,KP_MINUS,KP_LEFTARROW,KP_5,KP_RIGHTARROW,KP_PLUS,KP_END,		// 4
--	KP_DOWNARROW,KP_PGDN,KP_INS,KP_DEL, 0,  0,      0,      K_F11,
--	K_F12,  0,      0,      0,      0,      0,      0,      0,						// 5
--	KP_ENTER,K_RCTRL,KP_SLASH,0, K_RALT,  K_PAUSE,K_HOME, K_UPARROW,
--	K_PGUP, K_LEFTARROW,K_RIGHTARROW,K_END, K_DOWNARROW,K_PGDN,K_INS,K_DEL,        // 6
--	0,      0,      0,      0,      0,      0,      0,      K_PAUSE,
--	0,      0,      0,      0,      0,      K_LWIN, K_RWIN, K_MENU					// 7
-+	0,            K_ESCAPE,   '1',          '2',           '3',         '4',           '5',         '6',
-+	'7',          '8',        '9',          '0',           '-',         '=',           K_BACKSPACE, 9,
-+	'q',          'w',        'e',          'r',           't',         'y',           'u',         'i',
-+	'o',          'p',        '[',          ']',           K_ENTER,     K_LCTRL,       'a',         's',
-+	'd',          'f',        'g',          'h',           'j',         'k',           'l',         ';',
-+	'\'',         '`',         K_LSHIFT,    '\\',          'z',         'x',           'c',         'v',
-+	'b',          'n',         'm',         ',',           '.',         '/',           K_RSHIFT,    KP_STAR,
-+	K_LALT,       ' ',         K_CAPSLOCK,   K_F1,         K_F2,        K_F3,          K_F4,        K_F5,
-+	K_F6,         K_F7,        K_F8,         K_F9,         K_F10,       KP_NUMLOCK,    K_SCRLCK,    KP_HOME,
-+	KP_UPARROW,   KP_PGUP,     KP_MINUS,     KP_LEFTARROW, KP_5,        KP_RIGHTARROW, KP_PLUS,     KP_END,
-+	KP_DOWNARROW, KP_PGDN,     KP_INS,       KP_DEL,       0,           0,             0,           K_F11,
-+	K_F12,        KP_ENTER,    K_RCTRL,      KP_SLASH,     K_PRINTSCR,  K_RALT,        K_HOME,      K_UPARROW,
-+	K_PGUP,       K_LEFTARROW, K_RIGHTARROW, K_END,        K_DOWNARROW, K_PGDN,        K_INS,       K_DEL,
-+	K_PAUSE,      K_LWIN,      K_RWIN,       K_MENU,       0,           0,             0,           0,
-+	0,            0,           0,            0,            0,           0,             0,           0,
-+	0,            0,           0,            0,            0,           0,             0,           0
- };
- 
- static byte scantokey[128] = {
--//  0       1        2       3       4       5       6       7
--//  8       9        A       B       C       D       E       F
--	0  ,   K_ESCAPE,'1',    '2',    '3',    '4',    '5',    '6',
--	'7',    '8',    '9',    '0',    '-',    '=',    K_BACKSPACE, 9,   // 0
--	'q',    'w',    'e',    'r',    't',    'y',    'u',    'i',
--	'o',    'p',    '[',    ']',    K_ENTER,K_LCTRL, 'a',    's',      // 1
--	'd',    'f',    'g',    'h',    'j',    'k',    'l',    ';',
--	'\'',   '`',    K_LSHIFT,'\\',   'z',    'x',    'c',    'v',      // 2
--	'b',    'n',    'm',    ',',    '.',    '/',    K_RSHIFT,KP_STAR,
--	K_LALT,  ' ',  K_CAPSLOCK,K_F1,  K_F2,   K_F3,   K_F4,   K_F5,     // 3
--	K_F6,   K_F7,   K_F8,   K_F9,   K_F10,  KP_NUMLOCK,K_SCRLCK,K_HOME,
--	K_UPARROW,K_PGUP,'-',K_LEFTARROW,'5',K_RIGHTARROW,'+',    K_END, // 4
--	K_DOWNARROW,K_PGDN,K_INS,K_DEL, 0,      0,      0,      K_F11,
--	K_F12,  0,      0,      0,      0,      0,      0,      0,        // 5
--	K_ENTER,K_RCTRL,'/',     0, K_RALT,  K_PAUSE,K_HOME, K_UPARROW,
--	K_PGUP, K_LEFTARROW,K_RIGHTARROW,K_END, K_DOWNARROW,K_PGDN,K_INS,K_DEL,        // 6
--	0,      0,      0,      0,      0,      0,      0,      K_PAUSE,
--	0,      0,      0,      0,      0,      K_LWIN, K_RWIN, K_MENU			// 7
-+	0,           K_ESCAPE,   '1',          '2',          '3',         '4',          '5',         '6',
-+	'7',         '8',        '9',          '0',          '-',         '=',          K_BACKSPACE, 9,
-+	'q',         'w',        'e',          'r',          't',         'y',          'u',         'i',
-+	'o',         'p',        '[',          ']',          K_ENTER,     K_LCTRL,      'a',         's',
-+	'd',         'f',        'g',          'h',          'j',         'k',          'l',         ';',
-+	'\'',        '`',         K_LSHIFT,    '\\',         'z',         'x',          'c',         'v',
-+	'b',         'n',         'm',         ',',          '.',         '/',          K_RSHIFT,    KP_STAR,
-+	K_LALT,      ' ',         K_CAPSLOCK,   K_F1,        K_F2,        K_F3,         K_F4,        K_F5,
-+	K_F6,        K_F7,        K_F8,         K_F9,        K_F10,       KP_NUMLOCK,   K_SCRLCK,    K_HOME,
-+	K_UPARROW,   K_PGUP,      '-',          K_LEFTARROW, '5',         K_RIGHTARROW, '+',         K_END,
-+	K_DOWNARROW, K_PGDN,      K_INS,        K_DEL,       0,           0,            0,           K_F11,
-+	K_F12,       K_ENTER,     K_RCTRL,      '/',         K_PRINTSCR,  K_RALT,       K_HOME,      K_UPARROW,
-+	K_PGUP,      K_LEFTARROW, K_RIGHTARROW, K_END,       K_DOWNARROW, K_PGDN,       K_INS,       K_DEL,
-+	K_PAUSE,     K_LWIN,      K_RWIN,       K_MENU,      0,           0,            0,           0,
-+	0,           0,           0,            0,           0,           0,            0,           0,
-+	0,           0,           0,            0,           0,           0,            0,           0
- };
- 
- void keyhandler(int scancode, int state) {	
diff -urN /usr/ports/games/fuhquake/pkg-message fuhquake/pkg-message
--- /usr/ports/games/fuhquake/pkg-message	Thu Nov 17 09:17:11 2005
+++ fuhquake/pkg-message	Tue Jan 31 14:56:52 2006
@@ -0,0 +1,22 @@
+==============================================================================
+
+FuhQuake has been installed.
+
+To start it in full-screen mode you can run it with the "-fullscreen"
+parameter.
+
+If you have mouse problems you can try running it with the "-nomdga"
+parameter (this will make the mouse work fine when the DGA X11 extension is
+disabled).
+
+If you hace sound problems try running it with the parameter
+"-sndspeed <speed>", where "<speed>" could be 22050 or 44100 for example.
+
+Notes:
+* Now FuhQuake writes all the configuration files, screenshots, etc. in
+  "~/.fuhquake".
+* It uses the "fuhquake" game directory instead of "qw".
+* The variable "cfg_legacy_write" is enabled by default (so it writes the
+  configuration file before exitting).
+
+==============================================================================
diff -urN /usr/ports/games/fuhquake/pkg-plist fuhquake/pkg-plist
--- /usr/ports/games/fuhquake/pkg-plist	Thu Nov 17 09:17:11 2005
+++ fuhquake/pkg-plist	Tue Jan 17 16:24:41 2006
@@ -14,49 +14,64 @@
 %%PORTDOCS%%%%DOCSDIR%%/pointing.txt
 %%PORTDOCS%%%%DOCSDIR%%/rulesets.txt
 %%PORTDOCS%%%%DOCSDIR%%/track.txt
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/anum_0.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/anum_1.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/anum_2.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/anum_3.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/anum_4.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/anum_5.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/anum_6.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/anum_7.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/anum_8.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/anum_9.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/anum_colon.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/anum_minus.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/anum_slash.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/disc.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/face1.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/face2.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/face3.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/face4.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/face5.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/face_inv2.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/face_invis.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/face_invul2.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/face_p1.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/face_p2.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/face_p3.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/face_p4.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/face_p5.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/face_quad.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/num_0.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/num_1.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/num_2.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/num_3.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/num_4.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/num_5.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/num_6.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/num_7.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/num_8.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/num_9.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/num_colon.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/num_minus.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/num_slash.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/sb_armor1.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/sb_armor2.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/sb_armor3.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/sb_cells.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/sb_invis.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/sb_invuln.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/sb_nails.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/sb_quad.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/sb_rocket.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/sb_shells.png
+%%HUD%%%%DATADIR%%/fuhquake/textures/wad/sb_suit.png
+%%HUD%%%%DATADIR%%/fuhquake/charset.png
 %%DATADIR%%/fuhquake/fragfile.dat
-%%LITS%%%%DATADIR%%/fuhquake/lits/dm1.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/dm2.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/dm3.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/dm4.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/dm5.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/dm6.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e1m1.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e1m2.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e1m3.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e1m4.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e1m5.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e1m6.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e1m7.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e2m1.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e2m2.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e2m3.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e2m4.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e2m5.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e2m6.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e2m7.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e3m1.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e3m2.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e3m3.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e3m4.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e3m5.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e3m6.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e3m7.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e4m1.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e4m2.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e4m3.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e4m4.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e4m5.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e4m6.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e4m7.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/e4m8.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/end.lit
-%%LITS%%%%DATADIR%%/fuhquake/lits/start.lit
 %%DATADIR%%/fuhquake/pak0.pak
-%%SKYBOXES%%%%DATADIR%%/fuhquake/pak1.pak
 %%DATADIR%%/fuhquake/qwprogs.dat
 %%DATADIR%%/fuhquake/spprogs.dat
-%%LITS%%@dirrm %%DATADIR%%/fuhquake/lits
+%%HUD%%@dirrm %%DATADIR%%/fuhquake/textures/wad
+%%HUD%%@dirrm %%DATADIR%%/fuhquake/textures
 @dirrm %%DATADIR%%/fuhquake
-@dirrm %%DATADIR%%
 %%PORTDOCS%%@dirrm %%DOCSDIR%%
--- fuhquake.diff ends here ---



>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1138730469.0>