games/pentagram: Added (an Ultima 8 engine)

Signed-off-by: Erik Hanson <erik@slackbuilds.org>
This commit is contained in:
B. Watson 2011-10-30 18:11:41 -05:00 committed by Niels Horn
parent f215f84686
commit be42faf8c6
9 changed files with 450 additions and 0 deletions

24
games/pentagram/README Normal file
View file

@ -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.

View file

@ -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

186
games/pentagram/pentagram.1 Normal file
View file

@ -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.

View file

@ -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}

View file

@ -0,0 +1,8 @@
[Desktop Entry]
Name=Pentagram
Comment=Ultima 8 Engine
Exec=pentagram
Icon=pentagram
Terminal=false
Type=Application
Categories=Game;RolePlaying;

View file

@ -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"

View file

@ -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

View file

@ -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 "$@"

View file

@ -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: