From 79e444d58e10561a144653909b1c6ffb51f1a30d Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sun, 13 May 2012 09:05:35 -0400 Subject: games/ds-models: Added (3D model packs for gzdoom and skulltag) Signed-off-by: dsomero --- games/ds-models/README | 30 +++++++++ games/ds-models/ds-gzdoom | 3 + games/ds-models/ds-models.SlackBuild | 114 +++++++++++++++++++++++++++++++++++ games/ds-models/ds-models.info | 10 +++ games/ds-models/ds-skulltag | 3 + games/ds-models/slack-desc | 19 ++++++ games/ds-models/svn2targz.sh | 9 +++ 7 files changed, 188 insertions(+) create mode 100644 games/ds-models/README create mode 100644 games/ds-models/ds-gzdoom create mode 100644 games/ds-models/ds-models.SlackBuild create mode 100644 games/ds-models/ds-models.info create mode 100644 games/ds-models/ds-skulltag create mode 100644 games/ds-models/slack-desc create mode 100644 games/ds-models/svn2targz.sh diff --git a/games/ds-models/README b/games/ds-models/README new file mode 100644 index 0000000000..58b159f3f2 --- /dev/null +++ b/games/ds-models/README @@ -0,0 +1,30 @@ +ds-models (3D model packs for gzdoom and skulltag) + +ds-models allows playing Doom, Heretic, and Hexen with OpenGL and 3D +models, which gives it a much more modern look. + +This model set is released by -=Dark-Assassin=- on the +SkullTag forum. For more information, see the forum thread at +http://www.skulltag.com/forum/viewtopic.php?f=13&t=24238 + +If you never plan to use models with skulltag, passing SKULLTAG=no to +the build script will omit the skulltag-specific models. The resulting +package with be approximately 30% smaller. There's also a GZDOOM=no +option, but it won't make the package smaller (skulltag still requires +the gzdoom models, so they'll still be included). + +This includes scripts "dm-gzdoom" and "dm-skulltag" for starting gzdoom +or skulltag with the models preloaded. + +To make gzdoom or skulltag always use the models, edit ~/.gzdoom/zdoom.ini +and/or ~/.skulltag/skulltag.ini and add the following lines under the +[Global.Autoload] marker: + +# for both gzdoom and skulltag: +Path=/usr/share/games/doom/GZ-Models.pk3 + +# for skulltag only, also add: +Path=/usr/share/games/doom/ST-Models.pk3 + +Note that the models will only be displayed if gzdoom/skulltag is using +the OpenGL renderer (Options | Display Options in the in-game menu). diff --git a/games/ds-models/ds-gzdoom b/games/ds-models/ds-gzdoom new file mode 100644 index 0000000000..52325bc372 --- /dev/null +++ b/games/ds-models/ds-gzdoom @@ -0,0 +1,3 @@ +#!/bin/bash + +exec gzdoom -file /usr/share/games/doom/GZ-Models.pk3 "$@" diff --git a/games/ds-models/ds-models.SlackBuild b/games/ds-models/ds-models.SlackBuild new file mode 100644 index 0000000000..271a1f7fa9 --- /dev/null +++ b/games/ds-models/ds-models.SlackBuild @@ -0,0 +1,114 @@ +#!/bin/bash + +# Slackware build script for ds-models + +# Written by B. Watson (yalhcru@gmail.com) + +PRGNAM=ds-models +VERSION=${VERSION:-r14} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +ARCH=noarch + +# Which game(s) to support? +SKULLTAG=${SKULLTAG:-yes} +GZDOOM=${GZDOOM:-yes} + +if [ "$SKULLTAG" != "yes" -a "$GZDOOM" != "yes" ]; then + echo "You've set both SKULLTAG=no and GZDOOM=no; nothing to package." + exit 1 +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG/usr/{share/games/doom,bin,doc/$PRGNAM-$VERSION} $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +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 {} \; + +# The only script provided upstream is for skulltag + gzdoom in one pk3, which +# will only work with skulltag. So we build our own individual skulltag and +# gzdoom packages. Script code based on Build-ST-Complete.sh + +# gzdoom. Note that skulltag needs these too, so GZDOOM=no just means we +# don't install the ds-gzdoom wrapper script. +mkdir -p work/Models + +for DEF_FILE in \ + $(find ./GZ-Models/Build -maxdepth 2 -type f -name "*.def") +do + cp ${DEF_FILE} work +done + +for MODEL_DIR in \ + $(find $(pwd)/GZ-Models/Build -maxdepth 2 -mindepth 2 -type d) +do + cp -R ${MODEL_DIR} work/Models/ +done + +cp -R GZ-Models/Build/Hires work +cd work + zip -r $PKG/usr/share/games/doom/GZ-Models.pk3 ./*.def ./Hires ./Models +cd - +rm -rf work + +if [ "$GZDOOM" = "yes" ]; then + install -m0755 $CWD/ds-gzdoom $PKG/usr/bin +fi + +# ST-Models +if [ "$SKULLTAG" = "yes" ]; then + mkdir -p work/Models + + for DEF_FILE in \ + $(find ST-Models/Build -maxdepth 2 -type f -name "*.def") + do + cp ${DEF_FILE} work + done + + for MODEL_DIR in \ + $(find ST-Models/Build -maxdepth 2 -mindepth 2 -type d) + do + cp -R ${MODEL_DIR} work/Models/ + done + + cd work + zip -r $PKG/usr/share/games/doom/ST-Models.pk3 ./*.def ./Models + cd - + + rm -rf work + install -m0755 $CWD/ds-skulltag $PKG/usr/bin +fi + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a Readme.txt $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +# Modify the slack-desc to reflect reality: +if [ "$SKULLTAG" != "yes" ]; then + GAME="gzdoom only" +elif [ "$GZDOOM" != "yes" ]; then + GAME="skulltag only" +else + GAME="skulltag and gzdoom" +fi + +mkdir -p $PKG/install +sed "s/@GAME@/$GAME/" $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/games/ds-models/ds-models.info b/games/ds-models/ds-models.info new file mode 100644 index 0000000000..ef2edf4dd2 --- /dev/null +++ b/games/ds-models/ds-models.info @@ -0,0 +1,10 @@ +PRGNAM="ds-models" +VERSION="r14" +HOMEPAGE="http://code.google.com/p/ds-models/source/browse/" +DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/ds-models-r14.tar.gz" +DOWNLOAD_x86_64="" +MD5SUM="e1f661b810abc10400ae96cb8cc82404" +MD5SUM_x86_64="" +MAINTAINER="B. Watson" +EMAIL="yalhcru@gmail.com" +APPROVED="dsomero" diff --git a/games/ds-models/ds-skulltag b/games/ds-models/ds-skulltag new file mode 100644 index 0000000000..5ae0adcec7 --- /dev/null +++ b/games/ds-models/ds-skulltag @@ -0,0 +1,3 @@ +#!/bin/bash + +exec skulltag -file /usr/share/games/doom/GZ-Models.pk3 -file /usr/share/games/doom/ST-Models.pk3 "$@" diff --git a/games/ds-models/slack-desc b/games/ds-models/slack-desc new file mode 100644 index 0000000000..e8de84c8ca --- /dev/null +++ b/games/ds-models/slack-desc @@ -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------------------------------------------------------| +ds-models: ds-models (3D model packs for gzdoom and skulltag) +ds-models: +ds-models: ds-models allows playing Doom, Heretic, and Hexen with OpenGL and 3D +ds-models: models, which gives it a much more modern look. +ds-models: +ds-models: This model set is released by -=Dark-Assassin=- on the +ds-models: SkullTag forum. For more information, see the forum thread at +ds-models: http://www.skulltag.com/forum/viewtopic.php?f=13&t=24238 +ds-models: +ds-models: This package built with support for @GAME@. +ds-models: diff --git a/games/ds-models/svn2targz.sh b/games/ds-models/svn2targz.sh new file mode 100644 index 0000000000..4530ebc274 --- /dev/null +++ b/games/ds-models/svn2targz.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +PRGNAM=ds-models +VERSION=14 +REPO=http://ds-models.googlecode.com/svn/trunk/ + +rm -rf $PRGNAM-r$VERSION +svn export -r$VERSION $REPO $PRGNAM-r$VERSION +tar cvfz $PRGNAM-r$VERSION.tar.gz $PRGNAM-r$VERSION -- cgit v1.2.3