add bg2 update

git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@1460 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
geos_one 2009-08-12 17:24:31 +00:00
parent 7d8f3b152d
commit 9a0dbbdfd1
6 changed files with 1769 additions and 1 deletions

View File

@ -1,12 +1,17 @@
AUX GemRB.cfg 8711 RMD160 e84e366c4cf922018c51778f1ba94a5e0f22b65e SHA1 0e7810bb3fcd5e47e4cf2d19f1878a423fa3902c SHA256 21efadc409cca64232f577278f6fa57b37d29f77e0926b51ec1c1a311625e949 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 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_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_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-ShadowsofAmnPatchENGLISH.exe 8696166 RMD160 034e980ccb4af9cc349f688daa8d7637807b87d6 SHA1 4706c0dc1e282bae14946c87a38e2781f89ebdc4 SHA256 79835a3e7edbc41920362f4bf47b260cb00005c216a23517179fd96d3b502396
DIST Baldur%27sGateII-ShadowsofAmnPatchEUROPE.exe 6306918 RMD160 ee7454ebed06f2dbcf300550ada8db3189ecfb6e SHA1 ad1d54b18fded58b4f28b6d6e26cd002fcaa3372 SHA256 c1e77ec092a0d2ce8cec65b5328257cf1ee5ae39e38f363d83eab03825a2f90e 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-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 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 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 ChangeLog 447 RMD160 117dab66bacdf72a835d34b823e4bb99175af570 SHA1 4e878ebf9199dfb79015b4564079b5d45bbce2ec SHA256 b904c0ec8a6de336b9305db56a4fa284214ad3e5d6fa6fc7ff73f04dae14281b
MISC metadata.xml 1238 RMD160 c82938e77f387291d6a1c3bf9b0d802f2878dd12 SHA1 b5738f14922c69e78cfb867acdc65eeea25977bf SHA256 2c13f98be5fa8bdaf21ac86bcd00bbeb8944df5615de0cfce35ae4c00ef4b4d5 MISC metadata.xml 1238 RMD160 c82938e77f387291d6a1c3bf9b0d802f2878dd12 SHA1 b5738f14922c69e78cfb867acdc65eeea25977bf SHA256 2c13f98be5fa8bdaf21ac86bcd00bbeb8944df5615de0cfce35ae4c00ef4b4d5

View File

@ -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
}

View File

@ -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
}

View File

@ -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 #
#####################################################

View File

@ -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 #
#####################################################