games/darkplaces: Added (crossplatform quake mod)

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
M.Dinslage 2010-06-13 23:18:00 -05:00 committed by Robby Workman
parent 2ee0e30e3f
commit 0b752d1723
12 changed files with 237 additions and 0 deletions

18
games/darkplaces/README Normal file
View file

@ -0,0 +1,18 @@
darkplaces (crossplatform Quake modification)
DarkPlaces is a gameplay modification and a source port engine based on the
computer game Quake. It adds enhanced network code, with asynchronous delta
compression, a built in server browser, real-time lighting, and bump mapping.
It makes use of the OpenGL Shading Language and supports Ogg Vorbis.
By default the binaries will not be built from source, we will instead use
the supplied binaries. if you wish to build your own binaries from source
them pass SOURCE=yes to the build.
Also the darkplaces game modifications are disabled by default to maintain
that "classic" look of the original quake. To enable the modifications,
pass DPMOD=YES to the build.
*NOTE* DarkPlaces is only a game engine modification; you still need the
original quake *.pak game files to play quake. See README.SLACKWARE for
more information on this.

View file

@ -0,0 +1,8 @@
To extract .pak files from Quake, see Section (2.1 Getting Started) of:
http://tldp.org/HOWTO/html_single/Quake-HOWTO/#ss2.1
Once the pak files are extracted, copy them to /usr/share/games/darkplaces/id1
If you don't own the game, you can use the "darkplaces_shareware_data" package
available at SlackBuilds.org.

View file

@ -0,0 +1,3 @@
#!/bin/sh
cd /usr/share/games/darkplaces
exec ./darkplaces-dedicated

View file

@ -0,0 +1,3 @@
#!/bin/sh
cd /usr/share/games/darkplaces
exec ./darkplaces-glx

View file

@ -0,0 +1,9 @@
[Desktop Entry]
Name=Quake (GLX)
GenericName=Darkplaces port of idsoftware's Quake (OpenGL)
Exec=darkplaces-glx
Terminal=false
Type=Application
Categories=Game;
Icon=quake
StartupNotify=false

View file

@ -0,0 +1,3 @@
#!/bin/sh
cd /usr/share/games/darkplaces
exec ./darkplaces-sdl

View file

@ -0,0 +1,9 @@
[Desktop Entry]
Name=Quake (SDL)
GenericName=Darkplaces Port of idsoftware's Quake (Software)
Exec=darkplaces-sdl
Terminal=false
Type=Application
Categories=Game;
Icon=quake
StartupNotify=false

View file

