# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit games UT_PV=451 DESCRIPTION="Bonus Packs 1-4 for Unreal Tournament 99" HOMEPAGE="http://www.unrealtournament.com/ http://utpg.org/" SRC_URI="!cdinstall? ( http://downloads.unrealadmin.org/UnrealTournament/BonusPack/utbonuspack.zip http://downloads.unrealadmin.org/UnrealTournament/BonusPack/utbonuspack2.zip http://downloads.unrealadmin.org/UnrealTournament/BonusPack/utinoxxpack.zip ) http://downloads.unrealadmin.org/UnrealTournament/BonusPack/utbonuspack4.zip cdinstall? ( http://utpg.org/patches/UTPGPatch${UT_PV}.tar.bz2 )" LICENSE="as-is" SLOT="0" KEYWORDS="-* amd64 x86" IUSE="cdinstall" DEPEND="app-arch/unzip games-util/umodpack >=games-fps/unreal-tournament-${UT_PV}-r1" RDEPEND=">=games-fps/unreal-tournament-${UT_PV}-r1" S=${WORKDIR} dir=${GAMES_PREFIX_OPT}/unreal-tournament Ddir=${D}/${dir} set_dirs() { # The top-level directory names can change per CD. if [[ "${UT_EDITION}" == "anthology" ]] || [[ -e "${CDROM_ROOT}/System" ]] ; then HELP_DIR="Help" MUSIC_DIR="Music" SOUNDS_DIR="Sounds" SYSTEM_DIR="System" TEXTURES_DIR="Textures" else HELP_DIR="HELP" MUSIC_DIR="MUSIC" SOUNDS_DIR="SOUNDS" SYSTEM_DIR="SYSTEM" TEXTURES_DIR="TEXTURES" fi if [[ "${UT_EDITION}" == "anthology" ]] || [[ -e "${CDROM_ROOT}/Maps" ]] ; then MAPS_DIR="Maps" elif [[ -e "${CDROM_ROOT}/MAPS" ]] ; then MAPS_DIR="MAPS" else MAPS_DIR="maps" fi } pkg_setup() { games_pkg_setup if use cdinstall ; then CDROM_NAME_SET=( "Unreal Tournament GOTY or Unreal Anthology DVD" ) cdrom_get_cds Help/BonusPackReadme.txt:HELP/BonusPackReadme.txt:System/Core.u:AutoRunData/Unreal.ico case ${CDROM_SET} in 0|1) UT_EDITION="goty" einfo 'Found UT99 "Game Of The Year" edition' ;; 2) UT_EDITION="original" einfo 'Found UT99 original edition' eerror "This CD does not include any Bonus Packs. Please disable the cdinstall USE" eerror "flag or install from a different source." die "Bonus Packs not available" ;; 3) UT_EDITION="anthology" einfo 'Found Unreal Anthology DVD' ;; esac set_dirs fi } src_unpack() { mkdir Help Maps System Textures if use cdinstall ; then HELP=BonusPackReadme.txt MAPS={CTF-{Cybrosis][,Darji16,Face][,HallOfGiants,High,Hydro16,Kosov,Noxion16,Nucleus,Orbital},DM-{Agony,ArcaneTemple,Crane,Cybrosis][,HealPod][,Malevolence,Mojo][,Shrapnel][,SpaceNoxx}}.unr SYSTEM_ALL={de,epiccustommodels,multimesh,relics,relicsbindings}.u SYSTEM_ENGLISH={de,multimesh,relics,relicsbindings,{tcowmesh,tnalimesh,tskm}skins}.int TEXTURES={noxxpack,xutfx,{tcowmesh,tnalimesh,tskm}skins}.utx if [[ "${UT_EDITION}" == "anthology" ]] ; then # Symlinks for unshield. ln -sfn "${CDROM_ROOT}"/Disk1/data1.hdr "${T}" ln -sfn "${CDROM_ROOT}"/Disk*/data*.cab "${T}" for j in Help Maps System_All System_English Textures ; do unshield -g 3_UnrealTournament_${j} x "${T}"/data1.cab || die "unshield x" done eval mv -f 3_UnrealTournament_Help/${HELP} Help || die "mv Help" eval mv -f 3_UnrealTournament_Maps/${MAPS} Maps || die "mv Maps" eval mv -f 3_UnrealTournament_System_All/${SYSTEM_ALL} System || die "mv System_All" eval mv -f 3_UnrealTournament_System_English/${SYSTEM_ENGLISH} System || die "mv System_English" eval mv -f 3_UnrealTournament_Textures/${TEXTURES} Textures || die "mv Textures" rm -rf 3_UnrealTournament_* else eval cp -f "${CDROM_ROOT}/${HELP_DIR}"/${HELP} Help || die "cp Help" eval cp -f "${CDROM_ROOT}/${SYSTEM_DIR}"/${SYSTEM_ALL} System || die "cp System" eval cp -f "${CDROM_ROOT}/${SYSTEM_DIR}"/${SYSTEM_ENGLISH} System || die "cp System" eval cp -f "${CDROM_ROOT}/${TEXTURES_DIR}"/${TEXTURES} Textures || die "cp Textures" # Prepare to decompress maps. tar Ojxf "${DISTDIR}/UTPGPatch${UT_PV}.tar.bz2" System/ucc-bin > "${T}/ucc-bin" chmod 700 "${T}/ucc-bin" mkdir -p "${T}/.loki/ut/System" cd /opt/unreal-tournament/System # Copy or decompress maps as necessary. for f in `eval echo ${MAPS}` ; do if [[ -e "${CDROM_ROOT}/${MAPS_DIR}/${f}" ]] ; then cp -f "${CDROM_ROOT}/${MAPS_DIR}/${f}" "${S}/Maps" || die "cp Maps/${f}" elif [[ -e "${CDROM_ROOT}/${MAPS_DIR}/${f}.uz" ]] ; then HOME="${T}" "${T}/ucc-bin" decompress "${CDROM_ROOT}/${MAPS_DIR}/${f}.uz" || die "decompress Maps/${f}.uz" mv -f "${T}/.loki/ut/System/${f}" "${S}/Maps" || die "mv map ${f}" else die "Maps/${f} missing" fi done cd "${S}" fi unpack utbonuspack4.zip else unpack utbonuspack{,2,4}.zip utinoxxpack.zip # Bonus Pack 1 umod -x UTBonusPack.umod || die "could not unpack UTBonusPack.umod" # Bonus Pack 2 umod -x DE.umod || die "could not unpack DE.umod" mv CTF-{HallOfGiants,Orbital}.unr Maps # Bonus Pack 3 umod -x UTInoxxPack.umod || die "could not unpack UTInoxxPack.umod" fi # Bonus Pack 4 umod -x UTBonusPack4.umod || die "could not unpack UTBonusPack4.umod" } src_install() { dodir ${dir} mv Help Maps System Textures ${Ddir} prepgamesdirs }