aboutsummaryrefslogtreecommitdiff
path: root/games
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2011-10-30 18:11:41 -0500
committerNiels Horn <niels.horn@slackbuilds.org>2011-11-04 22:02:25 -0200
commitbe42faf8c6fd5b81f1068427047b1f89ab50566b (patch)
tree034a51890fd231b8e87aae3ffe8665e375d6b52d /games
parentf215f84686b58968844e2fc227b5f3d7c35d2183 (diff)
games/pentagram: Added (an Ultima 8 engine)
Signed-off-by: Erik Hanson <erik@slackbuilds.org>
Diffstat (limited to 'games')
-rw-r--r--games/pentagram/README24
-rw-r--r--games/pentagram/doinst.sh9
-rw-r--r--games/pentagram/pentagram.1186
-rw-r--r--games/pentagram/pentagram.SlackBuild116
-rw-r--r--games/pentagram/pentagram.desktop8
-rw-r--r--games/pentagram/pentagram.info10
-rw-r--r--games/pentagram/pentagram.ini.default65
-rw-r--r--games/pentagram/pentagram.sh13
-rw-r--r--games/pentagram/slack-desc19
9 files changed, 450 insertions, 0 deletions
diff --git a/games/pentagram/README b/games/pentagram/README
new file mode 100644
index 000000000000..34ffcdded71c
--- /dev/null
+++ b/games/pentagram/README
@@ -0,0 +1,24 @@
+Pentagram is a project aiming to create an Ultima 8 engine for use on
+modern operating systems, including Linux, Mac OS X and Windows.
+
+While it is currently possible to finish Ultima 8 using Pentagram,
+not everything is fully working yet. (Save regularly!) In the game
+itself, most notably, the combat AI of monsters is still very limited,
+and there are still quite a few minor things which are not working as
+well as they should.
+
+Optionally, pentagram can use TiMidity++ or fluidsynth for in-game music
+(detected at compile time, must be enabled in pentagram.ini or in-game
+menu).
+
+Pentagram is only an engine. To actually play the game, you will
+need an installed copy of "Ultima VIII: Pagan". Either copy the
+game directory (the one containing u8.exe) to /usr/share/pentagram
+(so that /usr/share/pentagram/u8.exe exists), or edit the 'path=' in
+~/.pentagram/pentagram.ini to point to your existing game directory.
+Pentagram is smart enough to ignore the case of filenames, so U8.exe or
+U8.EXE would also be OK.
+
+YOU MUST OWN THE GAME in order to play it with pentagram. Do not contact
+pentagram's authors or the author of this SlackBuild asking for illegal
+copies of Ultima 8: such requests will be ignored, at best.
diff --git a/games/pentagram/doinst.sh b/games/pentagram/doinst.sh
new file mode 100644
index 000000000000..3e5691a052b5
--- /dev/null
+++ b/games/pentagram/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 usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
diff --git a/games/pentagram/pentagram.1 b/games/pentagram/pentagram.1
new file mode 100644
index 000000000000..c1f23fa6aa7c
--- /dev/null
+++ b/games/pentagram/pentagram.1
@@ -0,0 +1,186 @@
+.TH pentagram 1 "29 Oct 2011" "20110229_svn" "Pentagram"
+
+.SH NAME
+\fBpentagram\fR \- A reimplemented engine for the game
+.B Ultima VIII: Pagan
+
+.SH SYNOPSIS
+.B pentagram
+.RI [ options ]
+
+.SH DESCRIPTION
+.B pentagram
+is an engine for playing the game
+.B Ultima 8
+on modern operating systems.
+The files from the original game are required for
+.B pentagram
+to work. Since
+.B Ultima 8
+is a commercial work, this means you must own a
+copy of the original game to legally play it with
+\fBpentagram\fR.
+.SH OPTIONS
+.TP
+.B \-h, \-\-help
+Shows command\-line option help
+.TP
+.B \-q
+Silence general logging messages.
+.TP
+.B \-qq
+Silence general logging messages and non\-critical
+warnings/errors.
+.TP
+.B \-\-game [gamename]
+Select a game. This option is currently useless, since only Ultima 8 is supported.
+.SH FILES
+.TP
+.B ~/.pentagram/
+Config and savegame data.
+.TP
+.B ~/.pentagram/pentagram.ini
+Configuration. Specifies the path to the game data, among other things.
+The SlackBuilds.org build of pentagram uses a shell script wrapper to
+create a default \fBpentagram.ini\fR if the user doesn't have one already.
+See \fI/usr/doc/pentagram\-@VERSION@/README\fR for full details of the options
+available in the config file.
+.TP
+.B ~/.pentagram/u8\-save/
+Saved games. Not compatible with the original Ultima 8.
+.TP
+.B /usr/share/pentagram
+This is the default location where
+.B pentagram
+looks for the Ultima 8 data files. This directory should contain
+a complete installation of the game, including the file
+.B U8.exe
+(case\-insensitive;
+.B u8.exe
+or
+.B U8.EXE
+are also OK). This location can be changed by editing
+.B ~/.pentagram/pentagram.ini
+.SH CONTROLS
+.SS Movement
+Double\-click with the right mouse button will make the Avatar find a path to the selected spot.
+.br
+Left\-click on NPCs or objects to identify them.
+.br
+Double\-left\-click on NPCs or objects to initiate conversations or use the item.
+.br
+On pressing the right mouse button down the Avatar walks or runs (depending on distance between cursor and Avatar).
+.br
+Pressing right and left mouse button, makes the Avatar jump or while running a running jump.
+.br
+You can also move the Avatar with the keypad. Details are in the keycommands table below.
+.SS Keyboard Commands
+These are the default keyboard commands; they can be changed from the
+options menu in the game, or by creating/editing
+the file \fI~/.pentagram/u8bindings.ini\fR.
+.TP
+.B ~
+hides/restores console. See \fI/usr/doc/pentagram\-@VERSION@/README\fR for
+available console commands.
+.TP
+.B arrow keys
+moves Avatar around the map (no walking)
+.TP
+.B home,end
+moves Avatar vertically
+.TP
+.B Keypad
+Avatar walks (one animation cycle)
+.TP
+.B Shift+Keypad
+Avatar runs (one animation cycle)
+.TP
+.B Ctrl+Keypad
+Avatar makes a little step (one animation cycle)
+.TP
+.B Alt+Keypad
+Avatar jumps long (one animation cycle)
+.TP
+.B s
+toggles "avatarInStasis"
+.TP
+.B t
+outputs kernel/usecode/world/location stats to the console
+.TP
+.B e
+toggles editor items
+.TP
+.B h
+highlights any item you are "hitting", colliding with
+.TP
+.B i
+open backpack
+.TP
+.B z
+open paperdoll/status
+.TP
+.B r
+recall
+.TP
+.B c
+switches combat mode on/off
+.TP
+.B ESC
+main menu
+.TP
+.B alt+x
+quit
+.TP
+.B ctrl+q
+quits without confirmation
+.TP
+.B backspace
+close all open containers
+.TP
+.B F7
+Quicksave (savegames are not yet stable!)
+.TP
+.B F8
+Quickload
+.TP
+.B F11
+Shapeviewer
+.TP
+.B F12
+toggles frame by frame
+.TP
+.B shift
+quarter speed mode. needs to be held down
+.TP
+.B [
+clears the screen, multiple presses show the paint order
+.TP
+.B ]
+Same as above, backwards
+.SH AUTHORS
+The
+.B
+Ultima
+games were created by Richard Garriott, AKA Lord British,
+and are copyrighted by Electronic Arts.
+.PP
+.B pentagram
+written by
+The Pentagram Team:
+.br
+Willem Jan Palenstijn <wjpalenstijn@users.sourceforge.net>
+.br
+Patrick Burke <takhisis@users.sourceforge.net>
+.br
+Max Horn <max@quendi.de>
+.br
+Ryan Nunn <colourles@users.sourceforge.net>
+.br
+Dominik Reichardt <dominus@users.sourceforge.net>
+.br
+Matthew Jimenez <mjimenez@users.sourceforge.net>
+.br
+Brian Tietz <btietz@broadcom.com>
+.PP
+Man page created by B. Watson, for the SlackBuilds.org
+project. Permission hereby granted to use this man page anywhere, for any purpose.
diff --git a/games/pentagram/pentagram.SlackBuild b/games/pentagram/pentagram.SlackBuild
new file mode 100644
index 000000000000..fbb49e2ac6e0
--- /dev/null
+++ b/games/pentagram/pentagram.SlackBuild
@@ -0,0 +1,116 @@
+#!/bin/sh
+
+# Slackware build script for pentagram
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+PRGNAM=pentagram
+VERSION=${VERSION:-20110229_svn}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -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.xz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+./bootstrap
+
+# The extra scalers make the binary about 50% bigger (not enough
+# to matter). They aren't used by default (user has to enable them
+# via in-game menu or .ini file).
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --enable-hq2x \
+ --enable-gc-scalers \
+ --enable-all-bilinear \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make
+mkdir -p $PKG/usr/bin
+install -s -m0755 $PRGNAM $PKG/usr/bin/$PRGNAM-bin
+install -m0755 $CWD/$PRGNAM.sh $PKG/usr/bin/$PRGNAM
+
+mkdir -p $PKG/usr/share/pixmaps
+cat ./system/desktop/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
+mkdir -p $PKG/usr/share/applications
+cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
+
+# man page written for this build.
+mkdir -p $PKG/usr/man/man1
+sed "s/@VERSION@/$VERSION/g" $CWD/$PRGNAM.1 | gzip -9c > $PKG/usr/man/man1/$PRGNAM.1.gz
+
+# default config file contains all the options, commented out, plus
+# the default options for this build.
+
+# The default path= assumes the user has extracted or copied the Ultima 8
+# game directory to /usr/share/pentagram (so the file
+# /usr/share/pentagram/U8.exe should exist, possibly as u8.exe or U8.EXE).
+
+# The default MIDI driver, at least on the author's system, crashes X and
+# panics the kernel for some reason. It wants to use the OSS sequencer,
+# and the call trace after X dies shows the error happened in the snd_seq_oss
+# module. Removing this module causes pentagram to fall back to "fmopl"
+# midi, which works fine and doesn't cause any problems (probably doesn't
+# sound as nice, since it seems to be emulating an old AdLib card).
+# Setting midi_driver=fmopl in the default config will avoid any problems
+# and users won't have to troubleshoot OSS sequencer crap themselves.
+
+mkdir -p $PKG/usr/share/$PRGNAM
+cat $CWD/$PRGNAM.ini.default > $PKG/usr/share/$PRGNAM/$PRGNAM.ini.default
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING ChangeLog FAQ README $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/pentagram/pentagram.desktop b/games/pentagram/pentagram.desktop
new file mode 100644
index 000000000000..905ff6107466
--- /dev/null
+++ b/games/pentagram/pentagram.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Pentagram
+Comment=Ultima 8 Engine
+Exec=pentagram
+Icon=pentagram
+Terminal=false
+Type=Application
+Categories=Game;RolePlaying;
diff --git a/games/pentagram/pentagram.info b/games/pentagram/pentagram.info
new file mode 100644
index 000000000000..e798e6710818
--- /dev/null
+++ b/games/pentagram/pentagram.info
@@ -0,0 +1,10 @@
+PRGNAM="pentagram"
+VERSION="20110229_svn"
+HOMEPAGE="http://pentagram.sourceforge.net/"
+DOWNLOAD="http://urchlay.naptime.net/slackstuff/src/pentagram-20110229_svn.tar.xz"
+DOWNLOAD_x86_64=""
+MD5SUM="b665aec67ed7bceb97581cdb90675521"
+MD5SUM_x86_64=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
+APPROVED="Erik Hanson"
diff --git a/games/pentagram/pentagram.ini.default b/games/pentagram/pentagram.ini.default
new file mode 100644
index 000000000000..6f552dcba76f
--- /dev/null
+++ b/games/pentagram/pentagram.ini.default
@@ -0,0 +1,65 @@
+
+
+# These are the default options. Feel free to uncomment and change them.
+
+[pentagram]
+# Default game. No useful value other than "u8" as only
+# Ultima 8 is supported.
+## defaultgame=u8
+
+# Run fullscreen? Disabled by default as it might cause problems on
+# misconfigured X servers.
+## fullscreen=no
+
+# Width of the game resolution.
+## scalex=320
+
+# height of the game resolution.
+## scaley=240
+
+# Select the scaler you want to use. Currently you can choose between
+# point, bilinear, scale2x, 2xSaI, hq2x.
+## scaler=point
+
+# The game resolution is scaled to this width.
+## width=640
+
+# The game resolution is scaled to this height.
+## height=480
+
+# Bits per pixel probably doesn't need to be changed.
+## bpp=32
+
+# Enable this to use the BitStream Vera font for conversations and object descriptions.
+## ttf=no
+
+# If you don't specify midi_driver, Pentagram will automatically select one,
+# based on your platform.
+
+# (Note: Windows will only work on Windows. CoreAudio only on Mac OS X.
+# Alsa is Linux-only and UnixSeq will only work on Unix variants.)
+# See further down for more options on Linux.
+## midi_driver=disabled/windows/fmopl/timidity/alsa/unixseq/coreaudio
+
+# SBo default option:
+midi_driver=fmopl
+
+# Enable this to skip the intro of U8 and initial conversation with Devon.
+## skipstart=no
+
+# Conversation speed. Higher is slower.
+## textdelay=8
+
+[u8]
+# replace 'path to U8 directory' with the directory containing 'u8.exe'
+## path=path to U8 directory
+
+# SBo default option:
+path=/usr/share/pentagram
+
+# replace with the directory you want Pentagram to save games to.
+
+# (no, loading of the original's savegames is not supported)
+## save=path to U8 savegames directory
+
+
diff --git a/games/pentagram/pentagram.sh b/games/pentagram/pentagram.sh
new file mode 100644
index 000000000000..5b468d43502a
--- /dev/null
+++ b/games/pentagram/pentagram.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Wrapper script for pentagram, creates initial ~/.pentagram/pentagram.ini
+# file, which pentagram won't create for itself.
+
+set -e
+
+if [ ! -e ~/.pentagram/pentagram.ini ]; then
+ mkdir -p ~/.pentagram
+ cat /usr/share/pentagram/pentagram.ini.default > ~/.pentagram/pentagram.ini
+fi
+
+exec /usr/bin/pentagram-bin "$@"
diff --git a/games/pentagram/slack-desc b/games/pentagram/slack-desc
new file mode 100644
index 000000000000..653f457dc61a
--- /dev/null
+++ b/games/pentagram/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 ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+pentagram: pentagram (an Ultima 8 engine)
+pentagram:
+pentagram: Pentagram is a project aiming to create an Ultima 8 engine for use
+pentagram: on modern operating systems, including Linux, Mac OS X and Windows.
+pentagram:
+pentagram: While it is currently possible to finish Ultima 8 using Pentagram,
+pentagram: not everything is fully working yet. (Save regularly!) In the game
+pentagram: itself, most notably, the combat AI of monsters is still very limited,
+pentagram: and there are still quite a few minor things which are not working
+pentagram: as well as they should.
+pentagram: