From 90f23af3d250ed89b78c3227445b92db339d8516 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sat, 1 Jul 2023 14:09:33 -0400 Subject: games/zaz: Man page, leftie mousing, new-style icons. Signed-off-by: B. Watson Signed-off-by: Willy Sudiarto Raharjo --- games/zaz/README | 10 ++- games/zaz/disable_sdl_dga_mouse.diff | 14 ++++ games/zaz/doinst.sh | 6 ++ games/zaz/slack-desc | 6 +- games/zaz/zaz.6 | 143 +++++++++++++++++++++++++++++++++++ games/zaz/zaz.SlackBuild | 58 +++++++++----- games/zaz/zaz.rst | 122 ++++++++++++++++++++++++++++++ 7 files changed, 333 insertions(+), 26 deletions(-) create mode 100644 games/zaz/disable_sdl_dga_mouse.diff create mode 100644 games/zaz/zaz.6 create mode 100644 games/zaz/zaz.rst (limited to 'games/zaz') diff --git a/games/zaz/README b/games/zaz/README index a0395fcc448c..dc81a3eb2be2 100644 --- a/games/zaz/README +++ b/games/zaz/README @@ -1,7 +1,9 @@ +zaz (action/puzzle game) + Zaz is a game where the player has to get rid of incoming balls by arranging them in triplets. The idea of the game is loosely based on -games like Luxor, Zuma and Puzzle Bobble. The twists that make Zaz -stand out from other games of this type are that the balls have to -be picked from the path (insted of being randomly assigned for the -player) and that the player's "vehicle" is also attached to a path +games like Luxor, Zuma, Puzz Loop, and Puzzle Bobble. The twists that +make Zaz stand out from other games of this type are that the balls +have to be picked from the path (insted of being randomly assigned for +the player) and that the player's "vehicle" is also attached to a path which is different from level to level. diff --git a/games/zaz/disable_sdl_dga_mouse.diff b/games/zaz/disable_sdl_dga_mouse.diff new file mode 100644 index 000000000000..2d380e4db63e --- /dev/null +++ b/games/zaz/disable_sdl_dga_mouse.diff @@ -0,0 +1,14 @@ +diff -Naur zaz-1.0.0/src/main.cpp zaz-1.0.0.patched/src/main.cpp +--- zaz-1.0.0/src/main.cpp 2010-08-23 18:20:22.000000000 -0400 ++++ zaz-1.0.0.patched/src/main.cpp 2023-07-03 18:52:07.366865483 -0400 +@@ -60,6 +60,10 @@ + char *editorPhilename = 0; + char *testplayPhilename = 0; + ++ if(!getenv("SDL_VIDEO_X11_DGAMOUSE")) { ++ putenv("SDL_VIDEO_X11_DGAMOUSE=0"); ++ } ++ + resReset = false; + + if (argc > 1) diff --git a/games/zaz/doinst.sh b/games/zaz/doinst.sh index 5fb28930db0b..65c7e2eeb9aa 100644 --- a/games/zaz/doinst.sh +++ b/games/zaz/doinst.sh @@ -1,3 +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/zaz/slack-desc b/games/zaz/slack-desc index cab03718a023..4ece80f05bff 100644 --- a/games/zaz/slack-desc +++ b/games/zaz/slack-desc @@ -6,10 +6,10 @@ # customary to leave one space after the ':' except on otherwise blank lines. |-----handy-ruler------------------------------------------------------| -zaz: zaz (puzzle game) +zaz: zaz (action/puzzle game) zaz: -zaz: Zaz ain't Z*** is a puzzle game where the player has to get rid of -zaz: incoming balls by arranging them in triplets Because hackers too need +zaz: Zaz Ain't Z*** is a puzzle game where the player has to get rid of +zaz: incoming balls by arranging them in triplets. Because hackers too need zaz: to play with balls zaz: zaz: Homepage: http://zaz.sourceforge.net diff --git a/games/zaz/zaz.6 b/games/zaz/zaz.6 new file mode 100644 index 000000000000..478043df4b24 --- /dev/null +++ b/games/zaz/zaz.6 @@ -0,0 +1,143 @@ +.\" Man page generated from reStructuredText. +. +. +.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 +.. +.TH "ZAZ" 6 "2023-07-03" "1.0.0" "SlackBuilds.org" +.SH NAME +zaz \- action/puzzle game +.\" RST source for zaz(1) man page. Convert with: +. +.\" rst2man.py zaz.rst > zaz.6 +. +.\" rst2man.py comes from the SBo development/docutils package. +. +.SH SYNOPSIS +.sp +zaz [\fB\-d\fP \fIdirectory\fP] [\fB\-e\fP [\fI\-level\fP]] [\fB\-p\fP \fIlevel\fP] [\fB\-t\fP] +.SH DESCRIPTION +.sp +Zaz is a game where the player has to get rid of incoming balls by +arranging them in triplets. The idea of the game is loosely based on +games like Luxor, Zuma, Puzz Loop, and Puzzle Bobble. The twists that +make Zaz stand out from other games of this type are that the balls +have to be picked from the path (insted of being randomly assigned for +the player) and that the player\(aqs "vehicle" is also attached to a path +which is different from level to level. +.sp +The game can be controlled with either the mouse or the keyboard (see +\fBCONTROLS\fP, below). +.SH OPTIONS +.sp +These options are used for editing levels and testing them. For normal +gameplay, \fBzaz\fP should be run without options. +.INDENT 0.0 +.TP +.B \-d \fIdirectory\fP +Use \fIdirectory\fP for game data location. The default is \fI/usr/share/zaz\fP\&. +.TP +.B \-e [\fIlevel\fP] +Start up in level editing mode. If \fBlevel\fP is given, it will be loaded +into the editor, otherwise \fIdefault\fP is used. \fBlevel\fP shoould be the name +of the \fI\&.lvl\fP file, minus the \fI\&.lvl\fP extension. +Must be run from within the data directory (or a copy of it). +.TP +.B \-p \fIlevel\fP +Test\-play a level (possibly created with \fB\-e\fP). +Must be run from within the data directory (or a copy of it). +.UNINDENT +.INDENT 0.0 +.TP +.B \-t +This is supposed to run the built\-in self\-tests. However, all it seems to +do is segfault. +.UNINDENT +.SH CONTROLS +.INDENT 0.0 +.TP +.B Movement +Mouse X axis or keyboard left/right arrows. +.TP +.B Pick or Fire Ball +Mouse button 1 (normally left), keyboard Space, Enter, or down arrow. +.TP +.B Speedup (advance puzzle) +Mouse button 3 (normally right), or keyboard up arrow. +.UNINDENT +.sp +There is no way to change these keyboard/mouse control mappings. If +the keyboard movement doesn\(aqt seem to work properly (arrow keys jump +the player all the way left or right), try moving the mouse slightly. +.SH FILES +.sp +\fB$HOME/.zaz/\fP contains: +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.TP +.B \fBsettings\fP +Saved settings. Human\-readable, but normally edited within the game, +via the \fIOptions\fP menu. +.TP +.B \fBhiscores\fP +Self\-explanatory. +.TP +.B \fB*.profile\fP +Used to keep track of which levels have been unlocked. +.UNINDENT +.UNINDENT +.UNINDENT +.\" ENVIRONMENT +. +.\" =========== +. +.\" EXIT STATUS +. +.\" =========== +. +.\" BUGS +. +.\" ==== +. +.\" EXAMPLES +. +.\" ======== +. +.SH COPYRIGHT +.sp +See the file /usr/doc/zaz\-1.0.0/COPYING for license information. +.SH AUTHORS +.sp +zaz was written by Remigiusz Dybka, with music by paniQ. +.sp +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. +.SH SEE ALSO +.sp +The zaz homepage: \fI\%http://zaz.sourceforge.net\fP +.\" Generated by docutils manpage writer. +. diff --git a/games/zaz/zaz.SlackBuild b/games/zaz/zaz.SlackBuild index b6ff797b11d6..66bbc814d1f4 100644 --- a/games/zaz/zaz.SlackBuild +++ b/games/zaz/zaz.SlackBuild @@ -22,11 +22,19 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# 20230701 bkw: Modified by SlackBuilds.org, BUILD=2: +# - move binary to /usr/games. +# - new-style (prescaled) icons. +# - write and add man page. +# - patch for left-handed mouse users (disable SDL DGA mouse by default). +# - remove junk from doc dir. +# All this stuff is being done with the approval of the maintainer (MLanden). + cd $(dirname $0) ; CWD=$(pwd) PRGNAM=zaz VERSION=${VERSION:-1.0.0} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -38,9 +46,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 @@ -50,7 +55,6 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} - if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" @@ -74,31 +78,47 @@ rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 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 {} \; +find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} + -o \ + \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} + + +# 20230703 bkw: SDL 1.x apps don't always play nice with left-handed +# mouse users. This makes SDL respect the button mappings set with +# xmodmap. It doesn't cause any harm for righties, either. Thanks +# to redruM on libera ##slackware for pointing this out. +patch -p1 < $CWD/disable_sdl_dga_mouse.diff + +# 20230703 bkw: In case someone doesn't have /usr/games in $PATH: +sed -i '/Exec=/s,zaz,/usr/games/zaz,' extra/zaz.desktop LDFLAGS="-lvorbis" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ + --bindir=/usr/games \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --docdir=/usr/doc/$PRGNAM-$VERSION \ --build=$ARCH-slackware-linux make -make install DESTDIR=$PKG - -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README \ - $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +make install-strip DESTDIR=$PKG + +mkdir -p $PKG/usr/man/man6 +gzip -9c < $CWD/$PRGNAM.6 > $PKG/usr/man/man6/$PRGNAM.6.gz + +# 20230703 bkw: prescaled new-style icons. +for px in 16 22 32 48 64; do + size="${px}x${px}" + dir=$PKG/usr/share/icons/hicolor/$size/apps + mkdir -p $dir + convert -resize $size extra/zaz.xpm $dir/zaz.png +done + +# 20230701 bkw: docs already installed. INSTALL is generic GNU "how to +# run configure" and NEWS is a 0-byte placeholder, don't need. +PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION +rm $PKGDOC/{INSTALL,NEWS} +cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc diff --git a/games/zaz/zaz.rst b/games/zaz/zaz.rst new file mode 100644 index 000000000000..36b2ac1ca3c8 --- /dev/null +++ b/games/zaz/zaz.rst @@ -0,0 +1,122 @@ +.. RST source for zaz(1) man page. Convert with: +.. rst2man.py zaz.rst > zaz.6 +.. rst2man.py comes from the SBo development/docutils package. + +.. |version| replace:: 1.0.0 +.. |date| date:: + +=== +zaz +=== + +------------------ +action/puzzle game +------------------ + +:Manual section: 6 +:Manual group: SlackBuilds.org +:Date: |date| +:Version: |version| + +SYNOPSIS +======== + +zaz [**-d** *directory*] [**-e** [*-level*]] [**-p** *level*] [**-t**] + +DESCRIPTION +=========== + +Zaz is a game where the player has to get rid of incoming balls by +arranging them in triplets. The idea of the game is loosely based on +games like Luxor, Zuma, Puzz Loop, and Puzzle Bobble. The twists that +make Zaz stand out from other games of this type are that the balls +have to be picked from the path (insted of being randomly assigned for +the player) and that the player's "vehicle" is also attached to a path +which is different from level to level. + +The game can be controlled with either the mouse or the keyboard (see +**CONTROLS**, below). + +OPTIONS +======= + +These options are used for editing levels and testing them. For normal +gameplay, **zaz** should be run without options. + +-d *directory* + Use *directory* for game data location. The default is */usr/share/zaz*. + +-e [*level*] + Start up in level editing mode. If **level** is given, it will be loaded + into the editor, otherwise *default* is used. **level** shoould be the name + of the *.lvl* file, minus the *.lvl* extension. + Must be run from within the data directory (or a copy of it). + +-p *level* + Test-play a level (possibly created with **-e**). + Must be run from within the data directory (or a copy of it). + +-t + This is supposed to run the built-in self-tests. However, all it seems to + do is segfault. + +CONTROLS +======== + +Movement + Mouse X axis or keyboard left/right arrows. + +Pick or Fire Ball + Mouse button 1 (normally left), keyboard Space, Enter, or down arrow. + +Speedup (advance puzzle) + Mouse button 3 (normally right), or keyboard up arrow. + +There is no way to change these keyboard/mouse control mappings. If +the keyboard movement doesn't seem to work properly (arrow keys jump +the player all the way left or right), try moving the mouse slightly. + +FILES +===== + +**$HOME/.zaz/** contains: + + **settings** + Saved settings. Human-readable, but normally edited within the game, + via the *Options* menu. + + **hiscores** + Self-explanatory. + + **\*.profile** + Used to keep track of which levels have been unlocked. + +.. ENVIRONMENT +.. =========== + +.. EXIT STATUS +.. =========== + +.. BUGS +.. ==== + +.. EXAMPLES +.. ======== + +COPYRIGHT +========= + +See the file /usr/doc/zaz-|version|/COPYING for license information. + +AUTHORS +======= + +zaz was written by Remigiusz Dybka, with music by paniQ. + +This man page written for the SlackBuilds.org project +by B. Watson, and is licensed under the WTFPL. + +SEE ALSO +======== + +The zaz homepage: http://zaz.sourceforge.net -- cgit v1.2.3