aboutsummaryrefslogtreecommitdiffstats
path: root/games
diff options
context:
space:
mode:
authoralepulver <alepulver@FreeBSD.org>2008-02-16 04:44:59 +0800
committeralepulver <alepulver@FreeBSD.org>2008-02-16 04:44:59 +0800
commit2b4f91a84dea4708e6e85a1923a6ccbae023fa83 (patch)
tree6e1e22488bc1dbe0d44b0d744149c4b7abc306bc /games
parente67ca544aa1ce5450e20adc16cf7da615516b086 (diff)
downloadfreebsd-ports-gnome-2b4f91a84dea4708e6e85a1923a6ccbae023fa83.tar.gz
freebsd-ports-gnome-2b4f91a84dea4708e6e85a1923a6ccbae023fa83.tar.zst
freebsd-ports-gnome-2b4f91a84dea4708e6e85a1923a6ccbae023fa83.zip
- Update to version 3343.
- Reorganize options (remove unsupported/not needed and use common names in the remaining ones). - Use .tar.gz distfile instead of .zip. - Patch to write in ~/.fte by default (previously needed "-usehome"). - Add more information to pkg-message.
Diffstat (limited to 'games')
-rw-r--r--games/fteqw/Makefile49
-rw-r--r--games/fteqw/distinfo6
-rw-r--r--games/fteqw/files/patch-Makefile104
-rw-r--r--games/fteqw/files/patch-client__snd_linux.c40
-rw-r--r--games/fteqw/files/patch-client__sys_linux.c20
-rw-r--r--games/fteqw/files/patch-common__fs.c60
-rw-r--r--games/fteqw/files/pkg-message.in7
7 files changed, 122 insertions, 164 deletions
diff --git a/games/fteqw/Makefile b/games/fteqw/Makefile
index 1b2ebf38a08a..966089326090 100644
--- a/games/fteqw/Makefile
+++ b/games/fteqw/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= fteqw
-PORTVERSION= 2770
-PORTREVISION= 2
+PORTVERSION= 3343
CATEGORIES= games
MASTER_SITES= SF
DISTNAME= ftesrc${PORTVERSION}-all
@@ -15,17 +14,14 @@ DISTNAME= ftesrc${PORTVERSION}-all
MAINTAINER= alepulver@FreeBSD.org
COMMENT= QuakeWorld client with cool features, but still compatible
-USE_ZIP= yes
USE_DOS2UNIX= yes
-USE_GCC= 3.2+
USE_GMAKE= yes
-WRKSRC= ${WRKDIR}/engine
+NO_WRKSUBDIR= yes
-OPTIONS= GL "Build OpenGL client" on \
+OPTIONS= DEDICATED "Build dedicated server" on \
+ GL "Build OpenGL (hardware) client" on \
OPTIMIZED_CFLAGS "Enable compilation optimizations" on \
- SV "Build dedicated server" on \
- SW "Build software (X11) client" on \
- X86_ASM "Enable use of x86 assembly code" on
+ SDL "Build SDL (software) client" on
SUB_FILES= pkg-message
@@ -33,11 +29,17 @@ SUB_FILES= pkg-message
.include <bsd.port.pre.mk>
-.if defined(WITHOUT_DEDICATED) && defined(WITHOUT_GLX) && defined(WITHOUT_X11)
-IGNORE= needs at least one executable (DEDICATED, GLX or X11)
+.if defined(WITHOUT_DEDICATED) && defined(WITHOUT_GL) && defined(WITHOUT_SDL)
+IGNORE= needs at least one executable (DEDICATED, GL or SDL)
.endif
-.if !defined(WITHOUT_GL) || !defined(WITHOUT_SW)
+.if !defined(WITHOUT_DEDICATED)
+ALL_TARGET+= sv-rel
+PLIST_FILES+= bin/fteqw-sv
+FTE_TARGETS+= fteqw.sv
+.endif
+
+.if !defined(WITHOUT_GL) || !defined(WITHOUT_SDL)
LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
vorbis.4:${PORTSDIR}/audio/libvorbis
@@ -54,25 +56,18 @@ FTE_TARGETS+= fteqw.gl
MAKE_ENV+= OPTIMIZED_CFLAGS=true
.endif
-.if !defined(WITHOUT_SV)
-ALL_TARGET+= sv-rel
-PLIST_FILES+= bin/fteqw-sv
-FTE_TARGETS+= fteqw.sv
-.endif
-
-.if !defined(WITHOUT_SW)
-USE_XLIB= yes
+# SDL is used instead of the native X11 software version as it reports a
+# memory allocation error at startup. It also fails with USEASM=true.
+.if !defined(WITHOUT_SDL)
+USE_SDL= sdl
ALL_TARGET+= sw-rel
-PLIST_FILES+= bin/fteqw-sw
-FTE_TARGETS+= fteqw.sw
-.endif
-
-.if !defined(WITHOUT_X86_ASM) && ${ARCH} == "i386"
-MAKE_ENV+= USEASM=true
+PLIST_FILES+= bin/fteqw-sdl
+FTE_TARGETS+= fteqw.sdl
.endif
post-patch:
- @${REINPLACE_CMD} -e 's/malloc\.h/stdlib.h/' ${WRKSRC}/gl/gl_alias.c
+ @${REINPLACE_CMD} -e 's/alloca\.h/stdlib.h/' \
+ ${WRKSRC}/gl/gl_alias.c ${WRKSRC}/common/com_mesh.c
@${REINPLACE_CMD} -e 's/__linux__/__unix__/' \
${WRKSRC}/common/plugin.c ${WRKSRC}/server/svq3_game.c
diff --git a/games/fteqw/distinfo b/games/fteqw/distinfo
index 885aa24f36ac..156637f09452 100644
--- a/games/fteqw/distinfo
+++ b/games/fteqw/distinfo
@@ -1,3 +1,3 @@
-MD5 (ftesrc2770-all.zip) = 1a47b5d5c88422316814d6e4ed1c2d17
-SHA256 (ftesrc2770-all.zip) = bc8eb51f67a0f8d73a355db4d317dd35a26a6c1827d96f180a76d7bacef1d43e
-SIZE (ftesrc2770-all.zip) = 2713584
+MD5 (ftesrc3343-all.tar.gz) = b118f9363f416975482da149612b2d30
+SHA256 (ftesrc3343-all.tar.gz) = e0ced694415d8bf3727848d0522d65879e539e352a3e3caf14c75f4fe05747b9
+SIZE (ftesrc3343-all.tar.gz) = 3257106
diff --git a/games/fteqw/files/patch-Makefile b/games/fteqw/files/patch-Makefile
index fa95576da1b5..7cc7a75a5679 100644
--- a/games/fteqw/files/patch-Makefile
+++ b/games/fteqw/files/patch-Makefile
@@ -1,97 +1,87 @@
---- ./Makefile.orig Tue Jul 18 00:34:50 2006
-+++ ./Makefile Sat Sep 2 18:40:11 2006
-@@ -1,5 +1,5 @@
+--- Makefile.orig 2008-02-15 17:58:56.000000000 -0300
++++ Makefile 2008-02-15 18:00:12.000000000 -0300
+@@ -1,6 +1,6 @@
-CC=gcc
--STRIP=strip
+CC?=gcc
+ WINDRES=windres
+-STRIP=strip
+STRIP?=strip
STRIPFLAGS=--strip-unneeded --remove-section=.comment
-@@ -86,9 +86,9 @@
- BASELDFLAGS ?= -lm -ldl
+@@ -179,9 +179,9 @@
+ endif
#BASELDFLAGS=-lm -lz
--GLXLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext -lpng -ljpeg
+-GLXLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext $(IMAGELDFLAGS)
-GLSLDFLAGS=-L/usr/X11R6/lib -lMesaGL -lglide -lvga
--XLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext -lpng -ljpeg
-+GLXLDFLAGS=-L$(X11BASE)/lib -lX11 -lXext -L$(LOCALBASE)/lib -lpng -ljpeg
-+GLSLDFLAGS=-L$(X11BASE)/lib -lMesaGL -lglide -lvga
-+XLDFLAGS=-L$(X11BASE)/lib -lX11 -lXext -L$(LOCALBASE)/lib -lpng -ljpeg
+-XLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext $(IMAGELDFLAGS)
++GLXLDFLAGS=-L$(LOCALBASE)/lib -lX11 -lXext $(IMAGELDFLAGS)
++GLSLDFLAGS=-L$(LOCALBASE)/lib -lMesaGL -lglide -lvga
++XLDFLAGS=-L$(LOCALBASE)/lib -lX11 -lXext $(IMAGELDFLAGS)
SLDFLAGS=-lvga
ifeq ($(USEASM),true)
-@@ -119,12 +119,14 @@
+@@ -212,18 +212,20 @@
BASE_ASM_CFLAGS = -DNOASM
endif
--BASE_CFLAGS=$(BASE_ASM_CFLAGS) -Wall -Dstrnicmp=strncasecmp -Dstricmp=strcasecmp -I$(CLIENT_DIR) -I$(SERVER_DIR) -I$(COMMON_DIR) -I$(SW_DIR) -I$(GL_DIR) -I$(PROGS_DIR) -I$(LIBS_DIR) -I$(QUX_DIR) -I$(LIBS_DIR)/dxsdk7/include -I$(LIBS_DIR)/sdl/include -I$(LIBS_DIR)/sdl/include/SDL -D_vsnprintf=vsnprintf -D_snprintf=snprintf
-+BASE_CFLAGS=$(BASE_ASM_CFLAGS) -Dstrnicmp=strncasecmp -Dstricmp=strcasecmp -I$(CLIENT_DIR) -I$(SERVER_DIR) -I$(COMMON_DIR) -I$(SW_DIR) -I$(GL_DIR) -I$(PROGS_DIR) -I$(LIBS_DIR) -I$(QUX_DIR) -I$(LIBS_DIR)/dxsdk7/include -I$(LIBS_DIR)/sdl/include -I$(LIBS_DIR)/sdl/include/SDL -D_vsnprintf=vsnprintf -D_snprintf=snprintf
+-BASE_CFLAGS=$(BASE_ASM_CFLAGS) -Wall -Dstrnicmp=strncasecmp -Dstricmp=strcasecmp -I$(CLIENT_DIR) -I$(SERVER_DIR) -I$(COMMON_DIR) -I$(SW_DIR) -I$(GL_DIR) -I$(D3D9_DIR) -I$(D3D7_DIR) -I$(PROGS_DIR) -I$(LIBS_DIR) -I$(LIBS_DIR)/dxsdk7/include -I$(LIBS_DIR)/sdl/include -I$(LIBS_DIR)/sdl/include/SDL -D_vsnprintf=vsnprintf -D_snprintf=snprintf
++BASE_CFLAGS=$(BASE_ASM_CFLAGS) -Dstrnicmp=strncasecmp -Dstricmp=strcasecmp -I$(CLIENT_DIR) -I$(SERVER_DIR) -I$(COMMON_DIR) -I$(SW_DIR) -I$(GL_DIR) -I$(D3D9_DIR) -I$(D3D7_DIR) -I$(PROGS_DIR) -I$(LIBS_DIR) -I$(LIBS_DIR)/dxsdk7/include -I$(LIBS_DIR)/sdl/include -I$(LIBS_DIR)/sdl/include/SDL -D_vsnprintf=vsnprintf -D_snprintf=snprintf
CLIENT_ONLY_CFLAGS=-DCLIENTONLY
SERVER_ONLY_CFLAGS=-DSERVERONLY
JOINT_CFLAGS=
DEBUG_CFLAGS=-ggdb -g
+
+ifeq ($(OPTIMIZED_CFLAGS),true)
- RELEASE_CFLAGS=-O6 -fno-strict-aliasing -ffast-math -funroll-loops -fexpensive-optimizations $(CPUOPTIMIZATIONS)
+ ifeq ($(FTE_TARGET),win32)
+ RELEASE_CFLAGS=-fno-strict-aliasing -ffast-math -fexpensive-optimizations $(CPUOPTIMIZATIONS)
+ else
+ RELEASE_CFLAGS=-O2 -fno-strict-aliasing $(CPUOPTIMIZATIONS)
+ #RELEASE_CFLAGS=-O6 -fno-strict-aliasing -ffast-math -funroll-loops -fexpensive-optimizations $(CPUOPTIMIZATIONS)
+ endif
+endif
+
GLCFLAGS=-DGLQUAKE
SWCFLAGS=-DSWQUAKE
+@@ -550,7 +552,7 @@
+ #oss, X, etc.
-@@ -339,11 +341,11 @@
- GL_EXE_NAME=../fteqw_sdl.gl
- GLCL_EXE_NAME=../fteqwcl_sdl.gl
- ifdef windir
-- GL_LDFLAGS=$(GLLDFLAGS) -lmingw32 -lwsock32 `sdl-config --libs`
-+ GL_LDFLAGS=$(GLLDFLAGS) -lmingw32 -lwsock32 `$(SDL_CONFIG) --libs`
- else
-- GL_LDFLAGS=$(GLLDFLAGS) -lpng -ljpeg `sdl-config --libs`
-+ GL_LDFLAGS=$(GLLDFLAGS) -lpng -ljpeg `$(SDL_CONFIG) --libs`
- endif
--GL_CFLAGS=$(GLCFLAGS) `sdl-config --cflags`
-+GL_CFLAGS=$(GLCFLAGS) `$(SDL_CONFIG) --cflags`
- GLB_DIR=gl_sdl
- GLCL_DIR=glcl_sdl
+ SV_DIR=sv_linux
+- SV_LDFLAGS=-lz -ldl
++ SV_LDFLAGS=-lz
-@@ -354,9 +356,9 @@
- SW_LDFLAGS=$(SWLDFLAGS) -lmingw32 -lwsock32 -lSDLmain -lSDL
- else
- #pthread is needed because of SDL.
--SW_LDFLAGS=$(SWLDFLAGS) `sdl-config --libs` -lpng -ljpeg
-+SW_LDFLAGS=$(SWLDFLAGS) `$(SDL_CONFIG) --libs` -lpng -ljpeg
- endif
--SW_CFLAGS=$(SWCFLAGS) `sdl-config --cflags`
-+SW_CFLAGS=$(SWCFLAGS) `$(SDL_CONFIG) --cflags`
- SWB_DIR=sw_sdl
- SWCL_DIR=swcl_sdl
-
-@@ -424,8 +426,8 @@
- endif
+ ifeq ($(USEASM),true)
+ GLCL_OBJS=$(GL_OBJS) $(GLQUAKE_OBJS) gl_vidlinuxglx.o snd_linux.o cd_null.o sys_linux.o sys_dosa.o
+@@ -560,19 +562,12 @@
GL_EXE_NAME=../fteqw.gl
GLCL_EXE_NAME=../fteqwcl.gl
-- GL_LDFLAGS= -L/usr/local/lib $(GLLDFLAGS) $(GLXLDFLAGS) -lXxf86vm
+ GL_LDFLAGS= -L/usr/local/lib $(GLLDFLAGS) $(GLXLDFLAGS) -lXxf86vm -lpthread
- GL_CFLAGS=$(GLCFLAGS) -I/usr/local/include -I/usr/X11R6/include
-+ GL_LDFLAGS=$(GLLDFLAGS) $(GLXLDFLAGS) -lXxf86vm
-+ GL_CFLAGS=$(GLCFLAGS) -I$(LOCALBASE)/include -I$(X11BASE)/include
++ GL_CFLAGS=$(GLCFLAGS) -I$(LOCALBASE)/include
GLB_DIR=gl_bsd
GLCL_DIR=glcl_bsd
-@@ -436,8 +438,8 @@
- endif
- SW_EXE_NAME=../fteqw.sw
- SWCL_EXE_NAME=../fteqwcl.sw
-- SW_LDFLAGS=-L/usr/local/lib $(SWLDFLAGS) $(XLDFLAGS)
+-ifeq ($(USEASM),true)
+- SWCL_OBJS=$(SOFTWARE_OBJS) vid_x.o snd_linux.o cd_null.o sys_linux.o sys_dosa.o
+-else
+- SWCL_OBJS=$(SOFTWARE_OBJS) vid_x.o snd_linux.o cd_null.o sys_linux.o
+-endif
+- SW_EXE_NAME=../fteqw.sw
+- SWCL_EXE_NAME=../fteqwcl.sw
+- SW_LDFLAGS=-L/usr/local/lib $(SWLDFLAGS) $(XLDFLAGS) -lXxf86vm -lpthread
- SW_CFLAGS=$(SWCFLAGS) -I/usr/local/include -I/usr/X11R6/include
-+ SW_LDFLAGS=$(SWLDFLAGS) $(XLDFLAGS)
-+ SW_CFLAGS=$(SWCFLAGS) -I$(LOCALBASE)/include -I$(X11BASE)/include
++ SW_EXE_NAME=../fteqw.sdl
++ SWCL_EXE_NAME=../fteqwcl.sdl
SWB_DIR=sw_bsd
SWCL_DIR=swcl_bsd
-@@ -449,7 +451,7 @@
+@@ -584,7 +579,7 @@
M_EXE_NAME=../fteqw
MCL_EXE_NAME=../fteqwcl
- M_LDFLAGS=$(GLLDFLAGS) $(GLXLDFLAGS) -lXxf86vm
+ M_LDFLAGS=$(GLLDFLAGS) $(GLXLDFLAGS) -lXxf86vm -lpthread
- M_CFLAGS=$(SWCFLAGS) $(GLCFLAGS) -I/usr/X11R6/include
-+ M_CFLAGS=$(SWCFLAGS) $(GLCFLAGS) -I$(X11BASE)/include
++ M_CFLAGS=$(SWCFLAGS) $(GLCFLAGS) -I$(LOCALBASE)/include
MB_DIR=m_bsd
MCL_DIR=mcl_bsd
- endif
+
diff --git a/games/fteqw/files/patch-client__snd_linux.c b/games/fteqw/files/patch-client__snd_linux.c
index efe25ad5f21b..287ded7d9863 100644
--- a/games/fteqw/files/patch-client__snd_linux.c
+++ b/games/fteqw/files/patch-client__snd_linux.c
@@ -1,31 +1,30 @@
---- ./client/snd_linux.c.orig Tue Jul 18 00:34:50 2006
-+++ ./client/snd_linux.c Sat Sep 2 18:40:11 2006
-@@ -115,14 +115,6 @@
+--- ./client/snd_linux.c.orig 2008-02-15 14:04:33.000000000 -0300
++++ ./client/snd_linux.c 2008-02-15 14:09:16.000000000 -0300
+@@ -114,14 +114,6 @@
return 0;
}
- if (ioctl(sc->audio_fd, SNDCTL_DSP_GETOSPACE, &info)==-1)
- {
- perror("GETOSPACE");
-- Con_Printf(S_ERROR "OSS: Um, can't do GETOSPACE?\n");
+- Con_Printf(CON_ERROR "OSS: Um, can't do GETOSPACE?\n");
- OSS_Shutdown(sc);
- return 0;
- }
-
- sc->sn.splitbuffer = 0;
-
// set sample bits & speed
-@@ -152,27 +144,6 @@
+
+ ioctl(sc->audio_fd, SNDCTL_DSP_GETFMTS, &fmt);
+@@ -149,26 +141,6 @@
sc->sn.speed = tryrates[i];
}
- if (sc->sn.samples > (info.fragstotal * info.fragsize * 4))
- {
-- Con_Printf(S_NOTICE "OSS: Enabling bigfoot's mmap hack! Hope you know what you're doing!\n");
+- Con_Printf(CON_NOTICE "OSS: Enabling bigfoot's mmap hack! Hope you know what you're doing!\n");
- sc->sn.samples = info.fragstotal * info.fragsize * 4;
- }
- sc->sn.samples = info.fragstotal * info.fragsize;
-- sc->sn.submission_chunk = 1;
-
-// memory map the dma buffer
-
@@ -33,7 +32,7 @@
- if (!sc->sn.buffer)
- {
- perror(snddev);
-- Con_Printf(S_ERROR "OSS: Could not mmap %s\n", snddev);
+- Con_Printf(CON_ERROR "OSS: Could not mmap %s\n", snddev);
- OSS_Shutdown(sc);
- return 0;
- }
@@ -43,22 +42,19 @@
tmp = 0;
if (sc->sn.numchannels == 2)
tmp = 1;
-@@ -228,6 +199,36 @@
- Con_Printf(S_ERROR "OSS: %d-bit sound not supported.\n", sc->sn.samplebits);
- OSS_Shutdown(sc);
+@@ -226,6 +198,35 @@
return 0;
-+ }
-+
+ }
+
+ if (ioctl(sc->audio_fd, SNDCTL_DSP_GETOSPACE, &info)==-1)
+ {
+ perror("GETOSPACE");
-+ Con_Printf(S_ERROR "OSS: Um, can't do GETOSPACE?\n");
++ Con_Printf(CON_ERROR "OSS: Um, can't do GETOSPACE?\n");
+ OSS_Shutdown(sc);
+ return 0;
+ }
+
+ sc->sn.samples = info.fragstotal * info.fragsize;
-+ sc->sn.submission_chunk = 1;
+
+// memory map the dma buffer
+
@@ -66,7 +62,7 @@
+ if (!sc->sn.buffer)
+ {
+ perror(snddev);
-+ Con_Printf(S_ERROR "OSS: Could not mmap %s\n", snddev);
++ Con_Printf(CON_ERROR "OSS: Could not mmap %s\n", snddev);
+ OSS_Shutdown(sc);
+ return 0;
+ }
@@ -75,8 +71,10 @@
+
+ if (sc->sn.samples > (info.fragstotal * info.fragsize * 4))
+ {
-+ Con_Printf(S_NOTICE "OSS: Enabling bigfoot's mmap hack! Hope you know what you're doing!\n");
++ Con_Printf(CON_NOTICE "OSS: Enabling bigfoot's mmap hack! Hope you know what you're doing!\n");
+ sc->sn.samples = info.fragstotal * info.fragsize * 4;
- }
-
++ }
++
// toggle the trigger & start her up
+
+ tmp = 0;
diff --git a/games/fteqw/files/patch-client__sys_linux.c b/games/fteqw/files/patch-client__sys_linux.c
index 1998a2e12e38..c13dee5c327b 100644
--- a/games/fteqw/files/patch-client__sys_linux.c
+++ b/games/fteqw/files/patch-client__sys_linux.c
@@ -1,23 +1,11 @@
---- ./client/sys_linux.c.orig Tue Jul 18 00:34:50 2006
-+++ ./client/sys_linux.c Sat Sep 2 18:40:52 2006
-@@ -364,18 +364,15 @@
- void *(*GetGameAPI)(void *);
-
+--- ./client/sys_linux.c.orig 2008-02-15 11:45:36.000000000 -0300
++++ ./client/sys_linux.c 2008-02-15 11:45:37.000000000 -0300
+@@ -371,7 +371,7 @@
char name[MAX_OSPATH];
-- char curpath[MAX_OSPATH];
+ char curpath[MAX_OSPATH];
char *searchpath;
- const char *gamename = "gamei386.so";
+ const char *gamename = "game.so";
void *ret;
-- getcwd(curpath, sizeof(curpath));
--
- searchpath = 0;
- while((searchpath = COM_NextPath(searchpath)))
- {
-- sprintf (name, "%s/%s/%s", curpath, searchpath, gamename);
-+ sprintf (name, "%s/%s", searchpath, gamename);
-
- game_library = dlopen (name, RTLD_LAZY );
- if (game_library)
diff --git a/games/fteqw/files/patch-common__fs.c b/games/fteqw/files/patch-common__fs.c
index 23c3209883d7..65c7b7fd4631 100644
--- a/games/fteqw/files/patch-common__fs.c
+++ b/games/fteqw/files/patch-common__fs.c
@@ -1,38 +1,24 @@
---- ./common/fs.c.orig Tue Jul 18 00:34:40 2006
-+++ ./common/fs.c Sat Sep 2 19:18:59 2006
-@@ -2051,7 +2051,7 @@
- case FS_GAMEONLY: //OS access only, no paks
- if (*com_homedir)
- {
-- snprintf(fullname, sizeof(fullname), "%s%s/%s", com_homedir, gamedirfile, filename);
-+ snprintf(fullname, sizeof(fullname), "%s/%s/%s", com_homedir, gamedirfile, filename);
- vfs = VFSOS_Open(fullname, mode);
- if (vfs)
- return vfs;
-@@ -2060,7 +2060,7 @@
+--- common/fs.c.orig 2008-02-15 14:55:07.000000000 -0300
++++ common/fs.c 2008-02-15 14:55:19.000000000 -0300
+@@ -2120,8 +2120,10 @@
+ }
+
+ //if we're meant to be writing, best write to it.
+- if (strchr(mode , 'w') || strchr(mode , 'a'))
++ if (strchr(mode , 'w') || strchr(mode , 'a')) {
++ COM_CreatePath(fullname);
return VFSOS_Open(fullname, mode);
- case FS_GAME:
- if (*com_homedir)
-- snprintf(fullname, sizeof(fullname), "%s%s/%s", com_homedir, gamedirfile, filename);
-+ snprintf(fullname, sizeof(fullname), "%s/%s/%s", com_homedir, gamedirfile, filename);
- else
- snprintf(fullname, sizeof(fullname), "%s%s/%s", com_quakedir, gamedirfile, filename);
- break;
-@@ -2073,7 +2073,7 @@
- case FS_BASE:
- if (*com_homedir)
- {
-- snprintf(fullname, sizeof(fullname), "%s%s", com_homedir, filename);
-+ snprintf(fullname, sizeof(fullname), "%s/%s", com_homedir, filename);
- vfs = VFSOS_Open(fullname, mode);
- if (vfs)
- return vfs;
-@@ -2083,7 +2083,7 @@
- case FS_CONFIGONLY:
- if (*com_homedir)
- {
-- snprintf(fullname, sizeof(fullname), "%sfte/%s", com_homedir, filename);
-+ snprintf(fullname, sizeof(fullname), "%s/fte/%s", com_homedir, filename);
- vfs = VFSOS_Open(fullname, mode);
- if (vfs)
- return vfs;
++ }
+ return NULL;
+ }
+
+@@ -3144,9 +3146,6 @@
+ *com_homedir = '\0';
+ #endif
+
+- if (!COM_CheckParm("-usehome"))
+- *com_homedir = '\0';
+-
+ if (COM_CheckParm("-nohome"))
+ *com_homedir = '\0';
+
diff --git a/games/fteqw/files/pkg-message.in b/games/fteqw/files/pkg-message.in
index dd01a1d59dbc..e84d1e62fd04 100644
--- a/games/fteqw/files/pkg-message.in
+++ b/games/fteqw/files/pkg-message.in
@@ -2,11 +2,12 @@
FTE QuakeWorld has been installed.
-To start in full-screen mode run it with "-fullscreen".
-
-To load and save the configuration to ~/.fte run it with "-usehome".
+By default it saves configuration to ~/.fte, to avoid run with "-nohome".
To select the game you want to play use "-basedir <dir>". For example, to play
Quake use "-basedir %%Q1DIR%%".
+For a complete list of supported games see:
+http://www.fteqw.com/wiki/index.php?title=SupportedGames
+
==============================================================================