Hello Fabian,


> Fabian Greffrath <fab...@greffrath.com> schrieb am 20:18 Donnerstag, 
> 30.Januar 2014:
> > Am Donnerstag, den 30.01.2014, 19:09 +0000 schrieb Johey Shmit: 
>>  Yes, that's true of course. But aren't the games startet by the 
> desktop
>>  entries which point to a wad file directly anyway? The built in wad
>>  browsers of the game engines aren't really used in that scenario, so we
>>  could split up the wad files into separate directories.
> 
> I regularly run e.g. "doom -iwad doom2.wad -file ~/doom/whatever.wad" 
> in
> a Terminal and would find it very inconvenient if I had to specify a
> specific path to the IWAD files just because they happen to be
> heretic.wad or hexen.wad.

Ok, I see your point. Attached is a patch against git that adds support
for the following games:

- heretic shareware
- hexen shareware
- strife shareware
- hexen add on hexdd
- strife registered

All files are put into /usr/share/games/doom/.

Thanks for considering including the patch!
From 37d8986a9917983d164e258cf5f4706ca0665bb1 Mon Sep 17 00:00:00 2001
From: Johey Shmit <joheysh...@yahoo.com>
Date: Fri, 31 Jan 2014 16:05:09 +0100
Subject: [PATCH] added support for Heretic SW, Hexen SW, Hexen addon hexdd,
 Strife SW and Strife registered

Signed-off-by: Johey Shmit <joheysh...@yahoo.com>
---
 Makefile                                           |  30 ++++++
 doom-common.mk                                     |  30 +++++-
 .../usr/share/applications/doom-common.desktop.in  |   2 +-
 .../applications/heretic-shareware.desktop.in      |   9 ++
 .../usr/share/applications/hexdd.desktop.in        |   9 ++
 .../share/applications/hexen-shareware.desktop.in  |   9 ++
 .../share/applications/strife-shareware.desktop.in |   9 ++
 .../usr/share/applications/strife.desktop.in       |   9 ++
 heretic-shareware/DEBIAN/control.in                |  15 +++
 hexdd/DEBIAN/control.in                            |  16 +++
 hexen-shareware/DEBIAN/control.in                  |  15 +++
 lib/doom-common                                    | 111 +++++++++++++++++++--
 lib/game-data-packager-shared                      |   9 +-
 lib/heretic-shareware-mirrors                      |   3 +
 lib/hexen-shareware-mirrors                        |   3 +
 lib/strife-shareware-mirrors                       |   2 +
 strife-shareware/DEBIAN/control.in                 |  15 +++
 strife/DEBIAN/control.in                           |  15 +++
 supported/heretic-shareware                        |  37 +++++++
 supported/hexdd                                    |  17 ++++
 supported/hexen-shareware                          |  35 +++++++
 supported/strife                                   |  28 ++++++
 supported/strife-shareware                         |  34 +++++++
 23 files changed, 445 insertions(+), 17 deletions(-)
 create mode 100644 doom-common/usr/share/applications/heretic-shareware.desktop.in
 create mode 100644 doom-common/usr/share/applications/hexdd.desktop.in
 create mode 100644 doom-common/usr/share/applications/hexen-shareware.desktop.in
 create mode 100644 doom-common/usr/share/applications/strife-shareware.desktop.in
 create mode 100644 doom-common/usr/share/applications/strife.desktop.in
 create mode 100644 heretic-shareware/DEBIAN/control.in
 create mode 100644 hexdd/DEBIAN/control.in
 create mode 100644 hexen-shareware/DEBIAN/control.in
 create mode 100644 lib/heretic-shareware-mirrors
 create mode 100644 lib/hexen-shareware-mirrors
 create mode 100644 lib/strife-shareware-mirrors
 create mode 100644 strife-shareware/DEBIAN/control.in
 create mode 100644 strife/DEBIAN/control.in
 create mode 100644 supported/heretic-shareware
 create mode 100644 supported/hexdd
 create mode 100644 supported/hexen-shareware
 create mode 100644 supported/strife
 create mode 100644 supported/strife-shareware

