add baldurs gate and the gemrb engine

git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/linamh@1456 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
geos_one 2009-08-10 08:28:54 +00:00
parent 5c6b5f4d6d
commit e476c021f4
7 changed files with 1161 additions and 0 deletions

View File

@ -0,0 +1,4 @@
AUX GemRB.cfg.sample 8767 RMD160 7f58156143d25546fbf2514410d3e3b020aadcbf SHA1 7826df65159efaad4a66147a404391f37c6f2583 SHA256 6e7c232fada9d13aa72ec5ca049ea6c1bfa8500e995e26008912d51134b6c76d
DIST gemrb-0.5.0.tar.gz 2084847 RMD160 48fd9f77bd1a3f19b95d5aedd5e2825e5328d980 SHA1 86a01fadd1b4312021256908ba7aafdcb23d7e55 SHA256 795c7ce85ceed60f4f81a451f06969a12d6d812d71e10d85786ef64454f14de1
EBUILD gemrb-0.5.0.ebuild 1170 RMD160 e93a88d1d12071f19013754ab6644f7b828dd098 SHA1 5f9e7150849ddabda048535715a73f2271933ed2 SHA256 dcd03b14808b867f776bd4ae74f4b5d9ffc19f69251ec691d7401703f43575fe
EBUILD gemrb-9999.ebuild 1449 RMD160 d96e1a743b9af54f80b8781f6e961b0c8a694a6e SHA1 cf71a8cf386bfe0fb113bc9487fba379dbe23017 SHA256 3875bd4c0c15b66e9575a9c95fb2f094fe0576844f771f0d4ae6e410637f8c8b

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=640
#Screen height
Height=480
#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=/usr/local/share/games/bg2/
CD1=/usr/local/share/games/bg2/
CD2=/usr/local/share/games/bg2/
CD3=/usr/local/share/games/bg2/
CD4=/usr/local/share/games/bg2/
CD5=/usr/local/share/games/bg2/
#####################################################
# 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/lib/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=~/.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,48 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
inherit autotools eutils games
DESCRIPTION="Reimplementation of the Infinity engine"
HOMEPAGE="http://gemrb.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc"
DEPEND=">=media-libs/libsdl-1.2
media-libs/openal
>=dev-lang/python-2.3"
RDEPEND="${DEPEND}"
src_unpack() {
unpack ${A}
cd "${S}"
sed -i '/sysconf_DATA = GemRB.cfg.sample GemRB.cfg.subdir.sample/d' \
gemrb/Makefile.am || die "remove default config failed"
if ! use doc ; then
sed -i 's|^SUBDIRS = \(.*\) docs|SUBDIRS = \1|' \
gemrb/Makefile.am || die "don't install docs failed"
fi
eautoreconf || die "eautoreconf failed"
}
src_compile() {
egamesconf \
--docdir="/usr/share/doc/${PF}" \
|| die "egamesconf failed"
emake || die "emake failed"
}
src_install() {
emake DESTDIR="${D}" install || die "install failed"
libtool --finish "${GAMES_LIBDIR}"
diropts -m0775 -g ${GAMES_GROUP}
keepdir "/var/cache/gemrb"
dodoc "${FILESDIR}/GemRB.cfg.sample"
dodoc README AUTHORS
prepgamesdirs
}

View File

@ -0,0 +1,54 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
inherit autotools eutils games subversion
DESCRIPTION="Reimplementation of the Infinity engine"
HOMEPAGE="http://gemrb.sourceforge.net/"
#SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
ESVN_REPO_URI="https://gemrb.svn.sourceforge.net/svnroot/gemrb/gemrb/trunk"
LICENSE="GPL-2"
SLOT="0"
#KEYWORDS="~amd64 ~x86"
IUSE="doc"
DEPEND=">=media-libs/libsdl-1.2
media-libs/openal
>=dev-lang/python-2.3"
RDEPEND="${DEPEND}"
src_unpack() {
subversion_src_unpack ${A}
cd "${S}"
sed -i 's|\$(bindir)/plugins/|\$(libdir)/|' \
Makefile.am || die "move plugindir failed"
sed -i '/NullSound/d' \
gemrb/plugins/Makefile.am || die "enable sound failed"
sed -i '/sysconf_DATA = GemRB.cfg.sample GemRB.cfg.subdir.sample/d' \
gemrb/Makefile.am || die "remove default config failed"
if ! use doc ; then
sed -i 's|^SUBDIRS = \(.*\) docs|SUBDIRS = \1|' \
gemrb/Makefile.am || die "don't install docs failed"
fi
eautoreconf || die "eautoreconf failed"
}
src_compile() {
egamesconf \
--docdir="/usr/share/doc/${PF}" \
|| die "egamesconf failed"
emake || die "emake failed"
}
src_install() {
emake DESTDIR="${D}" install || die "install failed"
libtool --finish "${GAMES_LIBDIR}"
diropts -m0775 -g ${GAMES_GROUP}
keepdir "/var/cache/gemrb"
dodoc "${FILESDIR}/GemRB.cfg.sample"
dodoc README AUTHORS
prepgamesdirs
}

View File

@ -0,0 +1,9 @@
AUX GemRB.cfg 8713 RMD160 72870ed630287ef811f090a7216c0b30d1c234e8 SHA1 9f9062af54a9931384df7eabec3160abfffa61fc SHA256 b1b987333b756189ecd3f3802c2a73b44391d62176bbb113df8755025701602b
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 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 21952 RMD160 b7f376dac28284e12457efafa6ef044119c74d1a SHA1 80fe7452074283fbc2c0a238792aaa2699649c6d SHA256 b99d6ac1d8cc4e5dd73c68331d9244ba6eac89a436318ef324f0d07e18d6292f

View File

@ -0,0 +1,590 @@
# Copyright 1999-2008 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="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"
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 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
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
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
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
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=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 #
#####################################################