summaryrefslogtreecommitdiffstats
path: root/games/bstone
diff options
context:
space:
mode:
Diffstat (limited to 'games/bstone')
-rw-r--r--games/bstone/README11
-rw-r--r--games/bstone/blake_stone_source_code_license.txt53
-rw-r--r--games/bstone/bstone.6311
-rw-r--r--games/bstone/bstone.SlackBuild61
-rw-r--r--games/bstone/bstone.desktop5
-rw-r--r--games/bstone/bstone.info12
-rw-r--r--games/bstone/bstone.rst288
-rw-r--r--games/bstone/datadir.diff31
-rw-r--r--games/bstone/slack-desc4
9 files changed, 562 insertions, 214 deletions
diff --git a/games/bstone/README b/games/bstone/README
index 842423d0cb..72f207482d 100644
--- a/games/bstone/README
+++ b/games/bstone/README
@@ -6,7 +6,7 @@ Planet Strike.
Features:
* High resolution rendering of world (extended vanilla engine)
* Modern and vanilla controls
-* Allows to customize control bindings
+* Allows customizing control bindings
* Separate volume control of sound effects and music
Supported games:
@@ -18,6 +18,9 @@ Supported games:
* 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.
+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
+(*.bs6 or *.vsi) to /usr/share/games/bstone. When you start bstone,
+it will detect all the available games and ask which one you'd like to
+play. Note that the data files must be named either all uppercase or
+all lowercase.
diff --git a/games/bstone/blake_stone_source_code_license.txt b/games/bstone/blake_stone_source_code_license.txt
new file mode 100644
index 0000000000..945cb68c51
--- /dev/null
+++ b/games/bstone/blake_stone_source_code_license.txt
@@ -0,0 +1,53 @@
+Blake Stone: Planet Strike Source Code Release - July 5, 2013.
+
+Please note that this is being released without any kind of
+support from the original developers of this game or Apogee Software,
+LLC, Apogee Software, Ltd / 3DRealms Entertainment.  
+
+We are releasing this code for the entertainment of the user
+community. This is all the source we have relating to Blake Stone:
+Planet Strike.  We haven't looked at this stuff in years, and
+make no guarantee that you will be able to get it to work, nor do we
+guarantee that it won't blow up your computer if you do try and use
+it. ;)
+
+You will need the data from a released version of Blake Stone: Planet
+Strike to use the .exe built from this code. We cannot and will not
+help in getting this running.
+
+Caveat Emptor - Use at your own risk.
+
+Please note that while we are releasing the source code to Blake
+Stone: Planet Strike, the game itself has not been released in the
+same manner (in other words, Blake Stone: Planet Strike is still
+commercial software). You can still buy the game from us by visiting
+the Apogee Software online store at:
+
+http://apogeesoftware.com/products/blake-stone-planet-strike
+
+...or GOG.com at:
+
+http://www.gog.com/gamecard/blake_stone_planet_strike
+
+Thanks to all the fans who have enjoyed the game and to those that
+have contacted us about the possibility of releasing this source. If
+you produce something cool with this source code, drop us a line at
+info@apogeesoftware.com
+
+=====================================================================
+
+Copyright © 1992 - 2013.
+
+This Source code / program is free software; you can redistribute it
+and/or modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+See the GNU General Public License for more details.You should have
+received a copy of the GNU General Public License along with this
+program; if not, write to the Free Software Foundation, Inc., 59
+Temple Place - Suite 330, Boston, MA  02111-1307, USA.
diff --git a/games/bstone/bstone.6 b/games/bstone/bstone.6
index ae8b11d612..c503ef91af 100644
--- a/games/bstone/bstone.6
+++ b/games/bstone/bstone.6
@@ -1,8 +1,5 @@
.\" 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
.
@@ -30,18 +27,15 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
+.TH "BSTONE" 6 "2023-01-11" "1.1.12" "SlackBuilds.org"
+.SH NAME
+bstone \- source port of the Blake Stone games
.\" 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]
@@ -80,108 +74,245 @@ 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
+see /usr/doc/bstone\-1.1.12/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.
+.B \fB\-\-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
+.B \fB\-\-aog_sw\fP
+Switches the port to "Blake Stone: Aliens Of Gold (shareware)" mode.
+If appropriate data files are not found, the port will fail.
.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
+.B \fB\-\-aog\fP
+Switches the port to "Blake Stone: Aliens Of Gold" mode.
+If appropriate data files are not found, the port will fail.
.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
+.B \fB\-\-ps\fP
+Switches the port to "Blake Stone: Planet Strike" mode.
+If appropriate data files are not found, the port will fail.
.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
+.B \fB\-\-no_screens\fP
+Skips start\-up screens and the ending promo pages (AOG SW).
.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
+.B \fB\-\-cheats\fP
+Enables so called "debug mode" without much fuss.
.TP
-.B \fI\-\-no_screens\fP
-Skips start\-up screens (AoG/PS) and ending promo pages (AoG SW only).
+.B \fB\-\-data_dir\fP dir
+Specifies a directory with game\(aqs resource files.
+Default: \fI/usr/share/games/bstone\fP
.TP
-.B \fI\-\-cheats\fP
-Enables so called "debug mode" without much fuss.
+.B \fB\-\-mod_dir\fP dir
+Specifies a directory with mod\(aqs resource files.
+Default: undefined.
+.TP
+.B \fB\-\-profile_dir\fP dir
+Overrides default directory of the game\(aqs profile files.
+Default: \fI~/.local/share/bibendovsky/bstone/\fP
.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
+.B \fB\-\-vid_renderer\fP value
+Select a renderer.
+Values:
+.INDENT 7.0
+.INDENT 3.5
+.INDENT 0.0
+.IP \(bu 2
+auto_detect \- tries to select the best renderer.
+.IP \(bu 2
+software \- the vanilla renderer.
+.IP \(bu 2
+gl_2_0 \- OpenGL 2.0 or higher.
+.IP \(bu 2
+gl_3_2_c \- OpenGL 3.2 core or higher.
+.IP \(bu 2
+gles_2_0 \- OpenGL ES 2.0 or higher.
+.UNINDENT
+.UNINDENT
+.UNINDENT
+.sp
+Default: auto_detect
+.TP
+.B \fB\-\-vid_width\fP width
+Specifies window width.
+Minimum width: 320
+Default width: 640
+.TP
+.B \fB\-\-vid_height\fP height
+Specifies window height.
+Minimum height: 240
+Default height: 480
+.TP
+.B \fB\-\-vid_x\fP offset
Sets a horizontal offset from the left side of the desktop screen.
-Applicable for windowed mode only.
+Applicable for positionable window only.
+Default: 0
.TP
-.B \fI\-\-vid_window_y offset\fP
+.B \fB\-\-vid_y\fP offset
Sets a vertical offset from the top side of the desktop screen.
-Applicable for windowed mode only.
+Applicable for positionable window only.
+Default: 0
+.TP
+.B \fB\-\-vid_is_positioned\fP value
+Centers a window on the desktop or moves it in the specified position.
+Values: 0 (centered) or 1 (positioned)
+Default: 0
.TP
-.B \fI\-\-snd_rate sampling_rate\fP
+.B \fB\-\-vid_is_vsync\fP value
+Enables or disables vertical synchronization.
+Values: 0 (disable) or 1 (enable)
+Default: 1
+.TP
+.B \fB\-\-vid_is_widescreen\fP value
+Enables or disables widescreen rendering.
+Values: 0 (disable) or 1 (enable)
+Default: 1
+.TP
+.B \fB\-\-vid_is_ui_stretched\fP value
+Stretches the UI or keeps it at 4x3 ratio otherwise.
+Values: 0 (non\-stretched) or 1 (stretched)
+Default: 0
+.TP
+.B \fB\-\-vid_2d_texture_filter\fP filter
+Sets texturing filter for UI.
+Applicable only for 3D\-rendering.
+Values: nearest or linear
+Default: nearest
+.TP
+.B \fB\-\-vid_3d_texture_image_filter\fP filter
+Sets texturing image filter for the scene.
+Applicable only for 3D\-rendering.
+Values: nearest or linear
+Default: nearest
+.TP
+.B \fB\-\-vid_3d_texture_mipmap_filter\fP filter
+Sets texturing mipmap filter for the scene.
+Applicable only for 3D\-rendering.
+Values: nearest or linear
+Default: nearest
+.TP
+.B \fB\-\-vid_3d_texture_anisotropy\fP value
+Sets anisotropy degree for the scene.
+Value 1 or lower disables the filter.
+Applicable only for 3D\-rendering.
+Values: [1..16]
+Default: 1
+.TP
+.B \fB\-\-vid_texture_upscale_filter\fP filter
+Sets texturing upscale filter.
+Applicable only for 3D\-rendering.
+Values: none or xbrz
+Default: none
+\fBWARNING\fP xbrz is a high resource usage filter!
+.TP
+.B \fB\-\-vid_texture_upscale_xbrz_degree\fP degree
+Sets a degree of xBRZ texturing upscale.
+Applicable only for 3D\-rendering.
+Values: [2..6]
+Default: 0
+.TP
+.B \fB\-\-vid_aa_kind\fP value
+Sets an anti\-aliasing mode.
+Applicable only for 3D\-rendering.
+Values: none or msaa
+Default: none
+.TP
+.B \fB\-\-vid_aa_degree\fP value
+Sets a degree of the anti\-aliasing.
+Applicable only for 3D\-rendering.
+Values: [2..32]
+Default: 1
+.TP
+.B \fB\-\-vid_filler_color_index\fP value
+Sets a color for screen bars.
+Values: [0..255]
+Default: 0
+.TP
+.B \fB\-\-vid_external_textures\fP value
+Toggles external textures.
+Values: 0 (disable), 1 (enable).
+Default: 0
+.TP
+.B \fB\-\-snd_is_disabled\fP value
+Enables or disables audio subsystem.
+Values: 0 (disable) or 1 (enable)
+Default: 0
+.TP
+.B \fB\-\-snd_rate\fP sampling_rate
Specifies sampling rate of mixer in hertz.
-Default: 44100 Hz
-Minimum: 11025 Hz
+Default: 44100
+Minimum: 11025
.TP
-.B \fI\-\-snd_mix_size duration\fP
+.B \fB\-\-snd_mix_size\fP duration
Specifies mix data size in milliseconds.
-Default: 40 ms
-Minimum: 20 ms
+Default: 40
+Minimum: 20
+.TP
+.B \fB\-\-snd_driver\fP value
+Specifies the audio driver to use.
+Values: auto\-detect, 2d_sdl (2D SDL), 3d_openal (3D OpenAL)
+Default: auto\-detect
+Auto\-detect order: 3d_openal, 2d_sdl
+.TP
+.B \fB\-\-snd_oal_library\fP value
+Specifies OpenAL driver\(aqs name.
+Default: "" (OpenAL32.dll on Windows and libopenal.so on non\-Windows system).
+.TP
+.B \fB\-\-snd_oal_device_name\fP value
+Specifies OpenAL device name.
+Default: ""
+.TP
+.B \fB\-\-snd_sfx_type\fP value
+Specifies SFX type.
+Values: adlib (AdLib) or pc_speaker (PC Speaker)
+Default: adlib
+.TP
+.B \fB\-\-snd_is_sfx_digitized\fP value
+Toggles SFX digitization.
+If enabled overrides AdLib / PC Speaker SFX audio chunk if such one is available in AUDIOT.* file.
+Values: 0 (disable) or 1 (enable)
+Default: 1
+.TP
+.B \fB\-\-snd_opl3_type\fP value
+Specifies OPL3 emulator type.
+Values: dbopl (DOSBox) or nuked (Nuked)
+Default: dbopl
+.TP
+.B \fB\-\-calculate_hashes\fP
+Calculates hashes (SHA\-1) of all resource files and outputs them into the log.
+.TP
+.B \fB\-\-extract_vga_palette\fP dir
+Extracts VGA palette into existing directory dir.
+Supported file format: \fB\&.bmp\fP
+.TP
+.B \fB\-\-extract_walls\fP dir
+Extracts graphics resources (wall, flooring, etc.) into existing directory dir.
+Supported file format: \fB\&.bmp\fP
+.TP
+.B \fB\-\-extract_sprites\fP dir
+Extracts graphics resources (actors, decorations, etc.) into existing directory dir.
+Supported file format: \fB\&.bmp\fP
+.TP
+.B \fB\-\-extract_music\fP dir
+Extracts music resources into existing directory dir.
+Supported file format: \fB\&.wav\fP
+Supported file format: data (unprocessed)
+.TP
+.B \fB\-\-extract_sfx\fP dir
+Extracts sfx resources into existing directory dir.
+Supported file format: \fB\&.wav\fP
+Supported file format: data (unprocessed)
+.TP
+.B \fB\-\-extract_texts\fP dir
+Extracts text resources into existing directory dir.
+Supported file format: \fB\&.txt\fP
+.TP
+.B \fB\-\-extract_all\fP dir
+Extracts all resources (walls, sprites, etc.) into existing directory dir.
.UNINDENT
.SH COPYRIGHT
.sp
-See the file /usr/doc/bstone\-1.1.7/LICENSE for license information.
+See the file /usr/doc/bstone\-1.1.12/LICENSE for license information.
.SH AUTHORS
.sp
bstone was written by Boris I. Bendovsky, based on an original
diff --git a/games/bstone/bstone.SlackBuild b/games/bstone/bstone.SlackBuild
index 0cd4450a5c..1c518cdd88 100644
--- a/games/bstone/bstone.SlackBuild
+++ b/games/bstone/bstone.SlackBuild
@@ -1,24 +1,38 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for bstone
-# Written by B. Watson (yalhcru@gmail.com)
+# Written by B. Watson (urchlay@slackware.uk)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20230111 bkw: update for v1.2.12.
+
+# 20211004 bkw:
+# - update for v1.2.11.
+# - include .txt version of license.
+# - datadir.diff changed again.
+# - update .desktop file.
+# - better README doc on how to play the full version.
+
+# 20201219 bkw: update for v1.2.9.
+# 20200804 bkw: update for v1.2.8. datadir.diff changed again.
+# 20200222 bkw: update for v1.1.16_2.
# 20191127 bkw: update for v1.1.14. datadir.diff had to change so we can't
# build old versions any more.
-
# 20170921 bkw: update for v1.1.9.
-
# 20170807 bkw: update for v1.1.8, use upstream's icon instead of mine.
-
# 20170621 bkw: fix build on -current
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=bstone
-VERSION=${VERSION:-1.1.14}
+VERSION=${VERSION:-1.2.12}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+SRCVER=${VERSION/_/-}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -28,7 +42,11 @@ if [ -z "$ARCH" ]; then
esac
fi
-CWD=$(pwd)
+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}
@@ -52,9 +70,9 @@ 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
+rm -rf $PRGNAM-$SRCVER
+tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
+cd $PRGNAM-$SRCVER
chown -R root:root .
find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
\! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
@@ -66,7 +84,8 @@ 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.
+# automatically use it if the user hasn't installed the full version,
+# or offer a choice of full version or shareware if he has both.
mkdir -p build
cd build
cmake \
@@ -75,11 +94,11 @@ cd build
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DMAN_INSTALL_DIR=/usr/man \
- -DCMAKE_BUILD_TYPE=Release ../src
+ -DCMAKE_BUILD_TYPE=Release ..
make
mkdir -p $PKG/usr/games $PKG/usr/share/games/$PRGNAM
- install -s -m0755 $PRGNAM $PKG/usr/games
+ install -s -m0755 src/$PRGNAM $PKG/usr/games
unzip $CWD/1bs30.zip
unzip BSSW30.SHR \*.BS1
@@ -93,13 +112,21 @@ 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 src/bstone_todo.txt $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+# the original source code license is supplied only as a MS word .doc
+# file. we ship it as-is, but rename it to something without spaces in
+# the filename. also, ship a pre-converted text version (created with
+# wvText, then hand-edited to fix the formatting).
+PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
+LIC=blake_stone_source_code_license
+mkdir -p $PKGDOC
+cp -a LICENSE README.md TODO.md CHANGE* $PKGDOC
+cp -a *.doc $PKGDOC/$LIC.doc
+cat $CWD/$LIC.txt > $PKGDOC/$LIC.txt
+cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$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}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/games/bstone/bstone.desktop b/games/bstone/bstone.desktop
index 57071359d0..0ef74b419e 100644
--- a/games/bstone/bstone.desktop
+++ b/games/bstone/bstone.desktop
@@ -1,7 +1,8 @@
[Desktop Entry]
Type=Application
Name=Blake Stone
-Icon=bstone
-Exec=bstone
+GenericName=First Person Shooting Game
+Icon=/usr/share/pixmaps/bstone.png
+Exec=/usr/games/bstone
Terminal=false
Categories=Game;ActionGame;
diff --git a/games/bstone/bstone.info b/games/bstone/bstone.info
index 7c3384ea2d..257a6a6c63 100644
--- a/games/bstone/bstone.info
+++ b/games/bstone/bstone.info
@@ -1,12 +1,12 @@
PRGNAM="bstone"
-VERSION="1.1.14"
-HOMEPAGE="http://bibendovsky.github.io/bstone/"
-DOWNLOAD="https://github.com/bibendovsky/bstone/archive/v1.1.14/bstone-1.1.14.tar.gz \
+VERSION="1.2.12"
+HOMEPAGE="https://bibendovsky.github.io/bstone/"
+DOWNLOAD="https://github.com/bibendovsky/bstone/archive/v1.2.12/bstone-1.2.12.tar.gz \
https://archive.org/download/BlakeStoneAliensOfGold/1bs30.zip"
-MD5SUM="3da8860ffeff60e33b69d142170231e8 \
+MD5SUM="5975da0506152a67d955d2d768d241ae \
a63c88fc5b399ffb5ed42dc215321f36"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="SDL2"
+REQUIRES=""
MAINTAINER="B. Watson"
-EMAIL="yalhcru@gmail.com"
+EMAIL="urchlay@slackware.uk"
diff --git a/games/bstone/bstone.rst b/games/bstone/bstone.rst
index 83ee8fd209..d24683b478 100644
--- a/games/bstone/bstone.rst
+++ b/games/bstone/bstone.rst
@@ -2,13 +2,9 @@
.. rst2man.py bstone.rst > bstone.6
.. rst2man.py comes from the SBo development/docutils package.
-.. |version| replace:: 1.1.7
+.. |version| replace:: 1.1.12
.. |date| date::
-.. converting from pod:
-.. s/B<\([^>]*\)>/**\1**/g
-.. s/I<\([^>]*\)>/*\1*/g
-
======
bstone
======
@@ -64,97 +60,227 @@ 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.
-*--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)" mode.
+ If appropriate data files are not found, the port will fail.
-*--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**
+ Switches the port to "Blake Stone: Aliens Of Gold" mode.
+ If appropriate data files are not found, the port will fail.
-*--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
+**--ps**
+ Switches the port to "Blake Stone: Planet Strike" mode.
+ If appropriate data files are not found, the port will fail.
-*--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
+**--no_screens**
+ Skips start-up screens and the ending promo pages (AOG SW).
-*--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
+**--cheats**
+ Enables so called "debug mode" without much fuss.
-*--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
+**--data_dir** dir
+ Specifies a directory with game's resource files.
+ Default: */usr/share/games/bstone*
-*--no_screens*
- Skips start-up screens (AoG/PS) and ending promo pages (AoG SW only).
+**--mod_dir** dir
+ Specifies a directory with mod's resource files.
+ Default: undefined.
-*--cheats*
- Enables so called "debug mode" without much fuss.
+**--profile_dir** dir
+ Overrides default directory of the game's profile files.
+ Default: *~/.local/share/bibendovsky/bstone/*
+
+**--vid_renderer** value
+ Select a renderer.
+ Values:
+
+ - auto_detect - tries to select the best renderer.
+ - software - the vanilla renderer.
+ - gl_2_0 - OpenGL 2.0 or higher.
+ - gl_3_2_c - OpenGL 3.2 core or higher.
+ - gles_2_0 - OpenGL ES 2.0 or higher.
-*--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*
+ Default: auto_detect
+
+**--vid_width** width
+ Specifies window width.
+ Minimum width: 320
+ Default width: 640
+
+**--vid_height** height
+ Specifies window height.
+ Minimum height: 240
+ Default height: 480
+
+**--vid_x** offset
Sets a horizontal offset from the left side of the desktop screen.
- Applicable for windowed mode only.
+ Applicable for positionable window only.
+ Default: 0
-*--vid_window_y offset*
+**--vid_y** offset
Sets a vertical offset from the top side of the desktop screen.
- Applicable for windowed mode only.
-
-*--snd_rate sampling_rate*
+ Applicable for positionable window only.
+ Default: 0
+
+**--vid_is_positioned** value
+ Centers a window on the desktop or moves it in the specified position.
+ Values: 0 (centered) or 1 (positioned)
+ Default: 0
+
+**--vid_is_vsync** value
+ Enables or disables vertical synchronization.
+ Values: 0 (disable) or 1 (enable)
+ Default: 1
+
+**--vid_is_widescreen** value
+ Enables or disables widescreen rendering.
+ Values: 0 (disable) or 1 (enable)
+ Default: 1
+
+**--vid_is_ui_stretched** value
+ Stretches the UI or keeps it at 4x3 ratio otherwise.
+ Values: 0 (non-stretched) or 1 (stretched)
+ Default: 0
+
+**--vid_2d_texture_filter** filter
+ Sets texturing filter for UI.
+ Applicable only for 3D-rendering.
+ Values: nearest or linear
+ Default: nearest
+
+**--vid_3d_texture_image_filter** filter
+ Sets texturing image filter for the scene.
+ Applicable only for 3D-rendering.
+ Values: nearest or linear
+ Default: nearest
+
+**--vid_3d_texture_mipmap_filter** filter
+ Sets texturing mipmap filter for the scene.
+ Applicable only for 3D-rendering.
+ Values: nearest or linear
+ Default: nearest
+
+**--vid_3d_texture_anisotropy** value
+ Sets anisotropy degree for the scene.
+ Value 1 or lower disables the filter.
+ Applicable only for 3D-rendering.
+ Values: [1..16]
+ Default: 1
+
+**--vid_texture_upscale_filter** filter
+ Sets texturing upscale filter.
+ Applicable only for 3D-rendering.
+ Values: none or xbrz
+ Default: none
+ **WARNING** xbrz is a high resource usage filter!
+
+**--vid_texture_upscale_xbrz_degree** degree
+ Sets a degree of xBRZ texturing upscale.
+ Applicable only for 3D-rendering.
+ Values: [2..6]
+ Default: 0
+
+**--vid_aa_kind** value
+ Sets an anti-aliasing mode.
+ Applicable only for 3D-rendering.
+ Values: none or msaa
+ Default: none
+
+**--vid_aa_degree** value
+ Sets a degree of the anti-aliasing.
+ Applicable only for 3D-rendering.
+ Values: [2..32]
+ Default: 1
+
+**--vid_filler_color_index** value
+ Sets a color for screen bars.
+ Values: [0..255]
+ Default: 0
+
+**--vid_external_textures** value
+ Toggles external textures.
+ Values: 0 (disable), 1 (enable).
+ Default: 0
+
+**--snd_is_disabled** value
+ Enables or disables audio subsystem.
+ Values: 0 (disable) or 1 (enable)
+ Default: 0
+
+**--snd_rate** sampling_rate
Specifies sampling rate of mixer in hertz.
- Default: 44100 Hz
- Minimum: 11025 Hz
+ Default: 44100
+ Minimum: 11025
-*--snd_mix_size duration*
+**--snd_mix_size** duration
Specifies mix data size in milliseconds.
- Default: 40 ms
- Minimum: 20 ms
+ Default: 40
+ Minimum: 20
+
+**--snd_driver** value
+ Specifies the audio driver to use.
+ Values: auto-detect, 2d_sdl (2D SDL), 3d_openal (3D OpenAL)
+ Default: auto-detect
+ Auto-detect order: 3d_openal, 2d_sdl
+
+**--snd_oal_library** value
+ Specifies OpenAL driver's name.
+ Default: "" (OpenAL32.dll on Windows and libopenal.so on non-Windows system).
+
+**--snd_oal_device_name** value
+ Specifies OpenAL device name.
+ Default: ""
+
+**--snd_sfx_type** value
+ Specifies SFX type.
+ Values: adlib (AdLib) or pc_speaker (PC Speaker)
+ Default: adlib
+
+**--snd_is_sfx_digitized** value
+ Toggles SFX digitization.
+ If enabled overrides AdLib / PC Speaker SFX audio chunk if such one is available in AUDIOT.* file.
+ Values: 0 (disable) or 1 (enable)
+ Default: 1
+
+**--snd_opl3_type** value
+ Specifies OPL3 emulator type.
+ Values: dbopl (DOSBox) or nuked (Nuked)
+ Default: dbopl
+
+**--calculate_hashes**
+ Calculates hashes (SHA-1) of all resource files and outputs them into the log.
+
+**--extract_vga_palette** dir
+ Extracts VGA palette into existing directory dir.
+ Supported file format: **.bmp**
+
+**--extract_walls** dir
+ Extracts graphics resources (wall, flooring, etc.) into existing directory dir.
+ Supported file format: **.bmp**
+
+**--extract_sprites** dir
+ Extracts graphics resources (actors, decorations, etc.) into existing directory dir.
+ Supported file format: **.bmp**
+
+**--extract_music** dir
+ Extracts music resources into existing directory dir.
+ Supported file format: **.wav**
+ Supported file format: data (unprocessed)
+
+**--extract_sfx** dir
+ Extracts sfx resources into existing directory dir.
+ Supported file format: **.wav**
+ Supported file format: data (unprocessed)
+
+**--extract_texts** dir
+ Extracts text resources into existing directory dir.
+ Supported file format: **.txt**
+
+**--extract_all** dir
+ Extracts all resources (walls, sprites, etc.) into existing directory dir.
COPYRIGHT
=========
diff --git a/games/bstone/datadir.diff b/games/bstone/datadir.diff
index ebb339fe27..268c10e3c1 100644
--- a/games/bstone/datadir.diff
+++ b/games/bstone/datadir.diff
@@ -1,7 +1,7 @@
-diff -Naur bstone-1.1.14/src/3d_main.cpp bstone-1.1.14.patched/src/3d_main.cpp
---- bstone-1.1.14/src/3d_main.cpp 2019-11-09 05:08:15.000000000 -0500
-+++ bstone-1.1.14.patched/src/3d_main.cpp 2019-11-27 14:08:41.481084182 -0500
-@@ -10523,24 +10523,7 @@
+diff -Naur bstone-1.2.11/src/3d_main.cpp bstone-1.2.11.patched/src/3d_main.cpp
+--- bstone-1.2.11/src/3d_main.cpp 2021-03-21 15:24:36.000000000 -0400
++++ bstone-1.2.11.patched/src/3d_main.cpp 2021-10-04 19:12:08.818938051 -0400
+@@ -10711,20 +10711,7 @@
const std::string& get_default_data_dir()
{
@@ -12,18 +12,25 @@ diff -Naur bstone-1.1.14/src/3d_main.cpp bstone-1.1.14.patched/src/3d_main.cpp
- {
- is_initialized = true;
-
-- auto sdl_dir = ::SDL_GetBasePath();
+- result = bstone::file_system::get_working_dir();
-
-- if (sdl_dir)
-- {
-- result = sdl_dir;
-- ::SDL_free(sdl_dir);
-- }
-- }
-#ifdef __vita__
-- result = "ux0:/data/bstone/";
+- result = "ux0:/data/bstone/";
-#endif
+- }
+-
+ static std::string result = "/usr/share/games/bstone/";
return result;
}
+diff -Naur bstone-1.2.11/src/jm_free.cpp bstone-1.2.11.patched/src/jm_free.cpp
+--- bstone-1.2.11/src/jm_free.cpp 2021-03-21 15:24:36.000000000 -0400
++++ bstone-1.2.11.patched/src/jm_free.cpp 2021-10-04 19:12:39.570935256 -0400
+@@ -718,6 +718,7 @@
+ bstone::file_system::get_working_dir());
+
+ add_search_path("working dir", working_full_dir, search_paths);
++ add_search_path("system dir", "/usr/share/games/bstone", search_paths);
+ }
+
+ {
diff --git a/games/bstone/slack-desc b/games/bstone/slack-desc
index 8bf8b43f38..89634612e8 100644
--- a/games/bstone/slack-desc
+++ b/games/bstone/slack-desc
@@ -9,8 +9,8 @@
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: Planet Strike. This package includes the game data for Aliens of Gold
+bstone: v3.0 Shareware.
bstone:
bstone:
bstone: