[quake] 01/02: quake, quake2, quake3: use symlink name as a hint for expansions
Simon McVittie
smcv at debian.org
Sat Jan 16 17:16:39 UTC 2016
This is an automated email from the git hooks/post-receive script.
smcv pushed a commit to branch master
in repository quake.
commit 4d44ee09ffd0bd4740810a82890de76a04e22850
Author: Simon McVittie <smcv at debian.org>
Date: Sat Jan 16 15:53:56 2016 +0000
quake, quake2, quake3: use symlink name as a hint for expansions
* quake, quake2, quake3: if launched via a symlink whose name
contains armagon, hipnotic, etc., run the appropriate expansion pack
* quake.desktop, quake2.desktop, quake3.desktop: run each expansion
pack via a different symbolic link. This is a workaround for Steam
ignoring command-line options when adding a non-Steam shortcut
(<https://github.com/ValveSoftware/steam-for-linux/issues/3855>)
---
debian/changelog | 6 ++++++
debian/quake.links | 2 ++
debian/quake2.lintian-overrides | 4 ++++
debian/quake3.lintian-overrides | 3 +++
quake-armagon.desktop | 2 +-
quake-dissolution.desktop | 2 +-
quake.6 | 9 ++++++++-
quake.in | 11 +++++++++++
quake2-groundzero.desktop | 2 +-
quake2-reckoning.desktop | 2 +-
quake2.6 | 9 ++++++++-
quake2.in | 11 +++++++++++
quake3-team-arena.desktop | 2 +-
quake3.6 | 11 ++++++++++-
quake3.in | 12 ++++++++++++
15 files changed, 80 insertions(+), 8 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 858aced..2708fc0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -16,6 +16,12 @@ quake (17) UNRELEASED; urgency=medium
* d/copyright: mention the idTech4 games, and Alexandre's contributions
* d/control: remove Suggests on quake4-pb-bin, which is disabled in
game-data-packager to avoid CVE-2007-5248
+ * quake, quake2, quake3: if launched via a symlink whose name
+ contains armagon, hipnotic, etc., run the appropriate expansion pack
+ * quake.desktop, quake2.desktop, quake3.desktop: run each expansion
+ pack via a different symbolic link. This is a workaround for Steam
+ ignoring command-line options when adding a non-Steam shortcut
+ (<https://github.com/ValveSoftware/steam-for-linux/issues/3855>)
-- Simon McVittie <smcv at debian.org> Thu, 10 Dec 2015 00:44:21 +0100
diff --git a/debian/quake.links b/debian/quake.links
new file mode 100644
index 0000000..684885f
--- /dev/null
+++ b/debian/quake.links
@@ -0,0 +1,2 @@
+usr/games/quake usr/share/games/quake/quake-armagon
+usr/games/quake usr/share/games/quake/quake-dissolution
diff --git a/debian/quake2.lintian-overrides b/debian/quake2.lintian-overrides
index cd72da5..336bbfe 100644
--- a/debian/quake2.lintian-overrides
+++ b/debian/quake2.lintian-overrides
@@ -1,2 +1,6 @@
# verbatim quote
quake2 binary: spelling-error-in-copyright ment meant
+# these are in the -data package from game-data-packager and we have an
+# appropriate TryExec
+quake2 binary: desktop-command-not-in-package usr/share/applications/quake2-groundzero.desktop usr/share/games/quake2/quake2-groundzero
+quake2 binary: desktop-command-not-in-package usr/share/applications/quake2-reckoning.desktop usr/share/games/quake2/quake2-reckoning
diff --git a/debian/quake3.lintian-overrides b/debian/quake3.lintian-overrides
index e9bf854..d663470 100644
--- a/debian/quake3.lintian-overrides
+++ b/debian/quake3.lintian-overrides
@@ -1,2 +1,5 @@
# verbatim quote
quake3 binary: spelling-error-in-copyright ment meant
+# this is in the -data package from game-data-packager and we have an
+# appropriate TryExec
+quake3 binary: desktop-command-not-in-package usr/share/applications/quake3-team-arena.desktop usr/share/games/quake3-team-arena-data/quake3-team-arena
diff --git a/quake-armagon.desktop b/quake-armagon.desktop
index 387ae44..c86b2b1 100644
--- a/quake-armagon.desktop
+++ b/quake-armagon.desktop
@@ -5,6 +5,6 @@ Name=Quake: Scourge of Armagon
Comment=Mission Pack 1 for the classic first person shooter
Icon=quake-armagon
TryExec=/usr/share/games/quake/hipnotic-tryexec.sh
-Exec=/usr/games/quake -hipnotic
+Exec=/usr/share/games/quake/quake-armagon
Categories=Game;ActionGame;
Keywords=first person shooter;fps;3d;deathmatch;hipnotic;mission pack 1;
diff --git a/quake-dissolution.desktop b/quake-dissolution.desktop
index 444a2c1..3b09feb 100644
--- a/quake-dissolution.desktop
+++ b/quake-dissolution.desktop
@@ -5,6 +5,6 @@ Name=Quake: Dissolution of Eternity
Comment=Mission Pack 2 for the classic first person shooter
Icon=quake-dissolution
TryExec=/usr/share/games/quake/rogue-tryexec.sh
-Exec=/usr/games/quake -rogue
+Exec=/usr/share/games/quake/quake-dissolution
Categories=Game;ActionGame;
Keywords=first person shooter;fps;3d;deathmatch;rogue;mission pack 2;
diff --git a/quake.6 b/quake.6
index 987f8ed..2699e7f 100644
--- a/quake.6
+++ b/quake.6
@@ -2,7 +2,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
-.TH QUAKE 6 "2011-06-22"
+.TH QUAKE 6 "2016-01-16"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@@ -42,6 +42,13 @@ Consult the engine documentation for full details, but most engines support a
syntax whereby engine switches are prefixed with a minus sign, and you can
give console commands by prefixing with a plus sign. See the examples section
for some common cases.
+.PP
+Additionally, if \fBquake\fR is run via a symbolic link whose name contains
+\fBarmagon\fR, \fBhipnotic\fR, \fBdissolution\fR or \fBrogue\fR,
+it will play one of the Quake mission packs, \fBScourge of Armagon\fR
+(by Hipnotic Software) or \fBDissolution of Eternity\fR (by Rogue
+Entertainment). This requires that additional data files are
+installed.
.SH OPTIONS
These options are accepted for \fBWRAPPER-OPTIONS\fR in the
synopsis.
diff --git a/quake.in b/quake.in
index 066ad59..ff7f4c3 100644
--- a/quake.in
+++ b/quake.in
@@ -11,6 +11,17 @@ no_data_title="Quake"
no_data_msg="Missing data; see /usr/share/doc/${self}/README.Debian"
main() {
+ case "$(basename "$0")" in
+ (*armagon*|*hipnotic*)
+ set _ "$@" -hipnotic
+ shift
+ ;;
+ (*dissolution*|*rogue*)
+ set _ "$@" -rogue
+ shift
+ ;;
+ esac
+
while [ $# -gt 0 ]; do
case "$1" in
-h|--help)
diff --git a/quake2-groundzero.desktop b/quake2-groundzero.desktop
index c9a76a5..20b138c 100644
--- a/quake2-groundzero.desktop
+++ b/quake2-groundzero.desktop
@@ -5,6 +5,6 @@ Name=Quake II MP2: Ground Zero
Comment=Mission Pack 2 for the classic first person shooter
Icon=quake2-groundzero
TryExec=/usr/share/games/quake2/quake2-groundzero
-Exec=/usr/games/quake2 +set game rogue
+Exec=/usr/share/games/quake2/quake2-groundzero
Categories=Game;ActionGame;
Keywords=first person shooter;fps;3d;deathmatch;rogue entertainment;mission pack 2;
diff --git a/quake2-reckoning.desktop b/quake2-reckoning.desktop
index cf99cd4..379721a 100644
--- a/quake2-reckoning.desktop
+++ b/quake2-reckoning.desktop
@@ -5,6 +5,6 @@ Name=Quake II MP1: The Reckoning
Comment=Mission Pack 1 for the classic first person shooter
Icon=quake2-reckoning
TryExec=/usr/share/games/quake2/quake2-reckoning
-Exec=/usr/games/quake2 +set game xatrix
+Exec=/usr/share/games/quake2/quake2-reckoning
Categories=Game;ActionGame;
Keywords=first person shooter;fps;3d;deathmatch;xatrix entertainment;mission pack 1;
diff --git a/quake2.6 b/quake2.6
index 7f2eb06..968a969 100644
--- a/quake2.6
+++ b/quake2.6
@@ -1,5 +1,5 @@
.\" Hey, EMACS: -*- nroff -*-
-.TH QUAKE2 6 "2013-09-25"
+.TH QUAKE2 6 "2016-01-16"
.SH NAME
quake2 \- classic first person shooter
.SH SYNOPSIS
@@ -23,6 +23,13 @@ This wrapper script accepts a few GNU-style options.
Any further arguments are passed to the engine unmodified.
Consult the engine documentation for full details, but most engines support a
syntax where you can give console commands by prefixing with a plus sign.
+.PP
+Additionally, if \fBquake2\fR is run via a symbolic link whose name
+contains \fBreckoning\fR, \fBxatrix\fR, \fBgroundzero\fR or \fBrogue\fR,
+it will play one of the Quake II mission packs, \fBThe Reckoning\fR
+(by Xatrix Entertainment) or \fBGround Zero\fR (by Rogue
+Entertainment). This requires that additional data files are
+installed.
.SH OPTIONS
These options are accepted for \fBWRAPPER-OPTIONS\fR in the
synopsis.
diff --git a/quake2.in b/quake2.in
index a4d5ef1..082be9e 100644
--- a/quake2.in
+++ b/quake2.in
@@ -13,6 +13,17 @@ no_data_msg="Missing data; see /usr/share/doc/${self}/README.Debian"
use_data_location="$data_location"
main() {
+ case "$(basename "$0")" in
+ (*reckoning*|*xatrix*)
+ set _ "$@" +set game xatrix
+ shift
+ ;;
+ (*groundzero*|*rogue*)
+ set _ "$@" +set game rogue
+ shift
+ ;;
+ esac
+
while [ $# -gt 0 ]; do
case "$1" in
-h|--help)
diff --git a/quake3-team-arena.desktop b/quake3-team-arena.desktop
index faef032..a6b717f 100644
--- a/quake3-team-arena.desktop
+++ b/quake3-team-arena.desktop
@@ -2,7 +2,7 @@
Version=1.0
Name=Quake III: Team Arena
TryExec=/usr/share/games/quake3-team-arena-data/quake3-team-arena
-Exec=/usr/games/quake3 --quiet +set fs_game missionpack
+Exec=/usr/share/games/quake3-team-arena-data/quake3-team-arena --quiet
Icon=quake3-teamarena
Comment=Expansion pack for Quake III Arena
Terminal=false
diff --git a/quake3.6 b/quake3.6
index ff3defb..a31fa06 100644
--- a/quake3.6
+++ b/quake3.6
@@ -1,4 +1,4 @@
-.TH QUAKE3 6 2010-10-15
+.TH QUAKE3 6 2016-01-16
.SH NAME
quake3 \- Quake III Arena client
@@ -22,6 +22,15 @@ Display a short help summary
.TP
\fB\-q\fR, \fB\-\-quiet\fR
Disable all console output
+.TP
+\fB\-\-demo\fR
+Run the demo version, even if the full game is installed
+.PP
+Additionally, if \fBquake3\fR is run via a symbolic link whose name
+contains \fBteam-arena\fR or \fBteamarena\fR, it will play the expansion pack,
+\fBQuake III Team Arena\fR. This requires that additional data files are
+installed. Similarly, a symbolic link containing \fBdemo\fR is equivalent
+to the \fB\-\-demo\fR option.
.PP
Any console command can also be prefixed with \fB+\fR and used as a
command-line option (press Shift+Esc to access the in-game console), including:
diff --git a/quake3.in b/quake3.in
index a645e2e..668bcb5 100644
--- a/quake3.in
+++ b/quake3.in
@@ -29,7 +29,19 @@ Usage: ${IOQ3SELF} [OPTION]...\n\
CVARS="+set com_standalone 0"
+case "$(basename "$0")" in
+ (*team-arena*|*teamarena*)
+ set _ "$@" +set fs_game missionpack
+ shift
+ ;;
+ (*demo*)
+ set _ --demo "$@"
+ shift
+ ;;
+esac
+
while [ "$1" != "" ]; do
+
case "$1" in
-h|--help)
echo ${EXCUSE}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/quake.git
More information about the Pkg-games-commits
mailing list