summaryrefslogtreecommitdiff
path: root/games/eduke32
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2010-05-12 17:39:12 +0200
committerDavid Somero <xgizzmo@slackbuilds.org>2010-05-12 17:39:12 +0200
commit54553cabeb52d2f0bf0c4305a5913b8141d2794e (patch)
treefe78e88e4aec790198bbd8c37010bfc04d8aa7ec /games/eduke32
parent2a35a1671f71cd959426da6d03a0da80e2bfd370 (diff)
downloadslackbuilds-54553cabeb52d2f0bf0c4305a5913b8141d2794e.tar.gz
games/eduke32: Updated for version 20090313
Diffstat (limited to 'games/eduke32')
-rw-r--r--games/eduke32/README24
-rw-r--r--games/eduke32/eduke32.6304
-rw-r--r--games/eduke32/eduke32.SlackBuild115
-rw-r--r--games/eduke32/eduke32.desktop5
-rw-r--r--games/eduke32/eduke32.info8
-rw-r--r--games/eduke32/eduke32_src_20090313.diff.gzbin0 -> 24885 bytes
-rw-r--r--games/eduke32/mapster32.desktop5
-rw-r--r--games/eduke32/slack-desc14
8 files changed, 397 insertions, 78 deletions
diff --git a/games/eduke32/README b/games/eduke32/README
index 4d31c73295..f04c35e737 100644
--- a/games/eduke32/README
+++ b/games/eduke32/README
@@ -2,13 +2,25 @@ EDuke32 is a fork of the JFDuke3D port of Duke Nukem 3D (aka Duke3D),
merging it with EDuke to provide many new features for mod authors.
Also included is a map editor (mapster32).
-To play the game, you will need the DUKE32.GRP file from either the
-Duke Nukem 3D CD-ROM, or from the shareware version of Duke Nukem 3D.
-
-To play the game, you must provide the data files.
-For convenience, the shareware GRP file has been packaged as
-eduke32_shareware_data, also available from slackbuilds.org.
+To play the game, you will need the DUKE32.GRP file from either
+the Duke Nukem 3D CD-ROM, or from the shareware version of Duke
+Nukem 3D. For convenience, the shareware GRP file has been packaged
+as eduke32_shareware_data, also available from slackbuilds.org.
See README_game_data.txt
If you want to play the HRP (High Resolution Pack), get the
eduke32_hires_pack package from slackbuilds.org
+
+To hear the in-game music, either use the Music Pack (see
+eduke32_hires_pack), or else install a set of MIDI patches (either
+freepats or eawpats) from slackbuilds.org. The game looks for
+/etc/timidity/timidity.cfg, but timidity doesn't actually have to be
+installed.
+
+By default, the Build utilities (kextract kgroup transpal wad2art wad2map)
+are built by this script and installed in /usr/games. If you don't want
+these, you can set BUILD_UTILS=no in the environment before running the
+SlackBuild script.
+
+Note for 64-bit users: Despite the "32" in the name, this software
+builds and runs just fine as 64-bit native binaries :)
diff --git a/games/eduke32/eduke32.6 b/games/eduke32/eduke32.6
new file mode 100644
index 0000000000..0b2faabf63
--- /dev/null
+++ b/games/eduke32/eduke32.6
@@ -0,0 +1,304 @@
+.TH EDUKE32 "6" "May 2009" "EDuke32 1.5.0devel 20090313" "User Commands"
+.SH NAME
+EDuke32 \- Enhanced Duke Nukem 3D Build engine
+.SH SYNOPSIS
+.B eduke32
+\fI[options]\fR \fI[files]\fR
+.SH DESCRIPTION
+EDuke32 is a fork of the JFDuke3D port of Duke Nukem 3D (aka Duke3D),
+merging it with EDuke to provide many new features for mod authors.
+.PP
+For normal single\-player gameplay, \fBeduke32\fR will usually be run with no
+command\-line options. This will display a graphical interface
+allowing the user to choose the game and options.
+.SH OPTIONS
+\fBeduke32\fR is sensitive to spaces between command\-line options
+and their arguments. Use the spacing shown here, e.g. \fI\-l2\fR,
+not \fI\-l 2\fR. Generally speaking, single\-character options may
+not have a space, while multiple character options (e.g. \-cfg)
+require a space.
+.PP
+Options may not be bundled (\fI\-rc1\fR is invalid, use \fI\-r \-c1\fR).
+Options are case\-insensitive (\fI\-d\fR and
+\fI\-D\fR do the same thing, e.g.)
+.PP
+Options marked with \fI[*]\fR are disabled when playing the shareware
+version of Duke Nukem 3D.
+.TP
+\fB\-?\fR, \fB\-help\fR
+Show the list of command line options.
+.TP
+\fB\-cfg\fR \fI[file.cfg]\fR
+Use an alternate configuration file
+.TP
+\fB\-c\fR\fI#\fR
+Use multiplayer mode #, where 1 = Dukematch, 2 = Coop, 3 = Dukematch (no spawn)
+.TP
+\fB\-d\fR\fI[file.dmo]\fR
+Play a demo. By default, \fBeduke32\fR looks for \fIdemo1.dmo\fR,
+\fIdemo2.dmo\fR, etc. in the \fB~/.eduke32\fR directory, and plays
+them in order if they're found.
+.TP
+\fB\-g\fR\fI[file.grp]\fR
+Use an extra group file
+.TP
+\fB\-h\fR\fI[file.def]\fR
+Use an alternate def
+.TP
+\fB\-j\fR\fI[dir]\fR
+Adds a directory to EDuke32's search list
+.TP
+\fB\-l\fR\fI#\fR
+Warp to level #, see \-v
+.TP
+\fB\-map\fR \fI[file.map]\fR
+\fI[*]\fR Loads a map
+.TP
+\fB\-m\fR
+Disable monsters
+.TP
+\fB\-nam\fR
+Run in NAM\-compatible mode
+.TP
+\fB\-ww2gi\fR
+Run in WW2GI\-compatible mode
+.TP
+\fB\-net\fR, \fB\-n\fR, \fB\-p\fR
+Networked multiplayer options (see \fBNETWORK PLAY\fR, below)
+.TP
+\fB\-r\fR
+Record demo. The output file will be \fB~/.eduke32/demo1.dmo\fR
+(or demo2.dmo if demo1.dmo already exists, or demo3.dmo if 1 and
+2 both exist). Unfortunately, there's no way to specify the filename
+to record to, and no way to find out from eduke32's log file or
+standard output/error messages. Try "ls -t ~/.eduke32/*.dmo | head -1".
+.TP
+\fB\-s\fR\fI#\fR
+Set skill level (1\-4)
+.TP
+\fB\-setup\fR, \fB\-nosetup\fR
+Enables/disables startup window
+.TP
+\fB\-t\fR\fI#\fR
+Set respawn mode: 1 = Monsters, 2 = Items, 3 = Inventory, x = All
+.TP
+\fB\-usecwd\fR
+Read game data and configuration file from working directory
+.TP
+\fB\-u\fR\fI#########\fR
+User's favorite weapon order (default: 3425689071)
+.TP
+\fB\-v\fR\fI#\fR
+\fI[*]\fR Warp to volume #, see \-l
+.TP
+\fB\-x\fR\fI[game.con]\fR
+Load custom CON script
+.TP
+\fB\-\fR\fI#\fR
+Load and run a game from slot # (0\-9)
+.SS Debug Options
+The following options are considered debugging options, but may be
+useful for general play.
+.TP
+\fB\-a\fR
+Use fake player AI (fake multiplayer only; \fB\-q\fR required)
+[yes, this means eduke32 has bots]
+.TP
+\fB\-cachesize\fR \fI#\fR
+Sets cache size, in Kb (default: 32768)
+.TP
+\fB\-f\fR\fI#\fR
+Send fewer packets in multiplayer (1, 2, 4) (deprecated)
+.TP
+\fB\-game_dir\fR \fI[dir]\fR
+Duke3d_w32 compatibility option, see -j
+.TP
+\fB\-gamegrp\fR
+Selects which file to use as main grp
+.TP
+\fB\-i\fI#\fR
+Use networking mode (1/0) [appears to be the same as \fB\-n\fR?]
+.TP
+\fB\-name\fR \fI[name]\fR
+Player name in multiplay
+.TP
+\fB\-nD\fR
+Dump default gamevars to gamevars.txt
+.TP
+\fB\-noautoload\fR
+Disable loading content from autoload dir [e.g. to disable
+the High Resolution Pack]
+.TP
+\fB\-nologo\fR
+Skip the logo animation
+.TP
+\fB\-ns\fR
+Disable sound
+.TP
+\fB\-nm\fR
+Disable music
+.TP
+\fB\-q\fR\fI#\fR
+Fake multiplayer with # (2-8) players (with \fB\-a\fR, the other
+players are "bots"; without it, they stand there like punching bags).
+.TP
+\fB\-rmnet\fR
+Use network config file (OBSOLETE, see -net)
+.TP
+\fB\-stun\fR
+Use UDP hole punching for multiplayer connections
+.TP
+\fB\-unstable\fR
+Force EDuke32 to execute unsafe CON commands (and crash)
+.TP
+\fB\-w\fR
+Show coordinates
+.TP
+\fB\-z\fR\fI#\fR
+Enable line-by-line CON compile debugging at level #
+.TP
+\fB\-condebug\fR \fI#\fR
+Equivalent to \fB\-z1\fR
+.SH NETWORK PLAY
+Multiplayer games are started via command-line parameters passed to
+\fBeduke32\fR This is a short guide to getting a multiplayer game running
+between these three hypothetical computers:
+.PP
+.nf
+Host name IP address
+faye 192.168.1.2
+asuka 192.168.1.5
+kaoru 192.168.1.6
+.fi
+.PP
+Keep in mind that the networking features are still being refined and
+there are certain issues and caveats to be aware of when using it. The
+basic syntax of the network command line is like so:
+.PP
+\fBeduke32\fR \fI(normal game parameters)\fR \fB\-net\fR \fI(network parameters)\fR
+.SS Network parameters
+.TP
+\fB\-n\fR\fIx\fR:\fIy\fR
+Game comm type. x = 0 for master/slave or 1 for peer-to-peer.
+If unspecified, y defaults to 2. For more than two players in a
+master-slave game, you have to indicate the number on the master. eg:
+\-n0 or \-n0:4
+.TP
+\fB\-p\fR\fIx\fR
+Overrides the default port (23513) with x being the new port value.
+.TP
+\fBaddress:port\fR
+An address of a machine. See the items below for more information.
+.SS Master/Slave mode
+This mode is the easiest mode for use with Internet play since it requires
+only the address of the master of the game (the person hosting the game)
+be specified by each slave who joins. Here are example command lines each
+machine must run to join the game hosted by the machine named 'asuka':
+.PP
+\fIuser@asuka$\fR eduke32 \-net \-n0:3
+.br
+\fIuser@faye$\fR eduke32 \-net \-n0 192.168.1.5
+.br
+\fIuser@kaoru$\fR eduke32 \-net \-n0 192.168.1.5
+.SS Peer-to-peer mode
+This mode is often useful for playing on a LAN where it is easier to
+coordinate and organise the order of peers in the game. This mode will
+become simpler to set up in the future but for now this is how to do
+it. Peer-to-peer mode requires each machine specify the addresses of
+each other machine in the game in the same order, but indicating its
+own position in the sequence with the \-n1 option.
+.PP
+\fIuser@asuka$\fR eduke32 \-net \-n1 192.168.1.2 192.168.1.6
+.br
+\fIuser@faye$\fR eduke32 \-net 192.168.1.5 \-n1 192.168.1.6
+.br
+\fIuser@kaoru$\fR eduke32 \-net 192.168.1.5 192.168.1.2 \-n1
+.SS Addresses and ports
+The networking code is capable of resolving
+DNS names to their corresponding addresses, so if your network
+is configured with such services, instead of having to specify raw IP
+addresses, you can give the computer's DNS host name. (Actually,
+the standard system resolver is used, so things like \fB/etc/hosts\fR
+or NIS should work fine, as well).
+.PP
+The default port the game communicates on is 23513. Some users may find it
+necessary to set up a forward through their Internet firewall in order to
+get games working when playing across the Internet. You can override the
+default port via the \-p??? switch where ??? is the new port number. If
+a master is running a game on a port other than the default, the slaves
+will have to specify the alternative port with address:port notation,
+eg. 192.168.1.5:20000
+.SH FILES
+.TP
+\fBduke3d.grp\fR
+The primary game data file, containing all the game graphics, art, sound,
+music, levels, etc. \fI*.grp\fR files will be searched for in both
+\fB/usr/libexec/eduke32/eduke32\fR and \fB~/.eduke32\fR. The startup menu
+offers the user a choice of games under the "Game" tab, if multiple .grp
+files are found. .grp files are checksummed; if yours doesn't appear
+in the menu, it's probably not recognized due to an invalid checksum
+(either the file is damaged, or it came from a pirated/hacked/modified
+copy of the game).
+.TP
+\fB/usr/games/eduke32\fR
+Shell script wrapper, to make the eduke32 binary appear to work more
+like a standard Linux program.
+.TP
+\fB/usr/libexec/eduke32/eduke32\fR
+The actual game binary. Called by the shell script wrapper.
+.TP
+\fB/usr/share/games/eduke32\fR
+System\-wide game data. The High Resolution Pack is normally installed
+in \fB/usr/share/games/eduke32/autoload/duke3d.grp/\fR. The last
+directory name must match the .grp filename.
+.TP
+\fB~/.eduke32\fR
+Per\-user game data, config files, savegames, and logs.
+.SS ~/.eduke32 Contents
+.TP
+\fBeduke32.cfg\fR
+Main config file. Normally not edited directly; use the in\-game
+menus instead.
+.TP
+\fBeduke32_binds.cfg\fR
+Key bindings; created by the in\-game setup menu.
+.TP
+\fBtextures\fR, \fBtextures.cache\fR
+The texture cache.
+.TP
+\fBegam\fR\fI#\fR\fB.sav\fR
+Saved games. \fI#\fR is a number between 0 and 9.
+.SH LIMITATIONS
+Because of its DOS/Windows heritage, the \fBeduke32\fR binary expects to
+find its config files, savegames, etc. in the current directory from
+which it was run (in fact, it expects to be able to write to the
+current directory). To make it behave in a more UNIX\-like way, the actual
+binary is called by a wrapper script, which creates and chdirs to a \fB~/.eduke32/\fR
+directory, and runs the real binary.
+This means that any options that take filenames (such as \fB\-map\fR
+or \fB\-cfg\fR) treat them as relative paths from the \fB~/.eduke32/\fR
+directory, \fBnot\fR the directory from which the wrapper script was
+called.
+.PP
+In addition, most of the options that take filenames don't seem to
+accept anything but a simple filename with no absolute or relative path
+components. This means that e.g. demo files to be played back with
+the \fB\-d\fR option \fImust\fR reside in the \fB~/.eduke32/\fR
+directory.
+.PP
+It's also worth mentioning here that the game will not abort in case of
+errors in command\-line syntax (e.g. nonexistent option, or extra
+space between options and argument) or semantics (e.g. trying to warp
+to non\-existent level with \-l). If you're trying to use
+any of the options described here and they don't seem to work, check
+your typing: many typos won't even cause a warning to be printed in
+the game's debugging output.
+.SH AUTHORS
+The Build engine was originally written by Ken Silverman
+.PP
+EDuke32 includes code by many authors, including Richard Gobeille
+and Jonathan Fowler.
+.PP
+Duke Nukem 3D is copyrighted by 3DRealms, Inc.
+.PP
+This man page was written by B. Watson, for the SlackBuilds.org project.
diff --git a/games/eduke32/eduke32.SlackBuild b/games/eduke32/eduke32.SlackBuild
index 5847c766fe..e598a1539a 100644
--- a/games/eduke32/eduke32.SlackBuild
+++ b/games/eduke32/eduke32.SlackBuild
@@ -3,103 +3,100 @@
# Slackware build script for eduke32
# Written by B. Watson (yalhcru@gmail.com)
-
-# Comment next line to skip building the Build utilities:
-BUILD_UTILS=${BUILD_UTILS:-"yes"}
+# Modified by the SlackBuilds.org project.
PRGNAM=eduke32
-VERSION=${VERSION:-20080709}
-SRCDIR=${PRGNAM}_src_${VERSION}
+VERSION=${VERSION:-20090313}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CWD=$(pwd)
-TMP=${TMP:-/tmp/SBo} # For consistency's sake, use this
+TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp} # Drop the package in /tmp
+OUTPUT=${OUTPUT:-/tmp}
+
+SRCVER=${SRCVER:-20090131}
-# TODO: fix the Makefiles so they'll honor external CFLAGS.
-# The default flags include -O2 already, which is good enough for now.
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+ EXTRAMAKEFLAGS=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
-else
- echo "Sorry, $PRGNAM can't be compiled on $ARCH with this script (yet)"
- exit 1
+ LIBDIRSUFFIX=""
+ EXTRAMAKEFLAGS=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ EXTRAMAKEFLAGS="NOASM=1"
fi
set -e
rm -rf $PKG
-mkdir -p $TMP $PKG/usr/libexec/$PRGNAM $PKG/usr/bin \
- $PKG/usr/share/games/$PRGNAM $OUTPUT
+mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $SRCDIR
-unzip $CWD/$SRCDIR.zip
-
-cd $SRCDIR
+rm -rf ${PRGNAM}_src_${SRCVER}
+unzip $CWD/${PRGNAM}_src_${SRCVER}.zip
+cd ${PRGNAM}_src_${SRCVER}
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 {} \;
-
-cd eduke32
-make
-# There is no "make install"; binary is already stripped
-
-for i in eduke32 mapster32; do
- cat $i > $PKG/usr/libexec/$PRGNAM/$i
- chown root:root $PKG/usr/libexec/$PRGNAM/$i
- chmod 0755 $PKG/usr/libexec/$PRGNAM/$i
-done
+chmod -R a-s,u+w,go+r-w .
+
+# Latest src is only available as a diff against the previous
+# release, it came from here:
+# http://wiki.eduke32.com/stuff/source_code/eduke32_src_20090313.diff
+zcat $CWD/${PRGNAM}_src_${VERSION}.diff.gz | patch -p1
+
+make CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" $EXTRAMAKEFLAGS
+
+# Build the utilities, if requested.
+if [ "${BUILD_UTILS:-yes}" = "yes" ]; then
+ cd build
+ make utils
+
+ for i in kextract kgroup transpal wad2art wad2map; do
+ install -s -D -m0755 $i $PKG/usr/games/$i
+ done
+
+ mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+ cp doc/* $PKG/usr/doc/$PRGNAM-$VERSION
+ cd -
+fi
+
+install -D -m0755 $PRGNAM $PKG/usr/libexec/$PRGNAM/$PRGNAM
+install -D -m0755 mapster32 $PKG/usr/libexec/$PRGNAM/mapster32
+
+mkdir -p $PKG/usr/man/man6
+gzip -9c $CWD/$PRGNAM.6 > $PKG/usr/man/man6/$PRGNAM.6.gz
# Wrapper script to make things behave nicer
-cat $CWD/eduke32.wrapper > $PKG/usr/bin/eduke32
-chown root:root $PKG/usr/bin/eduke32
-chmod 755 $PKG/usr/bin/eduke32
-( cd $PKG/usr/bin ; ln -s eduke32 mapster32 )
+install -D -m0755 $CWD/$PRGNAM.wrapper $PKG/usr/games/$PRGNAM
+( cd $PKG/usr/games ; ln -s $PRGNAM mapster32 )
# Mapster help files
-cp *.hlp *.HLP names.h tiles.cfg $PKG/usr/share/games/eduke32
+mkdir -p $PKG/usr/share/games/$PRGNAM
+cp *.hlp *.HLP names.h tiles.cfg $PKG/usr/share/games/$PRGNAM
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a ChangeLog* *.txt *.TXT *.sample *.cfg \
- $PKG/usr/doc/$PRGNAM-$VERSION
+cp ChangeLog* *.txt *.TXT *.sample *.cfg $CWD/README_game_data.txt \
+ $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-cp $CWD/README_game_data.txt $PKG/usr/doc/$PRGNAM-$VERSION
+
( cd $PKG/usr/share/games/$PRGNAM
ln -s ../../../doc/$PRGNAM-$VERSION/README_game_data.txt . )
# Icon and desktop link
mkdir -p $PKG/usr/share/applications
-cp $CWD/mapster32.desktop $CWD/eduke32.desktop $PKG/usr/share/applications
+cp $CWD/mapster32.desktop $CWD/$PRGNAM.desktop $PKG/usr/share/applications
+
mkdir -p $PKG/usr/share/pixmaps
-cp $CWD/eduke32.png $PKG/usr/share/pixmaps
+cp $CWD/$PRGNAM.png $PKG/usr/share/pixmaps
# slack-desc
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
-# Build the utilities, if requested.
-if [ "$BUILD_UTILS" = "yes" ]; then
- cd $TMP/$SRCDIR/build
- make utils
-
- for i in kextract kgroup transpal wad2art wad2map; do
- strip $i
- cat $i > $PKG/usr/bin/$i
- chown root:root $PKG/usr/bin/$i
- chmod 0755 $PKG/usr/bin/$i
- done
-
- cp doc/* $PKG/usr/doc/$PRGNAM-$VERSION
- echo "$PRGNAM: This package includes the Build engine utiliies (kextract et al)" >> $PKG/install/slack-desc
-fi
-
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
diff --git a/games/eduke32/eduke32.desktop b/games/eduke32/eduke32.desktop
index b50def0dfa..2190c3cc97 100644
--- a/games/eduke32/eduke32.desktop
+++ b/games/eduke32/eduke32.desktop
@@ -1,10 +1,9 @@
[Desktop Entry]
-Encoding=UTF-8
Name=EDuke32
GenericName=Duke Nukem 3D Engine
Comment=EDuke32 Duke Nukem 3D Engine
-Icon=/usr/share/pixmaps/eduke32.png
+Icon=eduke32
Exec=eduke32
Terminal=false
Type=Application
-Categories=Application;Game;
+Categories=Game;ActionGame;
diff --git a/games/eduke32/eduke32.info b/games/eduke32/eduke32.info
index 8229e3a457..c81b9a345a 100644
--- a/games/eduke32/eduke32.info
+++ b/games/eduke32/eduke32.info
@@ -1,8 +1,8 @@
PRGNAM="eduke32"
-VERSION="20080709"
+VERSION="20090313"
HOMEPAGE="http://www.eduke32.com/"
-DOWNLOAD="http://wiki.eduke32.com/stuff/eduke32_src_20080709.zip"
-MD5SUM="25dea16254a227b0ad3dffe01ca604bf"
+DOWNLOAD="http://wiki.eduke32.com/stuff/source_code/eduke32_src_20090131.zip"
+MD5SUM="cf5eb51de024f28e8b24aae2702d459e"
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"
-APPROVED="David Somero" \ No newline at end of file
+APPROVED="dsomero"
diff --git a/games/eduke32/eduke32_src_20090313.diff.gz b/games/eduke32/eduke32_src_20090313.diff.gz
new file mode 100644
index 0000000000..bfd7c5188f
--- /dev/null
+++ b/games/eduke32/eduke32_src_20090313.diff.gz
Binary files differ
diff --git a/games/eduke32/mapster32.desktop b/games/eduke32/mapster32.desktop
index 2ce830862d..66908945b3 100644
--- a/games/eduke32/mapster32.desktop
+++ b/games/eduke32/mapster32.desktop
@@ -1,10 +1,9 @@
[Desktop Entry]
-Encoding=UTF-8
Name=Mapster32
GenericName=Duke Nukem 3D Editor
Comment=Mapster32 Duke Nukem 3D Editor
-Icon=/usr/share/pixmaps/eduke32.png
+Icon=eduke32
Exec=mapster32
Terminal=false
Type=Application
-Categories=Application;Game;Editor
+Categories=Game;Editor
diff --git a/games/eduke32/slack-desc b/games/eduke32/slack-desc
index 0ca6bbb969..e93a9f9d82 100644
--- a/games/eduke32/slack-desc
+++ b/games/eduke32/slack-desc
@@ -1,4 +1,12 @@
-eduke32: EDuke32 (fork of the JFDuke3D port of Duke Nukem 3D)
+# 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------------------------------------------------------|
+eduke32: EDuke32 (enhanced "Duke Nukem 3D" engine)
eduke32:
eduke32: EDuke32 is a fork of the JFDuke3D port of Duke Nukem 3D (aka Duke3D),
eduke32: merging it with EDuke to provide many new features for mod authors.
@@ -7,5 +15,5 @@ eduke32:
eduke32: To play the game, you will need the DUKE3D.GRP file from either the
eduke32: Duke Nukem 3D CD-ROM, or from the shareware version of Duke Nukem 3D.
eduke32:
-eduke32: For convenience, the shareware GRP file has been packaged as
-eduke32: eduke32_shareware_data, also available from slackbuilds.org. \ No newline at end of file
+eduke32:
+eduke32: