aboutsummaryrefslogtreecommitdiff
path: root/games/bstone
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2016-08-15 00:44:23 +0100
committerDavid Spencer <idlemoor@slackbuilds.org>2016-08-15 00:44:23 +0100
commit9f7821b5b88d2a520a3c975fa28b3e71ad5ecfe4 (patch)
tree3d9b385e67a2dab0fb85075d6fe404c977986aa9 /games/bstone
parent06b1260579bc185748fe93415b0590021ffabf20 (diff)
games/bstone: Added (first-person shooter game).
Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
Diffstat (limited to 'games/bstone')
-rw-r--r--games/bstone/README23
-rw-r--r--games/bstone/bstone.6196
-rw-r--r--games/bstone/bstone.SlackBuild99
-rw-r--r--games/bstone/bstone.desktop7
-rw-r--r--games/bstone/bstone.info12
-rw-r--r--games/bstone/bstone.pngbin0 -> 1630 bytes
-rw-r--r--games/bstone/bstone.rst176
-rw-r--r--games/bstone/datadir.diff25
-rw-r--r--games/bstone/doinst.sh3
-rw-r--r--games/bstone/slack-desc19
10 files changed, 560 insertions, 0 deletions
diff --git a/games/bstone/README b/games/bstone/README
new file mode 100644
index 000000000000..842423d0cb20
--- /dev/null
+++ b/games/bstone/README
@@ -0,0 +1,23 @@
+bstone (first-person shooter game)
+
+bstone is a source port of Blake Stone game series: Aliens of Gold and
+Planet Strike.
+
+Features:
+* High resolution rendering of world (extended vanilla engine)
+* Modern and vanilla controls
+* Allows to customize control bindings
+* Separate volume control of sound effects and music
+
+Supported games:
+* Aliens of Gold v1.0 full
+* Aliens of Gold v2.0 full
+* Aliens of Gold v2.1 full
+* Aliens of Gold v3.0 full
+* Aliens of Gold v3.0 shareware
+* Planet Strike v1.0
+* Planet Strike v1.1
+
+The data files for Aliens of Gold v3.0 shareware are included in the
+package. To play one of the other games, copy its data files to
+/usr/share/games/bstone.
diff --git a/games/bstone/bstone.6 b/games/bstone/bstone.6
new file mode 100644
index 000000000000..ae8b11d612b6
--- /dev/null
+++ b/games/bstone/bstone.6
@@ -0,0 +1,196 @@
+.\" Man page generated from reStructuredText.
+.
+.TH BSTONE 6 "2016-08-13" "1.1.7" "SlackBuilds.org"
+.SH NAME
+bstone \- source port of the Blake Stone games
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" RST source for bstone(6) man page. Convert with:
+.
+.\" rst2man.py bstone.rst > bstone.6
+.
+.\" rst2man.py comes from the SBo development/docutils package.
+.
+.\" converting from pod:
+.
+.\" s/B<\([^>]*\)>/**\1**/g
+.
+.\" s/I<\([^>]*\)>/*\1*/g
+.
+.SH SYNOPSIS
+.sp
+bstone [\fI\-options\fP]
+.SH DESCRIPTION
+.sp
+BStone is a source port of Blake Stone game series: Aliens of Gold and Planet Strike.
+.sp
+Features:
+.INDENT 0.0
+.IP \(bu 2
+High resolution rendering of world (extended vanilla engine)
+.IP \(bu 2
+Modern and vanilla controls
+.IP \(bu 2
+Allows to customize control bindings
+.IP \(bu 2
+Separate volume control of sound effects and music
+.UNINDENT
+.sp
+Supported games:
+.INDENT 0.0
+.IP \(bu 2
+Aliens of Gold v1.0 full
+.IP \(bu 2
+Aliens of Gold v2.0 full
+.IP \(bu 2
+Aliens of Gold v2.1 full
+.IP \(bu 2
+Aliens of Gold v3.0 full
+.IP \(bu 2
+Aliens of Gold v3.0 shareware
+.IP \(bu 2
+Planet Strike v1.0
+.IP \(bu 2
+Planet Strike v1.1
+.UNINDENT
+.sp
+This man page only describes the command\-line options. For full documentation,
+see /usr/doc/bstone\-1.1.7/README.md
+.SH OPTIONS
+.\" notice the **-opt** *param* stuff? rst's option recognition
+.
+.\" can't handle non-GNU-style options like -option (it thinks the
+.
+.\" option is -o, and the ption is the parameter). So we have to help
+.
+.\" it out a little.
+.
+.INDENT 0.0
+.TP
+.B \fI\-\-version\fP
+Outputs the port\(aqs version to standard output and
+into message box.
+.TP
+.B \fI\-\-aog_sw\fP
+Switches the port to Blake Stone: Aliens of Gold (shareware, v3.0) mode.
+If appropriate data files will not be found the port will fail.
+Default switch strategy: AoG (full) \-> AoG (SW) \-> PS
+.TP
+.B \fI\-\-aog_10\fP
+Switches the port to Blake Stone: Aliens of Gold (full, v1.0) mode.
+If appropriate data files will not be found the port will fail.
+Default switch strategy: AoG (full) \-> AoG (SW) \-> PS
+.TP
+.B \fI\-\-aog_2x\fP
+Switches the port to Blake Stone: Aliens of Gold (full, v2.0/v2.1) mode.
+If appropriate data files will not be found the port will fail.
+Default switch strategy: AoG (full) \-> AoG (SW) \-> PS
+.TP
+.B \fI\-\-aog_30\fP
+Switches the port to Blake Stone: Aliens of Gold (full, v3.0) mode.
+If appropriate data files will not be found the port will fail.
+Default switch strategy: AoG (full) \-> AoG (SW) \-> PS
+.TP
+.B \fI\-\-ps\fP
+Switches the port to Blake Stone: Planet Strike (full, v1.0/v1.1) mode.
+If appropriate data files will not be found the port will fail.
+Default switch strategy: AoG (full) \-> AoG (SW) \-> PS
+.TP
+.B \fI\-\-no_screens\fP
+Skips start\-up screens (AoG/PS) and ending promo pages (AoG SW only).
+.TP
+.B \fI\-\-cheats\fP
+Enables so called "debug mode" without much fuss.
+.TP
+.B \fI\-\-data_dir path_to_data\fP
+Specifies location to the game\(aqs data files.
+Default: /usr/share/games/bstone/
+.TP
+.B \fI\-\-profile_dir path\fP
+Overrides default location of the game\(aqs profile files. Config files
+and savegames are written here.
+Default: .local/share/bibendovsky/bstone/
+.TP
+.B \fI\-\-vid_renderer [soft|ogl]\fP
+Forces to use a specified renderer.
+"soft" selects a software renderer.
+"ogl" selects an OpenGL 2.x compatible renderer.
+Default order without this option: ogl, soft.
+.TP
+.B \fI\-\-vid_windowed\fP
+Runs the game in windowed mode.
+Default video mode: 640x480
+.TP
+.B \fI\-\-vid_mode width height\fP
+Selects the specified resolution for windowed mode.
+Without this option the game will use desktop\(aqs resolution.
+Minimum width: 640
+Minimum height: 480
+.TP
+.B \fI\-\-vid_scale factor\fP
+Refinement factor. The higher a value the greater internal resolution
+mode will be used to render a scene. The dimensions of the resolution mode
+are proportional to the original one (320x200) by \(aqfactor\(aq value.
+This option can greatly affect the performance of a renderer (especially a
+software one).
+Minimum factor: 1 (identical to the original game)
+Default factor: depends on the game\(aqs resolution mode.
+.TP
+.B \fI\-\-vid_window_x offset\fP
+Sets a horizontal offset from the left side of the desktop screen.
+Applicable for windowed mode only.
+.TP
+.B \fI\-\-vid_window_y offset\fP
+Sets a vertical offset from the top side of the desktop screen.
+Applicable for windowed mode only.
+.TP
+.B \fI\-\-snd_rate sampling_rate\fP
+Specifies sampling rate of mixer in hertz.
+Default: 44100 Hz
+Minimum: 11025 Hz
+.TP
+.B \fI\-\-snd_mix_size duration\fP
+Specifies mix data size in milliseconds.
+Default: 40 ms
+Minimum: 20 ms
+.UNINDENT
+.SH COPYRIGHT
+.sp
+See the file /usr/doc/bstone\-1.1.7/LICENSE for license information.
+.SH AUTHORS
+.sp
+bstone was written by Boris I. Bendovsky, based on an original
+game by JAM Productions, published by Apogee Entertainment, LLC.
+.sp
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+.SH SEE ALSO
+.sp
+The bstone homepage: \fI\%http://bibendovsky.github.io/bstone/\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/games/bstone/bstone.SlackBuild b/games/bstone/bstone.SlackBuild
new file mode 100644
index 000000000000..07a36fa60d24
--- /dev/null
+++ b/games/bstone/bstone.SlackBuild
@@ -0,0 +1,99 @@
+#!/bin/sh
+
+# Slackware build script for bstone
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=bstone
+VERSION=${VERSION:-1.1.7}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+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-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz || tar xvf $CWD/v$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+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 {} \;
+
+# look in /usr/share/games/bstone for game data files, not the
+# directory the executable lives in. the --data_dir option can
+# still override this.
+patch -p1 < $CWD/datadir.diff
+
+# make install and install/strip are borked, do manual install.
+# always include the shareware data in the package, the game will
+# only use it if the user hasn't installed the full version.
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DCMAKE_BUILD_TYPE=Release ..
+ make
+
+ mkdir -p $PKG/usr/games $PKG/usr/share/games/$PRGNAM
+ install -s -m0755 $PRGNAM $PKG/usr/games
+
+ unzip $CWD/1bs30.zip
+ unzip BSSW30.SHR \*.BS1
+ install -oroot -groot -m0644 *.BS1 $PKG/usr/share/games/$PRGNAM
+cd ..
+
+# man page and .desktop written for this build. icon made from screenshot
+# of the game's title screen.
+mkdir -p $PKG/usr/share/applications $PKG/usr/share/pixmaps $PKG/usr/man/man6
+cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
+cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
+gzip -9c < $CWD/$PRGNAM.6 > $PKG/usr/man/man6/$PRGNAM.6.gz
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a LICENSE README.md *.doc bstone_todo.txt $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:-tgz}
diff --git a/games/bstone/bstone.desktop b/games/bstone/bstone.desktop
new file mode 100644
index 000000000000..57071359d0d1
--- /dev/null
+++ b/games/bstone/bstone.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Type=Application
+Name=Blake Stone
+Icon=bstone
+Exec=bstone
+Terminal=false
+Categories=Game;ActionGame;
diff --git a/games/bstone/bstone.info b/games/bstone/bstone.info
new file mode 100644
index 000000000000..b8a642307798
--- /dev/null
+++ b/games/bstone/bstone.info
@@ -0,0 +1,12 @@
+PRGNAM="bstone"
+VERSION="1.1.7"
+HOMEPAGE="http://bibendovsky.github.io/bstone/"
+DOWNLOAD="https://github.com/bibendovsky/bstone/archive/v1.1.7.tar.gz \
+ https://archive.org/download/BlakeStoneAliensOfGold/1bs30.zip"
+MD5SUM="92aba776c04fe44c66d446f3417efaa3 \
+ a63c88fc5b399ffb5ed42dc215321f36"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="SDL2"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/games/bstone/bstone.png b/games/bstone/bstone.png
new file mode 100644
index 000000000000..dec5246ff2ce
--- /dev/null
+++ b/games/bstone/bstone.png
Binary files differ
diff --git a/games/bstone/bstone.rst b/games/bstone/bstone.rst
new file mode 100644
index 000000000000..83ee8fd209a6
--- /dev/null
+++ b/games/bstone/bstone.rst
@@ -0,0 +1,176 @@
+.. RST source for bstone(6) man page. Convert with:
+.. rst2man.py bstone.rst > bstone.6
+.. rst2man.py comes from the SBo development/docutils package.
+
+.. |version| replace:: 1.1.7
+.. |date| date::
+
+.. converting from pod:
+.. s/B<\([^>]*\)>/**\1**/g
+.. s/I<\([^>]*\)>/*\1*/g
+
+======
+bstone
+======
+
+------------------------------------
+source port of the Blake Stone games
+------------------------------------
+
+:Manual section: 6
+:Manual group: SlackBuilds.org
+:Date: |date|
+:Version: |version|
+
+SYNOPSIS
+========
+
+bstone [*-options*]
+
+DESCRIPTION
+===========
+
+BStone is a source port of Blake Stone game series: Aliens of Gold and Planet Strike.
+
+Features:
+
+- High resolution rendering of world (extended vanilla engine)
+
+- Modern and vanilla controls
+
+- Allows to customize control bindings
+
+- Separate volume control of sound effects and music
+
+Supported games:
+
+- Aliens of Gold v1.0 full
+
+- Aliens of Gold v2.0 full
+
+- Aliens of Gold v2.1 full
+
+- Aliens of Gold v3.0 full
+
+- Aliens of Gold v3.0 shareware
+
+- Planet Strike v1.0
+
+- Planet Strike v1.1
+
+This man page only describes the command-line options. For full documentation,
+see /usr/doc/bstone-|version|/README.md
+
+OPTIONS
+=======
+
+.. notice the **-opt** *param* stuff? rst's option recognition
+.. can't handle non-GNU-style options like -option (it thinks the
+.. option is -o, and the ption is the parameter). So we have to help
+.. it out a little.
+
+*--version*
+ Outputs the port's version to standard output and
+ into message box.
+
+*--aog_sw*
+ Switches the port to Blake Stone: Aliens of Gold (shareware, v3.0) mode.
+ If appropriate data files will not be found the port will fail.
+ Default switch strategy: AoG (full) -> AoG (SW) -> PS
+
+*--aog_10*
+ Switches the port to Blake Stone: Aliens of Gold (full, v1.0) mode.
+ If appropriate data files will not be found the port will fail.
+ Default switch strategy: AoG (full) -> AoG (SW) -> PS
+
+*--aog_2x*
+ Switches the port to Blake Stone: Aliens of Gold (full, v2.0/v2.1) mode.
+ If appropriate data files will not be found the port will fail.
+ Default switch strategy: AoG (full) -> AoG (SW) -> PS
+
+*--aog_30*
+ Switches the port to Blake Stone: Aliens of Gold (full, v3.0) mode.
+ If appropriate data files will not be found the port will fail.
+ Default switch strategy: AoG (full) -> AoG (SW) -> PS
+
+*--ps*
+ Switches the port to Blake Stone: Planet Strike (full, v1.0/v1.1) mode.
+ If appropriate data files will not be found the port will fail.
+ Default switch strategy: AoG (full) -> AoG (SW) -> PS
+
+*--no_screens*
+ Skips start-up screens (AoG/PS) and ending promo pages (AoG SW only).
+
+*--cheats*
+ Enables so called "debug mode" without much fuss.
+
+*--data_dir path_to_data*
+ Specifies location to the game's data files.
+ Default: /usr/share/games/bstone/
+
+*--profile_dir path*
+ Overrides default location of the game's profile files. Config files
+ and savegames are written here.
+ Default: .local/share/bibendovsky/bstone/
+
+*--vid_renderer [soft|ogl]*
+ Forces to use a specified renderer.
+ "soft" selects a software renderer.
+ "ogl" selects an OpenGL 2.x compatible renderer.
+ Default order without this option: ogl, soft.
+
+*--vid_windowed*
+ Runs the game in windowed mode.
+ Default video mode: 640x480
+
+*--vid_mode width height*
+ Selects the specified resolution for windowed mode.
+ Without this option the game will use desktop's resolution.
+ Minimum width: 640
+ Minimum height: 480
+
+*--vid_scale factor*
+ Refinement factor. The higher a value the greater internal resolution
+ mode will be used to render a scene. The dimensions of the resolution mode
+ are proportional to the original one (320x200) by 'factor' value.
+ This option can greatly affect the performance of a renderer (especially a
+ software one).
+ Minimum factor: 1 (identical to the original game)
+ Default factor: depends on the game's resolution mode.
+
+*--vid_window_x offset*
+ Sets a horizontal offset from the left side of the desktop screen.
+ Applicable for windowed mode only.
+
+*--vid_window_y offset*
+ Sets a vertical offset from the top side of the desktop screen.
+ Applicable for windowed mode only.
+
+*--snd_rate sampling_rate*
+ Specifies sampling rate of mixer in hertz.
+ Default: 44100 Hz
+ Minimum: 11025 Hz
+
+*--snd_mix_size duration*
+ Specifies mix data size in milliseconds.
+ Default: 40 ms
+ Minimum: 20 ms
+
+COPYRIGHT
+=========
+
+See the file /usr/doc/bstone-|version|/LICENSE for license information.
+
+AUTHORS
+=======
+
+bstone was written by Boris I. Bendovsky, based on an original
+game by JAM Productions, published by Apogee Entertainment, LLC.
+
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+
+SEE ALSO
+========
+
+The bstone homepage: http://bibendovsky.github.io/bstone/
diff --git a/games/bstone/datadir.diff b/games/bstone/datadir.diff
new file mode 100644
index 000000000000..b3dec92c0fa4
--- /dev/null
+++ b/games/bstone/datadir.diff
@@ -0,0 +1,25 @@
+diff -Naur bstone-1.1.7.orig/3d_main.cpp bstone-1.1.7/3d_main.cpp
+--- bstone-1.1.7.orig/3d_main.cpp 2016-04-09 08:21:25.000000000 -0400
++++ bstone-1.1.7/3d_main.cpp 2016-08-13 21:47:13.965436399 -0400
+@@ -9138,20 +9138,7 @@
+
+ const std::string& get_default_data_dir()
+ {
+- static std::string result;
+- static auto is_initialized = false;
+-
+- if (!is_initialized) {
+- is_initialized = true;
+-
+- auto sdl_dir = ::SDL_GetBasePath();
+-
+- if (sdl_dir) {
+- result = sdl_dir;
+- ::SDL_free(sdl_dir);
+- }
+- }
+-
++ static std::string result = "/usr/share/games/bstone/";
+ return result;
+ }
+ // BBi
diff --git a/games/bstone/doinst.sh b/games/bstone/doinst.sh
new file mode 100644
index 000000000000..5fb28930db0b
--- /dev/null
+++ b/games/bstone/doinst.sh
@@ -0,0 +1,3 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
diff --git a/games/bstone/slack-desc b/games/bstone/slack-desc
new file mode 100644
index 000000000000..8bf8b43f382a
--- /dev/null
+++ b/games/bstone/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------------------------------------------------------|
+bstone: bstone (first-person shooter game)
+bstone:
+bstone: A source port of Blake Stone: Aliens of Gold and Blake Stone:
+bstone: Planet Strike.
+bstone:
+bstone:
+bstone:
+bstone:
+bstone:
+bstone:
+bstone: