summaryrefslogtreecommitdiff
path: root/games-fps/ut2004/ut2004-3369-r4.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'games-fps/ut2004/ut2004-3369-r4.ebuild')
-rw-r--r--games-fps/ut2004/ut2004-3369-r4.ebuild168
1 files changed, 168 insertions, 0 deletions
diff --git a/games-fps/ut2004/ut2004-3369-r4.ebuild b/games-fps/ut2004/ut2004-3369-r4.ebuild
new file mode 100644
index 0000000..f3515b5
--- /dev/null
+++ b/games-fps/ut2004/ut2004-3369-r4.ebuild
@@ -0,0 +1,168 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils games
+
+MY_P="${PN}-lnxpatch${PV}-2.tar.bz2"
+
+DESCRIPTION="Editor's Choice Edition plus Mega Pack for the critically-acclaimed first-person shooter"
+HOMEPAGE="http://www.unrealtournament2004.com/"
+SRC_URI="mirror://3dgamers/unrealtourn2k4/${MY_P}
+ http://speculum.twistedgamer.com/pub/0day.icculus.org/${PN}/${MY_P}
+ http://treefort.icculus.org/${PN}/${MY_P}
+ http://sonic-lux.net/data/mirror/ut2004/${MY_P}"
+
+LICENSE="ut2003"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="dedicated opengl"
+RESTRICT="mirror strip"
+
+RDEPEND=">=games-fps/ut2004-data-3186-r2
+ >=games-fps/ut2004-bonuspack-ece-1-r1
+ >=games-fps/ut2004-bonuspack-mega-1-r1
+ opengl? ( virtual/opengl )
+ =virtual/libstdc++-3.3
+ x11-libs/libXext
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libXdmcp"
+
+S=${WORKDIR}/UT2004-Patch
+dir=${GAMES_PREFIX_OPT}/${PN}
+
+QA_EXECSTACK="${dir:1}/System/ut2004-bin
+ ${dir:1}/System/ucc-bin"
+
+GAMES_CHECK_LICENSE="yes"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # Newbie check
+ if [[ ! -e "${FILESDIR}/${PN}.xml" ]] ; then
+ die "Missing: ${FILESDIR}/${PN}.xml"
+ fi
+
+ if use x86 ; then
+ rm -f System/{ucc,ut2004}-bin-linux-amd64
+ else
+ mv -f System/ucc-bin-linux-amd64 System/ucc-bin || die
+ mv -f System/ut2004-bin-linux-amd64 System/ut2004-bin || die
+ fi
+}
+
+src_install() {
+ # These files are owned by ut2004-bonuspack-mega
+ rm -f System/{Manifest.in{i,t},Packages.md5}
+
+ # Installing patch files
+ local d
+ for d in Animations Help Speech System Textures Web ; do
+ insinto "${dir}"
+ doins -r "${d}" || die "doins ${p} from patch"
+ done
+
+ rm -f "${D}/${dir}/System"/{ucc,ut2004}-bin
+ exeinto "${dir}/System"
+ doexe System/{ucc,ut2004}-bin || die "doexe failed"
+
+ # Creating .manifest files
+ sed -e "s:GAMES_PREFIX_OPT:${GAMES_PREFIX_OPT}:" "${FILESDIR}"/${PN}.xml > \
+ "${T}"/${PN}.xml || die "sed ${PN}.xml failed"
+ insinto "${dir}"/.manifest
+ doins "${T}"/${PN}.xml
+
+ # Creating .loki/installed links
+ mkdir -p "${D}"/root/.loki/installed
+ dosym "${dir}"/.manifest/${PN}.xml /root/.loki/installed/${PN}.xml
+
+ # Replaces the /opt/ut2004/ut2004 script, which is not provided on
+ # the Anthology DVD.
+ # games-mods.eclass requires the /opt/ut2004/ut2004 script, for mods.
+ games_make_wrapper ut2004 ./ut2004 "${dir}"
+
+ echo -e "#!/bin/sh\ncd System\nif [[ \"\${LD_LIBRARY_PATH+set}\" = \"set\" ]] ; then\n\texport LD_LIBRARY_PATH=\"..:.\"\nelse\n\texport LD_LIBRARY_PATH=\"\${LD_LIBRARY_PATH}:..:.\"\nfi\nexec ./ut2004-bin \"\$@\"" \
+ > ut2004 || die
+ exeinto "${dir}"
+ doexe ut2004 || die
+
+ make_desktop_entry ut2004 "Unreal Tournament 2004" ut2004.xpm
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ # Here is where we check for the existence of a CD key...
+ # If we don't find one, we ask the user for it.
+ if [[ -f "${dir}/System/cdkey" ]] ; then
+ einfo "A CD key file is already present in ${dir}/System"
+ else
+ ewarn "You MUST run this before playing the game:"
+ ewarn "emerge --config =${CATEGORY}/${PF}"
+ ewarn "That way you can [re]enter your CD key."
+ fi
+ echo
+ elog "Starting with 3369, the game supports render-to-texture. To enable"
+ elog "it, you will need the Nvidia drivers of at least version 7676 and"
+ elog "you should edit the following:"
+ elog
+ elog 'Set "UseRenderTargets=True" in the "[OpenGLDrv.OpenGLRenderDevice]"'
+ elog 'section of your UT2004.ini/Default.ini and set "bPlayerShadows=True"'
+ elog 'and "bBlobShadow=False" in the "[UnrealGame.UnrealPawn]" section of'
+ elog 'your User.ini/DefUser.ini'
+ if use x86 ; then
+ elog
+ elog "The 32-bit version of UT2004 uses Pixomatic, which means it"
+ elog "really does need an executable stack. It is safe to ignore any"
+ elog "warnings from Portage about this. See:"
+ elog "http://bugs.gentoo.org/show_bug.cgi?id=114733"
+ elog "for more information."
+ fi
+ elog
+ elog "To play the game, run:"
+ elog " ut2004"
+ echo
+}
+
+pkg_postrm() {
+ ewarn "This package leaves a CD key file that you"
+ ewarn "need to remove, to completely get rid of this game's files:"
+ ewarn "${dir}/System/cdkey"
+}
+
+pkg_config() {
+ local cdkey1 cdkey2
+
+ ewarn "Your CD key is NOT checked for validity here."
+ ewarn "Make sure you type it in correctly."
+ eerror "If you CTRL+C out of this, the game will not run!"
+ echo
+ einfo "CD key format is: XXXXX-XXXXX-XXXXX-XXXXX"
+ while true ; do
+ einfo "Please enter your CD key:"
+ read cdkey1
+ if [[ "${cdkey1}" == "" ]] ; then
+ echo "You entered a blank CD key. Try again."
+ continue
+ fi
+ einfo "Please re-enter your CD key:"
+ read cdkey2
+ if [[ "${cdkey2}" == "" ]] ; then
+ echo "You entered a blank CD key. Try again."
+ continue
+ fi
+
+ if [[ "${cdkey1}" == "${cdkey2}" ]] ; then
+ echo "${cdkey1}" | tr a-z A-Z > "${dir}"/System/cdkey
+ einfo "Thanks, created ${dir}/System/cdkey"
+ break
+ else
+ eerror "Your CD key entries do not match. Try again."
+ fi
+ done
+}