diff options
Diffstat (limited to 'games/SpaceCadetPinball')
-rw-r--r-- | games/SpaceCadetPinball/README | 26 | ||||
-rw-r--r-- | games/SpaceCadetPinball/SpaceCadetPinball.SlackBuild | 128 | ||||
-rw-r--r-- | games/SpaceCadetPinball/SpaceCadetPinball.info | 10 | ||||
-rw-r--r-- | games/SpaceCadetPinball/doinst.sh | 9 | ||||
-rw-r--r-- | games/SpaceCadetPinball/slack-desc | 19 |
5 files changed, 192 insertions, 0 deletions
diff --git a/games/SpaceCadetPinball/README b/games/SpaceCadetPinball/README new file mode 100644 index 0000000000000..b23ce75724ad1 --- /dev/null +++ b/games/SpaceCadetPinball/README @@ -0,0 +1,26 @@ +SpaceCadetPinball (3D Pinball for Windows - Space Cadet) + +Reverse engineered port of 3D Pinball for Windows - Space Cadet, a game +bundled with Windows. + +This currently only supports "3D Pinball for Windows - Space Cadet" +(the original pinball table included with some earlier versions of +Windows) and "Space Cadet" (one of three pinball tables from the +"Full Tilt! Pinball" game -- the other tables, "Skullduggery" and +"Dragon's Keep" are not currently supported.) + +NOTE: This port does not include the actual pinball game files. These +must either be downloaded separately and extracted and moved to +/usr/share/SpaceCadetPinball/ or have the zip files (PinballXP.zip +and/or FULLTILT.zip) available in the SlackBuild directory, which will +cause the script to incorporate them automatically. + +To manually add it, do the following: + +"3D Pinball for Windows - Space Cadet" (aka 3DPB), copy the contents +of the unzipped folder to /usr/share/SpaceCadetPinball. + +"Space Cadet" copy CADET.DAT and the SOUND/ folder from the CADET/ +folder to /usr/share/SpaceCadetPinball. + + diff --git a/games/SpaceCadetPinball/SpaceCadetPinball.SlackBuild b/games/SpaceCadetPinball/SpaceCadetPinball.SlackBuild new file mode 100644 index 0000000000000..08f71fba3b965 --- /dev/null +++ b/games/SpaceCadetPinball/SpaceCadetPinball.SlackBuild @@ -0,0 +1,128 @@ +#!/bin/bash + +# Slackware build script for SpaceCadetPinball + +# Copyright 2023 Jeremy Hansen jebrhansen+SBo@gmail.com +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=SpaceCadetPinball +VERSION=${VERSION:-2.0.1} +SRCVER=${SRCVER:-Release_2.0.1} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +PINFILE=${PINFILE:-PinballXP.zip} +FULLFILE=${FULLFILE:-FULLTILT.ZIP} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$SRCVER +tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz +cd $PRGNAM-$SRCVER +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Switch locations from absolute to relative +sed -i "s|/Platform|Platform|g" CMakeLists.txt + +mkdir -p build +cd build + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release .. + make + make install/strip DESTDIR=$PKG +cd .. + +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Prep folders for proprietary game data +mkdir -p $PKG/usr/share/$PRGNAM/ + +# If the zipped pinball sources using the same naming format as +# archive.org's are there, use them + +# https://archive.org/details/pinballxp +if [ -e $CWD/$PINFILE ]; then + unzip $CWD/$PINFILE -d $PKG/usr/share/$PRGNAM/ +fi +# https://archive.org/details/win311_ftiltpball +if [ -e $CWD/$FULLFILE ]; then + unzip -j $CWD/$FULLFILE CADET/* -d $PKG/usr/share/$PRGNAM/SOUND/ + mv $PKG/usr/share/$PRGNAM/SOUND/CADET.DAT $PKG/usr/share/$PRGNAM/ +fi + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + CONTRIBUTING.md LICENSE README.md \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +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 diff --git a/games/SpaceCadetPinball/SpaceCadetPinball.info b/games/SpaceCadetPinball/SpaceCadetPinball.info new file mode 100644 index 0000000000000..f8b8a582497f9 --- /dev/null +++ b/games/SpaceCadetPinball/SpaceCadetPinball.info @@ -0,0 +1,10 @@ +PRGNAM="SpaceCadetPinball" +VERSION="2.0.1" +HOMEPAGE="https://github.com/k4zmu2a/SpaceCadetPinball" +DOWNLOAD="https://github.com/k4zmu2a/SpaceCadetPinball/archive/refs/tags/Release_2.0.1/SpaceCadetPinball-Release_2.0.1.tar.gz" +MD5SUM="157dbb531d4927cb5739d1e586af5741" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="Jeremy Hansen" +EMAIL="jebrhansen+SBo@gmail.com" diff --git a/games/SpaceCadetPinball/doinst.sh b/games/SpaceCadetPinball/doinst.sh new file mode 100644 index 0000000000000..65c7e2eeb9aa5 --- /dev/null +++ b/games/SpaceCadetPinball/doinst.sh @@ -0,0 +1,9 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi diff --git a/games/SpaceCadetPinball/slack-desc b/games/SpaceCadetPinball/slack-desc new file mode 100644 index 0000000000000..7a6519395b90b --- /dev/null +++ b/games/SpaceCadetPinball/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 ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +SpaceCadetPinball: SpaceCadetPinball (3D Pinball for Windows - Space Cadet) +SpaceCadetPinball: +SpaceCadetPinball: Reverse engineering of 3D Pinball for Windows - Space Cadet, a game +SpaceCadetPinball: bundled with Windows. +SpaceCadetPinball: +SpaceCadetPinball: HOMEPAGE: https://github.com/k4zmu2a/SpaceCadetPinball +SpaceCadetPinball: +SpaceCadetPinball: +SpaceCadetPinball: +SpaceCadetPinball: +SpaceCadetPinball: |