diff --git a/Makefile b/Makefile
index ee1b938..88f3cc3 100644
--- a/Makefile
+++ b/Makefile
@@ -12,12 +12,27 @@ default: $(DIRS)
 		LONG="Final Doom: TNT: Evilution" VERSION=$(VERSION)
 	make -f doom-common.mk IWAD=plutonia \
 		LONG="Final Doom: The Plutonia Experiment" VERSION=$(VERSION)
+	make -f doom-common.mk IWAD=heretic-shareware GAME=heretic VERSION=$(VERSION) \
+		CONTROLIN=heretic-shareware/DEBIAN/control.in \
+		LONG="Heretic Shareware"
 	make -f doom-common.mk IWAD=heretic GAME=heretic VERSION=$(VERSION) \
 		CONTROLIN=heretic/DEBIAN/control.in \
 		LONG="Heretic: Shadow of the Serpent Riders"
+	make -f doom-common.mk IWAD=hexen-shareware GAME=hexen VERSION=$(VERSION) \
+		CONTROLIN=hexen-shareware/DEBIAN/control.in \
+		LONG="Hexen Shareware"
 	make -f doom-common.mk IWAD=hexen GAME=hexen VERSION=$(VERSION) \
 		CONTROLIN=hexen/DEBIAN/control.in \
 		LONG="Hexen: Beyond Heretic"
+	make -f doom-common.mk IWAD=hexdd GAME=hexen VERSION=$(VERSION) \
+		CONTROLIN=hexdd/DEBIAN/control.in \
+		LONG="Hexen: Deathkings of the Dark Citadel"
+	make -f doom-common.mk IWAD=strife-shareware GAME=strife VERSION=$(VERSION) \
+		CONTROLIN=strife-shareware/DEBIAN/control.in \
+		LONG="Strife Shareware"
+	make -f doom-common.mk IWAD=strife GAME=strife VERSION=$(VERSION) \
+		CONTROLIN=strife/DEBIAN/control.in \
+		LONG="Strife Quest for the Sigil"
 	make -f quake.mk LONG="Quake" VERSION=$(VERSION) PACKAGE=quake-registered \
 		FOLDER=id1
 	make -f quake.mk LONG="Quake music" VERSION=$(VERSION) \
@@ -56,12 +71,27 @@ clean:
 		LONG="Final Doom: TNT: Evilution" VERSION=$(VERSION) clean
 	make -f doom-common.mk IWAD=plutonia \
 		LONG="Final Doom: The Plutonia Experiment" VERSION=$(VERSION) clean
+	make -f doom-common.mk IWAD=heretic-shareware VERSION=$(VERSION) \
+		CONTROLIN=heretic-shareware/DEBIAN/control.in \
+		LONG="Heretic Shareware" clean
 	make -f doom-common.mk IWAD=heretic VERSION=$(VERSION) \
 		CONTROLIN=heretic/DEBIAN/control.in \
 		LONG="Heretic: Shadow of the Serpent Riders" clean
+	make -f doom-common.mk IWAD=hexen-shareware VERSION=$(VERSION) \
+		CONTROLIN=hexen-shareware/DEBIAN/control.in \
+		LONG="Hexen Shareware" clean
 	make -f doom-common.mk IWAD=hexen VERSION=$(VERSION) \
 		CONTROLIN=hexen/DEBIAN/control.in \
 		LONG="Hexen: Beyond Heretic" clean
+	make -f doom-common.mk IWAD=hexdd VERSION=$(VERSION) \
+		CONTROLIN=hexdd/DEBIAN/control.in \
+		LONG="Hexen: Deathkings of the Dark Citadel" clean
+	make -f doom-common.mk IWAD=strife-shareware VERSION=$(VERSION) \
+		CONTROLIN=strife-shareware/DEBIAN/control.in \
+		LONG="Strife Shareware" clean
+	make -f doom-common.mk IWAD=strife VERSION=$(VERSION) \
+		CONTROLIN=strife/DEBIAN/control.in \
+		LONG="Strife: Quest for the Sigil" clean
 	make -f quake.mk LONG="Quake" VERSION=$(VERSION) PACKAGE=quake-registered \
 		FOLDER=id1 clean
 	make -f quake.mk LONG="Quake music" VERSION=$(VERSION) \
