From 98e800a9a59001158e98c32242b181be55e9368f Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Tue, 20 Dec 2011 10:39:17 -0200 Subject: games/ucr: Added (Ultima Classics Revisited) Signed-off-by: Niels Horn --- games/ucr/README | 31 +++++++++++++++ games/ucr/doinst.sh | 19 +++++++++ games/ucr/slack-desc | 19 +++++++++ games/ucr/ucr.6 | 99 +++++++++++++++++++++++++++++++++++++++++++++++ games/ucr/ucr.SlackBuild | 84 ++++++++++++++++++++++++++++++++++++++++ games/ucr/ucr.desktop | 8 ++++ games/ucr/ucr.info | 10 +++++ games/ucr/ucr.png | Bin 0 -> 2895 bytes 8 files changed, 270 insertions(+) create mode 100644 games/ucr/README create mode 100644 games/ucr/doinst.sh create mode 100644 games/ucr/slack-desc create mode 100644 games/ucr/ucr.6 create mode 100644 games/ucr/ucr.SlackBuild create mode 100644 games/ucr/ucr.desktop create mode 100644 games/ucr/ucr.info create mode 100644 games/ucr/ucr.png (limited to 'games/ucr') diff --git a/games/ucr/README b/games/ucr/README new file mode 100644 index 0000000000..57e751e4bb --- /dev/null +++ b/games/ucr/README @@ -0,0 +1,31 @@ +Ultima Classics Revisited (UCR) is an attempt to offer modern +OS-compatible engines for the first six Ultima games. The only completely +playable game for UCR is Akalabeth (aka Ultima 0), and there is a partial +implementation of an Ultima 1 engine. + +UCR doesn't require any extra data files to play Akalabeth. If you want +to check out UCR's partial Ultima 1 engine, you'll need the game data +files from Ultima 1 (place them in /usr/share/ucr/games/u1). + +Akalabeth is played entirely with the keyboard. Since the keyboard +controls aren't documented anywhere in the UCR source (other than by +reading the C++ code), here's a list of keystrokes: + +S - Show character stats (hit points, equipment, etc) +P - Pause/Resume +Space - Pass +F11 - Toggle original/enhanced graphics +F12 - Enable/disable music + +Outdoors: +Up/Down/Left/Right Arrows - Move North/South/East/West +E - Enter Town or Castle + +In Dungeons: +Up - Move Forward +Down - Turn Around +Left/Right - Turn Left/Right +A - Attack +E - Climb Ladder or Descend into Hole + +UCR doesn't support saving the game like the PC version of Akalabeth does. diff --git a/games/ucr/doinst.sh b/games/ucr/doinst.sh new file mode 100644 index 0000000000..f565650032 --- /dev/null +++ b/games/ucr/doinst.sh @@ -0,0 +1,19 @@ + +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/ucr/ucr.conf.new + +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi diff --git a/games/ucr/slack-desc b/games/ucr/slack-desc new file mode 100644 index 0000000000..be5420ceb5 --- /dev/null +++ b/games/ucr/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------------------------------------------------------| +ucr: ucr (Ultima Classics Revisited) +ucr: +ucr: Ultima Classics Revisited (UCR) is an attempt to offer modern +ucr: OS-compatible engines for the first six Ultima games. The only +ucr: completely playable game for UCR is Akalabeth (aka Ultima 0), and +ucr: there is a partial implementation of an Ultima 1 engine. +ucr: +ucr: +ucr: +ucr: +ucr: diff --git a/games/ucr/ucr.6 b/games/ucr/ucr.6 new file mode 100644 index 0000000000..40d2cbbebe --- /dev/null +++ b/games/ucr/ucr.6 @@ -0,0 +1,99 @@ +.TH ucr 6 "28 Oct 2011" "0.1.2" "Ultima Classics Revisited" + +.SH NAME +\fBucr\fR \- A modern reimplementation of the classic Ultima role\-playing games. + +.SH SYNOPSIS +.B ucr + +.SH DESCRIPTION +.B ucr +(Ultima Classics Revisited) +is a remake of the computer games Akalabeth (aka "Ultima 0") and +Ultima 1. +.PP +.B ucr +accepts no command\-line arguments. +.PP +The current version of +.B ucr +contains a complete rewrite of Akalabeth, which is fully playable, and +a partial engine for Ultima I (not fully playable). To use the Ultima I +engine, you will need the data files from the original PC release of +Ultima I (place them in \fI/usr/share/ucr/games/u1\fR). +.PP +Although Akalabeth is fully playable, it has no support for saving the +game or loading saved games (unlike the original PC release of Akalabeth). +Ultima I, while not fully playable, does support saving/loading the game. +.SH KEYBOARD CONTROLS +Only the keyboard controls for Akalabeth are documented here. +.PP +Akalabeth +is played entirely with the keyboard. To make choices from menus, +press the first letter of the menu choice (e.g. \fBF\fR to buy Food +at the Adventure Shop menu). +.PP +During gameplay, the following keystrokes are supported: +.TP +.B S +Show character stats (hit points, equipment, etc) +.TP +.B P +Pause/Resume +.TP +.B Space +Pass +.TP +.B F11 +Toggle original/enhanced graphics +.TP +.B +F12 +Enable/disable music +.SS Outdoors +.TP +.B Up/Down/Left/Right Arrows +Move North/South/East/West +.TP +.B E +Enter Town or Castle +.SS In Dungeons +.TP +.B +Up +Move Forward +.TP +.B +Down +Turn Around +.TP +.B +Left/Right +Turn Left/Right +.TP +.B +A +Attack +.TP +.B +E +Climb Ladder or Descend into Hole +.SH FILES +.TP +.B /etc/ucr/ucr.conf +Config file for \fBucr\fR. Sets the paths to the game data, the screen +size, and a few other variables. Not well documented, but fairly self\-explanatory. +The settings for u2 through u6 don't do anything, as these games were never +implemented in \fBucr\fR. +.SH AUTHORS +.B Akalabeth +and the +.B +Ultima +games were created by Richard Garriott, AKA Lord British. +.PP +.B ucr +written by Gregory Maculo +.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/ucr/ucr.SlackBuild b/games/ucr/ucr.SlackBuild new file mode 100644 index 0000000000..afbe0ebded --- /dev/null +++ b/games/ucr/ucr.SlackBuild @@ -0,0 +1,84 @@ +#!/bin/sh + +# Slackware build script for ucr + +# Written by B. Watson (yalhcru@gmail.com) + +PRGNAM=ucr +VERSION=${VERSION:-0.1.2} +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} + +# Nothing in /usr/lib(64) for this package. +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION-beta +tar xvf $CWD/$PRGNAM-$VERSION-beta.tar.gz +cd $PRGNAM-$VERSION-beta +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 {} \; + +# configure is not an autoconf script (doesn't accept arguments at all). +./configure +sed -i "s/-O3/$SLKCFLAGS/" Makefile +make + +# No DESTDIR support either, manual install. +mkdir -p $PKG/usr/bin $PKG/etc/$PRGNAM +install -s -m0755 $PRGNAM $PKG/usr/bin +mkdir -p $PKG/usr/share/$PRGNAM +cp -a data pixmaps $PKG/usr/share/$PRGNAM +sed "s,/usr/games/$PRGNAM/,/usr/share/$PRGNAM/," etc/$PRGNAM.conf \ + > $PKG/etc/$PRGNAM/$PRGNAM.conf.new + +# PNG icon made by removing blue background from icon.xpm. +# .desktop file written for this package. +mkdir -p $PKG/usr/share/applications $PKG/usr/share/pixmaps +cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop +cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png + +# man page written for this build. Needed because the docs don't list +# the keyboard commands for playing the game! +mkdir -p $PKG/usr/man/man6 +gzip -9c $CWD/$PRGNAM.6 > $PKG/usr/man/man6/$PRGNAM.6.gz + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a README CHANGELOG TODO $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/ucr/ucr.desktop b/games/ucr/ucr.desktop new file mode 100644 index 0000000000..3bd8f35bc5 --- /dev/null +++ b/games/ucr/ucr.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=UCR +Comment=Ultima Classic Revisited +Exec=ucr +Icon=ucr +Terminal=false +Type=Application +Categories=Game;RolePlaying; diff --git a/games/ucr/ucr.info b/games/ucr/ucr.info new file mode 100644 index 0000000000..c0fc91bd2c --- /dev/null +++ b/games/ucr/ucr.info @@ -0,0 +1,10 @@ +PRGNAM="ucr" +VERSION="0.1.2" +HOMEPAGE="http://www.ultimaaiera.com/orphanage/ultima-classics-revisited/" +DOWNLOAD="http://www.ultimaaiera.com/wp-content/files/ucr/ucr-0.1.2-beta.tar.gz" +DOWNLOAD_x86_64="" +MD5SUM="f384c2ee22fbc937c3f7a02fe9b26dac" +MD5SUM_x86_64="" +MAINTAINER="B. Watson" +EMAIL="yalhcru@gmail.com" +APPROVED="Niels Horn" diff --git a/games/ucr/ucr.png b/games/ucr/ucr.png new file mode 100644 index 0000000000..0dd7e76aee Binary files /dev/null and b/games/ucr/ucr.png differ -- cgit v1.2.3