[SCM] Installer for game data files branch, quake, updated. 10c435acddf7e3f62af4a8a45be3c6885d1f93bc
Stephen Kitt
steve at sk2.org
Thu Apr 14 21:39:02 UTC 2011
The following commit has been merged in the quake branch:
commit 10c435acddf7e3f62af4a8a45be3c6885d1f93bc
Author: Stephen Kitt <steve at sk2.org>
Date: Thu Apr 14 23:37:43 2011 +0200
Add support for Quake mission packs.
diff --git a/Makefile b/Makefile
index 9c4cc49..6c3bf6a 100644
--- a/Makefile
+++ b/Makefile
@@ -10,8 +10,14 @@ default: $(DIRS)
make -f doom-common.mk IWAD=plutonia \
LONG="Final Doom: The Plutonia Experiment" VERSION=$(VERSION)
make -f quake3.mk LONG="Quake III Arena" VERSION=$(VERSION)
- make -f quake.mk LONG="Quake" VERSION=$(VERSION) PACKAGE=quake-registered
- make -f quake.mk LONG="Quake shareware" VERSION=$(VERSION) PACKAGE=quake-shareware
+ make -f quake.mk LONG="Quake" VERSION=$(VERSION) PACKAGE=quake-registered \
+ FOLDER=id1
+ make -f quake.mk LONG="Quake shareware" VERSION=$(VERSION) \
+ PACKAGE=quake-shareware FOLDER=id1
+ make -f quake.mk LONG="Quake mission pack 1: Scourge of Armagon" \
+ VERSION=$(VERSION) PACKAGE=quake-armagon FOLDER=hipnotic
+ make -f quake.mk LONG="Quake mission pack 2: Dissolution of Eternity" \
+ VERSION=$(VERSION) PACKAGE=quake-dissolution FOLDER=rogue
make -f rott.mk VERSION=$(VERSION)
make -f doom-common.mk IWAD=heretic VERSION=$(VERSION) \
CONTROLIN=heretic/DEBIAN/control.in \
@@ -29,8 +35,14 @@ clean:
make -f doom-common.mk IWAD=plutonia \
LONG="Final Doom: The Plutonia Experiment" VERSION=$(VERSION) clean
make -f quake3.mk LONG="Quake III Arena" VERSION=$(VERSION) clean
- make -f quake.mk LONG="Quake" VERSION=$(VERSION) clean PACKAGE=quake-registered
- make -f quake.mk LONG="Quake shareware" VERSION=$(VERSION) PACKAGE=quake-shareware clean
+ make -f quake.mk LONG="Quake" VERSION=$(VERSION) PACKAGE=quake-registered \
+ FOLDER=id1 clean
+ make -f quake.mk LONG="Quake shareware" VERSION=$(VERSION) \
+ PACKAGE=quake-shareware FOLDER=id1 clean
+ make -f quake.mk LONG="Quake mission pack 1: Scourge of Armagon" \
+ VERSION=$(VERSION) PACKAGE=quake-armagon FOLDER=hipnotic clean
+ make -f quake.mk LONG="Quake mission pack 2: Dissolution of Eternity" \
+ VERSION=$(VERSION) PACKAGE=quake-dissolution FOLDER=rogue clean
make -f rott.mk VERSION=$(VERSION) clean
make -f doom-common.mk IWAD=heretic VERSION=$(VERSION) \
CONTROLIN=heretic/DEBIAN/control.in \
diff --git a/debian/changelog b/debian/changelog
index 12a335c..18bf192 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+game-data-packager (27) experimental; urgency=low
+
+ * Add support for Quake mission packs (Scourge of Armagon and
+ Dissolution of Eternity).
+
+ -- Stephen Kitt <steve at sk2.org> Thu, 14 Apr 2011 00:51:16 +0200
+
game-data-packager (26) experimental; urgency=low
* Add Heretic support.
diff --git a/quake-common/copyright.in b/quake-common/copyright.in
index f6036c2..7de5014 100644
--- a/quake-common/copyright.in
+++ b/quake-common/copyright.in
@@ -3,7 +3,7 @@ Copyright © 2008-2011 Jon Dowland <jmtd at debian.org>.
The pak files under "/usr/share/games/quake" are user-supplied
files that are not covered by the copyright or licence of this
-package; they are copyright (c) 1996 by id Software, all rights
+package; they are Copyright © 1996-1997 by id Software, all rights
reserved.
The remainder of this package is covered by the following
diff --git a/quake.mk b/quake.mk
index a0a8cd4..eccc820 100644
--- a/quake.mk
+++ b/quake.mk
@@ -1,4 +1,4 @@
-# VERSION, PACKAGE and LONG must be supplied by caller
+# FOLDER, VERSION, PACKAGE and LONG must be supplied by caller
srcdir = $(CURDIR)
builddir = $(CURDIR)/build
@@ -10,7 +10,7 @@ $(QUAKEDEB): \
$(builddir)/$(PACKAGE)/DEBIAN/md5sums \
$(builddir)/$(PACKAGE)/DEBIAN/control \
fixperms
- install -d $(builddir)/$(PACKAGE)/usr/share/games/quake/id1
+ install -d $(builddir)/$(PACKAGE)/usr/share/games/quake/$(FOLDER)
cd $(builddir) && \
if [ `id -u` -eq 0 ]; then \
dpkg-deb -b $(PACKAGE) $@ ; \
@@ -40,6 +40,8 @@ $(builddir)/$(PACKAGE)/DEBIAN/control: quake-common/DEBIAN/control.in
if [ "$(PACKAGE)" = "quake-registered" ]; then \
echo Conflicts: quake-shareware >> $@; \
echo Replaces: quake-shareware >> $@; \
+ elif [ "$(PACKAGE)" != "quake-shareware" ]; then \
+ echo Depends: quake-registered >> $@; \
else \
echo Conflicts: quake-registered >> $@; \
fi
diff --git a/supported/quake b/supported/quake
index 186185b..e2abf14 100644
--- a/supported/quake
+++ b/supported/quake
@@ -9,6 +9,10 @@ quake_usage() {
\t\t-m path\t\tpath to a mounted Quake CD-ROM\n\
\t\t-d path\t\tpath to an unpacked Quake directory\n\
\t\t-s path\t\tpath to a Quake shareware ZIP\n\
+\t\t-mp1 path\t\tpath to an unpacked Scourge of Armagon directory\n\
+\t\t\t\tor a mounted Scourge of Armagon CD\n\
+\t\t-mp2 path\t\tpath to an unpacked Dissolution of Eternity directory\n\
+\t\t\t\tor a mounted Dissolution of Eternity CD\n\
\t\tpath\t\tpath to any of the above (game-data-packager will guess)\n"
}
@@ -31,6 +35,10 @@ verify_args() {
method="dir"
elif [ "$1" = "-s" ]; then
method="swzip"
+ elif [ "$1" = "-mp1" ]; then
+ method="mp1"
+ elif [ "$1" = "-mp2" ]; then
+ method="mp2"
else
usage >&2
quake_usage >&2
@@ -61,6 +69,12 @@ go() {
"swzip")
swzip_method
;;
+ "mp1")
+ mp1_method
+ ;;
+ "mp2")
+ mp2_method
+ ;;
*)
die "internal error"
;;
@@ -80,6 +94,14 @@ guess_method() {
debug "treating $mountpoint like a shareware ZIP"
method="swzip"
swzip_method
+ elif [ -f "$mountpoint/hipnotic/pak0.pak" ]; then
+ debug "treating $mountpoint like a Scourge of Armagon directory or CD"
+ method="mp1"
+ mp1_method
+ elif [ -f "$mountpoint/rogue/pak0.pak" ]; then
+ debug "treating $mountpoint like a Dissolution of Eternity directory or CD"
+ method="mp2"
+ mp2_method
else
die "couldn't figure out what method to use for mountpoint $mountpoint"
fi
@@ -138,6 +160,29 @@ swzip_method() {
common_method
}
+mp1_method() {
+ pak0="$mountpoint/hipnotic/pak0.pak"
+ pak0sum=f05b7452ae725e060fb3d14f7731fb00
+ verify_md5sum "$pak0" "$pak0sum"
+
+ DEBBASE="quake-armagon_${GAME_PACKAGE_VERSION}_all.deb"
+ OUTFILE=`unravel "$OUTDIR"`"/$DEBBASE"
+ cp -p "$DATADIR/$DEBBASE" "$OUTFILE"
+
+ slipstream "$OUTFILE" "usr/share/games/quake/hipnotic/" "$pak0"
+}
+
+mp2_method() {
+ pak0="$mountpoint/rogue/pak0.pak"
+ pak0sum=f8898a483b131de21581656c94f3c1a4
+ verify_md5sum "$pak0" "$pak0sum"
+
+ DEBBASE="quake-dissolution_${GAME_PACKAGE_VERSION}_all.deb"
+ OUTFILE=`unravel "$OUTDIR"`"/$DEBBASE"
+ cp -p "$DATADIR/$DEBBASE" "$OUTFILE"
+
+ slipstream "$OUTFILE" "usr/share/games/quake/rogue/" "$pak0"
+}
common_method() {
pak0sum=85fc9cee2035b66290da1e33be2ac86b
--
Installer for game data files
More information about the Pkg-games-commits
mailing list