@ -0,0 +1,149 @@
#!/bin/sh
# Slackware build script for darkplaces
# Written by M.Dinslage (daedra1980@gmail.com)
PRGNAM=darkplaces
VERSION=${VERSION:-20100408}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) export ARCH=i486 ;;
arm*) export ARCH=arm ;;
*) export ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
SRCDIR=${SRCDIR:-engine20100408}
SRCVER=${SRCVER:-enginesource20100408}
MODVER=${MODVER:-darkplacesmod20080808}
# By default we won't add the darkplaces game mods
DPMOD=${DPMOD:-"NO"}
# Pass SOURCE=YES if you want to build you binaries from source
SOURCE=${SOURCE:-"NO"}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
BINARCH="686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
BINARCH="x86_64"
else
# might not work at all, but we could try :)
SLKCFLAGS="-O2"
BINARCH=$ARCH
SOURCE="yes"
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM
mkdir -p $PRGNAM
cd $PRGNAM
rm -rf $PRGNAM$SRCDIR
unzip $CWD/$PRGNAM$SRCDIR.zip
unzip $PRGNAM$SRCVER.zip # this is in the first zip file
#SRCDIR=${SRCDIR:-engine20100408}
#SRCVER=${SRCVER:-enginesource20100408}
#MODVER=${MODVER:-darkplacesmod20080808}
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
# Let the Makefile set its own flags;
# this way the precompiled and from-source binaries use the same flags
#CFLAGS="$SLKCFLAGS" \
#CXXFLAGS="$SLKCFLAGS" \
#LDFLAGS="$SLKLDFLAGS" \
SRCDIR=${SRCDIR:-engine20100408}
SRCVER=${SRCVER:-enginesource20100408}
MODVER=${MODVER:-darkplacesmod20080808}
if [ "$SOURCE" != "NO" ]; then
cd $PRGNAM
make release
cd -
fi
# Create game directory and copy executables
mkdir -p $PKG/usr/share/games/darkplaces
if [ "$SOURCE" = "NO" ]; then
cp -a darkplaces-linux-$BINARCH-dedicated $PKG/usr/share/games/darkplaces/$PRGNAM-dedicated
cp -a darkplaces-linux-$BINARCH-glx $PKG/usr/share/games/darkplaces/$PRGNAM-glx
cp -a darkplaces-linux-$BINARCH-sdl $PKG/usr/share/games/darkplaces/$PRGNAM-sdl
else
cp -a $PRGNAM/$PRGNAM-{glx,sdl,dedicated} $PKG/usr/share/games/darkplaces
fi
# Create directory for original game *.pak files
mkdir -p $PKG/usr/share/games/darkplaces/id1
# Add launchers to path
mkdir $PKG/usr/games
for i in glx sdl dedicated ; do
cat $CWD/darkplaces-$i > $PKG/usr/games/darkplaces-$i ;
chmod 0755 $PKG/usr/games/darkplaces-$i ;
done
# Add application launcher
mkdir -p $PKG/usr/share/{applications,pixmaps}
cat $CWD/$PRGNAM-glx.desktop > $PKG/usr/share/applications/$PRGNAM-glx.desktop
cat $CWD/$PRGNAM-sdl.desktop > $PKG/usr/share/applications/$PRGNAM-sdl.desktop
cat $CWD/quake.png > $PKG/usr/share/pixmaps/quake.png
if [ "$DPMOD" != "NO" ]; then
unzip $CWD/$MODVER.zip
chown -R root:root dpmod
find dpmod \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
cp -a dpmod $PKG/usr/share/games/darkplaces
sed -i 's,exec ./darkplaces-glx,exec ./darkplaces-glx -game dpmod,g' \
$PKG/usr/games/darkplaces-glx
sed -i 's,exec ./darkplaces-sdl,exec ./darkplaces-sdl -game dpmod,g' \
$PKG/usr/games/darkplaces-sdl
fi
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a README-SDL.txt darkplaces.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE
# We only need to strip the binaries if we're compiling from source
if [ "$SOURCE" != "NO" ]; then
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
fi
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,12 @@
PRGNAM="darkplaces"
VERSION="20100408"
HOMEPAGE="http://icculus.org/twilight/darkplaces/"
DOWNLOAD="http://icculus.org/twilight/darkplaces/files/darkplacesengine20100408.zip \
http://icculus.org/twilight/darkplaces/files/darkplacesmod20080808.zip"
MD5SUM="24e7e417b32cfb06ff915f6d8f251e80 \
94fd7b0f2aca505de37b48926786c863"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="M.Dinslage"
EMAIL="daedra1980@gmail.com"
APPROVED="rworkman"

View file

@ -0,0 +1,4 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications
fi

BIN
games/darkplaces/quake.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
darkplaces: darkplaces (crossplatform Quake modification)
darkplaces:
darkplaces: DarkPlaces is a gameplay modification and a source port engine
darkplaces: based on the computer game Quake. It adds enhanced network code,
darkplaces: with asynchronous delta compression, a built in server browser,
darkplaces: real-time lighting, and bump mapping. It makes use of the OpenGL
darkplaces: Shading Language and supports Ogg Vorbis.
darkplaces:
darkplaces:
darkplaces:
darkplaces: