diff options
author | B. Watson <yalhcru@gmail.com> | 2014-03-30 12:29:27 -0500 |
---|---|---|
committer | Erik Hanson <erik@slackbuilds.org> | 2014-04-12 13:59:48 -0500 |
commit | 11fd7892b56d4a97cc5a93b9204562d70bbc9b21 (patch) | |
tree | d42fd296ec58c3554e75f298d1e8e38cbe375911 | |
parent | d9a8bbf2e1c9302db876e15b3459b59c5f903db4 (diff) | |
download | slackbuilds-11fd7892b56d4a97cc5a93b9204562d70bbc9b21.tar.gz |
games/openjazz: Added (engine for Jazz Jackrabbit games)
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
-rw-r--r-- | games/openjazz/README | 31 | ||||
-rw-r--r-- | games/openjazz/doinst.sh | 4 | ||||
-rw-r--r-- | games/openjazz/openjazz-shareware.desktop | 8 | ||||
-rw-r--r-- | games/openjazz/openjazz.6 | 207 | ||||
-rw-r--r-- | games/openjazz/openjazz.SlackBuild | 139 | ||||
-rw-r--r-- | games/openjazz/openjazz.info | 12 | ||||
-rw-r--r-- | games/openjazz/openjazz.png | bin | 0 -> 1838 bytes | |||
-rw-r--r-- | games/openjazz/openjazz.pod | 82 | ||||
-rw-r--r-- | games/openjazz/paths.diff | 132 | ||||
-rw-r--r-- | games/openjazz/slack-desc | 19 |
10 files changed, 634 insertions, 0 deletions
diff --git a/games/openjazz/README b/games/openjazz/README new file mode 100644 index 0000000000..60c3086e70 --- /dev/null +++ b/games/openjazz/README @@ -0,0 +1,31 @@ +OpenJazz is a free, open-source version of the classic Jazz Jackrabbit +games. OpenJazz can be compiled on a wide range of operating systems, +including Windows 98/Me/XP and Linux. OpenJazz requires the files +from any of the following games: + +- Jazz Jackrabbit Shareware Edition (included in this build) +- Jazz Jackrabbit +- Jazz Jackrabbit CD +- Jazz Jackrabbit Christmas Edition +- Jazz Jackrabbit: Holiday Hare 1995 + +OpenJazz will not work with any of the Jazz Jackrabbit 2 games. + +There is no support for saving/loading the game. Multiplayer +is supported, but not well tested. For more information, see +http://www.alister.eu/jazz/oj/faq.php + +This build includes the data files from the shareware edition, installed +in /usr/share/openjazz/shareware, and a wrapper script openjazz-shareware +that runs them (along with a .desktop file that does the same). To run +one of the other supported games, you'll need an installed/extracted copy +of the game in its own directory, and you'll have to pass the directory +path to openjazz as an argument. Example: + +$ openjazz /dosC/games/jazz + +Note that all the actual data files need to have UPPERCASE names, +e.g. "BLOCKS.000". If yours are lowercase, you can use something +like this: + +$ for i in *; do mv $i $( echo $i | tr a-z A-Z ); done diff --git a/games/openjazz/doinst.sh b/games/openjazz/doinst.sh new file mode 100644 index 0000000000..4e8ba7071d --- /dev/null +++ b/games/openjazz/doinst.sh @@ -0,0 +1,4 @@ +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/openjazz/openjazz-shareware.desktop b/games/openjazz/openjazz-shareware.desktop new file mode 100644 index 0000000000..d32a47921d --- /dev/null +++ b/games/openjazz/openjazz-shareware.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Jazz Jackrabbit (shareware) +Comment=Classic DOS game (OpenJazz engine) +Exec=openjazz +Icon=openjazz-shareware +Terminal=false +Type=Application +Categories=Game;ArcadeGame; diff --git a/games/openjazz/openjazz.6 b/games/openjazz/openjazz.6 new file mode 100644 index 0000000000..21d4515242 --- /dev/null +++ b/games/openjazz/openjazz.6 @@ -0,0 +1,207 @@ +.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "OPENJAZZ 6" +.TH OPENJAZZ 6 "2014-03-27" "160214" "SlackBuilds.org" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +openjazz \- free/open\-source game engine for Jazz Jackrabbit +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBopenjazz\fR \fI[\-f]\fR \fI[dir] ...\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +OpenJazz is a free, open-source version of the classic Jazz Jackrabbit(tm) +games. OpenJazz can be compiled on a wide range of operating systems, +including Windows 98/Me/XP and Linux. OpenJazz requires the files +from any of the following games: +.IP "Jazz Jackrabbit" 4 +.IX Item "Jazz Jackrabbit" +.PD 0 +.IP "Jazz Jackrabbit \s-1CD\s0" 4 +.IX Item "Jazz Jackrabbit CD" +.IP "Jazz Jackrabbit Shareware Edition" 4 +.IX Item "Jazz Jackrabbit Shareware Edition" +.IP "Jazz Jackrabbit Christmas Edition" 4 +.IX Item "Jazz Jackrabbit Christmas Edition" +.IP "Jazz Jackrabbit: Holiday Hare 1995" 4 +.IX Item "Jazz Jackrabbit: Holiday Hare 1995" +.PD +.PP +OpenJazz will not work with any of the Jazz Jackrabbit 2 games. Don't +get confused: there's a \*(L"Holiday Hare 1998\*(R", which isn't supported +(only the 1995 version is). +.PP +There is no support for saving/loading the game. Multiplayer +is supported, but not well tested. +.SH "OPTIONS" +.IX Header "OPTIONS" +\&\fB\-f\fR starts the game fullscreen. Any other option beginning with \- will +be ignored. Anything else is treated as a directory to be added to the +file search path. +.SH "FILES" +.IX Header "FILES" +Game data files must be named in uppercase (e.g. \fB\s-1BLOCKS.000\s0\fR). +.PP +The search path for game data files includes, in order: +.IP "the current directory" 4 +.IX Item "the current directory" +.PD 0 +.ie n .IP "$HOME/.openjazz/" 4 +.el .IP "\f(CW$HOME\fR/.openjazz/" 4 +.IX Item "$HOME/.openjazz/" +.IP "all paths listed on the command line \fIin reverse order\fR" 4 +.IX Item "all paths listed on the command line in reverse order" +.PD +.PP +In addition, the file \fBopenjazz.000\fR (containing the OpenJazz logo, +note the lowercase name) will be searched for in \fB/usr/share/openjazz\fR +after all other directories (so each separate game doesn't need its +own copy, when you've got multiple games installed). +.PP +\&\fB\f(CB$HOME\fB/.openjazz/\fR stores user preferences and any custom levels +downloaded from multiplayer servers. Will be created if it doesn't +exist. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fBhttp://www.alister.eu/jazz/oj/faq.php\fR +.SH "AUTHORS" +.IX Header "AUTHORS" +\&\fBopenjazz\fR is copyright (c) 2005\-2013 Alister Thomson. +.PP +This man page written by B. Watson for the SlackBuilds.org project, and may +be used by anyone. diff --git a/games/openjazz/openjazz.SlackBuild b/games/openjazz/openjazz.SlackBuild new file mode 100644 index 0000000000..a159e77b31 --- /dev/null +++ b/games/openjazz/openjazz.SlackBuild @@ -0,0 +1,139 @@ +#!/bin/sh + +# Slackware build script for openjazz + +# Written by B. Watson (yalhcru@gmail.com) + +# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. + +PRGNAM=openjazz +VERSION=${VERSION:-160214} +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 + +SRCNAM=OpenJazz +ZIPFILE=$SRCNAM-src-$VERSION.zip + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +mkdir -p $PRGNAM-$VERSION +cd $PRGNAM-$VERSION +unzip $CWD/$ZIPFILE +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Patch does 4 things: + +# - Always look for openjazz.000 in /usr/share/openjazz. Saves the user +# from having to keep copies or symlinks of it in every game dir. + +# - Writes config file to user's homedir, not current dir. + +# - For .psm (music) files, if they're not found as "blah.psm", try the +# all-uppercase "BLAH.PSM" instead. Saves the user having to rename +# them (and keeps things consistent, EVERYTHING ALL CAPS). In case you're +# wondering, the lowercase psm filenames are hardcoded inside the data +# files from the DOS game, not the source. + +# - Logs the full path & result of every attempted file open. I needed +# this myself to understand WTF was going on, leaving it in case +# users find it helpful. + +patch -p1 < $CWD/paths.diff + +autoreconf -if + +# HOMEDIR should be defined on *nix, for some reason it's not automatically. +SLKCFLAGS="$SLKCFLAGS -DHOMEDIR" + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --build=$ARCH-slackware-linux + +make +make install-strip DESTDIR=$PKG + +# icon came from windows jazz jackrabbit CD, converted with icotool +mkdir -p $PKG/usr/share/pixmaps +cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/shareware \ + $PKG/usr/share/$PRGNAM/shareware + +cd $PKG/usr/share/$PRGNAM/shareware +unzip $CWD/jjrabbit.zip + for i in *.DOC; do + sed 's,\r,,g' $i > $PKG/usr/doc/$PRGNAM-$VERSION/shareware/$i + done + rm -f *.EXE *.DIZ *.DOC *.PIF +cd - + +# wrapper script +mkdir -p $PKG/usr/games +cat <<EOF >$PKG/usr/games/$PRGNAM-shareware +#!/bin/sh +exec $PRGNAM /usr/share/$PRGNAM/shareware "\$@" +EOF +chmod 755 $PKG/usr/games/$PRGNAM-shareware + +# man page written for this slackbuild +mkdir -p $PKG/usr/man/man6 +gzip -9c < $CWD/$PRGNAM.6 > $PKG/usr/man/man6/$PRGNAM.6.gz + +mkdir -p $PKG/usr/share/applications +cat $CWD/$PRGNAM-shareware.desktop \ + > $PKG/usr/share/applications/$PRGNAM-shareware.desktop + +for i in *.txt; do + sed 's,\r,,g' $i > $PKG/usr/doc/$PRGNAM-$VERSION/$i +done +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/openjazz/openjazz.info b/games/openjazz/openjazz.info new file mode 100644 index 0000000000..d49841e280 --- /dev/null +++ b/games/openjazz/openjazz.info @@ -0,0 +1,12 @@ +PRGNAM="openjazz" +VERSION="160214" +HOMEPAGE="http://www.alister.eu/jazz/oj/" +DOWNLOAD="http://www.alister.eu/jazz/oj/OpenJazz-src-160214.zip \ + http://urchlay.naptime.net/~urchlay/src/jjrabbit.zip" +MD5SUM="a570ae8b148a8b0fd7a3a121289a4721 \ + 48bc5ae9ac3d0bb3a45a8262f68bf78c" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="libmodplug" +MAINTAINER="B. Watson" +EMAIL="yalhcru@gmail.com" diff --git a/games/openjazz/openjazz.png b/games/openjazz/openjazz.png Binary files differnew file mode 100644 index 0000000000..c96691d863 --- /dev/null +++ b/games/openjazz/openjazz.png diff --git a/games/openjazz/openjazz.pod b/games/openjazz/openjazz.pod new file mode 100644 index 0000000000..cce21dcba4 --- /dev/null +++ b/games/openjazz/openjazz.pod @@ -0,0 +1,82 @@ +# pod source for openjazz man page +# pod2man -s6 -r160214 --stderr -cSlackBuilds.org openjazz.pod > openjazz.6 + +=pod + +=head1 NAME + +B<openjazz> - free/open-source game engine for Jazz Jackrabbit + +=head1 SYNOPSIS + +B<openjazz> I<[-f]> I<[dir] ...> + +=head1 DESCRIPTION + +OpenJazz is a free, open-source version of the classic Jazz Jackrabbit(tm) +games. OpenJazz can be compiled on a wide range of operating systems, +including Windows 98/Me/XP and Linux. OpenJazz requires the files +from any of the following games: + +=over + +=item Jazz Jackrabbit + +=item Jazz Jackrabbit CD + +=item Jazz Jackrabbit Shareware Edition + +=item Jazz Jackrabbit Christmas Edition + +=item Jazz Jackrabbit: Holiday Hare 1995 + +=back + +OpenJazz will not work with any of the Jazz Jackrabbit 2 games. Don't +get confused: there's a "Holiday Hare 1998", which isn't supported +(only the 1995 version is). + +There is no support for saving/loading the game. Multiplayer +is supported, but not well tested. + +=head1 OPTIONS + +B<-f> starts the game fullscreen. Any other option beginning with - will +be ignored. Anything else is treated as a directory to be added to the +file search path. + +=head1 FILES + +Game data files must be named in uppercase (e.g. B<BLOCKS.000>). + +The search path for game data files includes, in order: + +=over + +=item the current directory + +=item $HOME/.openjazz/ + +=item all paths listed on the command line I<in reverse order> + +=back + +In addition, the file B<openjazz.000> (containing the OpenJazz logo, +note the lowercase name) will be searched for in B</usr/share/openjazz> +after all other directories (so each separate game doesn't need its +own copy, when you've got multiple games installed). + +B<$HOME/.openjazz/> stores user preferences and any custom levels +downloaded from multiplayer servers. Will be created if it doesn't +exist. + +=head1 SEE ALSO + +B<http://www.alister.eu/jazz/oj/faq.php> + +=head1 AUTHORS + +B<openjazz> is copyright (c) 2005-2013 Alister Thomson. + +This man page written by B. Watson for the SlackBuilds.org project, and may +be used by anyone. diff --git a/games/openjazz/paths.diff b/games/openjazz/paths.diff new file mode 100644 index 0000000000..96a3319381 --- /dev/null +++ b/games/openjazz/paths.diff @@ -0,0 +1,132 @@ +diff -Naur orig/src/io/file.cpp patched/src/io/file.cpp +--- orig/src/io/file.cpp 2014-02-15 22:14:10.000000000 -0500 ++++ patched/src/io/file.cpp 2014-03-27 01:48:27.000000000 -0400 +@@ -32,6 +32,7 @@ + #include "io/gfx/video.h"
+ #include "util.h" + ++#include <stdlib.h> + #include <string.h> + #include <zlib.h> +
+@@ -43,6 +44,16 @@ + * @param write Whether or not the file can be written to + */
+ File::File (const char* name, bool write) {
++#ifdef HOMEDIR ++ if(write) { ++ char *writepath = createString(getenv("HOME"), "/.openjazz/"); ++ bool ok = open(writepath, name, write); ++ delete [] writepath; ++ if(ok) return; ++ log("Could not open file for writing in $HOME", name); ++ throw E_FILE; ++ } ++#endif +
+ Path* path;
+
+@@ -55,7 +66,7 @@ +
+ }
+
+- log("Could not open file", name);
++ log("Could not find file in path", name);
+
+ throw E_FILE;
+
+@@ -69,9 +80,7 @@ +
+ fclose(file);
+
+-#ifdef VERBOSE
+ log("Closed file", filePath);
+-#endif
+
+ delete[] filePath;
+
+@@ -117,13 +126,13 @@ +
+ if (file) {
+
+-#ifdef VERBOSE
+ log("Opened file", filePath);
+-#endif
+
+ return true;
+
+- }
++ } else {
++ log("Could not open file", filePath);
++ } +
+ delete[] filePath;
+
+diff -Naur orig/src/io/sound.cpp patched/src/io/sound.cpp +--- orig/src/io/sound.cpp 2013-11-23 11:54:26.000000000 -0500 ++++ patched/src/io/sound.cpp 2014-03-27 01:47:03.000000000 -0400 +@@ -27,6 +27,8 @@ + */
+
+
++#include <ctype.h> ++#include <string.h> + #include "file.h"
+ #include "sound.h"
+
+@@ -203,7 +205,15 @@ +
+ } catch (int e) {
+
+- return;
++ char *upperName = strdup(fileName); ++ for(char *ch = upperName; *ch; ++ch) ++ *ch = toupper(*ch); ++ try { ++ file = new File(upperName, false); ++ free(upperName); ++ } catch(int e) { ++ return;
++ } +
+ }
+
+diff -Naur orig/src/main.cpp patched/src/main.cpp +--- orig/src/main.cpp 2014-02-16 10:59:02.000000000 -0500 ++++ patched/src/main.cpp 2014-03-27 01:51:17.000000000 -0400 +@@ -47,6 +47,8 @@ + #include "setup.h"
+ #include "util.h"
+
++#include <sys/stat.h>
++#include <sys/types.h>
+ #include <string.h>
+
+ #if defined(CAANOO) || defined(WIZ) || defined(GP2X)
+@@ -174,7 +176,9 @@ + #ifdef WIN32
+ firstPath = new Path(firstPath, createString(getenv("HOME"), "\\"));
+ #else
+- firstPath = new Path(firstPath, createString(getenv("HOME"), "/."));
++ char *homeSubDir = createString(getenv("HOME"), "/.openjazz/"); ++ mkdir(homeSubDir, 0700); /* ignore errors */ ++ firstPath = new Path(firstPath, homeSubDir); + #endif
+ #endif
+
+diff -Naur orig/src/menu/mainmenu.cpp patched/src/menu/mainmenu.cpp +--- orig/src/menu/mainmenu.cpp 2013-07-20 11:46:16.000000000 -0400 ++++ patched/src/menu/mainmenu.cpp 2014-03-27 01:47:03.000000000 -0400 +@@ -58,7 +58,11 @@ + + } catch (int e) { + +- throw e; ++ try { ++ file = new File("/usr/share/openjazz/" LOGO_FILE, false); ++ } catch(int e) { ++ throw e; ++ } + + } + diff --git a/games/openjazz/slack-desc b/games/openjazz/slack-desc new file mode 100644 index 0000000000..a257d506a2 --- /dev/null +++ b/games/openjazz/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 ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +openjazz: openjazz (engine for Jazz Jackrabbit games) +openjazz: +openjazz: OpenJazz is a free open-source version of the classic Jazz Jackrabbit +openjazz: games. OpenJazz requires the files from any of the following games: +openjazz: +openjazz: - Jazz Jackrabbit Shareware Edition (included in this build) +openjazz: - Jazz Jackrabbit +openjazz: - Jazz Jackrabbit CD +openjazz: - Jazz Jackrabbit Christmas Edition +openjazz: - Jazz Jackrabbit: Holiday Hare 1995 +openjazz: |