diff --git a/games-rpg/baldursgate/Manifest b/games-rpg/baldursgate/Manifest index 190aaef7..9060abeb 100644 --- a/games-rpg/baldursgate/Manifest +++ b/games-rpg/baldursgate/Manifest @@ -1,12 +1,17 @@ AUX GemRB.cfg 8711 RMD160 e84e366c4cf922018c51778f1ba94a5e0f22b65e SHA1 0e7810bb3fcd5e47e4cf2d19f1878a423fa3902c SHA256 21efadc409cca64232f577278f6fa57b37d29f77e0926b51ec1c1a311625e949 +AUX GemRB1.cfg 8711 RMD160 af8ca5ad0f3f7fa14761b8f1eb6669dc614d0a52 SHA1 801fdcedfdb72cf88c57d545147f7b0d51594b8c SHA256 862d25a22b5d2cc1fc4f4b91278fe6333b4d28a946c96b648acda71cf8fdf3ac +AUX GemRB2.cfg 8711 RMD160 e84e366c4cf922018c51778f1ba94a5e0f22b65e SHA1 0e7810bb3fcd5e47e4cf2d19f1878a423fa3902c SHA256 21efadc409cca64232f577278f6fa57b37d29f77e0926b51ec1c1a311625e949 AUX bg2-dir.txt 571459 RMD160 5ad583415af612ea103deae995ad3e73ea73e235 SHA1 d05f4f7a80d73c5c6b1fee043b99726402a051f9 SHA256 ae57e9fbf9d4d77579208cc0fb3a4358339f9e5199a1fde91028084339ed8d18 DIST BGII-ThroneofBhaal_Patch_26498_ENGLISH.exe 8392346 RMD160 55ca3d486525e5ff5be75021634b67ed61594aac SHA1 1a08ff7dcc814a127e0ef58d782550b53b929253 SHA256 a72932f5d31ad5df490a51083335a4abfc194de9cba05b5fa061c0ea7ff7fded DIST BGII-ThroneofBhaal_Patch_26498_EUROPEAN.exe 8030790 RMD160 36cc64cd8277963df6ca6c6f8d7364e72f9d92aa SHA1 a1f2e697bde82651817204e151c3eb108eb260c4 SHA256 c234c599586c1bd68cf525041e7467db90466f24d61a56e4cebba19c06c58097 +DIST BGII-ThroneofBhaal_Patch_26499_BETA.exe 4346064 RMD160 f6f2b61f198848999330a22dd8e5429a937ca700 SHA1 38bd9f145e76009e0d6fb8eb3b0ac94901e75448 SHA256 2737f329ca21bc0fac2af8e61397153c0647d290a20881561eca848712c092a9 DIST Baldur%27sGateII-ShadowsofAmnPatchENGLISH.exe 8696166 RMD160 034e980ccb4af9cc349f688daa8d7637807b87d6 SHA1 4706c0dc1e282bae14946c87a38e2781f89ebdc4 SHA256 79835a3e7edbc41920362f4bf47b260cb00005c216a23517179fd96d3b502396 DIST Baldur%27sGateII-ShadowsofAmnPatchEUROPE.exe 6306918 RMD160 ee7454ebed06f2dbcf300550ada8db3189ecfb6e SHA1 ad1d54b18fded58b4f28b6d6e26cd002fcaa3372 SHA256 c1e77ec092a0d2ce8cec65b5328257cf1ee5ae39e38f363d83eab03825a2f90e DIST Baldur-s-Gate-2-Shadows-of-Amn-2-128x128.png 34194 RMD160 b9fef670af10960796ec0fc130b529ab82180c6e SHA1 e803de32dce8e04e0bd75a01ada67896e05e3b1b SHA256 efde4551eddf48d638c3867fd576e62b95cdb0af7a81b91905a6dc7282319c3c DIST Baldur-s-Gate-2-Throne-of-Bhaal-2-128x128.png 36950 RMD160 27d3cc0b6a7ea7b76898800c12a5035de2cb6515 SHA1 7da589e7c102ceb29f15486587a4f5cc7d2606b3 SHA256 23b9bd527b3316d84453c41176b5a0b018c670358d18a87ed4283ba39b426026 DIST pathconvert.tar.gz 63831 RMD160 48e3a4ace1fc29e674360c69103342e400b4f21a SHA1 19c364b937157d7faf9f5bf6b6fef55b2095be9e SHA256 20c57928fa90a5c523b1a9a8efb8f619de3869427bf80e6b183d823b82fa257e -EBUILD baldursgate-2.26498.ebuild 26800 RMD160 0c07727162f87ca84700b643d4ae86dc94bac010 SHA1 beaeba2e481dc0738db5801c31b0515e12aaddc3 SHA256 3271b92413acc38788842bf40367b11d5ca3484b9c2052eb133adcad1b7831e1 +EBUILD baldursgate-1.1.5512.ebuild 26800 RMD160 394b21e69c675e58ef0e9defb4d76820d3bd7deb SHA1 dc6b09f27e1df41f9b3f0bd9b7b936c0f57ba30c SHA256 30d05f65e2c277d65503c3424ba676bf12499a06444f711b530c47e464e47a35 +EBUILD baldursgate-2.5.26498.ebuild 26800 RMD160 0c07727162f87ca84700b643d4ae86dc94bac010 SHA1 beaeba2e481dc0738db5801c31b0515e12aaddc3 SHA256 3271b92413acc38788842bf40367b11d5ca3484b9c2052eb133adcad1b7831e1 +EBUILD baldursgate-2.5.26499.ebuild 27033 RMD160 4114242c65d9918f1ffb48bbe6972b03b858ac33 SHA1 7299fef7888d5fd52d148cd5701830ff26430a58 SHA256 3be7d88c94d76add87710190c11b3ea4c218c34c1c7468c337a5c31108532f7a MISC ChangeLog 447 RMD160 117dab66bacdf72a835d34b823e4bb99175af570 SHA1 4e878ebf9199dfb79015b4564079b5d45bbce2ec SHA256 b904c0ec8a6de336b9305db56a4fa284214ad3e5d6fa6fc7ff73f04dae14281b MISC metadata.xml 1238 RMD160 c82938e77f387291d6a1c3bf9b0d802f2878dd12 SHA1 b5738f14922c69e78cfb867acdc65eeea25977bf SHA256 2c13f98be5fa8bdaf21ac86bcd00bbeb8944df5615de0cfce35ae4c00ef4b4d5 diff --git a/games-rpg/baldursgate/baldursgate-1.1.5512.ebuild b/games-rpg/baldursgate/baldursgate-1.1.5512.ebuild new file mode 100644 index 00000000..ca7f3b5f --- /dev/null +++ b/games-rpg/baldursgate/baldursgate-1.1.5512.ebuild @@ -0,0 +1,652 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils games multilib + +LANGUAGES="linguas_fr linguas_it linguas_es linguas_de" + +MY_PV=${PV//.} +UPDATE_BASEURL="http://downloads.bioware.com/baldursgate2/" +SOA_ENGLISH="Baldur%27sGateII-ShadowsofAmnPatchENGLISH.exe" +SOA_EUROPE="Baldur%27sGateII-ShadowsofAmnPatchEUROPE.exe" +TOB_ENGLISH="BGII-ThroneofBhaal_Patch_26498_ENGLISH.exe" +TOB_EUROPE="BGII-ThroneofBhaal_Patch_26498_EUROPEAN.exe" + +LINGUAS_SRC_URI="linguas_fr? ( + tob? ( ${UPDATE_BASEURL}/${TOB_EUROPE} ) + ${UPDATE_BASEURL}/${SOA_EUROPE} ) + linguas_it? ( + tob? ( ${UPDATE_BASEURL}/${TOB_EUROPE} ) + ${UPDATE_BASEURL}/${SOA_EUROPE} ) + linguas_es? ( + tob? ( ${UPDATE_BASEURL}/${TOB_EUROPE} ) + ${UPDATE_BASEURL}/${SOA_EUROPE} ) + linguas_es? ( + tob? ( ${UPDATE_BASEURL}/${TOB_EUROPE} ) + ${UPDATE_BASEURL}/${SOA_EUROPE} ) + linguas_de? ( + tob? ( ${UPDATE_BASEURL}/${TOB_EUROPE} ) + ${UPDATE_BASEURL}/${SOA_EUROPE} ) + tob? ( ${UPDATE_BASEURL}/${TOB_ENGLISH} ) + ${UPDATE_BASEURL}/${SOA_ENGLISH}" + +DESCRIPTION="Baldurs Gate SOA TOB" +HOMEPAGE="http://www.bioware.com/games/shadows_amn/ http://www.bioware.com/games/throne_bhaal/" +SRC_URI="http://www.tamacom.com/pathconvert/pathconvert.tar.gz + http://www.iconarchive.com/icons/3xhumed/mega-games-pack-25/Baldur-s-Gate-2-Shadows-of-Amn-2-128x128.png + tob? ( http://www.iconarchive.com/icons/3xhumed/mega-games-pack-25/Baldur-s-Gate-2-Throne-of-Bhaal-2-128x128.png ) + ${LINGUAS_SRC_URI}" + +LICENSE="BG1-EULA" +SLOT="1" +KEYWORDS="~amd64 x86" +IUSE="tob videos ${LANGUAGES}" +RESTRICT="strip mirror" + +RDEPEND=">=games-engines/gemrb-0.5.0" +DEPEND="${RDEPEND} + app-arch/unshield + app-arch/p7zip" + +GAMES_LICENSE_CHECK=yes +launcher=${S}/BaldursGate${SLOT} +dir=${GAMES_PREFIX_OPT}/BioWare/BaldursGate${SLOT} +Ddir=${D}/${dir} +LNDIR="${S}"/pathconvert/lndir/lndir + +BG2_SET= + +# This is my fun section where I try to determine which CD/DVD set we have. +# Expect this to be very messy and ugly, and hopefully it all works as we want +# it to on all of the various media. +get_bg2_set() { + # First we check to see if we have CD_ROOT defined already. If we do, + # this will make our lives so much easier. + if [[ -n "${CD_ROOT}" ]] + then + if [[ -f "${CD_ROOT}"/CD4/Data/CD4CreAn.bif ]] && [[ -f "${CD_ROOT}"/data1.hdr ]] + then + BG2_SET="dvd" + einfo "Baldurs Gate II: Shadows of Amn DVD found..." + elif [[ -f "${CD_ROOT}"/data1.hdr ]] + then + BG2_SET="original_cd" + einfo "Baldurs Gate II: Shadows of Amn CD set found..." + fi + # Now we check to see if we have CD_ROOT_1 set, which means we have a CD + # set, or even a DVD set. + elif [[ -n "${CD_ROOT_1}" ]] + then + if [[ -f "${CD_ROOT_1}"/CD4/Data/CD4CreAn.bif ]] && [[ -f "${CD_ROOT_1}"/data1.hdr ]] + then + BG2_SET="dvd" + einfo "Baldurs Gate II: Shadows of Amn DVD found..." + elif [[ -f "${CD_ROOT_1}"/data1.hdr ]] + then + BG2_SET="original_cd" + einfo "Baldurs Gate II: Shadows of Amn CD set found..." + fi + # OK. Neither were set, so now we're going to start our detection and try + # to figure out what we have to work from. + else + local mline= + for mline in $(mount | egrep -e '(iso|cdrom|udf)' | awk '{print $3}') + do + if [[ -f "${mline}"/CD4/Data/CD4CreAn.bif ]] && [[ -f "${mline}"/data1.hdr ]] + then + BG2_SET="dvd" + einfo "Baldurs Gate II: Shadows of Amn DVD found..." + elif [[ -f "${mline}"/data1.hdr ]] + then + BG2_SET="original_cd" + einfo "Baldurs Gate II: Shadows of Amn CD set found..." + fi + done + fi +} + +get_cd_set() { + while `[[ -z "${BG2_SET}" ]]` + do + echo "Please insert your first Baldurs Gate II: Shadows of Amn CD/DVD into your drive and" + echo "press any key to continue" + read -n 1 + get_bg2_set + done + # Here is where we start our CD/DVD detection for changing disks. + case "${BG2_SET}" in + dvd) + export CDROM_NAME_1="DVD1" + einfo "Both Shadows of Undrentide and Hordes of the Underdark will" + einfo "be installed from your DVD along with Neverwinter Nights." + if use tob + then + einfo "You will also need the SoU CD for this installation." + export CDROM_NAME_2="ToB" + cdrom_get_cds CD4/Data/CD4CreAn.bif CD5/movies/25Movies.bif + else + cdrom_get_cds CD4/Data/CD4CreAn.bif + fi + ;; + original_cd) + export CDROM_NAME_1="CD1" CDROM_NAME_2="CD2" CDROM_NAME_3="CD3" CDROM_NAME_4="CD4" + touch .metadata/orig || die "touch orig" + if use tob + then + einfo "You will also need the SoU CD for this installation." + export CDROM_NAME_5="ToB" + cdrom_get_cds data1.hdr CD2/Data/MovHD0.bif \ + CD3/Data/CD3CreAn.bif CD4/Data/CD4CreAn.bif CD5/movies/25Movies.bif + else + cdrom_get_cds data1.hdr CD2/Data/MovHD0.bif \ + CD3/Data/CD3CreAn.bif CD4/Data/CD4CreAn.bif + fi + ;; + esac +} + +src_unpack() { + mkdir -p "${S}" + cd "${S}" + # We create this .metadata directory so we can keep track of what we have + # installed without needing to keep all of these multiple USE flags in all + # of the ebuilds. + mkdir -p .metadata || die "Creating .metadata" + # Since we dont *always* want to do this, we check for USE=cdinstall + + # Here, we determine which CD/DVD set that we have. This will seem a + # bit odd, since well be doing the detection a few times. + get_bg2_set + # Now that we know what were looking for, lets look for the media. + get_cd_set + + mkdir -p "${S}"/patches + cd "${S}"/patches + einfo "Unpacking Patch ${SOA_ENGLISH} files..." + 7z x -osoa-en -y ${DISTDIR}/${SOA_ENGLISH} || die "unpacking" + unshield -L -d soa-en x "${S}"/patches/soa-en/data?.* || die "unshield" + if use tob + then + einfo "Unpacking Patch ${TOB_ENGLISH} files..." + 7z x -otob-en -y ${DISTDIR}/${TOB_ENGLISH} || die "unpacking" + unshield -L -d tob-en x "${S}"/patches/tob-en/data?.* || die "unshield" + fi + + if use linguas_fr + then + einfo "Unpacking Patch ${SOA_EUROPE} files..." + 7z x -osoa-eu -y ${DISTDIR}/${SOA_EUROPE} || die "unpacking" + unshield -L -d soa-eu x "${S}"/patches/soa-eu/data?.* || die "unshield" + if use tob + then + einfo "Unpacking Patch ${TOB_EUROPE} files..." + 7z x -otob-eu -y ${DISTDIR}/${TOB_EUROPE} || die "unpacking" + unshield -L -d tob-eu x "${S}"/patches/tob-eu/data?.* || die "unshield" + fi + fi + + if use linguas_it + then + einfo "Unpacking Patch ${SOA_EUROPE} files..." + 7z x -osoa-eu -y ${DISTDIR}/${SOA_EUROPE} || die "unpacking" + unshield -L -d soa-eu x "${S}"/patches/soa-eu/data?.* || die "unshield" + if use tob + then + einfo "Unpacking Patch ${TOB_EUROPE} files..." + 7z x -otob-eu -y ${DISTDIR}/${TOB_EUROPE} || die "unpacking" + unshield -L -d tob-eu x "${S}"/patches/tob-eu/data?.* || die "unshield" + fi + fi + + if use linguas_es + then + einfo "Unpacking Patch ${SOA_EUROPE} files..." + 7z x -osoa-eu -y ${DISTDIR}/${SOA_EUROPE} || die "unpacking" + unshield -L -d soa-eu x "${S}"/patches/soa-eu/data?.* || die "unshield" + if use tob + then + einfo "Unpacking Patch ${TOB_EUROPE} files..." + 7z x -otob-eu -y ${DISTDIR}/${TOB_EUROPE} || die "unpacking" + unshield -L -d tob-eu x "${S}"/patches/tob-eu/data?.* || die "unshield" + fi + fi + + if use linguas_de + then + einfo "Unpacking Patch ${SOA_EUROPE} files..." + 7z x -osoa-eu -y ${DISTDIR}/${SOA_EUROPE} || die "unpacking" + unshield -L -d soa-eu x "${S}"/patches/soa-eu/data?.* || die "unshield" + if use tob + then + einfo "Unpacking Patch ${TOB_EUROPE} files..." + 7z x -otob-eu -y ${DISTDIR}/${TOB_EUROPE} || die "unpacking" + unshield -L -d tob-eu x "${S}"/patches/tob-eu/data?.* || die "unshield" + fi + fi + + + case ${BG2_SET} in + dvd) + mkdir -p "${S}"/shared-soa + cd "${S}" + + # We dont give the user the option to install SoU/HotU. While some + # people might complain about this, most newer NWN stuff requires + # them both anyway, so it makes no sense not to install them. + einfo "Unpacking files..." + unshield -L -d shared-soa x "${CDROM_ROOT}"/data?.* || die "unpacking" + # We have to adjust the files after unpacking the cab file. + mkdir -p "${S}"/cd1 + einfo "Copying CD1 files..." + [[ -d "${CDROM_ROOT}"/English ]] && cp -rv "${CDROM_ROOT}"/English cd1 + if use linguas_fr + then + [[ -d "${CDROM_ROOT}"/French ]] && cp -rv "${CDROM_ROOT}"/French cd1 + fi + if use linguas_it + then + [[ -d "${CDROM_ROOT}"/Italian ]] && cp -rv "${CDROM_ROOT}"/Italian cd1 + fi + if use linguas_es + then + [[ -d "${CDROM_ROOT}"/Spanish ]] && cp -rv "${CDROM_ROOT}"/Spanish cd1 + fi + if use linguas_de + then + [[ -d "${CDROM_ROOT}"/German ]] && cp -rv "${CDROM_ROOT}"/German cd1 + fi + einfo "Copying CD2 files..." + mkdir -p "${S}"/cd2 + cp -rv "${CDROM_ROOT}"/CD2/* cd2 + einfo "Copying CD3 files..." + mkdir -p "${S}"/cd3 + cp -rv "${CDROM_ROOT}"/CD3/* cd3 + einfo "Copying CD4 files..." + mkdir -p "${S}"/cd4 + cp -rv "${CDROM_ROOT}"/CD4/* cd4 + + if use tob + then + mkdir -p "${S}"/shared-tob + cdrom_load_next_cd + einfo "Unpacking files..." + unshield -L -d shared-tob x "${CDROM_ROOT}"/data?.* || die "unpacking" + einfo "Copying CD5 (ToB) files..." + mkdir -p "${S}"/cd5 + cp -rv "${CDROM_ROOT}"/CD5/* cd5 + fi + + ;; + original_cd) + mkdir -p "${S}"/shared-soa + cd "${S}" + + # We dont give the user the option to install SoU/HotU. While some + # people might complain about this, most newer NWN stuff requires + # them both anyway, so it makes no sense not to install them. + einfo "Unpacking files..." + unshield -L -d shared-soa x "${CDROM_ROOT}"/data?.* || die "unpacking" + # We have to adjust the files after unpacking the cab file. + mkdir -p "${S}"/cd1 + einfo "Copying CD1 files..." + [[ -d "${CDROM_ROOT}"/English ]] && cp -rv "${CDROM_ROOT}"/English cd1 + if use linguas_fr + then + [[ -d "${CDROM_ROOT}"/French ]] && cp -rv "${CDROM_ROOT}"/French cd1 + fi + if use linguas_it + then + [[ -d "${CDROM_ROOT}"/Italian ]] && cp -rv "${CDROM_ROOT}"/Italian cd1 + fi + if use linguas_es + then + [[ -d "${CDROM_ROOT}"/Spanish ]] && cp -rv "${CDROM_ROOT}"/Spanish cd1 + fi + if use linguas_de + then + [[ -d "${CDROM_ROOT}"/German ]] && cp -rv "${CDROM_ROOT}"/German cd1 + fi + cdrom_load_next_cd + einfo "Copying CD2 files..." + mkdir -p "${S}"/cd2 + cp -rv "${CDROM_ROOT}"/CD2/* cd2 + cdrom_load_next_cd + einfo "Copying CD3 files..." + mkdir -p "${S}"/cd3 + cp -rv "${CDROM_ROOT}"/CD3/* cd3 + cdrom_load_next_cd + einfo "Copying CD4 files..." + mkdir -p "${S}"/cd4 + cp -rv "${CDROM_ROOT}"/CD4/* cd4 + + if use tob + then + mkdir -p "${S}"/shared-tob + cdrom_load_next_cd + einfo "Unpacking files..." + unshield -L -d shared-tob x "${CDROM_ROOT}"/data?.* || die "unpacking" + einfo "Copying CD5 (ToB) files..." + mkdir -p "${S}"/cd5 + cp -rv "${CDROM_ROOT}"/CD5/* cd5 + fi + + ;; + esac + + # We unpack this for all media sets. + unpack pathconvert.tar.gz +} + +src_compile() { + cd "${S}"/pathconvert + make -C lib + cp lib/libpathconvert.a . + cd "${S}"/pathconvert/lndir + xmkmf + make lndir + + +} + +src_install() { + mkdir -p "${Ddir}/Shared" + mv -fv "${S}"/shared-soa/hd0_cab/* "${Ddir}/Shared" + mkdir -p "${Ddir}"/Shared/cache + mv -fv "${S}"/shared-soa/hd0_cache/* "${Ddir}"/Shared/cache + mkdir -p "${Ddir}"/Shared/data + mv -fv "${S}"/shared-soa/hd0_data/* "${Ddir}"/Shared/data + mkdir -p "${Ddir}"/Shared/music + mv -fv "${S}"/shared-soa/hd0_music/* "${Ddir}"/Shared/music + mkdir -p "${Ddir}"/Shared/override + mv -fv "${S}"/shared-soa/hd0_override/* "${Ddir}"/Shared/override + + mv -fv "${S}"/patches/soa-en/main/override/* "${Ddir}"/Shared/override + mkdir -p "${Ddir}"/cd1/English/data + mv -fv "${S}"/cd1/English/[Dd]ata/* "${Ddir}"/cd1/English/data + mkdir -p "${Ddir}"/cd1/English/movies + mv -fv "${S}"/cd1/English/[Mm]ovies/* "${Ddir}"/cd1/English/movies + mkdir -p "${Ddir}/Shared-English" + [[ -d "${S}"/shared-soa/hd0_cab_english ]] && mv -fv "${S}"/shared-soa/hd0_cab_english/* "${Ddir}"/Shared-English + [[ -d "${S}"/shared-soa/_support_english_os_independent_files ]] && mv -fv "${S}"/shared-soa/_support_english_os_independent_files/* "${Ddir}"/Shared-English + [[ -d "${S}"/patches/soa-en/english_files ]] && mv -fv "${S}"/patches/soa-en/english_files/* "${Ddir}"/Shared-English + mkdir -p "${Ddir}/Shared-English/sounds" + [[ -d "${S}"/shared-soa/hd0_sound_english ]] && mv -fv "${S}"/shared-soa/hd0_sound_english/* "${Ddir}"/Shared-English/sounds + mkdir -p "${Ddir}/Shared-English/characters" + [[ -d "${S}"/shared-soa/hd0_characters_english ]] && mv -fv "${S}"/shared-soa/hd0_characters_english/* "${Ddir}"/Shared-English/characters + mkdir -p "${Ddir}/Shared-English/data" + [[ -d "${S}"/shared-soa/hd0_data_english ]] && mv -fv "${S}"/shared-soa/hd0_data_english/* "${Ddir}"/Shared-English/data + + if use tob + then + mv -fv "${S}"/shared-tob/hd0/* "${Ddir}/Shared" + mv -fv "${S}"/shared-tob/minimum_25_data/* "${Ddir}"/Shared/data + mv -fv "${S}"/shared-tob/hd025music/* "${Ddir}"/Shared/music + mv -fv "${S}"/shared-tob/hd0_override/* "${Ddir}"/Shared/override + mv -fv "${S}"/patches/tob-en/main/override/* "${Ddir}"/Shared/override + [[ -d "${S}"/patches/tob-eu/language_independent/override ]] && mv -fv "${S}"/patches/tob-eu/language_independent/override/* "${Ddir}"/Shared/override + [[ -d "${S}"/shared-tob/_support_language_independent_os_independent_files ]] && mv -fv "${S}"/shared-tob/_support_language_independent_os_independent_files/* "${Ddir}"/Shared + + [[ -d "${S}"/shared-tob/hd0_english ]] && mv -fv "${S}"/shared-tob/hd0_english/* "${Ddir}"/Shared-English + [[ -d "${S}"/shared-tob/_support_english_os_independent_files ]] && mv -fv "${S}"/shared-tob/_support_english_os_independent_files/* "${Ddir}"/Shared-English + [[ -d "${S}"/patches/tob-en/main ]] && mv -fv "${S}"/patches/tob-en/main/*.* "${Ddir}"/Shared-English + [[ -d "${S}"/shared-tob/minimum_25_sound_english ]] && mv -fv "${S}"/shared-tob/minimum_25_sound_english/* "${Ddir}"/Shared-English/sounds + [[ -d "${S}"/shared-tob/minimum_25_characters_english ]] && mv -fv "${S}"/shared-tob/minimum_25_characters_english/* "${Ddir}"/Shared-English/characters + [[ -d "${S}"/shared-tob/minimum_25_data_english ]] && mv -fv "${S}"/shared-tob/minimum_25_data_english/* "${Ddir}"/Shared-English/data + fi + + + if use linguas_fr + then + mv -fv "${S}"/patches/soa-eu/main/override/* "${Ddir}"/Shared/override + mkdir -p "${Ddir}"/cd1/French/data + mv -fv "${S}"/cd1/French/[Dd]ata/* "${Ddir}"/cd1/French/data + mkdir -p "${Ddir}"/cd1/French/movies + mv -fv "${S}"/cd1/French/[Mm]ovies/* "${Ddir}"/cd1/French/movies + mkdir -p "${Ddir}/Shared-French" + [[ -d "${S}"/shared-soa/hd0_cab_french ]] && mv -fv "${S}"/shared-soa/hd0_cab_french/* "${Ddir}"/Shared-French + [[ -d "${S}"/shared-soa/_support_french_\(standard\)_os_independent_files ]] && mv -fv "${S}"/shared-soa/_support_french_\(standard\)_os_independent_files/* "${Ddir}"/Shared-French + [[ -d "${S}"/patches/soa-eu/french ]] && mv -fv "${S}"/patches/soa-eu/french/* "${Ddir}"/Shared-French + mkdir -p "${Ddir}/Shared-French/sounds" + [[ -d "${S}"/shared-soa/hd0_sound_french ]] && mv -fv "${S}"/shared-soa/hd0_sound_french/* "${Ddir}"/Shared-French/sounds + mkdir -p "${Ddir}/Shared-French/characters" + [[ -d "${S}"/shared-soa/hd0_characters_french ]] && mv -fv "${S}"/shared-soa/hd0_characters_french/* "${Ddir}"/Shared-French/characters + mkdir -p "${Ddir}/Shared-French/data" + [[ -d "${S}"/shared-soa/hd0_data_french ]] && mv -fv "${S}"/shared-soa/hd0_data_french/* "${Ddir}"/Shared-French/data + + if use tob + then + [[ -d "${S}"/shared-tob/hd0_french ]] && mv -fv "${S}"/shared-tob/hd0_french/* "${Ddir}"/Shared-French + [[ -d "${S}"/shared-tob/_support_french_\(standard\)_os_independent_files ]] && mv -fv "${S}"/shared-tob/_support_french_\(standard\)_os_independent_files/* "${Ddir}"/Shared-French + [[ -d "${S}"/patches/tob-eu/french ]] && mv -fv "${S}"/patches/tob-eu/french/*.* "${Ddir}"/Shared-French + [[ -d "${S}"/shared-tob/minimum_25_sound_french ]] && mv -fv "${S}"/shared-tob/minimum_25_sound_french/* "${Ddir}"/Shared-French/sounds + [[ -d "${S}"/shared-tob/minimum_25_characters_french ]] && mv -fv "${S}"/shared-tob/minimum_25_characters_french/* "${Ddir}"/Shared-French/characters + [[ -d "${S}"/shared-tob/minimum_25_data_french ]] && mv -fv "${S}"/shared-tob/minimum_25_data_french/* "${Ddir}"/Shared-French/data + fi + fi + + if use linguas_it + then + mv -fv "${S}"/patches/soa-eu/main/override/* "${Ddir}"/Shared/override + mkdir -p "${Ddir}"/cd1/Italian/data + mv -fv "${S}"/cd1/Italian/[Dd]ata/* "${Ddir}"/cd1/Italian/data + mkdir -p "${Ddir}"/cd1/Italian/movies + mv -fv "${S}"/cd1/Italian/[Mm]ovies/* "${Ddir}"/cd1/Italian/movies + mkdir -p "${Ddir}/Shared-Italian" + [[ -d "${S}"/shared-soa/hd0_cab_italian ]] && mv -fv "${S}"/shared-soa/hd0_cab_italian/* "${Ddir}"/Shared-Italian + [[ -d "${S}"/shared-soa/_support_italian_os_independent_files ]] && mv -fv "${S}"/shared-soa/_support_italian_os_independent_files/* "${Ddir}"/Shared-Italian + [[ -d "${S}"/patches/soa-eu/italian ]] && mv -fv "${S}"/patches/soa-eu/italian/* "${Ddir}"/Shared-Italian + mkdir -p "${Ddir}/Shared-Italian/sounds" + [[ -d "${S}"/shared-soa/hd0_sound_italian ]] && mv -fv "${S}"/shared-soa/hd0_sound_italian/* "${Ddir}"/Shared-Italian/sounds + mkdir -p "${Ddir}/Shared-Italian/characters" + [[ -d "${S}"/shared-soa/hd0_characters_italian ]] && mv -fv "${S}"/shared-soa/hd0_characters_italian/* "${Ddir}"/Shared-Italian/characters + mkdir -p "${Ddir}/Shared-Italian/data" + [[ -d "${S}"/shared-soa/hd0_data_italian ]] && mv -fv "${S}"/shared-soa/hd0_data_italian/* "${Ddir}"/Shared-Italian/data + + if use tob + then + [[ -d "${S}"/shared-tob/hd0_italian ]] && mv -fv "${S}"/shared-tob/hd0_italian/* "${Ddir}"/Shared-Italian + [[ -d "${S}"/shared-tob/_support_italian_os_independent_files ]] && mv -fv "${S}"/shared-tob/_support_italian_os_independent_files/* "${Ddir}"/Shared-Italian + [[ -d "${S}"/patches/tob-eu/italian ]] && mv -fv "${S}"/patches/tob-eu/italian/*.* "${Ddir}"/Shared-Italian + [[ -d "${S}"/shared-tob/minimum_25_sound_italian ]] && mv -fv "${S}"/shared-tob/minimum_25_sound_italian/* "${Ddir}"/Shared-Italian/sounds + [[ -d "${S}"/shared-tob/minimum_25_characters_italian ]] && mv -fv "${S}"/shared-tob/minimum_25_characters_italian/* "${Ddir}"/Shared-Italian/characters + [[ -d "${S}"/shared-tob/minimum_25_data_italian ]] && mv -fv "${S}"/shared-tob/minimum_25_data_italian/* "${Ddir}"/Shared-Italian/data + fi + fi + + if use linguas_es + then + mv -fv "${S}"/patches/soa-eu/main/override/* "${Ddir}"/Shared/override + mkdir -p "${Ddir}"/cd1/Spanish/data + mv -fv "${S}"/cd1/Spanish/[Dd]ata/* "${Ddir}"/cd1/Spanish/data + mkdir -p "${Ddir}"/cd1/Spanish/movies + mv -fv "${S}"/cd1/Spanish/[Mm]ovies/* "${Ddir}"/cd1/Spanish/movies + mkdir -p "${Ddir}/Shared-Spanish" + [[ -d "${S}"/shared-soa/hd0_cab_spanish ]] && mv -fv "${S}"/shared-soa/hd0_cab_spanish/* "${Ddir}"/Shared-Spanish + [[ -d "${S}"/shared-soa/_support_spanish_os_independent_files ]] && mv -fv "${S}"/shared-soa/_support_spanish_os_independent_files/* "${Ddir}"/Shared-Spanish + [[ -d "${S}"/patches/soa-eu/spanish ]] && mv -fv "${S}"/patches/soa-eu/spanish/* "${Ddir}"/Shared-Spanish + mkdir -p "${Ddir}/Shared-Spanish/sounds" + [[ -d "${S}"/shared-soa/hd0_sound_spanish ]] && mv -fv "${S}"/shared-soa/hd0_sound_spanish/* "${Ddir}"/Shared-Spanish/sounds + mkdir -p "${Ddir}/Shared-Spanish/characters" + [[ -d "${S}"/shared-soa/hd0_characters_spanish ]] && mv -fv "${S}"/shared-soa/hd0_characters_spanish/* "${Ddir}"/Shared-Spanish/characters + [[ -d "${S}"/patches/soa-eu/spanish/characters ]] && mv -fv "${S}"/patches/soa-eu/spanish/characters/* "${Ddir}"/Shared-Spanish/characters + mkdir -p "${Ddir}/Shared-Spanish/data" + [[ -d "${S}"/shared-soa/hd0_data_spanish ]] && mv -fv "${S}"/shared-soa/hd0_data_spanish/* "${Ddir}"/Shared-Spanish/data + + if use tob + then + [[ -d "${S}"/shared-tob/hd0_spanish ]] && mv -fv "${S}"/shared-tob/hd0_spanish/* "${Ddir}"/Shared-Spanish + [[ -d "${S}"/shared-tob/_support_spanish_os_independent_files ]] && mv -fv "${S}"/shared-tob/_support_spanish_os_independent_files/* "${Ddir}"/Shared-Spanish + [[ -d "${S}"/patches/tob-eu/spanish ]] && mv -fv "${S}"/patches/tob-eu/spanish/*.* "${Ddir}"/Shared-Spanish + [[ -d "${S}"/shared-tob/minimum_25_sound_spanish ]] && mv -fv "${S}"/shared-tob/minimum_25_sound_spanish/* "${Ddir}"/Shared-Spanish/sounds + [[ -d "${S}"/shared-tob/minimum_25_characters_spanish ]] && mv -fv "${S}"/shared-tob/minimum_25_characters_spanish/* "${Ddir}"/Shared-Spanish/characters + [[ -d "${S}"/shared-tob/minimum_25_data_spanish ]] && mv -fv "${S}"/shared-tob/minimum_25_data_spanish/* "${Ddir}"/Shared-Spanish/data + fi + fi + + if use linguas_de + then + mv -fv "${S}"/patches/soa-eu/main/override/* "${Ddir}"/Shared/override + mkdir -p "${Ddir}"/cd1/German/data + mv -fv "${S}"/cd1/German/[Dd]ata/* "${Ddir}"/cd1/German/data + mkdir -p "${Ddir}"/cd1/German/movies + mv -fv "${S}"/cd1/German/[Mm]ovies/* "${Ddir}"/cd1/German/movies + mkdir -p "${Ddir}/Shared-German" + [[ -d "${S}"/shared-soa/hd0_cab_german ]] && mv -fv "${S}"/shared-soa/hd0_cab_german/* "${Ddir}"/Shared-German + [[ -d "${S}"/shared-soa/_support_german_os_independent_files ]] && mv -fv "${S}"/shared-soa/_support_german_os_independent_files/* "${Ddir}"/Shared-German + [[ -d "${S}"/patches/soa-eu/german ]] && mv -fv "${S}"/patches/soa-eu/german/* "${Ddir}"/Shared-German + mkdir -p "${Ddir}/Shared-German/sounds" + [[ -d "${S}"/shared-soa/hd0_sound_german ]] && mv -fv "${S}"/shared-soa/hd0_sound_german/* "${Ddir}"/Shared-German/sounds + mkdir -p "${Ddir}/Shared-German/characters" + [[ -d "${S}"/shared-soa/hd0_characters_german ]] && mv -fv "${S}"/shared-soa/hd0_characters_german/* "${Ddir}"/Shared-German/characters + mkdir -p "${Ddir}/Shared-German/data" + [[ -d "${S}"/shared-soa/hd0_data_german ]] && mv -fv "${S}"/shared-soa/hd0_data_german/* "${Ddir}"/Shared-German/data + + if use tob + then + [[ -d "${S}"/shared-tob/hd0_german ]] && mv -fv "${S}"/shared-tob/hd0_german/* "${Ddir}"/Shared-German + [[ -d "${S}"/shared-tob/_support_german_os_independent_files ]] && mv -fv "${S}"/shared-tob/_support_german_os_independent_files/* "${Ddir}"/Shared-German + [[ -d "${S}"/patches/tob-eu/german ]] && mv -fv "${S}"/patches/tob-eu/german/*.* "${Ddir}"/Shared-German + [[ -d "${S}"/shared-tob/minimum_25_sound_german ]] && mv -fv "${S}"/shared-tob/minimum_25_sound_german/* "${Ddir}"/Shared-German/sounds + [[ -d "${S}"/shared-tob/minimum_25_characters_german ]] && mv -fv "${S}"/shared-tob/minimum_25_characters_german/* "${Ddir}"/Shared-German/characters + [[ -d "${S}"/shared-tob/minimum_25_data_german ]] && mv -fv "${S}"/shared-tob/minimum_25_data_german/* "${Ddir}"/Shared-German/data + fi + fi + + for d in cd2 cd3 cd4 cd5 + do + if [[ -d ${d} ]] + then + mkdir -p "${Ddir}"/${d}/data + mv -fv "${S}"/${d}/[Dd]ata/AREA*.* "${Ddir}"/${d}/data + mv -fv "${S}"/${d}/[Dd]ata/*.* "${Ddir}"/Shared/data + mkdir -p "${Ddir}"/${d}/movies + mv -fv "${S}"/${d}/[Mm]ovies/*.* "${Ddir}"/${d}/movies + fi + done + + + if ! use videos + then + rm -rf "${S}"/movies/* + fi + cd "${Ddir}" + for d in cd1/English cd1/French cd1/Italian cd1/Spanish cd1/German cd2 cd3 cd4 cd5 Shared Shared-English Shared-French Shared-Italian Shared-Spanish Shared-German + do + if [[ -d ${d} ]] + then + ( cd ${d} + for f in $(find . -name '*.*') ; do + lcf=$(echo ${f} | tr [:upper:] [:lower:]) + if [[ ${f} != ${lcf} ]] && [[ -f ${f} ]] + then + mv ${f} ${lcf} + fi + done ) + fi + done + + find "${Ddir}" -iname "*.exe" -exec rm {} \; 2> /dev/null + find "${Ddir}" -iname "*.dll" -exec rm {} \; 2> /dev/null + find "${Ddir}" -iname "*.pdf" -exec rm {} \; 2> /dev/null + + + cat > ${launcher} <<-EOF + #!/bin/bash + # Copyright 1999-2009 Gentoo Foundation + # Distributed under the terms of the GNU General Public License v2 + # + # Automatically generated by ${CATEGORY}/${PF} + + # Exec the acroread script for the language chosen in + # LC_ALL/LC_MESSAGES/LANG (first found takes precedence, as in glibc) + L=\${LC_ALL} + L=\${L:-\${LC_MESSAGES}} + L=\${L:-\${LANG}} + [[ ! -d ~/.bioware/bg2/save ]] && mkdir -p ~/.bioware/bg2/save + if [[ -f ~/.bioware/bg2/GemRB.cfg ]] + then + exec gemrb -c ~/.bioware/bg2/GemRB.cfg + else + case \${L} in + EOF + + + mkdir -p "${Ddir}"/English + ${LNDIR} "${Ddir}"/cd1/English English + ${LNDIR} "${Ddir}"/Shared-English English + ${LNDIR} "${Ddir}"/Shared English + echo "en*) exec cp ${dir}/English/GemRB.cfg ~/.bioware/bg2/GemRB.cfg;;" >> ${launcher} + sed -e "s!@DESTDIR@!${dir}!g" \ + -e "s!@LANG@!English!g" \ + -e "s!@LIBDIR@!$(get_libdir)!g" < ${FILESDIR}/GemRB.cfg > ${Ddir}/English/GemRB.cfg + if use linguas_fr + then + mkdir -p "${Ddir}"/French + ${LNDIR} "${Ddir}"/cd1/French French + ${LNDIR} "${Ddir}"/Shared-French French + ${LNDIR} "${Ddir}"/Shared French + echo "fr*) exec cp ${dir}/French/GemRB.cfg ~/.bioware/bg2/GemRB.cfg;;" >> ${launcher} + sed -e "s!@DESTDIR@!${dir}!g" \ + -e "s!@LANG@!French!g" \ + -e "s!@LIBDIR@!$(get_libdir)!g" < ${FILESDIR}/GemRB.cfg > ${Ddir}/French/GemRB.cfg + fi + if use linguas_it + then + mkdir -p "${Ddir}"/Italian + ${LNDIR} "${Ddir}"/cd1/Italian Italian + ${LNDIR} "${Ddir}"/Shared-Italian Italian + ${LNDIR} "${Ddir}"/Shared Italian + echo "it*) exec cp ${dir}/Italian/GemRB.cfg ~/.bioware/bg2/GemRB.cfg;;" >> ${launcher} + sed -e "s!@DESTDIR@!${dir}!g" \ + -e "s!@LANG@!Italian!g" \ + -e "s!@LIBDIR@!$(get_libdir)!g" < ${FILESDIR}/GemRB.cfg > ${Ddir}/Italian/GemRB.cfg + fi + if use linguas_es + then + mkdir -p "${Ddir}"/Spanish + ${LNDIR} "${Ddir}"/cd1/Spanish Spanish + ${LNDIR} "${Ddir}"/Shared-Spanish Spanish + ${LNDIR} "${Ddir}"/Shared Spanish + echo "es*) exec cp ${dir}/Spanish/GemRB.cfg ~/.bioware/bg2/GemRB.cfg;;" >> ${launcher} + sed -e "s!@DESTDIR@!${dir}!g" \ + -e "s!@LANG@!Spanish!g" \ + -e "s!@LIBDIR@!$(get_libdir)!g" < ${FILESDIR}/GemRB.cfg > ${Ddir}/Spanish/GemRB.cfg + fi + if use linguas_de + then + mkdir -p "${Ddir}"/German + ${LNDIR} "${Ddir}"/cd1/German German + ${LNDIR} "${Ddir}"/Shared-German German + ${LNDIR} "${Ddir}"/Shared German + echo "de*) exec cp ${dir}/German/GemRB.cfg ~/.bioware/bg2/GemRB.cfg;;" >> ${launcher} + sed -e "s!@DESTDIR@!${dir}!g" \ + -e "s!@LANG@!German!g" \ + -e "s!@LIBDIR@!$(get_libdir)!g" < ${FILESDIR}/GemRB.cfg > ${Ddir}/German/GemRB.cfg + fi + + + cat >> ${launcher} <<-EOF + *) exec cp ${dir}/English/GemRB.cfg ~/.bioware/bg2/GemRB.cfg;; + esac + exec gemrb -c ~/.bioware/bg2/GemRB.cfg + fi + EOF + + newicon "${DISTDIR}"/Baldur-s-Gate-2-Shadows-of-Amn-2-128x128.png Baldur-s-Gate-2-Shadows-of-Amn.png + make_desktop_entry BaldursGate${SLOT} "Baldur's Gate II - Shadows of Amn ${PV}" Baldur-s-Gate-2-Shadows-of-Amn.png + + if use tob + then + newicon "${DISTDIR}"/Baldur-s-Gate-2-Throne-of-Bhaal-2-128x128.png Baldur-s-Gate-2-Throne-of-Bhaal.png + make_desktop_entry BaldursGate${SLOT} "Baldur's Gate II - Throne of Bhaal ${PV}" Baldur-s-Gate-2-Throne-of-Bhaal.png + fi + + dobin ${launcher} + + + prepgamesdirs + chmod g+rwX ${Ddir} || die "could not chmod" +# die +} + diff --git a/games-rpg/baldursgate/baldursgate-2.26498.ebuild b/games-rpg/baldursgate/baldursgate-2.5.26498.ebuild similarity index 100% rename from games-rpg/baldursgate/baldursgate-2.26498.ebuild rename to games-rpg/baldursgate/baldursgate-2.5.26498.ebuild diff --git a/games-rpg/baldursgate/baldursgate-2.5.26499.ebuild b/games-rpg/baldursgate/baldursgate-2.5.26499.ebuild new file mode 100644 index 00000000..73a34f58 --- /dev/null +++ b/games-rpg/baldursgate/baldursgate-2.5.26499.ebuild @@ -0,0 +1,655 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils games multilib + +LANGUAGES="linguas_fr linguas_it linguas_es linguas_de" + +MY_PV=${PV//.} +UPDATE_BASEURL="http://downloads.bioware.com/baldursgate2/" +SOA_ENGLISH="Baldur%27sGateII-ShadowsofAmnPatchENGLISH.exe" +SOA_EUROPE="Baldur%27sGateII-ShadowsofAmnPatchEUROPE.exe" +TOB_ENGLISH="BGII-ThroneofBhaal_Patch_26498_ENGLISH.exe" +TOB_EUROPE="BGII-ThroneofBhaal_Patch_26498_EUROPEAN.exe" +TOB_GENERAL="BGII-ThroneofBhaal_Patch_26499_BETA.exe" + +LINGUAS_SRC_URI="linguas_fr? ( + tob? ( ${UPDATE_BASEURL}/${TOB_EUROPE} ) + ${UPDATE_BASEURL}/${SOA_EUROPE} ) + linguas_it? ( + tob? ( ${UPDATE_BASEURL}/${TOB_EUROPE} ) + ${UPDATE_BASEURL}/${SOA_EUROPE} ) + linguas_es? ( + tob? ( ${UPDATE_BASEURL}/${TOB_EUROPE} ) + ${UPDATE_BASEURL}/${SOA_EUROPE} ) + linguas_es? ( + tob? ( ${UPDATE_BASEURL}/${TOB_EUROPE} ) + ${UPDATE_BASEURL}/${SOA_EUROPE} ) + linguas_de? ( + tob? ( ${UPDATE_BASEURL}/${TOB_EUROPE} ) + ${UPDATE_BASEURL}/${SOA_EUROPE} ) + tob? ( ${UPDATE_BASEURL}/${TOB_ENGLISH} ${UPDATE_BASEURL}/${TOB_GENERAL} ) + ${UPDATE_BASEURL}/${SOA_ENGLISH}" + +DESCRIPTION="Baldurs Gate SOA TOB" +HOMEPAGE="http://www.bioware.com/games/shadows_amn/ http://www.bioware.com/games/throne_bhaal/" +SRC_URI="http://www.tamacom.com/pathconvert/pathconvert.tar.gz + http://www.iconarchive.com/icons/3xhumed/mega-games-pack-25/Baldur-s-Gate-2-Shadows-of-Amn-2-128x128.png + tob? ( http://www.iconarchive.com/icons/3xhumed/mega-games-pack-25/Baldur-s-Gate-2-Throne-of-Bhaal-2-128x128.png ) + ${LINGUAS_SRC_URI}" + +LICENSE="BG2-EULA" +SLOT="2" +KEYWORDS="~amd64 x86" +IUSE="tob videos ${LANGUAGES}" +RESTRICT="strip mirror" + +RDEPEND=">=games-engines/gemrb-0.5.0" +DEPEND="${RDEPEND} + app-arch/unshield + app-arch/p7zip" + +GAMES_LICENSE_CHECK=yes +launcher=${S}/BaldursGate${SLOT} +dir=${GAMES_PREFIX_OPT}/BioWare/BaldursGate${SLOT} +Ddir=${D}/${dir} +LNDIR="${S}"/pathconvert/lndir/lndir + +BG2_SET= + +# This is my fun section where I try to determine which CD/DVD set we have. +# Expect this to be very messy and ugly, and hopefully it all works as we want +# it to on all of the various media. +get_bg2_set() { + # First we check to see if we have CD_ROOT defined already. If we do, + # this will make our lives so much easier. + if [[ -n "${CD_ROOT}" ]] + then + if [[ -f "${CD_ROOT}"/CD4/Data/CD4CreAn.bif ]] && [[ -f "${CD_ROOT}"/data1.hdr ]] + then + BG2_SET="dvd" + einfo "Baldurs Gate II: Shadows of Amn DVD found..." + elif [[ -f "${CD_ROOT}"/data1.hdr ]] + then + BG2_SET="original_cd" + einfo "Baldurs Gate II: Shadows of Amn CD set found..." + fi + # Now we check to see if we have CD_ROOT_1 set, which means we have a CD + # set, or even a DVD set. + elif [[ -n "${CD_ROOT_1}" ]] + then + if [[ -f "${CD_ROOT_1}"/CD4/Data/CD4CreAn.bif ]] && [[ -f "${CD_ROOT_1}"/data1.hdr ]] + then + BG2_SET="dvd" + einfo "Baldurs Gate II: Shadows of Amn DVD found..." + elif [[ -f "${CD_ROOT_1}"/data1.hdr ]] + then + BG2_SET="original_cd" + einfo "Baldurs Gate II: Shadows of Amn CD set found..." + fi + # OK. Neither were set, so now we're going to start our detection and try + # to figure out what we have to work from. + else + local mline= + for mline in $(mount | egrep -e '(iso|cdrom|udf)' | awk '{print $3}') + do + if [[ -f "${mline}"/CD4/Data/CD4CreAn.bif ]] && [[ -f "${mline}"/data1.hdr ]] + then + BG2_SET="dvd" + einfo "Baldurs Gate II: Shadows of Amn DVD found..." + elif [[ -f "${mline}"/data1.hdr ]] + then + BG2_SET="original_cd" + einfo "Baldurs Gate II: Shadows of Amn CD set found..." + fi + done + fi +} + +get_cd_set() { + while `[[ -z "${BG2_SET}" ]]` + do + echo "Please insert your first Baldurs Gate II: Shadows of Amn CD/DVD into your drive and" + echo "press any key to continue" + read -n 1 + get_bg2_set + done + # Here is where we start our CD/DVD detection for changing disks. + case "${BG2_SET}" in + dvd) + export CDROM_NAME_1="DVD1" + einfo "Both Shadows of Undrentide and Hordes of the Underdark will" + einfo "be installed from your DVD along with Neverwinter Nights." + if use tob + then + einfo "You will also need the SoU CD for this installation." + export CDROM_NAME_2="ToB" + cdrom_get_cds CD4/Data/CD4CreAn.bif CD5/movies/25Movies.bif + else + cdrom_get_cds CD4/Data/CD4CreAn.bif + fi + ;; + original_cd) + export CDROM_NAME_1="CD1" CDROM_NAME_2="CD2" CDROM_NAME_3="CD3" CDROM_NAME_4="CD4" + touch .metadata/orig || die "touch orig" + if use tob + then + einfo "You will also need the SoU CD for this installation." + export CDROM_NAME_5="ToB" + cdrom_get_cds data1.hdr CD2/Data/MovHD0.bif \ + CD3/Data/CD3CreAn.bif CD4/Data/CD4CreAn.bif CD5/movies/25Movies.bif + else + cdrom_get_cds data1.hdr CD2/Data/MovHD0.bif \ + CD3/Data/CD3CreAn.bif CD4/Data/CD4CreAn.bif + fi + ;; + esac +} + +src_unpack() { + mkdir -p "${S}" + cd "${S}" + # We create this .metadata directory so we can keep track of what we have + # installed without needing to keep all of these multiple USE flags in all + # of the ebuilds. + mkdir -p .metadata || die "Creating .metadata" + # Since we dont *always* want to do this, we check for USE=cdinstall + + # Here, we determine which CD/DVD set that we have. This will seem a + # bit odd, since well be doing the detection a few times. + get_bg2_set + # Now that we know what were looking for, lets look for the media. + get_cd_set + + mkdir -p "${S}"/patches + cd "${S}"/patches + einfo "Unpacking Patch ${SOA_ENGLISH} files..." + 7z x -osoa-en -y ${DISTDIR}/${SOA_ENGLISH} || die "unpacking" + unshield -L -d soa-en x "${S}"/patches/soa-en/data?.* || die "unshield" + if use tob + then + einfo "Unpacking Patch ${TOB_ENGLISH} files..." + 7z x -otob-en -y ${DISTDIR}/${TOB_ENGLISH} || die "unpacking" + unshield -L -d tob-en x "${S}"/patches/tob-en/data?.* || die "unshield" + 7z x -otob-gen -y ${DISTDIR}/${TOB_GENERAL} || die "unpacking" + unshield -L -d tob-gen x "${S}"/patches/tob-gen/Disk1/data?.* || die "unshield" + fi + + if use linguas_fr + then + einfo "Unpacking Patch ${SOA_EUROPE} files..." + 7z x -osoa-eu -y ${DISTDIR}/${SOA_EUROPE} || die "unpacking" + unshield -L -d soa-eu x "${S}"/patches/soa-eu/data?.* || die "unshield" + if use tob + then + einfo "Unpacking Patch ${TOB_EUROPE} files..." + 7z x -otob-eu -y ${DISTDIR}/${TOB_EUROPE} || die "unpacking" + unshield -L -d tob-eu x "${S}"/patches/tob-eu/data?.* || die "unshield" + fi + fi + + if use linguas_it + then + einfo "Unpacking Patch ${SOA_EUROPE} files..." + 7z x -osoa-eu -y ${DISTDIR}/${SOA_EUROPE} || die "unpacking" + unshield -L -d soa-eu x "${S}"/patches/soa-eu/data?.* || die "unshield" + if use tob + then + einfo "Unpacking Patch ${TOB_EUROPE} files..." + 7z x -otob-eu -y ${DISTDIR}/${TOB_EUROPE} || die "unpacking" + unshield -L -d tob-eu x "${S}"/patches/tob-eu/data?.* || die "unshield" + fi + fi + + if use linguas_es + then + einfo "Unpacking Patch ${SOA_EUROPE} files..." + 7z x -osoa-eu -y ${DISTDIR}/${SOA_EUROPE} || die "unpacking" + unshield -L -d soa-eu x "${S}"/patches/soa-eu/data?.* || die "unshield" + if use tob + then + einfo "Unpacking Patch ${TOB_EUROPE} files..." + 7z x -otob-eu -y ${DISTDIR}/${TOB_EUROPE} || die "unpacking" + unshield -L -d tob-eu x "${S}"/patches/tob-eu/data?.* || die "unshield" + fi + fi + + if use linguas_de + then + einfo "Unpacking Patch ${SOA_EUROPE} files..." + 7z x -osoa-eu -y ${DISTDIR}/${SOA_EUROPE} || die "unpacking" + unshield -L -d soa-eu x "${S}"/patches/soa-eu/data?.* || die "unshield" + if use tob + then + einfo "Unpacking Patch ${TOB_EUROPE} files..." + 7z x -otob-eu -y ${DISTDIR}/${TOB_EUROPE} || die "unpacking" + unshield -L -d tob-eu x "${S}"/patches/tob-eu/data?.* || die "unshield" + fi + fi + + + case ${BG2_SET} in + dvd) + mkdir -p "${S}"/shared-soa + cd "${S}" + + # We dont give the user the option to install SoU/HotU. While some + # people might complain about this, most newer NWN stuff requires + # them both anyway, so it makes no sense not to install them. + einfo "Unpacking files..." + unshield -L -d shared-soa x "${CDROM_ROOT}"/data?.* || die "unpacking" + # We have to adjust the files after unpacking the cab file. + mkdir -p "${S}"/cd1 + einfo "Copying CD1 files..." + [[ -d "${CDROM_ROOT}"/English ]] && cp -rv "${CDROM_ROOT}"/English cd1 + if use linguas_fr + then + [[ -d "${CDROM_ROOT}"/French ]] && cp -rv "${CDROM_ROOT}"/French cd1 + fi + if use linguas_it + then + [[ -d "${CDROM_ROOT}"/Italian ]] && cp -rv "${CDROM_ROOT}"/Italian cd1 + fi + if use linguas_es + then + [[ -d "${CDROM_ROOT}"/Spanish ]] && cp -rv "${CDROM_ROOT}"/Spanish cd1 + fi + if use linguas_de + then + [[ -d "${CDROM_ROOT}"/German ]] && cp -rv "${CDROM_ROOT}"/German cd1 + fi + einfo "Copying CD2 files..." + mkdir -p "${S}"/cd2 + cp -rv "${CDROM_ROOT}"/CD2/* cd2 + einfo "Copying CD3 files..." + mkdir -p "${S}"/cd3 + cp -rv "${CDROM_ROOT}"/CD3/* cd3 + einfo "Copying CD4 files..." + mkdir -p "${S}"/cd4 + cp -rv "${CDROM_ROOT}"/CD4/* cd4 + + if use tob + then + mkdir -p "${S}"/shared-tob + cdrom_load_next_cd + einfo "Unpacking files..." + unshield -L -d shared-tob x "${CDROM_ROOT}"/data?.* || die "unpacking" + einfo "Copying CD5 (ToB) files..." + mkdir -p "${S}"/cd5 + cp -rv "${CDROM_ROOT}"/CD5/* cd5 + fi + + ;; + original_cd) + mkdir -p "${S}"/shared-soa + cd "${S}" + + # We dont give the user the option to install SoU/HotU. While some + # people might complain about this, most newer NWN stuff requires + # them both anyway, so it makes no sense not to install them. + einfo "Unpacking files..." + unshield -L -d shared-soa x "${CDROM_ROOT}"/data?.* || die "unpacking" + # We have to adjust the files after unpacking the cab file. + mkdir -p "${S}"/cd1 + einfo "Copying CD1 files..." + [[ -d "${CDROM_ROOT}"/English ]] && cp -rv "${CDROM_ROOT}"/English cd1 + if use linguas_fr + then + [[ -d "${CDROM_ROOT}"/French ]] && cp -rv "${CDROM_ROOT}"/French cd1 + fi + if use linguas_it + then + [[ -d "${CDROM_ROOT}"/Italian ]] && cp -rv "${CDROM_ROOT}"/Italian cd1 + fi + if use linguas_es + then + [[ -d "${CDROM_ROOT}"/Spanish ]] && cp -rv "${CDROM_ROOT}"/Spanish cd1 + fi + if use linguas_de + then + [[ -d "${CDROM_ROOT}"/German ]] && cp -rv "${CDROM_ROOT}"/German cd1 + fi + cdrom_load_next_cd + einfo "Copying CD2 files..." + mkdir -p "${S}"/cd2 + cp -rv "${CDROM_ROOT}"/CD2/* cd2 + cdrom_load_next_cd + einfo "Copying CD3 files..." + mkdir -p "${S}"/cd3 + cp -rv "${CDROM_ROOT}"/CD3/* cd3 + cdrom_load_next_cd + einfo "Copying CD4 files..." + mkdir -p "${S}"/cd4 + cp -rv "${CDROM_ROOT}"/CD4/* cd4 + + if use tob + then + mkdir -p "${S}"/shared-tob + cdrom_load_next_cd + einfo "Unpacking files..." + unshield -L -d shared-tob x "${CDROM_ROOT}"/data?.* || die "unpacking" + einfo "Copying CD5 (ToB) files..." + mkdir -p "${S}"/cd5 + cp -rv "${CDROM_ROOT}"/CD5/* cd5 + fi + + ;; + esac + + # We unpack this for all media sets. + unpack pathconvert.tar.gz +} + +src_compile() { + cd "${S}"/pathconvert + make -C lib + cp lib/libpathconvert.a . + cd "${S}"/pathconvert/lndir + xmkmf + make lndir + + +} + +src_install() { + mkdir -p "${Ddir}/Shared" + mv -fv "${S}"/shared-soa/hd0_cab/* "${Ddir}/Shared" + mkdir -p "${Ddir}"/Shared/cache + mv -fv "${S}"/shared-soa/hd0_cache/* "${Ddir}"/Shared/cache + mkdir -p "${Ddir}"/Shared/data + mv -fv "${S}"/shared-soa/hd0_data/* "${Ddir}"/Shared/data + mkdir -p "${Ddir}"/Shared/music + mv -fv "${S}"/shared-soa/hd0_music/* "${Ddir}"/Shared/music + mkdir -p "${Ddir}"/Shared/override + mv -fv "${S}"/shared-soa/hd0_override/* "${Ddir}"/Shared/override + + mv -fv "${S}"/patches/soa-en/main/override/* "${Ddir}"/Shared/override + mkdir -p "${Ddir}"/cd1/English/data + mv -fv "${S}"/cd1/English/[Dd]ata/* "${Ddir}"/cd1/English/data + mkdir -p "${Ddir}"/cd1/English/movies + mv -fv "${S}"/cd1/English/[Mm]ovies/* "${Ddir}"/cd1/English/movies + mkdir -p "${Ddir}/Shared-English" + [[ -d "${S}"/shared-soa/hd0_cab_english ]] && mv -fv "${S}"/shared-soa/hd0_cab_english/* "${Ddir}"/Shared-English + [[ -d "${S}"/shared-soa/_support_english_os_independent_files ]] && mv -fv "${S}"/shared-soa/_support_english_os_independent_files/* "${Ddir}"/Shared-English + [[ -d "${S}"/patches/soa-en/english_files ]] && mv -fv "${S}"/patches/soa-en/english_files/* "${Ddir}"/Shared-English + mkdir -p "${Ddir}/Shared-English/sounds" + [[ -d "${S}"/shared-soa/hd0_sound_english ]] && mv -fv "${S}"/shared-soa/hd0_sound_english/* "${Ddir}"/Shared-English/sounds + mkdir -p "${Ddir}/Shared-English/characters" + [[ -d "${S}"/shared-soa/hd0_characters_english ]] && mv -fv "${S}"/shared-soa/hd0_characters_english/* "${Ddir}"/Shared-English/characters + mkdir -p "${Ddir}/Shared-English/data" + [[ -d "${S}"/shared-soa/hd0_data_english ]] && mv -fv "${S}"/shared-soa/hd0_data_english/* "${Ddir}"/Shared-English/data + + if use tob + then + mv -fv "${S}"/shared-tob/hd0/* "${Ddir}/Shared" + mv -fv "${S}"/shared-tob/minimum_25_data/* "${Ddir}"/Shared/data + mv -fv "${S}"/shared-tob/hd025music/* "${Ddir}"/Shared/music + mv -fv "${S}"/shared-tob/hd0_override/* "${Ddir}"/Shared/override + mv -fv "${S}"/patches/tob-en/main/override/* "${Ddir}"/Shared/override + [[ -d "${S}"/patches/tob-eu/language_independent/override ]] && mv -fv "${S}"/patches/tob-eu/language_independent/override/* "${Ddir}"/Shared/override + [[ -d "${S}"/shared-tob/_support_language_independent_os_independent_files ]] && mv -fv "${S}"/shared-tob/_support_language_independent_os_independent_files/* "${Ddir}"/Shared + + [[ -d "${S}"/shared-tob/hd0_english ]] && mv -fv "${S}"/shared-tob/hd0_english/* "${Ddir}"/Shared-English + [[ -d "${S}"/shared-tob/_support_english_os_independent_files ]] && mv -fv "${S}"/shared-tob/_support_english_os_independent_files/* "${Ddir}"/Shared-English + [[ -d "${S}"/patches/tob-en/main ]] && mv -fv "${S}"/patches/tob-en/main/*.* "${Ddir}"/Shared-English + [[ -d "${S}"/shared-tob/minimum_25_sound_english ]] && mv -fv "${S}"/shared-tob/minimum_25_sound_english/* "${Ddir}"/Shared-English/sounds + [[ -d "${S}"/shared-tob/minimum_25_characters_english ]] && mv -fv "${S}"/shared-tob/minimum_25_characters_english/* "${Ddir}"/Shared-English/characters + [[ -d "${S}"/shared-tob/minimum_25_data_english ]] && mv -fv "${S}"/shared-tob/minimum_25_data_english/* "${Ddir}"/Shared-English/data + fi + + + if use linguas_fr + then + mv -fv "${S}"/patches/soa-eu/main/override/* "${Ddir}"/Shared/override + mkdir -p "${Ddir}"/cd1/French/data + mv -fv "${S}"/cd1/French/[Dd]ata/* "${Ddir}"/cd1/French/data + mkdir -p "${Ddir}"/cd1/French/movies + mv -fv "${S}"/cd1/French/[Mm]ovies/* "${Ddir}"/cd1/French/movies + mkdir -p "${Ddir}/Shared-French" + [[ -d "${S}"/shared-soa/hd0_cab_french ]] && mv -fv "${S}"/shared-soa/hd0_cab_french/* "${Ddir}"/Shared-French + [[ -d "${S}"/shared-soa/_support_french_\(standard\)_os_independent_files ]] && mv -fv "${S}"/shared-soa/_support_french_\(standard\)_os_independent_files/* "${Ddir}"/Shared-French + [[ -d "${S}"/patches/soa-eu/french ]] && mv -fv "${S}"/patches/soa-eu/french/* "${Ddir}"/Shared-French + mkdir -p "${Ddir}/Shared-French/sounds" + [[ -d "${S}"/shared-soa/hd0_sound_french ]] && mv -fv "${S}"/shared-soa/hd0_sound_french/* "${Ddir}"/Shared-French/sounds + mkdir -p "${Ddir}/Shared-French/characters" + [[ -d "${S}"/shared-soa/hd0_characters_french ]] && mv -fv "${S}"/shared-soa/hd0_characters_french/* "${Ddir}"/Shared-French/characters + mkdir -p "${Ddir}/Shared-French/data" + [[ -d "${S}"/shared-soa/hd0_data_french ]] && mv -fv "${S}"/shared-soa/hd0_data_french/* "${Ddir}"/Shared-French/data + + if use tob + then + [[ -d "${S}"/shared-tob/hd0_french ]] && mv -fv "${S}"/shared-tob/hd0_french/* "${Ddir}"/Shared-French + [[ -d "${S}"/shared-tob/_support_french_\(standard\)_os_independent_files ]] && mv -fv "${S}"/shared-tob/_support_french_\(standard\)_os_independent_files/* "${Ddir}"/Shared-French + [[ -d "${S}"/patches/tob-eu/french ]] && mv -fv "${S}"/patches/tob-eu/french/*.* "${Ddir}"/Shared-French + [[ -d "${S}"/shared-tob/minimum_25_sound_french ]] && mv -fv "${S}"/shared-tob/minimum_25_sound_french/* "${Ddir}"/Shared-French/sounds + [[ -d "${S}"/shared-tob/minimum_25_characters_french ]] && mv -fv "${S}"/shared-tob/minimum_25_characters_french/* "${Ddir}"/Shared-French/characters + [[ -d "${S}"/shared-tob/minimum_25_data_french ]] && mv -fv "${S}"/shared-tob/minimum_25_data_french/* "${Ddir}"/Shared-French/data + fi + fi + + if use linguas_it + then + mv -fv "${S}"/patches/soa-eu/main/override/* "${Ddir}"/Shared/override + mkdir -p "${Ddir}"/cd1/Italian/data + mv -fv "${S}"/cd1/Italian/[Dd]ata/* "${Ddir}"/cd1/Italian/data + mkdir -p "${Ddir}"/cd1/Italian/movies + mv -fv "${S}"/cd1/Italian/[Mm]ovies/* "${Ddir}"/cd1/Italian/movies + mkdir -p "${Ddir}/Shared-Italian" + [[ -d "${S}"/shared-soa/hd0_cab_italian ]] && mv -fv "${S}"/shared-soa/hd0_cab_italian/* "${Ddir}"/Shared-Italian + [[ -d "${S}"/shared-soa/_support_italian_os_independent_files ]] && mv -fv "${S}"/shared-soa/_support_italian_os_independent_files/* "${Ddir}"/Shared-Italian + [[ -d "${S}"/patches/soa-eu/italian ]] && mv -fv "${S}"/patches/soa-eu/italian/* "${Ddir}"/Shared-Italian + mkdir -p "${Ddir}/Shared-Italian/sounds" + [[ -d "${S}"/shared-soa/hd0_sound_italian ]] && mv -fv "${S}"/shared-soa/hd0_sound_italian/* "${Ddir}"/Shared-Italian/sounds + mkdir -p "${Ddir}/Shared-Italian/characters" + [[ -d "${S}"/shared-soa/hd0_characters_italian ]] && mv -fv "${S}"/shared-soa/hd0_characters_italian/* "${Ddir}"/Shared-Italian/characters + mkdir -p "${Ddir}/Shared-Italian/data" + [[ -d "${S}"/shared-soa/hd0_data_italian ]] && mv -fv "${S}"/shared-soa/hd0_data_italian/* "${Ddir}"/Shared-Italian/data + + if use tob + then + [[ -d "${S}"/shared-tob/hd0_italian ]] && mv -fv "${S}"/shared-tob/hd0_italian/* "${Ddir}"/Shared-Italian + [[ -d "${S}"/shared-tob/_support_italian_os_independent_files ]] && mv -fv "${S}"/shared-tob/_support_italian_os_independent_files/* "${Ddir}"/Shared-Italian + [[ -d "${S}"/patches/tob-eu/italian ]] && mv -fv "${S}"/patches/tob-eu/italian/*.* "${Ddir}"/Shared-Italian + [[ -d "${S}"/shared-tob/minimum_25_sound_italian ]] && mv -fv "${S}"/shared-tob/minimum_25_sound_italian/* "${Ddir}"/Shared-Italian/sounds + [[ -d "${S}"/shared-tob/minimum_25_characters_italian ]] && mv -fv "${S}"/shared-tob/minimum_25_characters_italian/* "${Ddir}"/Shared-Italian/characters + [[ -d "${S}"/shared-tob/minimum_25_data_italian ]] && mv -fv "${S}"/shared-tob/minimum_25_data_italian/* "${Ddir}"/Shared-Italian/data + fi + fi + + if use linguas_es + then + mv -fv "${S}"/patches/soa-eu/main/override/* "${Ddir}"/Shared/override + mkdir -p "${Ddir}"/cd1/Spanish/data + mv -fv "${S}"/cd1/Spanish/[Dd]ata/* "${Ddir}"/cd1/Spanish/data + mkdir -p "${Ddir}"/cd1/Spanish/movies + mv -fv "${S}"/cd1/Spanish/[Mm]ovies/* "${Ddir}"/cd1/Spanish/movies + mkdir -p "${Ddir}/Shared-Spanish" + [[ -d "${S}"/shared-soa/hd0_cab_spanish ]] && mv -fv "${S}"/shared-soa/hd0_cab_spanish/* "${Ddir}"/Shared-Spanish + [[ -d "${S}"/shared-soa/_support_spanish_os_independent_files ]] && mv -fv "${S}"/shared-soa/_support_spanish_os_independent_files/* "${Ddir}"/Shared-Spanish + [[ -d "${S}"/patches/soa-eu/spanish ]] && mv -fv "${S}"/patches/soa-eu/spanish/* "${Ddir}"/Shared-Spanish + mkdir -p "${Ddir}/Shared-Spanish/sounds" + [[ -d "${S}"/shared-soa/hd0_sound_spanish ]] && mv -fv "${S}"/shared-soa/hd0_sound_spanish/* "${Ddir}"/Shared-Spanish/sounds + mkdir -p "${Ddir}/Shared-Spanish/characters" + [[ -d "${S}"/shared-soa/hd0_characters_spanish ]] && mv -fv "${S}"/shared-soa/hd0_characters_spanish/* "${Ddir}"/Shared-Spanish/characters + [[ -d "${S}"/patches/soa-eu/spanish/characters ]] && mv -fv "${S}"/patches/soa-eu/spanish/characters/* "${Ddir}"/Shared-Spanish/characters + mkdir -p "${Ddir}/Shared-Spanish/data" + [[ -d "${S}"/shared-soa/hd0_data_spanish ]] && mv -fv "${S}"/shared-soa/hd0_data_spanish/* "${Ddir}"/Shared-Spanish/data + + if use tob + then + [[ -d "${S}"/shared-tob/hd0_spanish ]] && mv -fv "${S}"/shared-tob/hd0_spanish/* "${Ddir}"/Shared-Spanish + [[ -d "${S}"/shared-tob/_support_spanish_os_independent_files ]] && mv -fv "${S}"/shared-tob/_support_spanish_os_independent_files/* "${Ddir}"/Shared-Spanish + [[ -d "${S}"/patches/tob-eu/spanish ]] && mv -fv "${S}"/patches/tob-eu/spanish/*.* "${Ddir}"/Shared-Spanish + [[ -d "${S}"/shared-tob/minimum_25_sound_spanish ]] && mv -fv "${S}"/shared-tob/minimum_25_sound_spanish/* "${Ddir}"/Shared-Spanish/sounds + [[ -d "${S}"/shared-tob/minimum_25_characters_spanish ]] && mv -fv "${S}"/shared-tob/minimum_25_characters_spanish/* "${Ddir}"/Shared-Spanish/characters + [[ -d "${S}"/shared-tob/minimum_25_data_spanish ]] && mv -fv "${S}"/shared-tob/minimum_25_data_spanish/* "${Ddir}"/Shared-Spanish/data + fi + fi + + if use linguas_de + then + mv -fv "${S}"/patches/soa-eu/main/override/* "${Ddir}"/Shared/override + mkdir -p "${Ddir}"/cd1/German/data + mv -fv "${S}"/cd1/German/[Dd]ata/* "${Ddir}"/cd1/German/data + mkdir -p "${Ddir}"/cd1/German/movies + mv -fv "${S}"/cd1/German/[Mm]ovies/* "${Ddir}"/cd1/German/movies + mkdir -p "${Ddir}/Shared-German" + [[ -d "${S}"/shared-soa/hd0_cab_german ]] && mv -fv "${S}"/shared-soa/hd0_cab_german/* "${Ddir}"/Shared-German + [[ -d "${S}"/shared-soa/_support_german_os_independent_files ]] && mv -fv "${S}"/shared-soa/_support_german_os_independent_files/* "${Ddir}"/Shared-German + [[ -d "${S}"/patches/soa-eu/german ]] && mv -fv "${S}"/patches/soa-eu/german/* "${Ddir}"/Shared-German + mkdir -p "${Ddir}/Shared-German/sounds" + [[ -d "${S}"/shared-soa/hd0_sound_german ]] && mv -fv "${S}"/shared-soa/hd0_sound_german/* "${Ddir}"/Shared-German/sounds + mkdir -p "${Ddir}/Shared-German/characters" + [[ -d "${S}"/shared-soa/hd0_characters_german ]] && mv -fv "${S}"/shared-soa/hd0_characters_german/* "${Ddir}"/Shared-German/characters + mkdir -p "${Ddir}/Shared-German/data" + [[ -d "${S}"/shared-soa/hd0_data_german ]] && mv -fv "${S}"/shared-soa/hd0_data_german/* "${Ddir}"/Shared-German/data + + if use tob + then + [[ -d "${S}"/shared-tob/hd0_german ]] && mv -fv "${S}"/shared-tob/hd0_german/* "${Ddir}"/Shared-German + [[ -d "${S}"/shared-tob/_support_german_os_independent_files ]] && mv -fv "${S}"/shared-tob/_support_german_os_independent_files/* "${Ddir}"/Shared-German + [[ -d "${S}"/patches/tob-eu/german ]] && mv -fv "${S}"/patches/tob-eu/german/*.* "${Ddir}"/Shared-German + [[ -d "${S}"/shared-tob/minimum_25_sound_german ]] && mv -fv "${S}"/shared-tob/minimum_25_sound_german/* "${Ddir}"/Shared-German/sounds + [[ -d "${S}"/shared-tob/minimum_25_characters_german ]] && mv -fv "${S}"/shared-tob/minimum_25_characters_german/* "${Ddir}"/Shared-German/characters + [[ -d "${S}"/shared-tob/minimum_25_data_german ]] && mv -fv "${S}"/shared-tob/minimum_25_data_german/* "${Ddir}"/Shared-German/data + fi + fi + + for d in cd2 cd3 cd4 cd5 + do + if [[ -d ${d} ]] + then + mkdir -p "${Ddir}"/${d}/data + mv -fv "${S}"/${d}/[Dd]ata/AREA*.* "${Ddir}"/${d}/data + mv -fv "${S}"/${d}/[Dd]ata/*.* "${Ddir}"/Shared/data + mkdir -p "${Ddir}"/${d}/movies + mv -fv "${S}"/${d}/[Mm]ovies/*.* "${Ddir}"/${d}/movies + fi + done + + + if ! use videos + then + rm -rf "${S}"/movies/* + fi + cd "${Ddir}" + for d in cd1/English cd1/French cd1/Italian cd1/Spanish cd1/German cd2 cd3 cd4 cd5 Shared Shared-English Shared-French Shared-Italian Shared-Spanish Shared-German + do + if [[ -d ${d} ]] + then + ( cd ${d} + for f in $(find . -name '*.*') ; do + lcf=$(echo ${f} | tr [:upper:] [:lower:]) + if [[ ${f} != ${lcf} ]] && [[ -f ${f} ]] + then + mv ${f} ${lcf} + fi + done ) + fi + done + + find "${Ddir}" -iname "*.exe" -exec rm {} \; 2> /dev/null + find "${Ddir}" -iname "*.dll" -exec rm {} \; 2> /dev/null + find "${Ddir}" -iname "*.pdf" -exec rm {} \; 2> /dev/null + + + cat > ${launcher} <<-EOF + #!/bin/bash + # Copyright 1999-2009 Gentoo Foundation + # Distributed under the terms of the GNU General Public License v2 + # + # Automatically generated by ${CATEGORY}/${PF} + + # Exec the acroread script for the language chosen in + # LC_ALL/LC_MESSAGES/LANG (first found takes precedence, as in glibc) + L=\${LC_ALL} + L=\${L:-\${LC_MESSAGES}} + L=\${L:-\${LANG}} + [[ ! -d ~/.bioware/bg2/save ]] && mkdir -p ~/.bioware/bg2/save + if [[ -f ~/.bioware/bg2/GemRB.cfg ]] + then + exec gemrb -c ~/.bioware/bg2/GemRB.cfg + else + case \${L} in + EOF + + + mkdir -p "${Ddir}"/English + ${LNDIR} "${Ddir}"/cd1/English English + ${LNDIR} "${Ddir}"/Shared-English English + ${LNDIR} "${Ddir}"/Shared English + echo "en*) exec cp ${dir}/English/GemRB.cfg ~/.bioware/bg2/GemRB.cfg;;" >> ${launcher} + sed -e "s!@DESTDIR@!${dir}!g" \ + -e "s!@LANG@!English!g" \ + -e "s!@LIBDIR@!$(get_libdir)!g" < ${FILESDIR}/GemRB.cfg > ${Ddir}/English/GemRB.cfg + if use linguas_fr + then + mkdir -p "${Ddir}"/French + ${LNDIR} "${Ddir}"/cd1/French French + ${LNDIR} "${Ddir}"/Shared-French French + ${LNDIR} "${Ddir}"/Shared French + echo "fr*) exec cp ${dir}/French/GemRB.cfg ~/.bioware/bg2/GemRB.cfg;;" >> ${launcher} + sed -e "s!@DESTDIR@!${dir}!g" \ + -e "s!@LANG@!French!g" \ + -e "s!@LIBDIR@!$(get_libdir)!g" < ${FILESDIR}/GemRB.cfg > ${Ddir}/French/GemRB.cfg + fi + if use linguas_it + then + mkdir -p "${Ddir}"/Italian + ${LNDIR} "${Ddir}"/cd1/Italian Italian + ${LNDIR} "${Ddir}"/Shared-Italian Italian + ${LNDIR} "${Ddir}"/Shared Italian + echo "it*) exec cp ${dir}/Italian/GemRB.cfg ~/.bioware/bg2/GemRB.cfg;;" >> ${launcher} + sed -e "s!@DESTDIR@!${dir}!g" \ + -e "s!@LANG@!Italian!g" \ + -e "s!@LIBDIR@!$(get_libdir)!g" < ${FILESDIR}/GemRB.cfg > ${Ddir}/Italian/GemRB.cfg + fi + if use linguas_es + then + mkdir -p "${Ddir}"/Spanish + ${LNDIR} "${Ddir}"/cd1/Spanish Spanish + ${LNDIR} "${Ddir}"/Shared-Spanish Spanish + ${LNDIR} "${Ddir}"/Shared Spanish + echo "es*) exec cp ${dir}/Spanish/GemRB.cfg ~/.bioware/bg2/GemRB.cfg;;" >> ${launcher} + sed -e "s!@DESTDIR@!${dir}!g" \ + -e "s!@LANG@!Spanish!g" \ + -e "s!@LIBDIR@!$(get_libdir)!g" < ${FILESDIR}/GemRB.cfg > ${Ddir}/Spanish/GemRB.cfg + fi + if use linguas_de + then + mkdir -p "${Ddir}"/German + ${LNDIR} "${Ddir}"/cd1/German German + ${LNDIR} "${Ddir}"/Shared-German German + ${LNDIR} "${Ddir}"/Shared German + echo "de*) exec cp ${dir}/German/GemRB.cfg ~/.bioware/bg2/GemRB.cfg;;" >> ${launcher} + sed -e "s!@DESTDIR@!${dir}!g" \ + -e "s!@LANG@!German!g" \ + -e "s!@LIBDIR@!$(get_libdir)!g" < ${FILESDIR}/GemRB.cfg > ${Ddir}/German/GemRB.cfg + fi + + + cat >> ${launcher} <<-EOF + *) exec cp ${dir}/English/GemRB.cfg ~/.bioware/bg2/GemRB.cfg;; + esac + exec gemrb -c ~/.bioware/bg2/GemRB.cfg + fi + EOF + + newicon "${DISTDIR}"/Baldur-s-Gate-2-Shadows-of-Amn-2-128x128.png Baldur-s-Gate-2-Shadows-of-Amn.png + make_desktop_entry BaldursGate${SLOT} "Baldur's Gate II - Shadows of Amn ${PV}" Baldur-s-Gate-2-Shadows-of-Amn.png + + if use tob + then + newicon "${DISTDIR}"/Baldur-s-Gate-2-Throne-of-Bhaal-2-128x128.png Baldur-s-Gate-2-Throne-of-Bhaal.png + make_desktop_entry BaldursGate${SLOT} "Baldur's Gate II - Throne of Bhaal ${PV}" Baldur-s-Gate-2-Throne-of-Bhaal.png + fi + + dobin ${launcher} + + + prepgamesdirs + chmod g+rwX ${Ddir} || die "could not chmod" + die +} + diff --git a/games-rpg/baldursgate/files/GemRB1.cfg b/games-rpg/baldursgate/files/GemRB1.cfg new file mode 100644 index 00000000..cc4fb6bd --- /dev/null +++ b/games-rpg/baldursgate/files/GemRB1.cfg @@ -0,0 +1,228 @@ +##################################################### +# # +# This is the GemRB Configuration file. # +# Here are defined some default parameters for # +# basic configuration and paths definition. # +# # +# Parameters are defined as a Name=Value pair # +# The Value can be of three types: # +# - String # +# - Integer # +# - Boolean # +# # +# The String value is represented as follows # +# i.e. H:\GemRB\plugins # +# Integers are defined as follows # +# i.e. 12723 # +# Booleans are represented as 1 or 0 in this file # +# # +# Lines starting with # are ignored # +# # +##################################################### + +##################################################### +# # +# Game Type [String] Use one of the following # +# values: # +# # +# bg1 Baldur's Gate # +# bg2 Baldur's Gate 2 : SoA # +# tob Baldur's Gate 2 : ToB # +# iwd IceWind Dale # +# how IceWind Dale : HoW or ToTL # +# iwd2 IceWind Dale 2 # +# pst Planescape Torment # +# (More will come) # +# # +##################################################### + +GameType=bg1 + +##################################################### +# Game Name [String] Title for GemRB window, use # +# anything you wish, e.g. Baldur's Gate 3: RotFL # +##################################################### + +GameName=Baldur's Gate 2 + +##################################################### +# Video Parameters # +##################################################### + +#Screen width +Width=1024 + +#Screen height +Height=768 + +#Bits per pixel [Integer:16,24,32] +Bpp=32 + +#Fullscreen [Boolean] +Fullscreen=1 + +# Delay before tooltips appear [milliseconds] +TooltipDelay=500 + +##################################################### +# Audio Parameters # +##################################################### +# # +# All volume options are in percents, with 100 # +# being the normal and default volume # +# # +##################################################### + +# Volume of ambient sounds +VolumeAmbients = 100 + +# Volume during movie playback +VolumeMovie = 100 + +# Volume of background music +VolumeMusic = 100 + +# Volume of sound effects +VolumeSFX = 100 + +# Volume of PC or NPC voices +VolumeVoices = 100 + +##################################################### +# Case Sensitive Filesystem [Boolean] # +# # +# If your installed game files are residing on a # +# case sensitive filesystem (ext2 on Linux) then # +# you need to set this value to 1, it has no # +# effect on Windows # +##################################################### + +CaseSensitive=1 + +#GameOnCD=0 + +##################################################### +# Debug # +##################################################### + +# Do not play intro videos [Boolean], useful for development +SkipIntroVideos=0 + +# Draw Frames per Second info [Boolean] +DrawFPS=0 + +# Hide unexplored parts of a map +FogOfWar=1 + +# Enable debug and cheat keystrokes, see docs/en/CheatKeys.txt +# full listing +EnableCheatKeys=0 + +##################################################### +# Paths # +##################################################### +# # +# Note: You have to terminate all paths with the # +# path separator character ('\' for Windows users, # +# '/' for Linux users) # +# # +##################################################### + +##################################################### +# Game Paths [String] # +# # +# These are the paths where the Game you want to # +# play is installed. # +# Enter the full path to the directory. # +##################################################### + +GamePath=@DESTDIR@/@LANG@/ +CD1=@DESTDIR@/cd1/@LANG@/ +CD2=@DESTDIR@/cd2/ +CD3=@DESTDIR@/cd3/ +CD4=@DESTDIR@/cd4/ +CD5=@DESTDIR@/cd5/ + +##################################################### +# GemRB Path [String] # +# # +# This is the path where GemRB is stored, just # +# enter the full path to the GemRB executable # +##################################################### + +GemRBPath=/usr/share/games/gemrb/ + +##################################################### +# GemRB Cache Path [String] # +# # +# This is the path where GemRB will store the # +# cached files, enter the full path to the GemRB # +# Cache directory. # +##################################################### + +CachePath=/var/cache/gemrb/ + +##################################################### +# GemRB GUI Scripts Path [String] # +# # +# This is the path where GemRB GUI scripts are # +# stored, usually these are in the GemRB directory # +# Enter the full path to the directory containing # +# the 'GUIScript' subdirectory. # +##################################################### + +GUIScriptsPath=/usr/share/games/gemrb/ + +##################################################### +# GemRB Plugins Path [String] # +# # +# This is the path containing GemRB plugins # +# - shared libraries (.so) on Unixes, or # +# DLLs (.dll) on windows. # +# Enter the full path to the directory. # +# # +# You may need to specify this path if running # +# GemRB from source directory on Linux. # +##################################################### + +PluginsPath=/usr/games/@LIBDIR@/gemrb/plugins/ + +##################################################### +# GemRB Save Path [String] # +# # +# This is the path where GemRB looks for saved # +# games. # +# Enter the full path to the directory containing # +# e.g. the 'save' subdirectory. # +# # +# You do not have to specify this if you use save # +# subdir in the GamePath directory. # +##################################################### + +SavePath=~/.bioware/bg2/ + +##################################################### +# Game Data Path [String] # +# # +# This is the subdirectory under GamePath where # +# game data files are stored. # +# # +# You probably do NOT want to specify this! # +##################################################### + +GameDataPath=data + +##################################################### +# Game Data Override Path [String] # +# # +# This is the subdirectory under GamePath where # +# game data override files are stored. # +# # +# You probably do NOT want to specify this! # +##################################################### + +GameOverridePath=override + +##################################################### +# END # +##################################################### diff --git a/games-rpg/baldursgate/files/GemRB2.cfg b/games-rpg/baldursgate/files/GemRB2.cfg new file mode 100644 index 00000000..4fa70794 --- /dev/null +++ b/games-rpg/baldursgate/files/GemRB2.cfg @@ -0,0 +1,228 @@ +##################################################### +# # +# This is the GemRB Configuration file. # +# Here are defined some default parameters for # +# basic configuration and paths definition. # +# # +# Parameters are defined as a Name=Value pair # +# The Value can be of three types: # +# - String # +# - Integer # +# - Boolean # +# # +# The String value is represented as follows # +# i.e. H:\GemRB\plugins # +# Integers are defined as follows # +# i.e. 12723 # +# Booleans are represented as 1 or 0 in this file # +# # +# Lines starting with # are ignored # +# # +##################################################### + +##################################################### +# # +# Game Type [String] Use one of the following # +# values: # +# # +# bg1 Baldur's Gate # +# bg2 Baldur's Gate 2 : SoA # +# tob Baldur's Gate 2 : ToB # +# iwd IceWind Dale # +# how IceWind Dale : HoW or ToTL # +# iwd2 IceWind Dale 2 # +# pst Planescape Torment # +# (More will come) # +# # +##################################################### + +GameType=bg2 + +##################################################### +# Game Name [String] Title for GemRB window, use # +# anything you wish, e.g. Baldur's Gate 3: RotFL # +##################################################### + +GameName=Baldur's Gate 2 + +##################################################### +# Video Parameters # +##################################################### + +#Screen width +Width=1024 + +#Screen height +Height=768 + +#Bits per pixel [Integer:16,24,32] +Bpp=32 + +#Fullscreen [Boolean] +Fullscreen=1 + +# Delay before tooltips appear [milliseconds] +TooltipDelay=500 + +##################################################### +# Audio Parameters # +##################################################### +# # +# All volume options are in percents, with 100 # +# being the normal and default volume # +# # +##################################################### + +# Volume of ambient sounds +VolumeAmbients = 100 + +# Volume during movie playback +VolumeMovie = 100 + +# Volume of background music +VolumeMusic = 100 + +# Volume of sound effects +VolumeSFX = 100 + +# Volume of PC or NPC voices +VolumeVoices = 100 + +##################################################### +# Case Sensitive Filesystem [Boolean] # +# # +# If your installed game files are residing on a # +# case sensitive filesystem (ext2 on Linux) then # +# you need to set this value to 1, it has no # +# effect on Windows # +##################################################### + +CaseSensitive=1 + +#GameOnCD=0 + +##################################################### +# Debug # +##################################################### + +# Do not play intro videos [Boolean], useful for development +SkipIntroVideos=0 + +# Draw Frames per Second info [Boolean] +DrawFPS=0 + +# Hide unexplored parts of a map +FogOfWar=1 + +# Enable debug and cheat keystrokes, see docs/en/CheatKeys.txt +# full listing +EnableCheatKeys=0 + +##################################################### +# Paths # +##################################################### +# # +# Note: You have to terminate all paths with the # +# path separator character ('\' for Windows users, # +# '/' for Linux users) # +# # +##################################################### + +##################################################### +# Game Paths [String] # +# # +# These are the paths where the Game you want to # +# play is installed. # +# Enter the full path to the directory. # +##################################################### + +GamePath=@DESTDIR@/@LANG@/ +CD1=@DESTDIR@/cd1/@LANG@/ +CD2=@DESTDIR@/cd2/ +CD3=@DESTDIR@/cd3/ +CD4=@DESTDIR@/cd4/ +CD5=@DESTDIR@/cd5/ + +##################################################### +# GemRB Path [String] # +# # +# This is the path where GemRB is stored, just # +# enter the full path to the GemRB executable # +##################################################### + +GemRBPath=/usr/share/games/gemrb/ + +##################################################### +# GemRB Cache Path [String] # +# # +# This is the path where GemRB will store the # +# cached files, enter the full path to the GemRB # +# Cache directory. # +##################################################### + +CachePath=/var/cache/gemrb/ + +##################################################### +# GemRB GUI Scripts Path [String] # +# # +# This is the path where GemRB GUI scripts are # +# stored, usually these are in the GemRB directory # +# Enter the full path to the directory containing # +# the 'GUIScript' subdirectory. # +##################################################### + +GUIScriptsPath=/usr/share/games/gemrb/ + +##################################################### +# GemRB Plugins Path [String] # +# # +# This is the path containing GemRB plugins # +# - shared libraries (.so) on Unixes, or # +# DLLs (.dll) on windows. # +# Enter the full path to the directory. # +# # +# You may need to specify this path if running # +# GemRB from source directory on Linux. # +##################################################### + +PluginsPath=/usr/games/@LIBDIR@/gemrb/plugins/ + +##################################################### +# GemRB Save Path [String] # +# # +# This is the path where GemRB looks for saved # +# games. # +# Enter the full path to the directory containing # +# e.g. the 'save' subdirectory. # +# # +# You do not have to specify this if you use save # +# subdir in the GamePath directory. # +##################################################### + +SavePath=~/.bioware/bg2/ + +##################################################### +# Game Data Path [String] # +# # +# This is the subdirectory under GamePath where # +# game data files are stored. # +# # +# You probably do NOT want to specify this! # +##################################################### + +GameDataPath=data + +##################################################### +# Game Data Override Path [String] # +# # +# This is the subdirectory under GamePath where # +# game data override files are stored. # +# # +# You probably do NOT want to specify this! # +##################################################### + +GameOverridePath=override + +##################################################### +# END # +#####################################################