ports/92628: [UPDATE] games/fuhquake: remove some options (will be split to another port)
Alejandro Pulver
alejandro at varnet.biz
Tue Jan 31 18:10:08 UTC 2006
>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 at 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 at 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
- at dirrm %%DATADIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%
--- fuhquake.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list