mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-20 19:41:34 +01:00
games/KoboDeluxe: New maintainer, various fixes.
Signed-off-by: B. Watson <urchlay@slackware.uk> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
parent
74044db7b9
commit
e85714a423
10 changed files with 260 additions and 50 deletions
40
games/KoboDeluxe/02_paths.patch
Normal file
40
games/KoboDeluxe/02_paths.patch
Normal file
|
@ -0,0 +1,40 @@
|
|||
# Disable reading of configs, graphics, and data from the current directory.
|
||||
# So it's safe to run kobodeluxe from anywhere w/o worry about an attacker
|
||||
# feeding it bad data.
|
||||
--- kobodeluxe-0.5.1.orig/kobo.cpp
|
||||
+++ kobodeluxe-0.5.1/kobo.cpp
|
||||
@@ -141,21 +141,21 @@
|
||||
* Graphics data
|
||||
*/
|
||||
/* Current dir; from within the build tree */
|
||||
- fmap->addpath("GFX", "./data/gfx");
|
||||
+ //fmap->addpath("GFX", "./data/gfx");
|
||||
/* Real data dir */
|
||||
fmap->addpath("GFX", "DATA>>gfx");
|
||||
/* Current dir */
|
||||
- fmap->addpath("GFX", "./gfx");
|
||||
+ //fmap->addpath("GFX", "./gfx");
|
||||
|
||||
/*
|
||||
* Sound data
|
||||
*/
|
||||
/* Current dir; from within the build tree */
|
||||
- fmap->addpath("SFX", "./data/sfx");
|
||||
+ //fmap->addpath("SFX", "./data/sfx");
|
||||
/* Real data dir */
|
||||
fmap->addpath("SFX", "DATA>>sfx");
|
||||
/* Current dir */
|
||||
- fmap->addpath("SFX", "./sfx");
|
||||
+ //fmap->addpath("SFX", "./sfx");
|
||||
|
||||
/*
|
||||
* Score files (user and global)
|
||||
@@ -173,7 +173,7 @@
|
||||
/* System local */
|
||||
fmap->addpath("CONFIG", SYSCONF_DIR);
|
||||
/* In current dir (last resort) */
|
||||
- fmap->addpath("CONFIG", "./");
|
||||
+ //fmap->addpath("CONFIG", "./");
|
||||
}
|
||||
|
||||
|
|
@ -2,27 +2,29 @@
|
|||
|
||||
# Slackware build script for Kobo Deluxe
|
||||
|
||||
# Written by Rubén Llorente <porting@use.startmail.com>
|
||||
# Written by Rubén Llorente <email removed>
|
||||
# Updated and maintained by B. Watson <urchlay@slackware.uk>
|
||||
|
||||
# This script is of public domain. It can be distributed, modified and used as desired.
|
||||
|
||||
# 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.
|
||||
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
|
||||
|
||||
# 20230804 bkw, BUILD=2:
|
||||
# - take over maintenance.
|
||||
# - relicense as WTFPL.
|
||||
# - install binary stripped.
|
||||
# - add patch from Debian to allow the game to be unpaused. apparently
|
||||
# this has been broken at least since Slackware 15.0 released,
|
||||
# maybe even before that.
|
||||
# - include upstream's icons in the package (and remove ours).
|
||||
# - update .desktop file.
|
||||
# - mention Bosconian in the README, since this game is basically a
|
||||
# remake of it with a few enhancements.
|
||||
# - fix typos and grammar in man page, and extend the CONTROLS section.
|
||||
|
||||
cd $(dirname $0) ; CWD=$(pwd)
|
||||
|
||||
PRGNAM=KoboDeluxe
|
||||
VERSION=${VERSION:-0.5.1}
|
||||
BUILD=${BUILD:-1}
|
||||
BUILD=${BUILD:-2}
|
||||
TAG=${TAG:-_SBo}
|
||||
PKGTYPE=${PKGTYPE:-tgz}
|
||||
|
||||
|
@ -34,9 +36,6 @@ if [ -z "$ARCH" ]; then
|
|||
esac
|
||||
fi
|
||||
|
||||
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
|
||||
# the name of the created package would be, and then exit. This information
|
||||
# could be useful to other scripts.
|
||||
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
|
||||
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
|
||||
exit 0
|
||||
|
@ -66,20 +65,29 @@ rm -rf $PKG
|
|||
mkdir -p $TMP $PKG $OUTPUT $PKG/install
|
||||
cd $TMP
|
||||
rm -rf $PRGNAM-$VERSION
|
||||
tar xvjf $CWD/$PRGNAM-$VERSION.tar.bz2
|
||||
cp -t $TMP $CWD/kobodeluxe-0.5.1-glibc2.10.patch $CWD/kobodeluxe-gcc-4.3.patch
|
||||
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
|
||||
cd $PRGNAM-$VERSION
|
||||
tar xvf icons.tar.gz
|
||||
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 {} \;
|
||||
find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} + -o \
|
||||
\! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} +
|
||||
|
||||
# This patches are incuded to fix compilation bugs.
|
||||
# I want to thank the Arch comunity for making them availible.
|
||||
patch -p0 <$TMP/kobodeluxe-0.5.1-glibc2.10.patch
|
||||
patch -p0 <$TMP/kobodeluxe-gcc-4.3.patch
|
||||
# These patches are incuded to fix compilation bugs.
|
||||
# I want to thank the Arch community for making them availible.
|
||||
patch -p0 < $CWD/kobodeluxe-0.5.1-glibc2.10.patch
|
||||
patch -p0 < $CWD/kobodeluxe-gcc-4.3.patch
|
||||
|
||||
# 20230804 bkw: patch from Debian. Without this, the game starts
|
||||
# up in Paused mode, and cannot be unpaused.
|
||||
patch -p1 < $CWD/ignore-appinputfocus.patch
|
||||
|
||||
# 20230804 bkw: another Debian patch, prevents the game from looking
|
||||
# in the current directory for data.
|
||||
patch -p1 < $CWD/02_paths.patch
|
||||
|
||||
# 20230804 bkw: fix typos/grammar and document the pause and screenshot
|
||||
# keystrokes.
|
||||
patch -p1 < $CWD/manpagefix.diff
|
||||
|
||||
CFLAGS="$SLKCFLAGS" \
|
||||
CXXFLAGS="$SLKCFLAGS" \
|
||||
|
@ -95,18 +103,25 @@ CXXFLAGS="$SLKCFLAGS" \
|
|||
--build=$ARCH-slackware-linux
|
||||
|
||||
make
|
||||
make install DESTDIR=$PKG
|
||||
make install-strip DESTDIR=$PKG
|
||||
gzip -9 $PKG/usr/man/man*/*
|
||||
|
||||
find $PKG/usr/man -type f -exec gzip -9 {} \;
|
||||
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
|
||||
# 20230804 bkw: upstream included prescaled icons in icons.tar.gz.
|
||||
for i in icons/KDE/icons/*; do
|
||||
size="$( basename $i )"
|
||||
dir=$PKG/usr/share/icons/hicolor/$size/apps
|
||||
mkdir -p $dir
|
||||
cp -a $i/kobodl.png $dir
|
||||
done
|
||||
|
||||
mkdir -p $PKG/usr/share/{applications,pixmaps}
|
||||
cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
|
||||
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
|
||||
ln -s ../icons/hicolor/48x48/apps/kobodl.png $PKG/usr/share/pixmaps
|
||||
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a COPYING README* ChangeLog TODO $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
|
||||
mkdir -p $PKGDOC
|
||||
cp -a COPYING README* ChangeLog TODO $PKGDOC
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
|
||||
|
||||
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||
cat $CWD/doinst.sh > $PKG/install/doinst.sh
|
||||
|
|
|
@ -1,7 +1,14 @@
|
|||
[Desktop Entry]
|
||||
Name=Kobo Deluxe
|
||||
GenericName=Kobo Deluxe, a retro arcade-style game
|
||||
Exec=kobodl
|
||||
Icon=KoboDeluxe
|
||||
Type=Application
|
||||
Name=Kobo Deluxe
|
||||
Name[nl]=Kobo Deluxe
|
||||
Comment=Destroy enemy bases in space
|
||||
Comment[nl]=Schiet vijandelijke bases in de ruimte kapot
|
||||
Comment[fr]=Détruire des bases ennemies dans l'espace
|
||||
GenericName=Arcade Game
|
||||
GenericName[nl]=Arcadespel
|
||||
GenericName[fr]=Jeu d'Arcade
|
||||
Exec=/usr/games/kobodl
|
||||
Icon=kobodl
|
||||
Terminal=false
|
||||
Categories=Game;ArcadeGame;
|
||||
|
|
|
@ -6,5 +6,5 @@ MD5SUM="cb5dcdaf07ccad18a921058138dedc4a"
|
|||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
REQUIRES=""
|
||||
MAINTAINER="Rubén Llorente"
|
||||
EMAIL="porting@use.startmail.com"
|
||||
MAINTAINER="B. Watson"
|
||||
EMAIL="urchlay@slackware.uk"
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 5.1 KiB |
|
@ -1,6 +1,11 @@
|
|||
KoboDeluxe (2d space shooting game)
|
||||
|
||||
Kobo is a game based on Xkobo. It is a 2D scrolling shooting game
|
||||
where you must destroy every enemy starbase you find in each stage,
|
||||
while avoiding being taken down by their defenses, the enemy ships,
|
||||
the asteroids...
|
||||
|
||||
Tons of good old arcade endless action.
|
||||
Gameplay is very similar to the classic arcade game Bosconian, from
|
||||
1981.
|
||||
|
||||
The executable and man page are called "kobodl".
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
if [ -x /usr/bin/update-desktop-database ]; then
|
||||
/usr/bin/update-desktop-database usr/share/applications &> /dev/null
|
||||
/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
|
||||
|
|
17
games/KoboDeluxe/ignore-appinputfocus.patch
Normal file
17
games/KoboDeluxe/ignore-appinputfocus.patch
Normal file
|
@ -0,0 +1,17 @@
|
|||
Description: ignore SDL_ACTIVEEVENT with SDL_APPINPUTFOCUS flag
|
||||
These events seem to come all the time, causing a pause which can't be
|
||||
unpaused
|
||||
Bug-Debian: https://bugs.debian.org/909244
|
||||
Author: Reiner Herrmann <reiner@reiner-h.de>
|
||||
|
||||
--- a/kobo.cpp
|
||||
+++ b/kobo.cpp
|
||||
@@ -1691,7 +1691,7 @@ void kobo_gfxengine_t::frame()
|
||||
break;
|
||||
case SDL_ACTIVEEVENT:
|
||||
// Any type of focus loss should activate pause mode!
|
||||
- if(!ev.active.gain)
|
||||
+ if(!ev.active.gain && ev.active.state != SDL_APPINPUTFOCUS)
|
||||
km.pause_game();
|
||||
break;
|
||||
case SDL_QUIT:
|
120
games/KoboDeluxe/manpagefix.diff
Normal file
120
games/KoboDeluxe/manpagefix.diff
Normal file
|
@ -0,0 +1,120 @@
|
|||
diff -Naur KoboDeluxe-0.5.1/kobodl.6 KoboDeluxe-0.5.1.patched/kobodl.6
|
||||
--- KoboDeluxe-0.5.1/kobodl.6 2007-12-26 15:15:10.000000000 -0500
|
||||
+++ KoboDeluxe-0.5.1.patched/kobodl.6 2023-08-04 18:04:07.069016990 -0400
|
||||
@@ -1,14 +1,14 @@
|
||||
-.TH KOBODL 6 "26 December 2007"
|
||||
+.TH KOBODL 6 "4 August 2023" 0.5.1 SlackBuilds.org
|
||||
.SH NAME
|
||||
-kobodl - Kobo Deluxe, an enhanced version of the scrolling game XKobo
|
||||
+kobodl \- Kobo Deluxe, an enhanced version of the scrolling game XKobo
|
||||
.SH SYNOPSIS
|
||||
.B kobodl
|
||||
[
|
||||
.I options
|
||||
]
|
||||
.SH DESCRIPTION
|
||||
-Kobo Deluxe is a 3'rd person scrolling 2D shooter with a simple and responsive
|
||||
-control system - which you'll need to tackle the tons of enemy ships that shoot
|
||||
+Kobo Deluxe is a 3rd person scrolling 2D shooter with a simple and responsive
|
||||
+control system \- which you'll need to tackle the tons of enemy ships that shoot
|
||||
at you, chase you, circle around you shooting, or even launch other ships at
|
||||
you, while you're trying to destroy the labyrinth shaped bases. There are 50
|
||||
action packed levels with smoothly increasing difficulty, and different
|
||||
@@ -31,10 +31,15 @@
|
||||
.SH CONTROLS
|
||||
The ship can be controlled with the keyboard, or optionally a mouse or
|
||||
joystick. With the keyboard, the arrow keys move the ship (two keys for
|
||||
-diagonals), and the shift and ctrl keys shoots. The numeric key pad can also be
|
||||
+diagonals), and the Shift or Ctrl key shoots. The numeric key pad can also be
|
||||
used; the usual 2/4/6/8 (arrows), and also 1/3/7/9 for single key diagonals.
|
||||
-Escape enters the meny system, from where it is possible to change settings,
|
||||
+Escape enters the menu system, from where it is possible to change settings,
|
||||
start a new game or exit the game.
|
||||
+.P
|
||||
+During gameplay, you can press P or the Pause key to pause/unpause the game.
|
||||
+PrintScreen or SysRq saves a screenshot of the game to a file in the current
|
||||
+directory named \fBscreenXX.bmp\fR, where the \fBXX\fR is a number from 00
|
||||
+to 99.
|
||||
.SH OPTIONS
|
||||
Note that all relevant options can be also configured in the config file,
|
||||
which can be edited directly, or using the options menus in the game.
|
||||
@@ -70,7 +75,7 @@
|
||||
Always Fire. Default: Off.
|
||||
.TP
|
||||
.B \-[no]mousecapture
|
||||
-In-game Mouse Capture. Default: On.
|
||||
+In\-game Mouse Capture. Default: On.
|
||||
.TP
|
||||
.B \-scrollradar
|
||||
Radar Scroll Mode. Default: 2.
|
||||
@@ -130,7 +135,7 @@
|
||||
Sound Effects Volume. Default: 100.
|
||||
.TP
|
||||
.B \-music_vol
|
||||
-In-Game Music Volume. Default: 30.
|
||||
+In\-Game Music Volume. Default: 30.
|
||||
.TP
|
||||
.B \-reverb
|
||||
Reverb Level. Default: 100.
|
||||
@@ -176,7 +181,7 @@
|
||||
Enable Vertical Sync. Default: On.
|
||||
.TP
|
||||
.B \-videopages
|
||||
-Number of Video Pages. Default: -1.
|
||||
+Number of Video Pages. Default: \-1.
|
||||
.TP
|
||||
.B \-scalemode
|
||||
Scaling Filter Mode. Default: 1.
|
||||
@@ -200,13 +205,13 @@
|
||||
Contrast. Default: 100.
|
||||
.TP
|
||||
.B \-files
|
||||
-Specify the root path of the game. Default: ""
|
||||
+Specify the root path of the game. Default: "/usr/share/kobo-deluxe"
|
||||
.TP
|
||||
.B \-gfx
|
||||
-Specify the path to the game's graphics data. Default: ""
|
||||
+Specify the path to the game's graphics data. Default: "/usr/share/kobo-deluxe/gfx"
|
||||
.TP
|
||||
.B \-sfx
|
||||
-Specify the path to the game's sound data. Default: ""
|
||||
+Specify the path to the game's sound data. Default: "/usr/share/kobo-deluxe/sfx"
|
||||
.TP
|
||||
.B \-scores
|
||||
Specify the path to the game's score files. Default: ""
|
||||
@@ -285,11 +290,15 @@
|
||||
(Not saved!) Print options for 'man'. Default: Off.
|
||||
.SH FILES
|
||||
.TP
|
||||
+.B /var/games/kobo-deluxe/scores/
|
||||
+High score files are stored here. These are binary files,
|
||||
+not human\-readable; use the \fB\-hiscores\fR option to view them.
|
||||
+.TP
|
||||
.B ~/.kobodlrc
|
||||
-The per-user configuration file for Kobo Deluxe.
|
||||
+The per\-user configuration file for Kobo Deluxe.
|
||||
.SH AUTHORS
|
||||
Originally written by
|
||||
-Akira Higuchi (a-higuti@math.hokudai.ac.jp), XKobo was turned into Kobo
|
||||
+Akira Higuchi (a\-higuti@math.hokudai.ac.jp), XKobo was turned into Kobo
|
||||
Deluxe by David Olofson <david@olofson.net>
|
||||
.SH THANKS
|
||||
Thanks, in no particular order, to...
|
||||
@@ -364,7 +373,7 @@
|
||||
.P
|
||||
Copyright (C) 1997 Masanao Izumo
|
||||
.P
|
||||
-Copyright (C) 1999-2001 Simon Peter
|
||||
+Copyright (C) 1999\-2001 Simon Peter
|
||||
.P
|
||||
Copyright (C) 2002 Florian Schulze
|
||||
.P
|
||||
@@ -372,7 +381,7 @@
|
||||
.P
|
||||
Copyright (C) 2005 Erik Auerswald
|
||||
.P
|
||||
-Copyright (c) 1999-2007 David Olofson
|
||||
+Copyright (c) 1999\-2007 David Olofson
|
||||
.P
|
||||
\fBKobo Deluxe\fP is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License.
|
|
@ -6,14 +6,14 @@
|
|||
# customary to leave one space after the ':' except on otherwise blank lines.
|
||||
|
||||
|-----handy-ruler------------------------------------------------------|
|
||||
KoboDeluxe: KoboDeluxe (Simple space shooting game)
|
||||
KoboDeluxe: KoboDeluxe (2d space shooting game)
|
||||
KoboDeluxe:
|
||||
KoboDeluxe: Kobo is a game based in Xkobo. It is a 2D scrolling shooting
|
||||
KoboDeluxe: game where you must destroy every enemy starbase you find in
|
||||
KoboDeluxe: each stage, while avoiding being taken down by their defenses,
|
||||
KoboDeluxe: the enemy ships, the asteroids...
|
||||
KoboDeluxe:
|
||||
KoboDeluxe: Tons of good old arcade endless action.
|
||||
KoboDeluxe: Kobo is a game based on Xkobo. It is a 2D scrolling shooting game
|
||||
KoboDeluxe: where you must destroy every enemy starbase you find in each stage,
|
||||
KoboDeluxe: while avoiding being taken down by their defenses, the enemy ships,
|
||||
KoboDeluxe: the asteroids...
|
||||
KoboDeluxe:
|
||||
KoboDeluxe: Gameplay is very similar to the classic arcade game Bosconian, from
|
||||
KoboDeluxe: 1981.
|
||||
KoboDeluxe:
|
||||
KoboDeluxe:
|
||||
|
|
Loading…
Reference in a new issue