diff --git a/doom-common.mk b/doom-common.mk
index b8ac970..c316ba5 100644
--- a/doom-common.mk
+++ b/doom-common.mk
@@ -19,7 +19,7 @@ DIRS := \
 	$(IWAD)-wad/usr/share/doc/$(IWAD)-wad \
 	$(IWAD)-wad/usr/share/doc \
 	$(IWAD)-wad/usr/share/games/game-data-packager \
-	$(IWAD)-wad/usr/share/games/$(GAME) \
+	$(IWAD)-wad/usr/share/games/doom \
 	$(IWAD)-wad/usr/share/games \
 	$(IWAD)-wad/usr/share \
 	$(IWAD)-wad/usr \
@@ -42,9 +42,31 @@ build/$(IWAD)-wad/usr/share/doc/$(IWAD)-wad/README.Debian:
 		> $@
 
 build/$(IWAD)-wad/usr/share/applications/$(IWAD)-wad.desktop:
-	m4 -DGAME=$(IWAD) -DLONG="$(LONG)" -DENGINE=$(GAME) \
-		doom-common/usr/share/applications/doom-common.desktop.in \
-		> $@
+	if [ "$(IWAD)" = heretic-shareware ] ; then \
+		m4 -DGAME=heretic -DLONG="$(LONG)" -DENGINE=$(GAME) \
+			doom-common/usr/share/applications/heretic-shareware.desktop.in \
+			> $@ ; \
+	elif [ "$(IWAD)" = hexen-shareware ] ; then \
+		m4 -DGAME=hexen -DLONG="$(LONG)" -DENGINE=$(GAME) \
+			doom-common/usr/share/applications/hexen-shareware.desktop.in \
+			> $@ ; \
+	elif [ "$(IWAD)" = hexdd ] ; then \
+		m4 -DGAME=hexen -DLONG="$(LONG)" -DENGINE=$(GAME) \
+			doom-common/usr/share/applications/hexdd.desktop.in \
+			> $@ ; \
+	elif [ "$(IWAD)" = strife ] ; then \
+		m4 -DGAME=strife -DLONG="$(LONG)" -DENGINE=$(GAME) \
+			doom-common/usr/share/applications/strife.desktop.in \
+			> $@ ; \
+	elif [ "$(IWAD)" = strife-shareware ] ; then \
+		m4 -DGAME=strife -DLONG="$(LONG)" -DENGINE=$(GAME) \
+			doom-common/usr/share/applications/strife-shareware.desktop.in \
+			> $@ ; \
+	else \
+		m4 -DGAME=$(IWAD) -DLONG="$(LONG)" -DENGINE=$(GAME) \
+			doom-common/usr/share/applications/doom-common.desktop.in \
+			> $@ ; \
+	fi
 
 build/$(IWAD)-wad/DEBIAN/preinst:
 	m4 -DIWAD=$(IWAD).wad \
diff --git a/doom-common/usr/share/applications/doom-common.desktop.in b/doom-common/usr/share/applications/doom-common.desktop.in
index b0eebfd..db03790 100644
--- a/doom-common/usr/share/applications/doom-common.desktop.in
+++ b/doom-common/usr/share/applications/doom-common.desktop.in
@@ -2,7 +2,7 @@
 Name=LONG
 GenericName=First Person Shooter Game
 TryExec=ENGINE
-Exec=ENGINE -iwad /usr/share/games/ENGINE/GAME.wad
+Exec=ENGINE -iwad /usr/share/games/doom/GAME.wad
 Icon=GAME.xpm
 Terminal=false
 Type=Application
