aboutsummaryrefslogtreecommitdiffstats
path: root/games/fuhquake
diff options
context:
space:
mode:
authoralepulver <alepulver@FreeBSD.org>2006-07-24 03:01:03 +0800
committeralepulver <alepulver@FreeBSD.org>2006-07-24 03:01:03 +0800
commitb79122936a7d47fcdf70d4ce59bc7defcd9181ac (patch)
tree82dcf1722c80cf76f1e3140ca863bbe5bbd16389 /games/fuhquake
parent9fc8ec49dfbba1e61e8c4ea86a294e1a0ef611d7 (diff)
downloadfreebsd-ports-gnome-b79122936a7d47fcdf70d4ce59bc7defcd9181ac.tar.gz
freebsd-ports-gnome-b79122936a7d47fcdf70d4ce59bc7defcd9181ac.tar.zst
freebsd-ports-gnome-b79122936a7d47fcdf70d4ce59bc7defcd9181ac.zip
- Remove obsolete svga patch.
- Remove LITS and SKYBOXES options (JoeQuake is based on FuhQuake, so it also supports them; a separate port has been done). - Use patches instead of ${REINPLACE_CMD}. - Add HUD option. - Make FuhQuake write in ~/.fuhquake. PR: ports/91893 Submitted by: alepulver (myself) Approved by: maintainer (timeout)
Diffstat (limited to 'games/fuhquake')
-rw-r--r--games/fuhquake/Makefile65
-rw-r--r--games/fuhquake/distinfo9
-rw-r--r--games/fuhquake/files/Makefile4
-rw-r--r--games/fuhquake/files/patch-cl_main.c14
-rw-r--r--games/fuhquake/files/patch-common.c107
-rw-r--r--games/fuhquake/files/patch-menu.c53
-rw-r--r--games/fuhquake/files/patch-modules.c4
-rw-r--r--games/fuhquake/files/patch-modules.h4
-rw-r--r--games/fuhquake/files/patch-mp3_player.c6
-rw-r--r--games/fuhquake/files/patch-r_part.c2
-rw-r--r--games/fuhquake/files/patch-version.h6
-rw-r--r--games/fuhquake/files/patch-vid_glx.c4
-rw-r--r--games/fuhquake/files/patch-vid_svga.c107
-rw-r--r--games/fuhquake/pkg-plist95
14 files changed, 258 insertions, 222 deletions
diff --git a/games/fuhquake/Makefile b/games/fuhquake/Makefile
index 10325528e96f..523f0738f4b2 100644
--- a/games/fuhquake/Makefile
+++ b/games/fuhquake/Makefile
@@ -7,43 +7,42 @@
PORTNAME= fuhquake
PORTVERSION= 0.31
-PORTREVISION= 1
+PORTREVISION= 2
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
-WRKSRC= ${WRKDIR}/source
-
USE_ZIP= yes
-
MAKEFILE= ${FILESDIR}/Makefile
+WRKSRC= ${WRKDIR}/source
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= needs at least one client (GLX or X11)
+.endif
+
.if defined(WITH_GLX)
USE_GL= yes
LIB_DEPENDS+= png.5:${PORTSDIR}/graphics/png \
@@ -54,12 +53,11 @@ CLIENTS+= glx
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
@@ -70,14 +68,6 @@ MAKE_ARGS+= -DWITHOUT_${f}
. 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=""
@@ -94,16 +84,7 @@ MAKE_ARGS+= -DWITH_XMMS \
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:
@@ -120,11 +101,11 @@ do-install:
${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 --git a/games/fuhquake/distinfo b/games/fuhquake/distinfo
index 469337e2efc9..d3977e910cee 100644
--- a/games/fuhquake/distinfo
+++ b/games/fuhquake/distinfo
@@ -4,9 +4,6 @@ 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
-SHA256 (fuhquake/fuhquake-lits.rar) = 066fd58e2a6d157a1aa7925334d7e3e6cffa7f5c556e707bc31da8bfecea873c
-SIZE (fuhquake/fuhquake-lits.rar) = 8388829
-MD5 (fuhquake/fuhquake-skyboxes.zip) = 9360d7902e24e8b89d74600ce5d61b81
-SHA256 (fuhquake/fuhquake-skyboxes.zip) = 31061d87afa4e0980bf1ca9b608f914b8294e8d8435a74d40b1016bbe232062b
-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 --git a/games/fuhquake/files/Makefile b/games/fuhquake/files/Makefile
index 056fc25bf8c1..e1bb027cfc97 100644
--- a/games/fuhquake/files/Makefile
+++ b/games/fuhquake/files/Makefile
@@ -11,7 +11,7 @@
# $FreeBSD$
#
-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 @@ DO_CFLAGS += -DWITH_ZLIB -DWITH_PNG -DWITH_JPEG -DGLQUAKE -DWITH_DGA -DWITH_VMOD
.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 --git a/games/fuhquake/files/patch-cl_main.c b/games/fuhquake/files/patch-cl_main.c
index 41914c8ed66e..cd7a50600750 100644
--- a/games/fuhquake/files/patch-cl_main.c
+++ b/games/fuhquake/files/patch-cl_main.c
@@ -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 --git a/games/fuhquake/files/patch-common.c b/games/fuhquake/files/patch-common.c
index 3437db0f11e4..39b1ac3b70f1 100644
--- a/games/fuhquake/files/patch-common.c
+++ b/games/fuhquake/files/patch-common.c
@@ -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 --git a/games/fuhquake/files/patch-menu.c b/games/fuhquake/files/patch-menu.c
index 5621baafddfe..e57e2054a1f7 100644
--- a/games/fuhquake/files/patch-menu.c
+++ b/games/fuhquake/files/patch-menu.c
@@ -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 --git a/games/fuhquake/files/patch-modules.c b/games/fuhquake/files/patch-modules.c
index 9504876fa6ef..36752538f4f6 100644
--- a/games/fuhquake/files/patch-modules.c
+++ b/games/fuhquake/files/patch-modules.c
@@ -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 --git a/games/fuhquake/files/patch-modules.h b/games/fuhquake/files/patch-modules.h
index aff804349446..54623ceeaecb 100644
--- a/games/fuhquake/files/patch-modules.h
+++ b/games/fuhquake/files/patch-modules.h
@@ -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 --git a/games/fuhquake/files/patch-mp3_player.c b/games/fuhquake/files/patch-mp3_player.c
index 3f8501682e11..76f5918aa034 100644
--- a/games/fuhquake/files/patch-mp3_player.c
+++ b/games/fuhquake/files/patch-mp3_player.c
@@ -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 --git a/games/fuhquake/files/patch-r_part.c b/games/fuhquake/files/patch-r_part.c
index d42eef1f6875..79d9af80864d 100644
--- a/games/fuhquake/files/patch-r_part.c
+++ b/games/fuhquake/files/patch-r_part.c
@@ -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 --git a/games/fuhquake/files/patch-version.h b/games/fuhquake/files/patch-version.h
index e879c12b896f..e09de65b7638 100644
--- a/games/fuhquake/files/patch-version.h
+++ b/games/fuhquake/files/patch-version.h
@@ -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 --git a/games/fuhquake/files/patch-vid_glx.c b/games/fuhquake/files/patch-vid_glx.c
index 1e162f812a6d..7d89c3a1c3ab 100644
--- a/games/fuhquake/files/patch-vid_glx.c
+++ b/games/fuhquake/files/patch-vid_glx.c
@@ -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 --git a/games/fuhquake/files/patch-vid_svga.c b/games/fuhquake/files/patch-vid_svga.c
deleted file mode 100644
index de3fb99166bf..000000000000
--- a/games/fuhquake/files/patch-vid_svga.c
+++ /dev/null
@@ -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 --git a/games/fuhquake/pkg-plist b/games/fuhquake/pkg-plist
index 21d9878562f7..bd7d3ceea95b 100644
--- a/games/fuhquake/pkg-plist
+++ b/games/fuhquake/pkg-plist
@@ -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%%