games/xu4: Added (Ultima IV remake)
Signed-off-by: Niels Horn <niels.horn@slackbuilds.org>
This commit is contained in:
parent
15b7a9ab86
commit
ca2058fb86
|
@ -0,0 +1,25 @@
|
|||
XU4 is a remake of the computer game Ultima IV. The goal is to make
|
||||
it easy and convenient to play this classic on modern operating
|
||||
systems.
|
||||
|
||||
XU4 isn't a new game based on the Ultima IV story -- it is a faithful
|
||||
recreation of the old game, right up to the crappy graphics. If you
|
||||
are looking for a game with modern gameplay and graphics, this is not
|
||||
it -- yet. New features that improve the gameplay and keep with the
|
||||
spirit of the original game will be added.
|
||||
|
||||
This package can be built with optional extras. See README-SBo.txt
|
||||
for details.
|
||||
|
||||
Copyright notice: The file ultima4.zip is included in this package. This
|
||||
file and its contents have a proprietary license and MAY NOT be
|
||||
redistributed. You may download it from the original site, but not give
|
||||
out copies of it yourself (including binary packages built from this
|
||||
SlackBuild, since they include ultima4.zip).
|
||||
|
||||
If you have trouble downloading ultima4.zip from the URL listed
|
||||
in the .info file, you can instead download UltimaIV.zip from
|
||||
http://www.ultimaforever.com/ (registration required, JavaScript browser
|
||||
required, no direct download URL). It's a different packaging of the
|
||||
same content; the script is smart enough to build a package from either
|
||||
release of Ultima 4.
|
|
@ -0,0 +1,47 @@
|
|||
Optional stuff: Music, enhanced graphics, and PDF manuals.
|
||||
|
||||
Music
|
||||
-----
|
||||
To hear the in-game music, you'll need a set of MIDI patches, either the
|
||||
eawpats or freepats package from slackbuilds.org (make sure you set up
|
||||
timidity.cfg correctly). These can be installed after the fact (no need
|
||||
to rebuild xu4 after installing them). The timidity package itself isn't
|
||||
required (xu4 uses SDL_mixer to play back the music).
|
||||
|
||||
Enhanced Graphics
|
||||
-----------------
|
||||
By default, the script will build a package that uses the graphics from
|
||||
the original PC/DOS version of the game. If you'd like to use the
|
||||
upgraded graphics from the Ultima IV Upgrade Project, download the file
|
||||
u4upgrad.zip and place it in the same directory as the SlackBuild script,
|
||||
before running it. The upgrade can be downloaded here:
|
||||
|
||||
URL: http://www.moongates.com/u4/upgrade/files/u4upgrad.zip
|
||||
md5sum: 4ce9c9cd9dab111275e0ebfde7a482c4
|
||||
Homepage: http://www.moongates.com/u4/upgrade/Upgrade.htm
|
||||
|
||||
The graphics upgrade isn't listed in the .info file because it isn't
|
||||
required to play the game, and also because some users will prefer the
|
||||
original CGA-style graphics.
|
||||
|
||||
PDF Manuals
|
||||
-----------
|
||||
Some of the documentation in this package is in Microsoft Word format. To
|
||||
read it, you can use KWord... or just live with the text-only versions
|
||||
(also included in this package). These are the manuals for the original
|
||||
game, and unlike most modern games, you really do need to read them to
|
||||
have any chance of completing Ultima IV. The text files and Word docs
|
||||
contain all the information needed to play the game.
|
||||
|
||||
However, the text and MS Word manuals don't really capture the
|
||||
flavor of the original manuals: they're just the content, without the
|
||||
presentation. If you want a more authentic retro-gaming experience,
|
||||
you should install the PDF manuals. To do this, download the file
|
||||
ultima4_scanned_docs.zip and place it in the SlackBuild directory,
|
||||
before running the script.
|
||||
|
||||
URL: http://urchlay.naptime.net/slackstuff/src/ultima4_scanned_docs.zip
|
||||
md5sum: c6be37b7028d6f7b56843a73517a5c31
|
||||
|
||||
The PDF docs aren't listed in the .info file because they're fairly large,
|
||||
and not needed just to play the game.
|
|
@ -0,0 +1,3 @@
|
|||
if [ -x /usr/bin/update-desktop-database ]; then
|
||||
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
|
||||
fi
|
|
@ -0,0 +1,29 @@
|
|||
diff -Naur xu4-20111026_svn/src/settings.cpp xu4-20111026_svn.patched//src/settings.cpp
|
||||
--- xu4-20111026_svn/src/settings.cpp 2011-06-23 13:36:06.000000000 -0400
|
||||
+++ xu4-20111026_svn.patched//src/settings.cpp 2011-10-27 17:27:02.000000000 -0400
|
||||
@@ -81,12 +81,6 @@
|
||||
* Initialize the settings.
|
||||
*/
|
||||
void Settings::init(const bool useProfile, const string profileName) {
|
||||
- if (useProfile) {
|
||||
- userPath = "./profiles/";
|
||||
- userPath += profileName.c_str();
|
||||
- userPath += "/";
|
||||
- } else {
|
||||
-
|
||||
#if defined(MACOSX)
|
||||
FSRef folder;
|
||||
OSErr err = FSFindFolder(kUserDomain, kApplicationSupportFolderType, kCreateFolder, &folder);
|
||||
@@ -150,7 +144,12 @@
|
||||
userPath = "./";
|
||||
#endif
|
||||
|
||||
+ if (useProfile) {
|
||||
+ userPath += "profiles/";
|
||||
+ userPath += profileName.c_str();
|
||||
+ userPath += "/";
|
||||
}
|
||||
+
|
||||
FileSystem::createDirectory(userPath);
|
||||
|
||||
filename = userPath + SETTINGS_BASE_FILENAME;
|
|
@ -0,0 +1,68 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Repackage the official UltimaIV.zip from http://www.ultimaforever.com/
|
||||
# so that its zip file structure is the more-or-less the same as the dragon
|
||||
# release listed in the .info file. Also the official release includes the
|
||||
# PDF docs, so we pack them into ultima4_scanned_docs.zip like the build
|
||||
# script expects.
|
||||
|
||||
# The resulting package will be missing Keyboard.txt. Since the contents
|
||||
# of Keyboard.txt are in the man page, I don't see it as a problem. The
|
||||
# package will also have an extra copy of the map (Map.jpg), higher res
|
||||
# than Map.bmp, but scanned from a creased map.
|
||||
|
||||
SRCZIP="$1"
|
||||
if [ -z "$SRCZIP" -o ! -e "$SRCZIP" ]; then
|
||||
echo "Usage: $0 /full/path/to/UltimaIV.zip"
|
||||
fi
|
||||
|
||||
TMP=${TMP:-/tmp/SBo}
|
||||
WORK=$TMP/u4_repackage
|
||||
|
||||
set -e
|
||||
|
||||
OUTPUT="$( dirname $SRCZIP )"
|
||||
|
||||
rm -rf $WORK
|
||||
mkdir -p $WORK
|
||||
cd $WORK
|
||||
unzip "$SRCZIP"
|
||||
|
||||
# The manuals & map. This map is a jpeg, higher quality than the
|
||||
# bmp version, except the jpeg was scanned from a map with a big
|
||||
# crease in the middle. The dragon release lacks the jpeg map,
|
||||
# so the SlackBuild script will be smart enough to handle the
|
||||
# case where it's missing.
|
||||
mkdir ultima4_scanned_docs
|
||||
mv ultima4/EXTRAS/*.pdf ultima4_scanned_docs
|
||||
zip -r "$OUTPUT/ultima4_scanned_docs.zip" ultima4_scanned_docs
|
||||
mv "ultima4/EXTRAS/UltimaIV_Cloth Map.jpg" ultima4/Map.jpg
|
||||
rm -rf ultima4_scanned_docs ultima4/EXTRAS
|
||||
|
||||
# dragon release has no containing directory inside the zipfile, so work
|
||||
# from here.
|
||||
cd ultima4
|
||||
|
||||
# Rename some files:
|
||||
|
||||
# The low-res (but not creased) map.
|
||||
mv MAP.BMP Map.bmp
|
||||
|
||||
# there is no KEYBOARD.TXT. Use the word doc or the man page.
|
||||
# there is no README.TXT. It doesn't apply to xu4 anyway.
|
||||
mv HINTS.TXT Hints.txt
|
||||
mv WISDOM.TXT Wisdom.txt
|
||||
mv HISTORY.TXT History.txt
|
||||
|
||||
mv KEYBOARD.DOC "Keyboard Reference.doc"
|
||||
# Readme.doc is different but has the same name. We don't need it anyway.
|
||||
mv HINTS.DOC Hints.doc
|
||||
mv THEBOOKO.DOC "The Book of Mystic Wisdom.doc"
|
||||
mv THEHISTO.DOC "The History of Britannia.doc"
|
||||
|
||||
zip -r "$OUTPUT/ultima4.zip" .
|
||||
|
||||
if [ "$2" != "--keep" ]; then
|
||||
cd $TMP
|
||||
rm -rf $WORK
|
||||
fi
|
|
@ -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------------------------------------------------------|
|
||||
xu4: xu4 (Ultima IV remake)
|
||||
xu4:
|
||||
xu4: XU4 is a remake of the computer game Ultima IV. The goal is to make
|
||||
xu4: it easy and convenient to play this classic on modern operating
|
||||
xu4: systems.
|
||||
xu4:
|
||||
xu4: XU4 isn't a new game based on the Ultima IV story -- it is a faithful
|
||||
xu4: recreation of the old game, right up to the crappy graphics. If you
|
||||
xu4: are looking for a game with modern gameplay and graphics, this is not
|
||||
xu4: it -- yet. New features that improve the gameplay and keep with the
|
||||
xu4: spirit of the original game will be added.
|
|
@ -0,0 +1,240 @@
|
|||
.TH u4 1 "26 Oct 2011" "Version 1.1+svn" "XU4 Manual"
|
||||
|
||||
.SH NAME
|
||||
\fBu4\fR \- A modern reimplementation of the classic Ultima IV role\-playing game.
|
||||
|
||||
.SH SYNOPSIS
|
||||
.B u4
|
||||
.RI [ options ]
|
||||
|
||||
.SH DESCRIPTION
|
||||
.B XU4
|
||||
is a remake of the computer game Ultima IV. The goal is to make
|
||||
it easy and convenient to play this classic on modern operating
|
||||
systems.
|
||||
.PP
|
||||
This man page only describes the command\-line options and keyboard commands
|
||||
supported by \fBu4\fR.
|
||||
For full documentation, see the files in \fI/usr/doc/xu4\-@VERSION@/\fR. The
|
||||
README is a good place to start. Also the "History of Britannia" and the "Book
|
||||
of Mystic Wisdom" are found there (you should read them before playing).
|
||||
.SH OPTIONS
|
||||
\fBu4\fR accepts the following options:
|
||||
.TP
|
||||
.B "\-f, \-\-fullscreen"
|
||||
Run in fullscreen mode.
|
||||
.TP
|
||||
.B \-filter <filt>
|
||||
Apply a filter on the scaled images. The <filt>
|
||||
parameter must be set to one of the following
|
||||
case\-sensitive options:
|
||||
.I point
|
||||
.I 2xBi
|
||||
.I 2xSaI
|
||||
.I Scale2x
|
||||
.TP
|
||||
.B "\-i, \-skipintro"
|
||||
Skip the intro, and go directly into the game.
|
||||
This option requires the existance of a valid saved game.
|
||||
.TP
|
||||
.B "\-p <profname>, \-profile <profname>"
|
||||
Activate a specific save game profile. Using this
|
||||
option, you may have multiple saved games at the
|
||||
same time. Also, the game's config is stored on
|
||||
a per\-profile basis, so different profiles could
|
||||
have e.g. different screen resolutions.
|
||||
Use quotation marks around profile names that
|
||||
include spaces.
|
||||
All profiles are stored in the
|
||||
.I ~/.xu4/profiles
|
||||
sub\-directory.
|
||||
The active profile name is shown on the
|
||||
introduction map view off the main menu.
|
||||
.TP
|
||||
.B "\-q, \-quiet"
|
||||
Quiet mode \- no music.
|
||||
.TP
|
||||
.B \-scale <n>
|
||||
Scale the original graphics by a factor of <n>.
|
||||
Factor <n> must be 1, 2, 3, 4, or 5.
|
||||
.TP
|
||||
.B "\-v, \-verbose"
|
||||
Verbose output; prints out information useful for
|
||||
trouble\-shooting.
|
||||
.SH KEYBOARD CONTROLS
|
||||
XU4 is played entirely with the keyboard. To make choices from menus,
|
||||
press the first letter of the menu choice (e.g. \fBJ\fR for "Journey Onward"
|
||||
at the main menu). The Config menu also supports navigation with the arrow
|
||||
keys and Enter.
|
||||
.PP
|
||||
During gameplay, the following keystrokes are supported (information taken
|
||||
from Keyboard.txt and README):
|
||||
.TP
|
||||
.B A (Attack)
|
||||
Attempt to engage thy foe with the weapon thou hast
|
||||
readied (Ready Weapon command); must be followed by the
|
||||
direction of thy foe.
|
||||
.TP
|
||||
.B B (Board)
|
||||
Board a vessel or mount a horse.
|
||||
.TP
|
||||
.B C (Cast)
|
||||
Cast a magical spell; must be followed by the number
|
||||
of the player who wishes to cast it (not needed in combat or
|
||||
in dungeon rooms), and then the first letter of the desired
|
||||
spell. Note: All spells must have reagents mixed in advance
|
||||
of casting.
|
||||
.TP
|
||||
.B D (Descend)
|
||||
Climb down ladder to next level of dungeon or
|
||||
building.
|
||||
.TP
|
||||
.B E (Enter)
|
||||
Go into such places as villages, townes, castles,
|
||||
dungeons and shrines.
|
||||
.TP
|
||||
.B F (Fire)
|
||||
Fire a ship's cannons (once thou hast Boarded); must
|
||||
be followed by a direction. Note: Broadsides only!
|
||||
.TP
|
||||
.B G (Get Chest)
|
||||
Attempt to open (and disarm, if trapped) chest;
|
||||
must be followed by the number of the player who wishes to
|
||||
open the chest, except during combat and in dungeon rooms.
|
||||
Note: 'Tis wisest to use the player with the highest
|
||||
Dexterity when examining potentially dangerous chests as
|
||||
this lessens the chances of setting off any traps.
|
||||
.TP
|
||||
.B H (Hole up and camp)
|
||||
Set up camp to rest and recover from thy wounds.
|
||||
Note: This command may only be used successfully with limited frequency.
|
||||
.TP
|
||||
.B 1 (Ignite a torch)
|
||||
Light a torch for illumination in dungeons. Requires a special item.
|
||||
.TP
|
||||
.B J (Jimmy lock)
|
||||
Use a magical key to unlock a sealed door. Must be followed by the direction of the door that thou dost wish to unlock.
|
||||
.TP
|
||||
.B K (Klimb)
|
||||
Climb up a ladder to the next level of a building or dungeon, or to reach the surface from the topmost level of a dungeon.
|
||||
.TP
|
||||
.B L (Locate Position)
|
||||
Requires a special item.
|
||||
.TP
|
||||
.B M (Mix Reagents)
|
||||
Prepare material components of spells for later use.
|
||||
Note: Thou must have reagents mixed ahead of time in
|
||||
order to cast any spells. When asked "Reagent:", type the
|
||||
letter corresponding to the reagents desired and then type
|
||||
[Return] when thou wishes to mix them.
|
||||
.TP
|
||||
.B N (New order)
|
||||
Exchanges the position of two players indicated within thy party, except for player #1, for thou must lead the party.
|
||||
.TP
|
||||
.B O (Open door)
|
||||
Open a door in the direction indicated.
|
||||
.TP
|
||||
.B P (Peer at gem)
|
||||
Requires a special item.
|
||||
.TP
|
||||
.B Q (Quit & Save)
|
||||
Saves the current game status to disk; thou may continue after this command or power down thy computer.
|
||||
.TP
|
||||
.B R (Ready a weapon)
|
||||
Equip a player with the weapon of thy choice (if owned) for use in combat.
|
||||
.TP
|
||||
.B S (Search)
|
||||
Search thy exact current location for unusual items.
|
||||
.TP
|
||||
.B T (Talk)
|
||||
Allows a player to converse with merchants or townesfolk in the direction indicated.
|
||||
.TP
|
||||
.B U (Use)
|
||||
Use an item thou hast found during play by means of the "Search" command.
|
||||
.TP
|
||||
.B V (Volume)
|
||||
Toggles sound effects on or off.
|
||||
.TP
|
||||
.B W (Wear armour)
|
||||
Outfits a player with the armour of thy choice if owned for defense in combat.
|
||||
.TP
|
||||
.B X (Xit)
|
||||
That's (e)xit thy current form of transportation and continue on foot.
|
||||
.TP
|
||||
.B Y (Yell)
|
||||
Yell "giddyup" or "whoa" to speed up or slow down thy horse.
|
||||
.TP
|
||||
.B Z (Ztats)
|
||||
Displays the status and attributes of a
|
||||
selected player; if 0 is pressed instead of a player number,
|
||||
this command will display the lists of weapons, armour,
|
||||
items, reagents and mixtures. The left and right arrow
|
||||
keys will scroll through these lists, while pressing any
|
||||
other key will return thee to game play.
|
||||
.TP
|
||||
.B
|
||||
ARROW KEYS
|
||||
Control movement. North/South/East/West
|
||||
.SH FILES
|
||||
.TP
|
||||
.B ~/.xu4/
|
||||
Configuration and saved games are stored here, when \fB\-p\fR is not in use. The config file is
|
||||
\fBxu4rc\fR. It is human\-readable and editable, but normally is
|
||||
created and updated by the in\-game configuration menu. The savegames
|
||||
are in a binary format.
|
||||
.TP
|
||||
.B ~/.xu4/profiles/<profname>/
|
||||
When using the \fB\-p <profname>\fR option, config and savegame data are
|
||||
stored here instead.
|
||||
.SH AUTHORS
|
||||
Ultima IV was created by Richard Garriott, aka Lord British.
|
||||
.PP
|
||||
.B XU4
|
||||
authors:
|
||||
.br
|
||||
Andrew Taylor <andrewtaylor@users.sourceforge.net>
|
||||
.br
|
||||
Main developer
|
||||
.PP
|
||||
Marc Winterrowd <nodling at yahoo dot com>
|
||||
.br
|
||||
LZW decoder, tile animations, title screen fixes, and lots more
|
||||
.PP
|
||||
Daniel Browning\-Weber <dan_ultima@users.sourceforge.net>
|
||||
.br
|
||||
Developer
|
||||
.PP
|
||||
Darren Janeczek <darren_janeczek@users.sourceforge.net>
|
||||
.br
|
||||
Developer
|
||||
.PP
|
||||
Doug Day <dougday@users.sourceforge.net>
|
||||
.br
|
||||
Developer
|
||||
.PP
|
||||
Travis Howell <kirben@users.sourceforge.net>
|
||||
.br
|
||||
Windows port
|
||||
.PP
|
||||
Frank Wolter <FrankWolter@gmx.net>
|
||||
.br
|
||||
Ultima IV icon used in xu4
|
||||
.PP
|
||||
Dennis De Marco <dennis@demarco.com>
|
||||
.br
|
||||
Sound code
|
||||
.PP
|
||||
Steve Saunders <s_j_nevets@yahoo.com.au>
|
||||
.br
|
||||
MacOSX port
|
||||
.PP
|
||||
Michael Ryan <solus@users.sourceforge.net>
|
||||
.br
|
||||
Text colorization, profiles, enhanced LOS algorithm, title/intro sequence, general fixes
|
||||
.PP
|
||||
Gregory Saunders <grerfy@users.sourceforge.net>
|
||||
.br
|
||||
Amiga file formats, minor enhancements
|
||||
.PP
|
||||
Man page created (from README contents) by B. Watson, for the SlackBuilds.org
|
||||
project. Permission hereby granted to use this man page anywhere, for any purpose.
|
|
@ -0,0 +1,8 @@
|
|||
[Desktop Entry]
|
||||
Name=Ultima 4
|
||||
Comment=Ultima 4 (xu4)
|
||||
Exec=u4
|
||||
Icon=u4
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Game;RolePlaying;
|
|
@ -0,0 +1,164 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Slackware build script for xu4
|
||||
|
||||
# Written by B. Watson (yalhcru@gmail.com)
|
||||
|
||||
PRGNAM=xu4
|
||||
VERSION=${VERSION:-20111026_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 {} \;
|
||||
|
||||
# There actually are some executables in the lib dir. If there hadn't
|
||||
# been, I would have left it as /usr/lib even on 64-bit, or better yet
|
||||
# change to /usr/share. As it is, it has to be /usr/lib64 on 64-bit.
|
||||
LIBDIR=/usr/lib$LIBDIRSUFFIX
|
||||
PKGLIBDIR=$PKG/$LIBDIR
|
||||
|
||||
# Fix path to "profiles/" dir used by -p option. Patch makes it use
|
||||
# ~/.xu4/profiles/ rather than ./profiles off the current dir.
|
||||
patch -p1 < $CWD/profile_path.diff
|
||||
|
||||
# Fix hard-coded libdir. Ugh.
|
||||
sed -i -e "s,/usr/lib,$LIBDIR," src/u4file.cpp
|
||||
|
||||
# Stop u4 from writing border.png in the current dir (it never *reads* it!)
|
||||
sed -i -e '/border\.png/s,^,//,' src/imagemgr.cpp
|
||||
|
||||
# The -DNPERF stops u4 from creating a debug/ in the current dir.
|
||||
make -C src DEBUGCXXFLAGS="-DNPERF $SLKCFLAGS" prefix=/usr libdir=$PKGLIBDIR
|
||||
make -C src install prefix=$PKG/usr libdir=$PKGLIBDIR
|
||||
|
||||
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
|
||||
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
|
||||
|
||||
# If we have the official release rather than the "dragon" one, repackage
|
||||
# it with the same layout as the dragon release. Note that the official
|
||||
# release isn't the default because there's no direct download link for
|
||||
# the .info file (the site requires javascript + registration).
|
||||
if [ -e $CWD/UltimaIV.zip ]; then
|
||||
sh $CWD/repackage.sh $CWD/UltimaIV.zip
|
||||
fi
|
||||
|
||||
# The game data. This is the zip file, not the self-extracting exe (the
|
||||
# exe lacks the documentation, for one thing).
|
||||
cat $CWD/ultima4.zip > $PKGLIBDIR/u4/ultima4.zip
|
||||
|
||||
# Replace stock .desktop file with one that validates.
|
||||
cat $CWD/u4.desktop > $PKG/usr/share/applications/u4.desktop
|
||||
|
||||
# These files should be (but aren't) installed by "make install". Without
|
||||
# them, we get no music!
|
||||
install -m0644 mid/*.it $PKGLIBDIR/u4/music/
|
||||
|
||||
# Remove execute permission from data files. Grr.
|
||||
chmod 644 $PKG/usr/share/pixmaps/* $PKG/usr/share/applications/*
|
||||
find $PKGLIBDIR \
|
||||
-type f -a \
|
||||
\( -name \*.mid -o -name \*.vga -o -name \*.png -o \
|
||||
-name \*.xml -o -name \*.dtd -o -name \*.ogg \) \
|
||||
-print0 | xargs -0 chmod 644
|
||||
|
||||
# Docs. N.B. we don't need border.png.
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/developers
|
||||
cp -a *.html AUTHORS COPYING README $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a doc/* $PKG/usr/doc/$PRGNAM-$VERSION/developers
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
|
||||
# Include the upgrade (and extract its docs) if we have it.
|
||||
if [ -e $CWD/u4upgrad.zip ]; then
|
||||
cat $CWD/u4upgrad.zip > $PKGLIBDIR/u4/u4upgrad.zip
|
||||
cd $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
unzip $CWD/u4upgrad.zip Readme.txt
|
||||
mv Readme.txt Readme-Upgrade.txt
|
||||
cd -
|
||||
fi
|
||||
|
||||
# Include the PDF docs, if we have them.
|
||||
if [ -e $CWD/ultima4_scanned_docs.zip ]; then
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/pdf
|
||||
cd $PKG/usr/doc/$PRGNAM-$VERSION/pdf
|
||||
unzip $CWD/ultima4_scanned_docs.zip '*.pdf'
|
||||
mv ultima4_scanned_docs/Ultima_IV_-_Cluebook_-_PC.pdf Hints.pdf
|
||||
mv ultima4_scanned_docs/Ultima_IV_-_Manual_-_PC.pdf History.pdf
|
||||
mv ultima4_scanned_docs/Ultima_IV_-_Spellbook_-_PC.pdf Wisdom.pdf
|
||||
rm -rf ultima4_scanned_docs
|
||||
cd -
|
||||
fi
|
||||
|
||||
# Include the original Ultima IV docs.
|
||||
cd $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
unzip $CWD/ultima4.zip '*.txt' '*.doc' '*.bmp' '*.jpg' || true
|
||||
|
||||
# These docs only apply to running the original game on DOS or Windows. Bye.
|
||||
rm -f Readme.txt Readme.doc
|
||||
|
||||
# The Word versions of the docs don't really offer much improvement
|
||||
# over the plain text ones, but here they are.
|
||||
mkdir ms_word_docs
|
||||
mv *.doc ms_word_docs
|
||||
|
||||
# Fix permissions and line endings.
|
||||
[ -e Map.bmp ] && chmod 644 Map.bmp
|
||||
[ -e Map.jpg ] && chmod 644 Map.jpg
|
||||
chmod 644 *.txt ms_word_docs/*.doc
|
||||
sed -i 's/\r//' *.txt
|
||||
cd -
|
||||
|
||||
# I hate packages called "xfoo" whose binaries are called "foo".
|
||||
ln -s u4 $PKG/usr/bin/$PRGNAM
|
||||
|
||||
# I also hate binaries that take options but have no man pages, so here's
|
||||
# the one I made. Enjoy.
|
||||
mkdir -p $PKG/usr/man/man1
|
||||
sed "s/@VERSION@/$VERSION/" $CWD/u4.1 | gzip -9c - > $PKG/usr/man/man1/u4.1.gz
|
||||
ln -s u4.1.gz $PKG/usr/man/man1/$PRGNAM.1.gz
|
||||
|
||||
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}
|
|
@ -0,0 +1,12 @@
|
|||
PRGNAM="xu4"
|
||||
VERSION="20111026_svn"
|
||||
HOMEPAGE="http://xu4.sourceforge.net/"
|
||||
DOWNLOAD="http://urchlay.naptime.net/slackstuff/src/xu4-20111026_svn.tar.xz \
|
||||
http://www.thatfleminggent.com/ultima/ultima4.zip"
|
||||
MD5SUM="de6669e76a4323c6a6b32a70612b02bf \
|
||||
f2006a5dbf175571912ef2594b6eb900"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
MAINTAINER="B. Watson"
|
||||
EMAIL="yalhcru@gmail.com"
|
||||
APPROVED="Niels Horn"
|
Loading…
Reference in New Issue