diff --git a/doom-common/usr/share/applications/heretic-shareware.desktop.in b/doom-common/usr/share/applications/heretic-shareware.desktop.in
new file mode 100644
index 0000000..2932fd0
--- /dev/null
+++ b/doom-common/usr/share/applications/heretic-shareware.desktop.in
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=LONG
+GenericName=First Person Shooter Game
+TryExec=ENGINE
+Exec=ENGINE -iwad /usr/share/games/doom/heretic1.wad
+Icon=heretic-shareware.xpm
+Terminal=false
+Type=Application
+Categories=Game
diff --git a/doom-common/usr/share/applications/hexdd.desktop.in b/doom-common/usr/share/applications/hexdd.desktop.in
new file mode 100644
index 0000000..10467b1
--- /dev/null
+++ b/doom-common/usr/share/applications/hexdd.desktop.in
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=LONG
+GenericName=First Person Shooter Game
+TryExec=ENGINE
+Exec=ENGINE -iwad /usr/share/games/doom/hexen.wad -file /usr/share/games/doom/hexdd.wad
+Icon=hexdd.xpm
+Terminal=false
+Type=Application
+Categories=Game
diff --git a/doom-common/usr/share/applications/hexen-shareware.desktop.in b/doom-common/usr/share/applications/hexen-shareware.desktop.in
new file mode 100644
index 0000000..2653344
--- /dev/null
+++ b/doom-common/usr/share/applications/hexen-shareware.desktop.in
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=LONG
+GenericName=First Person Shooter Game
+TryExec=ENGINE
+Exec=ENGINE -iwad /usr/share/games/doom/hexendemo.wad
+Icon=hexen-shareware.xpm
+Terminal=false
+Type=Application
+Categories=Game
diff --git a/doom-common/usr/share/applications/strife-shareware.desktop.in b/doom-common/usr/share/applications/strife-shareware.desktop.in
new file mode 100644
index 0000000..5a154b2
--- /dev/null
+++ b/doom-common/usr/share/applications/strife-shareware.desktop.in
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=LONG
+GenericName=First Person Shooter Game
+TryExec=ENGINE
+Exec=ENGINE -iwad /usr/share/games/doom/strife0.wad
+Icon=strife-shareware.xpm
+Terminal=false
+Type=Application
+Categories=Game
diff --git a/doom-common/usr/share/applications/strife.desktop.in b/doom-common/usr/share/applications/strife.desktop.in
new file mode 100644
index 0000000..97d1945
--- /dev/null
+++ b/doom-common/usr/share/applications/strife.desktop.in
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=LONG
+GenericName=First Person Shooter Game
+TryExec=ENGINE
+Exec=ENGINE -iwad /usr/share/games/doom/strife1.wad
+Icon=ENGINE.xpm
+Terminal=false
+Type=Application
+Categories=Game
diff --git a/heretic-shareware/DEBIAN/control.in b/heretic-shareware/DEBIAN/control.in
new file mode 100644
index 0000000..fb7df9b
--- /dev/null
+++ b/heretic-shareware/DEBIAN/control.in
@@ -0,0 +1,15 @@
+Package: PACKAGE
+Section: non-free/games
+Priority: optional
+Architecture: all
+Multi-Arch: foreign
+Recommends: chocolate-doom | heretic-engine
+Breaks: chocolate-doom (<< 2)
+Provides: heretic-shareware-wad
+Installed-Size: 56
+Version: VERSION
+Maintainer: Debian Games Team <pkg-games-de...@lists.alioth.debian.org>
+Description: Shareware IWAD from Raven Software's heretic computer game
+ Heretic requires both a heretic-engine and a heretic-wad to play. This package
+ contains the shareware IWAD from Raven Software's game "Heretic"
+ and was generated using the "game-data-packager" program.
diff --git a/hexdd/DEBIAN/control.in b/hexdd/DEBIAN/control.in
new file mode 100644
index 0000000..f7eec54
--- /dev/null
+++ b/hexdd/DEBIAN/control.in
@@ -0,0 +1,16 @@
+Package: PACKAGE
+Section: non-free/games
+Priority: optional
+Architecture: all
+Multi-Arch: foreign
+Depends: hexen-wad
+Recommends: chocolate-doom | hexen-engine
+Breaks: chocolate-doom (<< 2)
+Provides: hexdd-wad
+Installed-Size: 56
+Version: VERSION
+Maintainer: Debian Games Team <pkg-games-de...@lists.alioth.debian.org>
+Description: Hexen: Deathkings of the Dark Citadel
+ This expansion pack requires both a hexen-engine and a hexen-wad to play.
+ This package contains add-on levels to Raven Software's game "hexen"
+ and was generated using the "game-data-packager" program.
diff --git a/hexen-shareware/DEBIAN/control.in b/hexen-shareware/DEBIAN/control.in
new file mode 100644
index 0000000..84e537c
--- /dev/null
+++ b/hexen-shareware/DEBIAN/control.in
@@ -0,0 +1,15 @@
+Package: PACKAGE
+Section: non-free/games
+Priority: optional
+Architecture: all
+Multi-Arch: foreign
+Recommends: chocolate-doom | hexen-engine
+Breaks: chocolate-doom (<< 2)
+Provides: hexen-shareware-wad
+Installed-Size: 56
+Version: VERSION
+Maintainer: Debian Games Team <pkg-games-de...@lists.alioth.debian.org>
+Description: Shareware IWAD from Raven Software's hexen computer game
+ Hexen requires both a Hexen-engine and a Hexen-wad to play. This package
+ contains the shareware IWAD from Raven Software's game "Hexen"
+ and was generated using the "game-data-packager" program.
diff --git a/lib/doom-common b/lib/doom-common
index 9491169..6d7b6da 100644
--- a/lib/doom-common
+++ b/lib/doom-common
@@ -2,17 +2,70 @@ DEBBASE="${SHORTNAME}-wad_${GAME_PACKAGE_VERSION}_all.deb"
 
 doom_usage() {
 	echo "${SHORTNAME} arguments:"  >&2
-	printf "\twadfile - path to a ${SHORTNAME}.wad\n" >&2
+	case ${SHORTNAME} in
+		*-shareware)
+			printf "\tgame-data-packager ${SHORTNAME} [ wadfile ] | [ -w ]
+\t\twadfile\t\tpath to a ${SHORTNAME} wad\n\
+\t\t-w\t\tfetch archive from the World Wide Web\n" >&2
+			;;
+		strife)
+			printf "\tstrifewad - path to strife iwad\n" >&2
+			printf "\tvoiceswad - path to strife voices iwad\n" >&2
+			;;
+		*)
+			printf "\twadfile - path to a ${SHORTNAME}.wad\n" >&2
+			;;
+	esac
 }
 
 verify_args() {
-	if [ $# -ne 1 ]; then
-		echo "error: no wadfile specified" >&2
+	case ${SHORTNAME} in
+		strife)
+			numargs=2
+			errormsg="error: too few arguments"
+			;;
+		*)
+			numargs=1
+			errormsg="error: no wadfile specified"
+			;;
+	esac
+	if [ $# -ne "$numargs" ]; then
+		echo $errormsg >&2
 		usage >&2
 		doom_usage >&2
 		exit 1
 	fi
+
+	if [ "$1" = "-w" ] ; then
+		downloadzip $SHORTNAME
+		downloaded=true
+	else
+		downloaded=false
+		WADFILE=$1
+	fi
+}
+
+mirrors=$LIBDIR/${SHORTNAME}-mirrors
+downloadzip() {
+	[ -e $mirrors ] || die "error: no readable mirror list for $SHORTNAME found at $LIBDIR"
+	mirror=$(grep -v ^# "$mirrors" | sort -R | head -n1)
+	dest="$WORKDIR/$(echo $mirror | awk -F/ '{print $NF}')"
+	for try in $mirror; do
+		if wget --progress=dot --directory-prefix "$WORKDIR" -c "$try"
+		then
+			gamezip="$dest"
+			debug "downloaded '$gamezip' to '$dest'"
+			ZIPSUM=`md5sum "$dest" | cut -d' ' -f1`
+			debug "checksum of $dest = $ZIPSUM"
+			check_zip
+			debug running \'unpack_zip $dest\'
+			unpack_zip $dest $WORKDIR # sets $WADFILE
+			return
+		fi
+	done
+	die "error: could not find $SHORTNAME at our chosen mirror"
 }
+
 checksum() {
 	CHECKSUM=`md5sum "$1" | cut -d' ' -f1`
 	debug "checksum = $CHECKSUM"
@@ -23,19 +76,55 @@ DEB="$DATADIR/$DEBBASE"
 
 go() {
 	verify_args "$@"
-	WADFILE=`unravel "$1"`
-    [ -f "$WADFILE" ] || die "ERROR: '$WADFILE' does not exist."
+	WADFILE=`unravel "$WADFILE"`
+	debug WADFILE=$WADFILE
+	[ -f "$WADFILE" ] || die "ERROR: '$WADFILE' does not exist."
 	checksum "$WADFILE"
-	debug "WADFILE=$WADFILE"
+
+	if [ ${SHORTNAME} = strife ] ; then
+		VOICESWAD=`unravel "$2"`
+		[ -f "$VOICESWAD" ] || die "ERROR: '$VOICESWAD' does not exist."
+		debug "VOICESWAD=$VOICESWAD"
+		VOICESSUM=`md5sum "$2" | cut -d' ' -f1`
+		debug "checksum of voices.wad = $VOICESSUM"
+	fi
 	check_for_v19
 
 	DEST=`echo $WADDIR | sed 's,^/,,'`
+	debug "DEST=$DEST"
 
 	OUTFILE=`unravel "$OUTDIR"`"/$DEBBASE"
+	debug "OUTFILE=$OUTFILE"
+	debug "DEB=$DEB"
+
 	cp -p "$DEB" "$OUTFILE"
-	# Force lower case for *.wad files
-	WADFILENAME=`basename "$WADFILE" | tr '[:upper:]' '[:lower:]'`
-	ln -sf "$WADFILE" "$WORKDIR/$WADFILENAME"
-	slipstream "$OUTFILE" "$DEST" "$WORKDIR/$WADFILENAME"
-	rm -f "$WORKDIR/$WADFILENAME"
+
+	case ${SHORTNAME} in
+		strife)
+			# generate known file names
+			strifetmp=$WORKDIR/strife1.wad
+			voicestmp=$WORKDIR/voices.wad
+
+			debug "copying data files to $WORKDIR"
+			cp "$WADFILE" $strifetmp
+			cp "$VOICESWAD" $voicestmp
+
+			debug "running slipstream $OUTFILE $DEST $strifetmp $voicestmp"
+			slipstream "$OUTFILE" "$DEST" $strifetmp $voicestmp
+			rm $strifetmp $voicestmp
+			;;
+		*-shareware)
+			debug "running slipstream $OUTFILE $DEST $WADFILE"
+			slipstream "$OUTFILE" "$DEST" "$WADFILE"
+			;;
+		*)
+			# Force lower case for *.wad files
+			WADFILENAME=`basename "$WADFILE" | tr '[:upper:]' '[:lower:]'`
+			ln -sf "$WADFILE" "$WORKDIR/$WADFILENAME"
+			debug "running slipstream $OUTFILE $DEST $WORKDIR/$WADFILENAME"
+			slipstream "$OUTFILE" "$DEST" "$WORKDIR/$WADFILENAME"
+			rm -f "$WORKDIR/$WADFILENAME"
+			;;
+	esac
+	[ $downloaded = true ] && rm $WADFILE
 }
