[UPDATE] games/quake2lnx: integrate with "quake2-data"

Changes:
	* Integrate with "quake2-data".
	* Add OPTIONS (21).
	* Clean-up (sort knobs alphabetically, etc.).
	* Automatically extract Rogue and Xatrix mission packs.
	* Remove ARCH from library names (gamei386.so -> game.so).
	  Also increases portability (the library name was manually
	  defined between #ifdefs checking the architecture, and a
	  #error at the end).
	* Change patch names (using "_" instead of "::"), and also some patches.

PR:		ports/87181
Submitted by:	Alejandro Pulver <alejandro@varnet.biz>
Approved by:	maintainer timeout
This commit is contained in:
Edwin Groothuis 2005-11-17 10:51:28 +00:00
parent 822f76591c
commit 8175bdc56a
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=148571
20 changed files with 366 additions and 622 deletions

View File

@ -9,32 +9,11 @@ PORTNAME= quake2lnx
PORTVERSION= 0.16.2
PORTREVISION= 1
CATEGORIES= games
MASTER_SITES= http://www.icculus.org/quake2/files/:icc \
ftp://ftp.idsoftware.com/idstuff/quake2/:id
MASTER_SITES= http://offload1.icculus.org/quake2/files/:icc \
http://www.icculus.org/quake2/files/:icc \
ftp://ftp.idsoftware.com/idstuff/quake2/source/:id
DISTNAME= quake2-r${PORTVERSION}
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:icc
.if defined(WITH_EYECANDY)
DISTFILES+= maxpak.pak:icc
.endif
.if defined(WITH_RETEXTURE)
. for i in 10 11 12 13 14 16 17 19
DISTFILES+= pak${i}.pak:icc
. endfor
.endif
.if defined(WITH_SHAREWARE_DATA) || defined(WITH_MANUAL) || defined(WITH_CTF_MAPS)
EXTRACT_DEPENDS+= unzip:${PORTSDIR}/archivers/unzip
. if defined(WITH_CTF_MAPS)
DISTFILES+= q2-3.20-x86-full-ctf.exe:id
. else
DISTFILES+= q2-314-demo-x86.exe:id
. endif
.endif
.if defined(WITH_XATRIX)
DISTFILES+= source/xatrixsrc320.shar.Z:id
.endif
.if defined(WITH_ROGUE)
DISTFILES+= source/roguesrc320.shar.Z:id
.endif
DIST_SUBDIR= ${PORTNAME}
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
@ -42,78 +21,43 @@ MAINTAINER= danfe@FreeBSD.org
COMMENT= Cleaned up copy of the original Quake II source code
USE_GMAKE= yes
USE_REINPLACE= yes
WANT_SDL= yes
OPTIONS= AA "Build ASCII software renderer" off \
ARTS "Enable support for aRts sound daemon" off \
CLIENT "Build client executable" on \
CTF "Build Capture The Flag mod" off \
EYECANDY "Build executable with fancier GL graphics" off \
GAME "Build a main game .so file" on \
GLX "Build GLX driver" on \
IPV6 "Enable experimental IPv6 support" off \
JOYSTICK "Enable joystick support" off \
OPTIMIZED_CFLAGS "Enable extra optimization options" off \
REDBLUE "Enable 3D glasses rendering" off \
RETEXTURE "Enable support of retextured graphics" off \
ROGUE "Build Ground Zero (Rogue) mission pack" off \
SDL "Build SDL software driver" off \
SDLCLIENT "Build executable that uses SDL" off \
SDLGL "Build SDL OpenGL driver" off \
SERVER "Build dedicated server executable" on \
SVGA "Build SVGA driver" off \
XATRIX "Build The Reckoning (Xatrix) mission pack" off \
X11 "Build X11 software driver" on \
X86_ASM "Enable use of x86 assembly code" on
ALL_TARGET= build_release
MAKE_ENV= DATADIR="${DATADIR}" LIBDIR="${LIBDIR}"
PLIST_SUB+= LIBDIR="${LIBDIR:S/${PREFIX}\///}"
TGTDIR= ${WRKSRC}/release
LIBDIR= ${PREFIX}/lib/${PORTNAME}
.include "${.CURDIR}/../quake2-data/Makefile.include"
.include <bsd.port.pre.mk>
### #
## CLIENTS AND RENDERERS ##
# ###
.if ${ARCH} == "i386" && !defined(WITHOUT_SVGA) \
&& (defined(WITH_SVGA) || exists(${LOCALBASE}/lib/libvga.so.1))
LIB_DEPENDS+= vga.1:${PORTSDIR}/graphics/svgalib
MAKE_ARGS+= BUILD_SVGA=YES
REF_TARGETS+= soft
PLIST_SUB+= SVGA=""
.else
PLIST_SUB+= SVGA="@comment "
.endif
.if defined(WITH_SDLCLIENT) || defined(WITH_SDL) || defined(WITH_SDLGL) \
|| ${HAVE_SDL:Msdl} != ""
. if !(defined(WITHOUT_SDLCLIENT) && defined(WITHOUT_SDL) \
&& defined(WITHOUT_SDLGL))
USE_SDL= sdl
. endif
. if !defined(WITHOUT_SDLCLIENT)
MAKE_ARGS+= BUILD_SDLQUAKE2=YES
EXE_TARGETS+= sdlquake2
PLIST_SUB+= SDLCLIENT=""
. else
PLIST_SUB+= SDLCLIENT="@comment "
. endif
. if !defined(WITHOUT_SDL)
MAKE_ARGS+= BUILD_SDL=YES
REF_TARGETS+= softsdl
PLIST_SUB+= SDL=""
. else
PLIST_SUB+= SDL="@comment "
. endif
. if !defined(WITHOUT_SDLGL)
MAKE_ARGS+= BUILD_SDLGL=YES
REF_TARGETS+= sdlgl
PLIST_SUB+= SDLGL=""
. else
PLIST_SUB+= SDLGL="@comment "
. endif
.else
PLIST_SUB+= SDLCLIENT="@comment "
PLIST_SUB+= SDL="@comment "
PLIST_SUB+= SDLGL="@comment "
.endif
.if !defined(WITHOUT_X11)
USE_XLIB= yes
MAKE_ARGS+= BUILD_X11=YES
REF_TARGETS+= softx
PLIST_SUB+= X11=""
.else
PLIST_SUB+= X11="@comment "
.endif
.if !defined(WITHOUT_GLX) || defined(WITH_EYECANDY)
USE_GL= yes
MAKE_ARGS+= BUILD_GLX=YES
REF_TARGETS+= glx
PLIST_SUB+= GLX=""
.else
PLIST_SUB+= GLX="@comment "
.endif
.if !defined(WITHOUT_AA) && (defined(WITH_AA) \
|| exists(${LOCALBASE}/lib/libaa.so.1))
.if defined(WITH_AA) || exists(${LOCALBASE}/lib/libaa.so.1)
LIB_DEPENDS+= aa.1:${PORTSDIR}/graphics/aalib
MAKE_ARGS+= BUILD_AA=YES
REF_TARGETS+= softaa
@ -122,15 +66,12 @@ PLIST_SUB+= AA=""
PLIST_SUB+= AA="@comment "
.endif
.if defined(WITH_EYECANDY)
LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg
MAKE_ARGS+= BUILD_QMAX=YES
PLIST_SUB+= QMAX=""
.else
PLIST_SUB+= QMAX="@comment "
.if defined(WITH_ARTS) || exists (${LOCALBASE}/lib/libartsc.so.0)
LIB_DEPENDS+= artsc.0:${PORTSDIR}/audio/arts
MAKE_ARGS+= BUILD_ARTS=YES
.endif
.if !defined(WITHOUT_CLIENT)
.if defined(WITH_CLIENT)
MAKE_ARGS+= BUILD_CLIENT=YES
EXE_TARGETS+= quake2
PLIST_SUB+= CLIENT=""
@ -138,43 +79,6 @@ PLIST_SUB+= CLIENT=""
PLIST_SUB+= CLIENT="@comment "
.endif
.if !defined(WITHOUT_SERVER)
MAKE_ARGS+= BUILD_DEDICATED=YES
PLIST_SUB+= SERVER=""
EXE_TARGETS+= q2ded
.else
PLIST_SUB+= SERVER="@comment "
.endif
### #
## GAME, MISSION ADDONS, AND MODS ##
# ###
.if !defined(WITHOUT_GAME)
MAKE_ARGS+= BUILD_GAME=YES
PLIST_SUB+= GAME=""
.else
PLIST_SUB+= GAME="@comment "
.endif
.if defined(WITH_XATRIX)
MAKE_ARGS+= BUILD_XATRIX=YES
Q2MP+= xatrix
IS_INTERACTIVE= yes
PLIST_SUB+= XATRIX=""
.else
PLIST_SUB+= XATRIX="@comment "
.endif
.if defined(WITH_ROGUE)
MAKE_ARGS+= BUILD_ROGUE=YES
Q2MP+= rogue
IS_INTERACTIVE= yes
PLIST_SUB+= ROGUE=""
.else
PLIST_SUB+= ROGUE="@comment "
.endif
.if defined(WITH_CTF)
MAKE_ARGS+= BUILD_CTFDLL=YES
PLIST_SUB+= CTF=""
@ -182,231 +86,178 @@ PLIST_SUB+= CTF=""
PLIST_SUB+= CTF="@comment "
.endif
.if defined(WITH_CTF_MAPS)
PLIST_SUB+= CTFMAPS=""
.if defined(WITH_EYECANDY)
DISTFILES+= maxpak.pak:icc
LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg
MAKE_ARGS+= BUILD_QMAX=YES
PLIST_SUB+= QMAX=""
.else
PLIST_SUB+= CTFMAPS="@comment "
PLIST_SUB+= QMAX="@comment "
.endif
.if defined(WITH_SHAREWARE_DATA)
PLIST_SUB+= SHAREWARE=""
.if defined(WITH_GAME)
MAKE_ARGS+= BUILD_GAME=YES
PLIST_SUB+= GAME=""
.else
PLIST_SUB+= SHAREWARE="@comment "
PLIST_SUB+= GAME="@comment "
.endif
### #
## MISCELLANEOUS TUNABLES ##
# ###
.if defined(WITH_RETEXTURE)
MAKE_ARGS+= BUILD_RETEXTURE=YES
PLIST_SUB+= RETEX=""
.if defined(WITH_GLX) || defined(WITH_EYECANDY)
USE_GL= yes
MAKE_ARGS+= BUILD_GLX=YES
REF_TARGETS+= glx
PLIST_SUB+= GLX=""
.else
PLIST_SUB+= RETEX="@comment "
.endif
.if defined(WITH_REDBLUE)
MAKE_ARGS+= BUILD_REDBLUE=YES
.endif
.if defined(WITH_JOYSTICK)
MAKE_ARGS+= BUILD_JOYSTICK=YES
.endif
.if !defined(WITHOUT_ARTS) && (defined(WITH_ARTS) \
|| exists (${LOCALBASE}/lib/libartsc.so.0))
LIB_DEPENDS+= artsc.0:${PORTSDIR}/audio/arts
MAKE_ARGS+= BUILD_ARTS=YES
PLIST_SUB+= GLX="@comment "
.endif
.if defined(WITH_IPV6)
MAKE_ARGS+= HAVE_IPV6=YES
.endif
.if defined(WITH_JOYSTICK)
MAKE_ARGS+= BUILD_JOYSTICK=YES
.endif
.if defined(WITH_OPTIMIZED_CFLAGS)
MAKE_ARGS+= OPTIMIZED_CFLAGS="-O9 -pipe -s -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations"
MAKE_ARGS+= OPTIMIZED_CFLAGS="-O3 -s -ffast-math -funroll-loops -fomit-frame-pointer -fexpensive-optimizations"
.endif
.if defined(WITH_REDBLUE)
MAKE_ARGS+= BUILD_REDBLUE=YES
.endif
.if defined(WITH_RETEXTURE)
. for i in 10 11 12 13 14 16 17 19
DISTFILES+= pak${i}.pak:icc
. endfor
MAKE_ARGS+= BUILD_RETEXTURE=YES
PLIST_SUB+= RETEX=""
.else
PLIST_SUB+= RETEX="@comment "
.endif
.if defined(WITH_ROGUE)
DISTFILES+= roguesrc320.shar.Z:id
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src_rogue_g__local.h \
${FILESDIR}/extra-patch-src_rogue_q__shared.c
MAKE_ARGS+= BUILD_ROGUE=YES
Q2MP+= rogue
ROGUE_OFF= 454
PLIST_SUB+= ROGUE=""
.else
PLIST_SUB+= ROGUE="@comment "
.endif
.if defined(WITH_SDL) || ${HAVE_SDL:Msdl} != ""
USE_SDL= sdl
MAKE_ARGS+= BUILD_SDL=YES
REF_TARGETS+= softsdl
PLIST_SUB+= SDL=""
.else
PLIST_SUB+= SDL="@comment "
.endif
.if defined(WITH_SDLCLIENT) && (defined(WITH_SDL) || ${HAVE_SDL:Msdl} != "")
MAKE_ARGS+= BUILD_SDLQUAKE2=YES
EXE_TARGETS+= sdlquake2
PLIST_SUB+= SDLCLIENT=""
.else
PLIST_SUB+= SDLCLIENT="@comment "
.endif
.if defined(WITH_SDLGL) && (defined(WITH_SDL) || ${HAVE_SDL:Msdl} != "")
MAKE_ARGS+= BUILD_SDLGL=YES
REF_TARGETS+= sdlgl
PLIST_SUB+= SDLGL=""
.else
PLIST_SUB+= SDLGL="@comment "
.endif
.if defined(WITH_SERVER)
MAKE_ARGS+= BUILD_DEDICATED=YES
PLIST_SUB+= SERVER=""
EXE_TARGETS+= q2ded
.else
PLIST_SUB+= SERVER="@comment "
.endif
.if defined(WITH_SVGA) || exists(${LOCALBASE}/lib/libvga.so.1)
LIB_DEPENDS+= vga.1:${PORTSDIR}/graphics/svgalib
MAKE_ARGS+= BUILD_SVGA=YES
REF_TARGETS+= soft
PLIST_SUB+= SVGA=""
.else
PLIST_SUB+= SVGA="@comment "
.endif
.if defined(WITH_XATRIX)
DISTFILES+= xatrixsrc320.shar.Z:id
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src_xatrix_q__shared.c
MAKE_ARGS+= BUILD_XATRIX=YES
Q2MP+= xatrix
XATRIX_OFF= 441
PLIST_SUB+= XATRIX=""
.else
PLIST_SUB+= XATRIX="@comment "
.endif
.if defined(WITH_X11)
USE_XLIB= yes
MAKE_ARGS+= BUILD_X11=YES
REF_TARGETS+= softx
PLIST_SUB+= X11=""
.else
PLIST_SUB+= X11="@comment "
.endif
.if ${ARCH} != "i386" || defined(WITHOUT_X86_ASM)
MAKE_ARGS+= NO_X86_ASM=YES
.endif
.if defined(WITH_MANUAL)
PLIST_SUB+= MANUAL=""
.else
PLIST_SUB+= MANUAL="@comment "
.endif
### #
## END OF CONFIGURATION KNOBS ##
# ###
pre-everything::
.if ${ARCH} == "i386" && !(defined(WITH_SVGA) || exists(${LOCALBASE}/lib/libvga.so.1))
@${ECHO_MSG} "Define WITH_SVGA to build SVGA driver"
.endif
.if !(defined(WITH_SDL) || ${HAVE_SDL:Msdl} != "")
@${ECHO_MSG} "Define WITH_SDL to build SDL software driver"
.endif
.if !(defined(WITH_SDLGL) || ${HAVE_SDL:Msdl} != "")
@${ECHO_MSG} "Define WITH_SDLGL to build SDL OpenGL driver"
.endif
.if !(defined(WITH_SDLCLIENT) || ${HAVE_SDL:Msdl} != "")
@${ECHO_MSG} "Define WITH_SDLCLIENT to build executable that uses SDL for CDROM and sound"
.endif
.if !(defined(WITH_AA) || exists(${LOCALBASE}/lib/libaa.so.1))
@${ECHO_MSG} "Define WITH_AA to build ASCII software renderer"
.endif
.if !defined(WITHOUT_X11)
@${ECHO_MSG} "Define WITHOUT_X11 to disable building of X11 driver"
.endif
.if !defined(WITHOUT_GLX)
@${ECHO_MSG} "Define WITHOUT_GLX to disable building of GLX driver"
.endif
.if !defined(WITH_EYECANDY)
@${ECHO_MSG} "Define WITH_EYECANDY to build executable with fancier GL graphics"
.endif
.if !defined(WITHOUT_CLIENT)
@${ECHO_MSG} "Define WITHOUT_CLIENT to disable building Quake2 client executable"
.endif
.if !defined(WITHOUT_SERVER)
@${ECHO_MSG} "Define WITHOUT_SERVER to disable building of dedicated server"
.endif
.if !defined(WITHOUT_GAME)
@${ECHO_MSG} "Define WITHOUT_GAME to build without main game .so"
.endif
.if !defined(WITH_CTF)
@${ECHO_MSG} "Define WITH_CTF to build Capture The Flag mod"
.endif
.if !defined(WITH_CTF_MAPS)
@${ECHO_MSG} "Define WITH_CTF_MAPS to install maps for CTF mod"
.endif
.if !defined(WITH_XATRIX)
@${ECHO_MSG} "Define WITH_XATRIX to install \"The Reckoning\" (Xatrix) mission pack .so"
.endif
.if !defined(WITH_ROGUE)
@${ECHO_MSG} "Define WITH_ROGUE to install the \"Ground Zero\" (Rogue) mission pack .so"
.endif
.if !defined(WITH_SHAREWARE_DATA)
@${ECHO_MSG} "Define WITH_SHAREWARE_DATA to install demo version game data"
.endif
.if !defined(WITH_MANUAL)
@${ECHO_MSG} "Define WITH_MANUAL to install the official Quake II HTML manual"
.endif
.if !defined(WITH_RETEXTURE)
@${ECHO_MSG} "Define WITH_RETEXTURE to enable support of retextured graphics"
.endif
.if !defined(WITH_REDBLUE)
@${ECHO_MSG} "Define WITH_REDBLUE to enable red-blue 3D glasses rendering"
.endif
.if !defined(WITH_JOYSTICK)
@${ECHO_MSG} "Define WITH_JOYSTICK to enable joystick support"
.endif
.if !(defined(WITH_ARTS) || exists (${LOCALBASE}/lib/libartsc.so.0))
@${ECHO_MSG} "Define WITH_ARTS to enable support for aRts sound daemon"
.endif
.if !defined(WITH_IPV6)
@${ECHO_MSG} "Define WITH_IPV6 to enable experimental IPv6 support"
.endif
.if !defined(WITH_OPTIMIZED_CFLAGS)
@${ECHO_MSG} "Define WITH_OPTIMIZED_CFLAGS to enable extra optimization options"
.endif
.if ${ARCH} == "i386" && !defined(WITHOUT_X86_ASM)
@${ECHO_MSG} "Define WITHOUT_X86_ASM to disable x86 assembly code"
.endif
ALL_TARGET= build_release
TGTDIR= ${WRKSRC}/release${ARCH}
post-extract:
.if defined(WITH_XATRIX) || defined(WITH_ROGUE)
. for mp in ${Q2MP}
.for mp in ${Q2MP}
@${MKDIR} ${WRKSRC}/src/${mp}
@(cd ${WRKSRC}/src/${mp} && ${GUNZIP_CMD} -c \
${DISTDIR}/${DIST_SUBDIR}/source/${mp}src320.shar.Z > \
${mp}src320.shar && ${SH} ./${mp}src320.shar)
@${REINPLACE_CMD} -e 's/__ $$/&|| defined __FreeBSD__/' \
${WRKSRC}/src/${mp}/q_shared.c
. endfor
.endif
.if defined(WITH_ROGUE)
@${REINPLACE_CMD} -e '/^#include <nan.h>/d' ${WRKSRC}/src/rogue/g_local.h
.endif
@${REINPLACE_CMD} -e 's|/dev/js|/dev/joy|' ${WRKSRC}/src/linux/joystick.c
post-patch:
@${REINPLACE_CMD} -e 's|%%%%BASEDIR%%%%|${DATADIR}|' ${WRKSRC}/src/qcommon/files.c
PLIST_SUB+= ARCH="${ARCH}"
${DISTDIR}/${DIST_SUBDIR}/${mp}src320.shar.Z > \
${mp}src320.shar && \
${TAIL} +${${mp:U}_OFF} ${mp}src320.shar | ${SH})
.endfor
do-install:
.for tgt in ${EXE_TARGETS}
${INSTALL_PROGRAM} ${TGTDIR}/${tgt} ${PREFIX}/bin
.endfor
@${MKDIR} ${DATADIR}/baseq2 ${DATADIR}/ctf
${MKDIR} ${LIBDIR}
.for tgt in ${REF_TARGETS}
${INSTALL_PROGRAM} ${TGTDIR}/ref_${tgt}.so ${DATADIR}
${INSTALL_PROGRAM} ${TGTDIR}/ref_${tgt}.so ${LIBDIR}
.endfor
.if !defined(WITHOUT_GAME)
${INSTALL_PROGRAM} ${TGTDIR}/game${ARCH}.so ${DATADIR}/baseq2
.endif
.if defined(WITH_XATRIX) || defined(WITH_ROGUE)
. for mp in ${Q2MP}
@${MKDIR} ${DATADIR}/${mp}
${INSTALL_PROGRAM} ${TGTDIR}/${mp}/game${ARCH}.so ${DATADIR}/${mp}
. endfor
.endif
.if defined(WITH_CTF)
${INSTALL_PROGRAM} ${TGTDIR}/ctf/game${ARCH}.so ${DATADIR}/ctf
.endif
.if defined(WITH_CTF_MAPS)
${UNZIP_CMD} -oj -d ${DATADIR}/ctf \
${DISTDIR}/${DIST_SUBDIR}/q2-3.20-x86-full-ctf.exe ctf/pak0.pak
.endif
.if defined(WITH_SHAREWARE_DATA)
@${MKDIR} ${DATADIR}/baseq2/players
${UNZIP_CMD} -oj -d ${DATADIR}/baseq2/players/female \
${DISTDIR}/${DIST_SUBDIR}/q2-314-demo-x86.exe \
Install/Data/baseq2/players/female/\*
${UNZIP_CMD} -oj -d ${DATADIR}/baseq2/players/male \
${DISTDIR}/${DIST_SUBDIR}/q2-314-demo-x86.exe \
Install/Data/baseq2/players/male/\*
${UNZIP_CMD} -oj -d ${DATADIR}/baseq2 \
${DISTDIR}/${DIST_SUBDIR}/q2-314-demo-x86.exe \
Install/Data/baseq2/pak0.pak
.endif
.if defined(WITH_RETEXTURE)
. for i in 10 11 12 13 14 16 17 19
${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/pak${i}.pak ${DATADIR}/baseq2
. endfor
${MKDIR} ${LIBDIR}/ctf
${INSTALL_PROGRAM} ${TGTDIR}/ctf/game.so ${LIBDIR}/ctf
.endif
.if defined(WITH_EYECANDY)
${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/maxpak.pak ${DATADIR}/baseq2
.endif
.if defined(WITH_GAME)
${MKDIR} ${LIBDIR}/baseq2
${INSTALL_PROGRAM} ${TGTDIR}/game.so ${LIBDIR}/baseq2
.endif
.if defined(WITH_RETEXTURE)
. for i in 10 11 12 13 14 16 17 19
${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/pak${i}.pak ${DATADIR}/baseq2
. endfor
.endif
.for mp in ${Q2MP}
${MKDIR} ${LIBDIR}/${mp}
${INSTALL_PROGRAM} ${TGTDIR}/${mp}/game.so ${LIBDIR}/${mp}
.endfor
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/src/docs/README ${DOCSDIR}/README.320
${INSTALL_DATA} ${WRKSRC}/src/docs/joystick.txt ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/src/docs/quake2.3dfxgl ${DOCSDIR}
. if defined(WITH_MANUAL)
${UNZIP_CMD} -oj -d ${DOCSDIR}/quake2_manual \
${DISTDIR}/${DIST_SUBDIR}/q2-314-demo-x86.exe \
Install/Data/DOCS/quake2_manual/\* \
-x Install/Data/DOCS/quake2_manual/images\*
${UNZIP_CMD} -oj -d ${DOCSDIR}/quake2_manual/images \
${DISTDIR}/${DIST_SUBDIR}/q2-314-demo-x86.exe \
Install/Data/DOCS/quake2_manual/images\*
${UNZIP_CMD} -oj -d ${DOCSDIR} \
${DISTDIR}/${DIST_SUBDIR}/q2-314-demo-x86.exe \
Install/Data/DOCS/Manual.html
. endif
.endif
PKGMESSAGE= ${WRKDIR}/pkg-message
post-install:
@${SED} -e 's|$${DATADIR}|${DATADIR}|g' ${.CURDIR}/pkg-message >${PKGMESSAGE}
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>

View File

@ -1,28 +1,3 @@
MD5 (quake2lnx/quake2-r0.16.2.tar.gz) = 872fee27fb13a2a4c8876d5973c3c691
SHA256 (quake2lnx/quake2-r0.16.2.tar.gz) = 98cea3cbd70bd1f195e5190d0ae047c636e00e21dbc6cc5bdee4acd52876d3e9
SIZE (quake2lnx/quake2-r0.16.2.tar.gz) = 1496377
MD5 (quake2lnx/maxpak.pak) = 04d3f1fb7fb4dada7175a41f4595c7eb
SIZE (quake2lnx/maxpak.pak) = 3282742
MD5 (quake2lnx/pak10.pak) = fc2de3c33c23cca5f0e6fcec068ce616
SIZE (quake2lnx/pak10.pak) = 16315845
MD5 (quake2lnx/pak11.pak) = 221019679613a13c6d7e5f9e21701d85
SIZE (quake2lnx/pak11.pak) = 1702702
MD5 (quake2lnx/pak12.pak) = 0c8b49c303014e535394168aed9b668a
SIZE (quake2lnx/pak12.pak) = 3629554
MD5 (quake2lnx/pak13.pak) = 9628c82566535e48c59caaee5281b963
SIZE (quake2lnx/pak13.pak) = 2198193
MD5 (quake2lnx/pak14.pak) = 5d47605de09c458c7f1c69d8e6fea6a7
SIZE (quake2lnx/pak14.pak) = 2397651
MD5 (quake2lnx/pak16.pak) = 94b18e1f2d76fb7e7d0c5bd0ae8d7c69
SIZE (quake2lnx/pak16.pak) = 2675893
MD5 (quake2lnx/pak17.pak) = e24d79286ba3c1f3da1f9642a78c49af
SIZE (quake2lnx/pak17.pak) = 1431798
MD5 (quake2lnx/pak19.pak) = 070a4d00b93a2a427ca92adee2736000
SIZE (quake2lnx/pak19.pak) = 648896
MD5 (quake2lnx/q2-314-demo-x86.exe) = 4d1cd4618e80a38db59304132ea0856c
SIZE (quake2lnx/q2-314-demo-x86.exe) = 39015499
MD5 (quake2lnx/q2-3.20-x86-full-ctf.exe) = 490557d4a90ff346a175d865a2bade87
SIZE (quake2lnx/q2-3.20-x86-full-ctf.exe) = 19267584
MD5 (quake2lnx/source/xatrixsrc320.shar.Z) = 41fc4ecc4f25c068e7d1f488bd4a1e1a
SIZE (quake2lnx/source/xatrixsrc320.shar.Z) = 455917
MD5 (quake2lnx/source/roguesrc320.shar.Z) = 7d5e052839c9e629bad0a6570aa70554
SIZE (quake2lnx/source/roguesrc320.shar.Z) = 626769

View File

@ -0,0 +1,10 @@
--- src/rogue/g_local.h.orig Mon Nov 30 17:53:20 1998
+++ src/rogue/g_local.h Tue Sep 27 20:20:27 2005
@@ -22,7 +22,6 @@
//==================================================================
#ifndef _WIN32
-#include <nan.h>
#define min(a,b) ((a) < (b) ? (a) : (b))
#define max(a,b) ((a) > (b) ? (a) : (b))
#ifdef __sun__

View File

@ -0,0 +1,11 @@
--- src/rogue/q_shared.c.orig Mon Nov 30 17:53:34 1998
+++ src/rogue/q_shared.c Tue Sep 27 20:03:24 2005
@@ -329,7 +329,7 @@
Returns 1, 2, or 1 + 2
==================
*/
-#if !id386 || defined __linux__
+#if !id386 || defined __linux__ || defined __FreeBSD__
int BoxOnPlaneSide (vec3_t emins, vec3_t emaxs, struct cplane_s *p)
{
float dist1, dist2;

View File

@ -0,0 +1,11 @@
--- src/xatrix/q_shared.c.orig Mon Nov 30 17:55:36 1998
+++ src/xatrix/q_shared.c Tue Sep 27 20:04:53 2005
@@ -326,7 +326,7 @@
Returns 1, 2, or 1 + 2
==================
*/
-#if !id386 || defined __linux__
+#if !id386 || defined __linux__ || defined __FreeBSD__
int BoxOnPlaneSide (vec3_t emins, vec3_t emaxs, struct cplane_s *p)
{
float dist1, dist2;

View File

@ -1,5 +1,5 @@
--- Makefile.orig Thu Oct 10 01:08:21 2002
+++ Makefile Tue Jun 17 22:23:11 2003
--- Makefile.orig Fri Sep 24 19:06:52 2004
+++ Makefile Fri Oct 7 17:37:25 2005
@@ -12,30 +12,30 @@
# (Note: not all options are available for all platforms).
# quake2 (uses OSS for sound, cdrom ioctls for cd audio) is automatically built.
@ -51,7 +51,7 @@
# (hopefully) end of configurable options
@@ -52,55 +52,11 @@
@@ -52,60 +52,16 @@
endif
endif
@ -110,12 +110,19 @@
MOUNT_DIR=src
-BUILD_DEBUG_DIR=debug$(ARCH)
-BUILD_RELEASE_DIR=release$(ARCH)
+BUILD_DEBUG_DIR=debug
+BUILD_RELEASE_DIR=release
CLIENT_DIR=$(MOUNT_DIR)/client
SERVER_DIR=$(MOUNT_DIR)/server
REF_SOFT_DIR=$(MOUNT_DIR)/ref_soft
@@ -118,7 +74,7 @@
ROGUE_DIR=$(MOUNT_DIR)/rogue
NULL_DIR=$(MOUNT_DIR)/null
-BASE_CFLAGS=-Wall -pipe -Dstricmp=strcasecmp
+BASE_CFLAGS=-Wall -pipe -Dstricmp=strcasecmp $(CFLAGS)
+BASE_CFLAGS=-pipe -Dstricmp=strcasecmp -DDATADIR='\"${DATADIR}\"' -DLIBDIR='\"${LIBDIR}\"' $(CFLAGS)
ifeq ($(HAVE_IPV6),YES)
BASE_CFLAGS+= -DHAVE_IPV6
ifeq ($(OSTYPE),FreeBSD)
@ -151,7 +158,7 @@
+AALDFLAGS=-L${PREFIX}/lib -laa
-SDLCFLAGS=$(shell sdl-config --cflags)
+SDLCFLAGS=$(shell sdl11-config --cflags)
+SDLCFLAGS=$(shell ${SDL_CONFIG} --cflags)
ifeq ($(strip $(STATICSDL)),YES)
- SDLLDFLAGS += -L/usr/X11R6/lib$(_LIB) -Wl,-Bstatic $(SDLDIR)/libSDL.a
+ SDLLDFLAGS += -L${X11BASE}/lib$(_LIB) -Wl,-Bstatic $(SDLDIR)/libSDL.a
@ -160,7 +167,7 @@
-lXinerama
else
- SDLLDFLAGS=$(shell sdl-config --libs)
+ SDLLDFLAGS=$(shell sdl11-config --libs)
+ SDLLDFLAGS=$(shell ${SDL_CONFIG} --libs)
endif
ifeq ($(strip $(BUILD_JOYSTICK)),YES)
@ -194,7 +201,7 @@
DO_AS=$(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
DO_SHLIB_AS=$(CC) $(CFLAGS) $(SHLIBCFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
@@ -224,10 +189,42 @@
@@ -224,168 +189,54 @@
.PHONY : targets build_debug build_release clean clean-debug clean-release clean2
@ -232,14 +239,22 @@
endif
+
+ifeq ($(strip $(BUILD_GAME)),YES)
+ TARGETS += $(BUILDDIR)/game$(ARCH).$(SHLIBEXT)
+ TARGETS += $(BUILDDIR)/game.$(SHLIBEXT)
+endif
+
ifeq ($(strip $(BUILD_CTFDLL)),YES)
TARGETS += $(BUILDDIR)/ctf/game$(ARCH).$(SHLIBEXT)
- TARGETS += $(BUILDDIR)/ctf/game$(ARCH).$(SHLIBEXT)
+ TARGETS += $(BUILDDIR)/ctf/game.$(SHLIBEXT)
endif
@@ -240,152 +237,6 @@
TARGETS += $(BUILDDIR)/rogue/game$(ARCH).$(SHLIBEXT)
ifeq ($(strip $(BUILD_XATRIX)),YES)
- TARGETS += $(BUILDDIR)/xatrix/game$(ARCH).$(SHLIBEXT)
+ TARGETS += $(BUILDDIR)/xatrix/game.$(SHLIBEXT)
endif
ifeq ($(strip $(BUILD_ROGUE)),YES)
- TARGETS += $(BUILDDIR)/rogue/game$(ARCH).$(SHLIBEXT)
+ TARGETS += $(BUILDDIR)/rogue/game.$(SHLIBEXT)
endif
-ifeq ($(ARCH),axp)
@ -404,6 +419,42 @@
endif
$(BUILDDIR)/quake2 : $(QUAKE2_OBJS) $(QUAKE2_LNX_OBJS) $(QUAKE2_AS_OBJS)
@@ -821,7 +673,7 @@
$(BUILDDIR)/game/q_shared.o \
$(BUILDDIR)/game/m_flash.o
-$(BUILDDIR)/game$(ARCH).$(SHLIBEXT) : $(GAME_OBJS)
+$(BUILDDIR)/game.$(SHLIBEXT) : $(GAME_OBJS)
$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(GAME_OBJS)
$(BUILDDIR)/game/g_ai.o : $(GAME_DIR)/g_ai.c
@@ -1000,7 +852,7 @@
$(BUILDDIR)/ctf/p_weapon.o \
$(BUILDDIR)/ctf/q_shared.o
-$(BUILDDIR)/ctf/game$(ARCH).$(SHLIBEXT) : $(CTF_OBJS)
+$(BUILDDIR)/ctf/game.$(SHLIBEXT) : $(CTF_OBJS)
$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(CTF_OBJS)
$(BUILDDIR)/ctf/g_ai.o : $(CTF_DIR)/g_ai.c
@@ -1139,7 +991,7 @@
$(BUILDDIR)/xatrix/p_weapon.o \
$(BUILDDIR)/xatrix/q_shared.o
-$(BUILDDIR)/xatrix/game$(ARCH).$(SHLIBEXT) : $(XATRIX_OBJS)
+$(BUILDDIR)/xatrix/game.$(SHLIBEXT) : $(XATRIX_OBJS)
$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(XATRIX_OBJS)
$(BUILDDIR)/xatrix/g_ai.o : $(XATRIX_DIR)/g_ai.c
@@ -1367,7 +1219,7 @@
$(BUILDDIR)/rogue/q_shared.o
-$(BUILDDIR)/rogue/game$(ARCH).$(SHLIBEXT) : $(ROGUE_OBJS)
+$(BUILDDIR)/rogue/game.$(SHLIBEXT) : $(ROGUE_OBJS)
$(CC) $(CFLAGS) $(SHLIBLDFLAGS) -o $@ $(ROGUE_OBJS)
$(BUILDDIR)/rogue/dm_ball.o : $(ROGUE_DIR)/dm_ball.c
@@ -1588,6 +1440,7 @@
endif

View File

@ -1,22 +0,0 @@
--- src/linux/sys_linux.c.orig Sun Feb 1 19:06:29 2004
+++ src/linux/sys_linux.c Sun Feb 1 19:18:07 2004
@@ -217,14 +217,16 @@
char *str_p;
#if defined __i386__
const char *gamename = "gamei386.so";
-#elif defined __x86_64__
- const char *gamename = "gamex86_64.so";
+#elif defined __amd64__
+ const char *gamename = "gameamd64.so";
#elif defined __alpha__
- const char *gamename = "gameaxp.so";
+ const char *gamename = "gamealpha.so";
#elif defined __powerpc__
const char *gamename = "gameppc.so";
#elif defined __sparc__
const char *gamename = "gamesparc.so";
+#elif defined __ia64__
+ const char *gamename = "gameia64.so";
#else
#error Unknown arch
#endif

View File

@ -1,14 +0,0 @@
--- src/qcommon/files.c.orig Wed Oct 9 03:54:25 2002
+++ src/qcommon/files.c Sat Jun 28 12:30:57 2003
@@ -898,7 +898,11 @@
// basedir <path>
// allows the game to run from outside the data tree
//
+#ifdef DEDICATED_ONLY
fs_basedir = Cvar_Get ("basedir", ".", CVAR_NOSET);
+#else
+ fs_basedir = Cvar_Get ("basedir", "%%%%BASEDIR%%%%", CVAR_NOSET);
+#endif
//
// cddir <path>

View File

@ -0,0 +1,11 @@
--- src/linux/joystick.c.orig Thu Jan 27 19:35:20 2005
+++ src/linux/joystick.c Tue Sep 27 20:21:45 2005
@@ -75,7 +75,7 @@
in_joystick = ri.Cvar_Get ("in_joystick", "1", CVAR_ARCHIVE);
if (in_joystick->value) {
joy_name = ri.Cvar_Get ("joy_name", "joystick", 0);
- joy_dev = ri.Cvar_Get ("joy_dev","/dev/js*",CVAR_ARCHIVE);
+ joy_dev = ri.Cvar_Get ("joy_dev","/dev/joy*",CVAR_ARCHIVE);
joy_advanced = ri.Cvar_Get ("joy_advanced","0",0);
joy_advaxisx = ri.Cvar_Get ("joy_advaxisx","4",0);
joy_advaxisy = ri.Cvar_Get ("joy_advaxisy","2",0);

View File

@ -0,0 +1,23 @@
--- src/linux/sys_linux.c.orig Sun Sep 12 15:26:29 2004
+++ src/linux/sys_linux.c Fri Oct 7 17:32:46 2005
@@ -215,19 +215,7 @@
char name[MAX_OSPATH];
char *path;
char *str_p;
-#if defined __i386__
- const char *gamename = "gamei386.so";
-#elif defined __x86_64__
- const char *gamename = "gamex86_64.so";
-#elif defined __alpha__
- const char *gamename = "gameaxp.so";
-#elif defined __powerpc__
- const char *gamename = "gameppc.so";
-#elif defined __sparc__
- const char *gamename = "gamesparc.so";
-#else
-#error Unknown arch
-#endif
+ const char *gamename = "game.so";
setreuid(getuid(), getuid());
setegid(getgid());

View File

@ -0,0 +1,34 @@
--- src/linux/vid_so.c.orig Fri Sep 24 19:11:44 2004
+++ src/linux/vid_so.c Tue Sep 27 19:28:29 2005
@@ -216,7 +216,6 @@
refimport_t ri;
GetRefAPI_t GetRefAPI;
char fn[MAX_OSPATH];
- char *path;
struct stat st;
extern uid_t saved_euid;
@@ -237,9 +236,7 @@
//regain root
seteuid(saved_euid);
- path = Cvar_Get ("basedir", ".", CVAR_NOSET)->string;
-
- snprintf (fn, MAX_OSPATH, "%s/%s", path, name );
+ snprintf (fn, MAX_OSPATH, LIBDIR"/%s", name );
if (stat(fn, &st) == -1) {
Com_Printf( "LoadLibrary(\"%s\") failed: %s\n", name, strerror(errno));
@@ -490,11 +487,9 @@
qboolean VID_CheckRefExists (const char *ref)
{
char fn[MAX_OSPATH];
- char *path;
struct stat st;
- path = Cvar_Get ("basedir", ".", CVAR_NOSET)->string;
- snprintf (fn, MAX_OSPATH, "%s/ref_%s.so", path, ref );
+ snprintf (fn, MAX_OSPATH, LIBDIR"/ref_%s.so", ref );
if (stat(fn, &st) == 0)
return true;

View File

@ -0,0 +1,12 @@
--- src/qcommon/files.c.orig Sun Jan 2 00:38:12 2005
+++ src/qcommon/files.c Tue Sep 27 18:25:41 2005
@@ -912,7 +912,8 @@
//
// add baseq2 to search path
//
- FS_AddGameDirectory (va("%s/"BASEDIRNAME, fs_basedir->string) );
+ FS_AddGameDirectory(LIBDIR"/"BASEDIRNAME);
+ FS_AddGameDirectory(DATADIR"/"BASEDIRNAME);
//
// then add a '.quake2/baseq2' directory in home directory by default

View File

@ -1,17 +0,0 @@
===================================================
Install additional mission paks and mods in
${DATADIR}/ directory.
You must also own full (registered) version
of Quake II, or rebuild the port with "make
-DWITH_SHAREWARE_DATA" to install demo ver-
sion data files. Note that you do not need
full version to run dedicated server.
If you decide to build Xatrix/Rogue mission
packs, you'll need to copy their data files
to ${DATADIR}/xatrix|rogue/
directory from installation CD.
===================================================

View File

@ -1,16 +1,20 @@
@comment === EXECUTABLES ===
%%SERVER%%bin/q2ded
%%CLIENT%%bin/quake2
%%SDLCLIENT%%bin/sdlquake2
%%SERVER%%bin/q2ded
@comment === RENDERERS ===
%%SVGA%%%%DATADIR%%/ref_soft.so
%%SDL%%%%DATADIR%%/ref_softsdl.so
%%SDLGL%%%%DATADIR%%/ref_sdlgl.so
%%X11%%%%DATADIR%%/ref_softx.so
%%GLX%%%%DATADIR%%/ref_glx.so
%%AA%%%%DATADIR%%/ref_softaa.so
@comment === DATA ===
%%GAME%%%%DATADIR%%/baseq2/game%%ARCH%%.so
%%GAME%%%%LIBDIR%%/baseq2/game.so
%%CTF%%%%LIBDIR%%/ctf/game.so
%%ROGUE%%%%LIBDIR%%/rogue/game.so
%%XATRIX%%%%LIBDIR%%/xatrix/game.so
%%GLX%%%%LIBDIR%%/ref_glx.so
%%SDLGL%%%%LIBDIR%%/ref_sdlgl.so
%%SVGA%%%%LIBDIR%%/ref_soft.so
%%AA%%%%LIBDIR%%/ref_softaa.so
%%SDL%%%%LIBDIR%%/ref_softsdl.so
%%X11%%%%LIBDIR%%/ref_softx.so
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/README.320
%%PORTDOCS%%%%DOCSDIR%%/joystick.txt
%%PORTDOCS%%%%DOCSDIR%%/quake2.3dfxgl
%%QMAX%%%%DATADIR%%/baseq2/maxpak.pak
%%RETEX%%%%DATADIR%%/baseq2/pak10.pak
%%RETEX%%%%DATADIR%%/baseq2/pak11.pak
@ -20,205 +24,9 @@
%%RETEX%%%%DATADIR%%/baseq2/pak16.pak
%%RETEX%%%%DATADIR%%/baseq2/pak17.pak
%%RETEX%%%%DATADIR%%/baseq2/pak19.pak
%%SHAREWARE%%%%DATADIR%%/baseq2/pak0.pak
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/athena.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/athena_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/brianna.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/brianna_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/cobalt.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/cobalt_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/doomgal.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/doomgal_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/ensign.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/ensign_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/jezebel.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/jezebel_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/jungle.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/jungle_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/lotus.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/lotus_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/stiletto.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/stiletto_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/tris.md2
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/venus.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/venus_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/voodoo.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/voodoo_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/weapon.md2
%%SHAREWARE%%%%DATADIR%%/baseq2/players/female/weapon.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/cipher.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/cipher_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/claymore.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/claymore_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/flak.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/flak_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/grunt.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/grunt_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/howitzer.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/howitzer_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/major.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/major_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/nightops.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/nightops_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/pointman.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/pointman_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/psycho.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/psycho_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/rampage.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/rampage_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/razor.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/razor_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/recon.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/recon_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/scout.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/scout_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/skin.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/sniper.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/sniper_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/tris.md2
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/viper.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/viper_i.pcx
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/weapon.md2
%%SHAREWARE%%%%DATADIR%%/baseq2/players/male/weapon.pcx
%%SHAREWARE%%@dirrm %%DATADIR%%/baseq2/players/male
%%SHAREWARE%%@dirrm %%DATADIR%%/baseq2/players/female
%%SHAREWARE%%@dirrm %%DATADIR%%/baseq2/players
@dirrm %%DATADIR%%/baseq2
%%CTF%%%%DATADIR%%/ctf/game%%ARCH%%.so
%%CTFMAPS%%%%DATADIR%%/ctf/pak0.pak
@dirrm %%DATADIR%%/ctf
%%XATRIX%%%%DATADIR%%/xatrix/game%%ARCH%%.so
%%XATRIX%%@dirrm %%DATADIR%%/xatrix
%%ROGUE%%%%DATADIR%%/rogue/game%%ARCH%%.so
%%ROGUE%%@dirrm %%DATADIR%%/rogue
@dirrm %%DATADIR%%
@comment === DOCS ===
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/bottom.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/credits.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/customer_support.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_barracuda_shark.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_berserker.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_brains.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_enforcer.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_flyer.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_gladiator.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_gunner.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_icarus.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_iron_maiden.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_light_guard.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_machinegun_guard.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_medic.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_mutant.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/adrenaline.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/amor_body.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/armor_combat.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/armor_jacket.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/armor_shard.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/bandoleer.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/barracuda_shark.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/berserker.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/bfg.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/blaster.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/bluekey.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/bottom_id_link_transparent.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/brains.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/breather.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/bullets.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/buttons.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/cells.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/chaingun.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/commandant_james.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/credits_main.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/door.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/elevator_base_exit_sign.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/enemy_groupshot.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/energy_armour.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/enforcer.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/envirosuit.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/explosive_barrels.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/first_aid.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/flyer.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/gladiator.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/grenades.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/grenade_launcher.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/gunner.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/hand_grenade.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/heavy_pack.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/hyper_blaster.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/icarus.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/invulnerability.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/iron_maiden.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/lava.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/lever.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/light_guard.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/machinegun.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/machinegun_guard.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/main_cover_image.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/manual_back.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/manual_bottom.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/manual_cover_image.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/manual_top.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/medic.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/medkit.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/mega_health.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/menu.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/multiplayer_main.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/multiplayer_menu1.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/multiplayer_screen1.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/mutant.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/no_data.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/options_menu.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/parasite.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/player_properties_screen1.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/quad_damage.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/rail_gun.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/rockets.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/rocket_launcher.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/secret_door.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/shells.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/shotgun.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/shotgun_guard.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/silencer.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/slime.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/start_network_server_screen1.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/stimpack.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/story_main.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/strogg_environ_1.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/strogg_environ_2.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/strogg_environ_3.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/supershotgun.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/tank.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/tank_commander.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/technician.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/top_nav_imagemap.gif
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/unit_exit_door.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/images/water.jpg
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_parasite.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_shotgun_guard.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_tank.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_tank_commander.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/enemy_technician.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief2.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief3.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief4.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief5.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief6.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief7.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief8.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/intel_brief_enemy.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/main.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/multiplayer.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/page_index.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/story.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/setup_controls_screenmenus.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/technical_information.html
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/quake2_manual/top_nav.html
%%PORTDOCS%%%%MANUAL%%@dirrm %%DOCSDIR%%/quake2_manual/images
%%PORTDOCS%%%%MANUAL%%@dirrm %%DOCSDIR%%/quake2_manual
%%PORTDOCS%%%%MANUAL%%%%DOCSDIR%%/Manual.html
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/README.320
%%PORTDOCS%%%%DOCSDIR%%/joystick.txt
%%PORTDOCS%%%%DOCSDIR%%/quake2.3dfxgl
%%PORTDOCS%%@dirrm %%DOCSDIR%%
%%CTF%%@dirrm %%LIBDIR%%/ctf
%%GAME%%@dirrm %%LIBDIR%%/baseq2
%%ROGUE%%@dirrm %%LIBDIR%%/rogue
%%XATRIX%%@dirrm %%LIBDIR%%/xatrix
@dirrm %%LIBDIR%%