diff --git a/lib/game-data-packager-shared b/lib/game-data-packager-shared
index c5a7d75..b4e2897 100644
--- a/lib/game-data-packager-shared
+++ b/lib/game-data-packager-shared
@@ -7,7 +7,14 @@ supported() {
 	find $SUPPORTED -type f | grep -v '\.svn' | grep -v 'swp$' | sort |
 	while read file; do
 		. $file
-		printf "\t%8s\t%s\n" "$SHORTNAME" "$LONGNAME"
+		case "$SHORTNAME" in
+			*-shareware)
+				printf "%16s\t%s\n" "$SHORTNAME" "$LONGNAME"
+				;;
+			*)
+				printf "\t%8s\t%s\n" "$SHORTNAME" "$LONGNAME"
+				;;
+		esac
 	done
 }
 options() {
diff --git a/lib/heretic-shareware-mirrors b/lib/heretic-shareware-mirrors
new file mode 100644
index 0000000..fcf0810
--- /dev/null
+++ b/lib/heretic-shareware-mirrors
@@ -0,0 +1,3 @@
+ftp://ftp.idsoftware.com/idstuff/heretic/htic_v12.zip
+ftp://ftp.fu-berlin.de/pc/msdos/games/idgames/idstuff/heretic/htic_v12.zip
+ftp://ftp.ntua.gr/pub/vendors/idgames/idstuff/heretic/htic_v12.zip
diff --git a/lib/hexen-shareware-mirrors b/lib/hexen-shareware-mirrors
new file mode 100644
index 0000000..9671228
--- /dev/null
+++ b/lib/hexen-shareware-mirrors
@@ -0,0 +1,3 @@
+ftp://ftp.idsoftware.com/idstuff/hexen/hexndemo.zip
+ftp://ftp.fu-berlin.de/pc/msdos/games/idgames/idstuff/hexen/hexndemo.zip
+ftp://ftp.ntua.gr/pub/vendors/idgames/idstuff/hexen/hexndemo.zip
diff --git a/lib/strife-shareware-mirrors b/lib/strife-shareware-mirrors
new file mode 100644
index 0000000..e2c354f
--- /dev/null
+++ b/lib/strife-shareware-mirrors
@@ -0,0 +1,2 @@
+ftp://ftp.fu-berlin.de/pc/msdos/games/idgames/roguestuff/strife11.zip
+ftp://ftp.ntua.gr/pub/vendors/idgames/roguestuff/strife11.zip
diff --git a/strife-shareware/DEBIAN/control.in b/strife-shareware/DEBIAN/control.in
new file mode 100644
index 0000000..588000d
--- /dev/null
+++ b/strife-shareware/DEBIAN/control.in
@@ -0,0 +1,15 @@
+Package: PACKAGE
+Section: non-free/games
+Priority: optional
+Architecture: all
+Multi-Arch: foreign
+Recommends: chocolate-doom | strife-engine
+Breaks: chocolate-doom (<< 2)
+Provides: strife-shareware-wad
+Installed-Size: 56
+Version: VERSION
+Maintainer: Debian Games Team <pkg-games-de...@lists.alioth.debian.org>
+Description: Shareware IWAD from Rogue Entertainment's strife computer game
+ Strife requires both a strife-engine and two IWAD files to play. This package
+ contains the shareware IWAD from Rogue Entertainment's game "Strife"
+ and was generated using the "game-data-packager" program.
diff --git a/strife/DEBIAN/control.in b/strife/DEBIAN/control.in
new file mode 100644
index 0000000..ae1ea43
--- /dev/null
+++ b/strife/DEBIAN/control.in
@@ -0,0 +1,15 @@
+Package: PACKAGE
+Section: non-free/games
+Priority: optional
+Architecture: all
+Multi-Arch: foreign
+Recommends: chocolate-doom | strife-engine
+Breaks: chocolate-doom (<< 2)
+Provides: strife-wad
+Installed-Size: 56
+Version: VERSION
+Maintainer: Debian Games Team <pkg-games-de...@lists.alioth.debian.org>
+Description: IWADs from Rogue Entertainment's strife computer game
+ Strife requires both a strife-engine and two IWAD files to play. This package
+ contains the two IWADs from Rogue Entertainment's game "Strife"
+ and was generated using the "game-data-packager" program.
diff --git a/supported/heretic-shareware b/supported/heretic-shareware
new file mode 100644
index 0000000..3f661d8
--- /dev/null
+++ b/supported/heretic-shareware
@@ -0,0 +1,37 @@
+SHORTNAME=heretic-shareware
+LONGNAME="Heretic Shareware"
+
+check_for_v19() {
+	case "$CHECKSUM" in
+		"ae779722390ec32fa37b0d361f7d82f8")
+			debug "heretic1.wad is newest version 1.2"
+			;;
+		*)
+			warn "the heretic1.wad file is not the newest version 1.2"
+			warn "(or has been modified)"
+			warn "you may have some problems playing some PWADs or demos"
+			;;
+	esac
+
+}
+
+check_zip() {
+	case "$ZIPSUM" in
+		"420b23b3d8f2cbd164c121369eaa2b09")
+			debug "htic_v12.zip is v1.2 Heretic shareware"
+			;;
+		*)
+			die "unknown zipfile downloaded to '$WORKDIR'! Cannot continue!"
+			;;
+	esac
+}
+
+unpack_zip() {
+	unzip -LLqqod $2 $1
+	cat $2/htic_v12.[12] > $2/tmp.zip
+	unzip -LLqqod $2 $2/tmp.zip
+	(cd $2 && rm *.bat *.cfg *.dat *.diz *.doc *.exe *.frm *.num *.srv *.str *.tmp *.txt *.zip htic_v12.?) 
+	WADFILE=$2/heretic1.wad
+	debug "WADFILE=$WADFILE"
+}
+. $LIBDIR/doom-common
diff --git a/supported/hexdd b/supported/hexdd
new file mode 100644
index 0000000..874d1dd
--- /dev/null
+++ b/supported/hexdd
@@ -0,0 +1,17 @@
+SHORTNAME=hexdd
+LONGNAME="Hexen: Deathkings of the Dark Citadel"
+
+check_for_v19() {
+	case "$CHECKSUM" in
+		"78d5898e99e220e4de64edaa0e479593")
+			debug "hexdd.wad is newest version 1.1"
+			;;
+		*)
+			warn "the hexdd.wad file is not the newest version 1.1"
+			warn "(or has been modified)"
+			warn "you may have some problems playing some PWADs or demos"
+			;;
+	esac
+}
+
+. $LIBDIR/doom-common
diff --git a/supported/hexen-shareware b/supported/hexen-shareware
new file mode 100644
index 0000000..32954f4
--- /dev/null
+++ b/supported/hexen-shareware
@@ -0,0 +1,35 @@
+SHORTNAME=hexen-shareware
+LONGNAME="Hexen Shareware"
+
+check_for_v19() {
+	case "$CHECKSUM" in
+		"876a5a44c7b68f04b3bb9bc7a5bd69d6")
+			debug "hexendemo.wad is newest version 1.0"
+			;;
+		*)
+			warn "the hexendemo.wad file is not the newest version 1.0"
+			warn "(or has been modified)"
+			warn "you may have some problems playing some PWADs or demos"
+			;;
+	esac
+
+}
+
+check_zip() {
+	case "$ZIPSUM" in
+		"b30672df8b41fd35fafe40ce0c3855c3")
+			debug "hexndemo.zip is v1.0 Hexen shareware"
+			;;
+		*)
+			die "unknown zipfile downloaded to '$WORKDIR'! Cannot continue!"
+			;;
+	esac
+}
+
+unpack_zip() {
+	unzip -LLqqod $2 $1
+	mv $2/hexen.wad $2/hexendemo.wad
+	(cd $2 && rm *.cfg *.doc *.exe *.num *.str *.txt *.zip) 
+	WADFILE=$2/hexendemo.wad
+}
+. $LIBDIR/doom-common
diff --git a/supported/strife b/supported/strife
new file mode 100644
index 0000000..58482f2
--- /dev/null
+++ b/supported/strife
@@ -0,0 +1,28 @@
+SHORTNAME=strife
+LONGNAME="Strife: Quest for the Sigil"
+
+check_for_v19() {
+	case "$CHECKSUM" in
+		"2fed2031a5b03892106e0f117f17901f")
+			debug "strife1.wad is newest version 1.2"
+			;;
+		*)
+			warn "the strife1.wad file is not the newest version 1.2"
+			warn "(or has been modified)"
+			warn "you may have some problems playing some PWADs or demos"
+			;;
+	esac
+
+	case "$VOICESSUM" in
+		"082234d6a3f7086424856478b5aa9e95")
+			debug "voices.wad is newest version 1.2"
+			;;
+		*)
+			warn "the voices.wad file is not the newest version 1.2"
+			warn "(or has been modified)"
+			warn "you may have some problems playing some PWADs or demos"
+			;;
+	esac
+
+}
+. $LIBDIR/doom-common
diff --git a/supported/strife-shareware b/supported/strife-shareware
new file mode 100644
index 0000000..b46737d
--- /dev/null
+++ b/supported/strife-shareware
@@ -0,0 +1,34 @@
+SHORTNAME=strife-shareware
+LONGNAME="Strife Shareware"
+
+check_for_v19() {
+	case "$CHECKSUM" in
+		"bb545b9c4eca0ff92c14d466b3294023")
+			debug "strife0.wad is newest version 1.1"
+			;;
+		*)
+			warn "the strife0.wad file is not the newest version 1.0"
+			warn "(or has been modified)"
+			warn "you may have some problems playing some PWADs or demos"
+			;;
+	esac
+
+}
+
+check_zip() {
+	case "$ZIPSUM" in
+		"972070afb30c96fc3c69d954dfab2424")
+			debug "strife11.zip is v1.0 Strife shareware"
+			;;
+		*)
+			die "unknown zipfile downloaded to '$WORKDIR'! Cannot continue!"
+			;;
+	esac
+}
+
+unpack_zip() {
+	unzip -LLqqod $2 $1
+	(cd $2 && rm *.cfg *.exe *.key *.num *.str *.txt *.zip) 
+	WADFILE=$2/strife0.wad
+}
+. $LIBDIR/doom-common
-- 
1.9.rc1

Reply via email to