This is an automated email from the git hooks/post-receive script. smcv pushed a commit to branch quake in repository game-data-packager.
commit f65adfcda612d73653e0e4c9524f4fe56dbb975c Author: Simon McVittie <s...@debian.org> Date: Sun Oct 25 22:32:24 2015 +0000 Add support for Quake 4 This uses the proprietary binaries (there is no open-source engine). These packages are currently skipped by default: use DEB_BUILD_OPTIONS=quake4 to build them. --- Makefile | 75 +++++++- README.quake4-data | 13 ++ debian/changelog | 3 + debian/control | 56 ++++++ debian/q4/server.cfg | 7 + debian/quake4-server.README.Debian | 35 ++++ debian/quake4-server.default | 9 + debian/quake4-server.install | 3 + debian/quake4-server.links | 1 + debian/quake4-server.lintian-overrides | 2 + debian/quake4-server.manpages | 1 + debian/quake4-server.postinst | 30 ++++ debian/quake4-server.postrm | 16 ++ debian/quake4-server.service | 24 +++ debian/quake4.install | 11 ++ debian/quake4.links | 1 + debian/quake4.lintian-overrides | 2 + debian/quake4.manpages | 1 + debian/rules | 16 +- quake1+2.svg | 315 +++++++++++++++++++++++++++------ quake4-dedicated.6 | 53 ++++++ quake4.6 | 59 ++++++ quake4.desktop | 9 + quake4.in | 75 ++++++++ 24 files changed, 761 insertions(+), 56 deletions(-) diff --git a/Makefile b/Makefile index b74c841..c8cc0b3 100644 --- a/Makefile +++ b/Makefile @@ -6,15 +6,18 @@ obj = \ build/quake \ build/quake2 \ build/quake3 \ + build/quake4 \ build/quake-server \ build/quake2-server \ build/quake3-server \ + build/quake4-dedicated \ build/24/quake.png \ build/24/quake-armagon.png \ build/24/quake-dissolution.png \ build/24/quake2.png \ build/24/quake2-reckoning.png \ build/24/quake2-groundzero.png \ + build/24/quake4.png \ build/quake.svg \ build/quake-armagon.svg \ build/quake-dissolution.svg \ @@ -23,6 +26,7 @@ obj = \ build/quake2-groundzero.svg \ build/quake3.png \ build/quake3-teamarena.png \ + build/quake4.svg \ build/48/quake3.png \ build/48/quake3-teamarena.png \ $(patsubst %,build/%/quake.png,$(layer_sizes)) \ @@ -31,6 +35,7 @@ obj = \ $(patsubst %,build/%/quake2.png,$(layer_sizes)) \ $(patsubst %,build/%/quake2-reckoning.png,$(layer_sizes)) \ $(patsubst %,build/%/quake2-groundzero.png,$(layer_sizes)) \ + $(patsubst %,build/%/quake4.png,$(layer_sizes)) \ $(NULL) all: $(obj) @@ -62,6 +67,24 @@ build/quake3: quake3.in Makefile < $< > $@ chmod +x $@ +build/quake4: quake4.in Makefile + install -d build + sed \ + -e 's!@binary@!quake4.x86!' \ + -e 's!@self@!quake4!' \ + -e 's!@role@!client!' \ + < $< > $@ + chmod +x $@ + +build/quake4-smp: quake4-smp.in Makefile + install -d build + sed \ + -e 's!@binary@!quake4smp.x86!' \ + -e 's!@self@!quake4-smp!' \ + -e 's!@role@!client!' \ + < $< > $@ + chmod +x $@ + build/quake2-server: quake2.in install -d build sed -e 's/@self@/quake2-server/g' \ @@ -89,6 +112,15 @@ build/quake3-server: quake3.in Makefile < $< > $@ chmod +x $@ +build/quake4-dedicated: quake4.in Makefile + install -d build + sed \ + -e 's!@Q4BINARY@!q4ded.x86!' \ + -e 's!@Q4SELF@!quake4-dedicated!' \ + -e 's!@Q4ROLE@!server!' \ + < $< > $@ + chmod +x $@ + build/tmp/recolour-dissolution.svg: quake1+2.svg Makefile install -d build/tmp sed -e 's/#c17d11/#999984/' \ @@ -133,6 +165,10 @@ build/24/quake2.png: build/22/quake2.png install -d build/24 convert -bordercolor Transparent -border 1x1 $< $@ +build/24/quake4.png: build/22/quake4.png + install -d build/24 + convert -bordercolor Transparent -border 1x1 $< $@ + build/24/quake2-%.png: build/22/quake2-%.png install -d build/24 convert -bordercolor Transparent -border 1x1 $< $@ @@ -181,6 +217,28 @@ $(patsubst %,build/%/quake2.png,$(layer_sizes)): build/%/quake2.png: quake1+2.sv --export-png=$@ \ $< +$(patsubst %,build/%/quake4.png,16 22 32): build/%/quake4.png: quake1+2.svg + install -d build/$* + inkscape \ + --export-area=0:0:32:32 \ + --export-width=$* \ + --export-height=$* \ + --export-id=layer-quake4-32 \ + --export-id-only \ + --export-png=$@ \ + $< + +$(patsubst %,build/%/quake4.png,48 256): build/%/quake4.png: quake1+2.svg + install -d build/$* + inkscape \ + --export-area=0:0:$*:$* \ + --export-width=$* \ + --export-height=$* \ + --export-id=layer-quake4-$* \ + --export-id-only \ + --export-png=$@ \ + $< + $(patsubst %,build/%/quake2-reckoning.png,$(layer_sizes)): build/%/quake2-reckoning.png: build/tmp/recolour-reckoning.svg install -d build/$* inkscape \ @@ -208,7 +266,7 @@ clean: build/quake.svg: quake1+2.svg Makefile install -d build - xmlstarlet ed -d "//*[local-name() = 'g' and @id != 'layer-quake-256']" < $< > build/tmp/quake.svg + xmlstarlet ed -d "//*[local-name() = 'g' and @inkscape:groupmode = 'layer' and @id != 'layer-quake-256']" < $< > build/tmp/quake.svg inkscape \ --export-area-page \ --export-plain-svg=$@ \ @@ -217,7 +275,7 @@ build/quake.svg: quake1+2.svg Makefile build/quake-%.svg: build/tmp/recolour-%.svg Makefile install -d build - xmlstarlet ed -d "//*[local-name() = 'g' and @id != 'layer-quake-256']" < $< > build/tmp/quake-$*.svg + xmlstarlet ed -d "//*[local-name() = 'g' and @inkscape:groupmode = 'layer' and @id != 'layer-quake-256']" < $< > build/tmp/quake-$*.svg inkscape \ --export-area-page \ --export-plain-svg=$@ \ @@ -226,16 +284,25 @@ build/quake-%.svg: build/tmp/recolour-%.svg Makefile build/quake2.svg: quake1+2.svg Makefile install -d build - xmlstarlet ed -d "//*[local-name() = 'g' and @id != 'layer-quake2-256']" < $< > build/tmp/quake2.svg + xmlstarlet ed -d "//*[local-name() = 'g' and @inkscape:groupmode = 'layer' and @id != 'layer-quake2-256']" < $< > build/tmp/quake2.svg inkscape \ --export-area-page \ --export-plain-svg=$@ \ build/tmp/quake2.svg rm -f build/tmp/quake2.svg +build/quake4.svg: quake1+2.svg Makefile + install -d build + xmlstarlet ed -d "//*[local-name() = 'g' and @inkscape:groupmode = 'layer' and @id != 'layer-quake4-256']" < $< > build/tmp/quake4.svg + inkscape \ + --export-area-page \ + --export-plain-svg=$@ \ + build/tmp/quake4.svg + rm -f build/tmp/quake4.svg + build/quake2-%.svg: build/tmp/recolour-%.svg Makefile install -d build - xmlstarlet ed -d "//*[local-name() = 'g' and @id != 'layer-quake2-256']" < $< > build/tmp/quake2-$*.svg + xmlstarlet ed -d "//*[local-name() = 'g' and @inkscape:groupmode = 'layer' and @id != 'layer-quake2-256']" < $< > build/tmp/quake2-$*.svg inkscape \ --export-area-page \ --export-plain-svg=$@ \ diff --git a/README.quake4-data b/README.quake4-data new file mode 100644 index 0000000..a8be9e4 --- /dev/null +++ b/README.quake4-data @@ -0,0 +1,13 @@ +Use game-data-packager to build and install the quake4-data +or quake4-de-data package. + +The quake4-data package requires the commercial game files from any +non-German version of Quake 4, such as the English version available +on Steam. + +The quake4-de-data package requires the commercial game files +from the German version of Quake 4, which is incompatible with +other versions. + +Both packages depend on quake4-common-data and quake4-bin, which can +also be built using game-data-packager. diff --git a/debian/changelog b/debian/changelog index 83db1b9..434e396 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,9 @@ quake (15) UNRELEASED; urgency=medium and hardens the system against the possibility that files owned by Debian-quake3 might become owned by an unrelated user that is given the same numeric uid. + * Add support for Quake 4, using the proprietary binaries (there is + no open-source engine). These packages are currently skipped by + default: use DEB_BUILD_OPTIONS=quake4 to build them. -- Simon McVittie <s...@debian.org> Sun, 25 Oct 2015 01:51:37 +0100 diff --git a/debian/control b/debian/control index ea37ade..0f8cd32 100644 --- a/debian/control +++ b/debian/control @@ -144,3 +144,59 @@ Description: Quake III Arena dedicated server launcher scripts To make this package useful, you will need to create and install the non-distributable quake3-data package, by using the game-data-packager package. This requires pak0.pk3 from a Quake III installation or CD-ROM. + +Package: quake4 +Architecture: i386 +Depends: + ${misc:Depends}, + quake4-bin | game-data-packager (>= 43), +Suggests: + quake4-pb-bin, +Description: science-fiction-themed first person shooter + Quake 4 is a first-person shooter game by Raven Software and id Software, + released in 2005. This package contains a launcher script and menu + entry to play Quake 4 using the proprietary x86 binaries provided by + id Software. + . + Please note that the Quake 4 engine is not Free Software, and Debian + cannot fix any bugs or security flaws in the engine or game code. + . + To make this package useful, you will need to create and install some + non-distributable packages by using the game-data-packager package: + quake4-bin, and either quake4-data (for all regions except Germany) + or quake4-censored-de-data (for the incompatible version sold in + Germany). Creating those packages requires data files from a Quake 4 + installation or DVD. + +Package: quake4-server +Architecture: i386 +Depends: + ${misc:Depends}, + adduser, + quake4-bin | game-data-packager (>= 43), + quake4-data | quake4-censored-de-data | game-data-packager (>= 43), +Recommends: + systemd-sysv, +Suggests: + quake4-pb-bin, +Description: dedicated server for Quake 4 + This package contains a launcher script and systemd unit to run a + Quake 4 server using the proprietary x86 binaries provided by id Software. + . + Please note that the Quake 4 engine is not Free Software, and Debian + cannot fix any bugs or security flaws in the engine or game code. + . + To mitigate any security flaws that might exist in this server, + the systemd unit is not enabled by default, and must be enabled + with systemctl if it should start at boot time. The systemd unit + uses various security hardening options to prevent the server from + escalating its privileges. There is no sysvinit script, + since sysvinit does not provide similar security hardening. + . + To make this package useful, you will need to create and install some + non-distributable packages by using the game-data-packager package: + quake4-bin, and either quake4-data (for the uncensored + version sold on Steam and in countries other than Germany) or + quake4-censored-de-data (for the incompatible version sold in Germany). + Creating those packages requires data files from a Quake 4 installation + or DVD. diff --git a/debian/q4/server.cfg b/debian/q4/server.cfg new file mode 100644 index 0000000..c449d98 --- /dev/null +++ b/debian/q4/server.cfg @@ -0,0 +1,7 @@ +// Sample server configuration for Quake 4 in Debian + +// You can use the exec command to run one of the example configurations +// included with Quake 4 or your own configuration file placed in +// /var/games/quake4-server/.quake4/baseq4, or comment out this line and +// add your own configuration below +exec dm.cfg diff --git a/debian/quake4-server.README.Debian b/debian/quake4-server.README.Debian new file mode 100644 index 0000000..9492c1e --- /dev/null +++ b/debian/quake4-server.README.Debian @@ -0,0 +1,35 @@ +Quake 4 dedicated server for Debian +=================================== + +The quake4-server systemd unit runs a dedicated server as +the user "quake4-server". This is a simple setup suitable for running one +server on a machine; by default it will cycle through the standard +Quake 4 deathmatch maps. + +The quake4-server user's home directory is /var/games/quake4-server, +so game files can be found in /var/games/quake4-server/.quake4. +For convenience, /var/games/quake4-server/quake4 is a symlink to +that directory. + +The /etc/quake4-server directory is symlinked into the game engine's +search path as etc/quake4-server, so you can place files there and execute +them with commands like "exec etc/quake4-server/ctf.cfg". +By default, the init script will use etc/quake4-server/server.cfg. + +To set options that can only be configured via the command-line, +such as net_port, set the variable DAEMON_OPTS +in /etc/default/quake4-server. + +The server can be managed in the usual way, e.g. via service(8) +and update-rc.d(8) commands like + + service quake4-server stop + service quake4-server start + update-rc.d quake4-server disable + update-rc.d quake4-server enable + +Because Quake 4 is proprietary software and might have security flaws +that Debian cannot fix, the dedicated server is disabled by default. +To mitigate any security flaws that might exist in it, the systemd unit +is configured with various security-hardening options, and a +corresponding sysvinit script is not provided. diff --git a/debian/quake4-server.default b/debian/quake4-server.default new file mode 100644 index 0000000..010d60e --- /dev/null +++ b/debian/quake4-server.default @@ -0,0 +1,9 @@ +# Defaults for Quake 4 systemd unit + +# Options that are passed to the daemon. +# +# In addition to these options, the server will execute commands from +# /etc/quake4-server/server.cfg using "+exec etc/quake4-server/server.cfg". +# For most options it's better to edit server.cfg instead, but some options +# only work on the command-line. +DAEMON_OPTS="" diff --git a/debian/quake4-server.install b/debian/quake4-server.install new file mode 100644 index 0000000..308425c --- /dev/null +++ b/debian/quake4-server.install @@ -0,0 +1,3 @@ +README.quake4-data usr/share/doc/quake4-server +build/quake4-dedicated usr/games +debian/q4/server.cfg etc/quake4-server diff --git a/debian/quake4-server.links b/debian/quake4-server.links new file mode 100644 index 0000000..a8c81fc --- /dev/null +++ b/debian/quake4-server.links @@ -0,0 +1 @@ +etc/quake4-server usr/share/games/quake4/baseq4/etc/quake4-server diff --git a/debian/quake4-server.lintian-overrides b/debian/quake4-server.lintian-overrides new file mode 100644 index 0000000..646cddf --- /dev/null +++ b/debian/quake4-server.lintian-overrides @@ -0,0 +1,2 @@ +# verbatim quote +quake4-server binary: spelling-error-in-copyright ment meant diff --git a/debian/quake4-server.manpages b/debian/quake4-server.manpages new file mode 100644 index 0000000..c098498 --- /dev/null +++ b/debian/quake4-server.manpages @@ -0,0 +1 @@ +quake4-dedicated.6 diff --git a/debian/quake4-server.postinst b/debian/quake4-server.postinst new file mode 100644 index 0000000..c27c1ca --- /dev/null +++ b/debian/quake4-server.postinst @@ -0,0 +1,30 @@ +#!/bin/sh + +set -e + +case "$1" in + configure) + if ! getent passwd quake4-server >/dev/null; then + adduser --disabled-password --quiet --system \ + --home /var/games/quake4-server --no-create-home \ + --gecos "Quake 4 dedicated server" \ + --ingroup games quake4-server + fi + install -d /var/games + install -d /var/games/quake4-server + chown quake4-server:games /var/games/quake4-server + install -d /var/games/quake4-server/.quake4 + chown quake4-server:games /var/games/quake4-server/.quake4 + if ! [ -e /var/games/quake4-server/quake4 ]; then + ln -s .quake4 /var/games/quake4-server/quake4 + fi + ;; + abort-upgrade|abort-remove|abort-deconfigure) + ;; + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# diff --git a/debian/quake4-server.postrm b/debian/quake4-server.postrm new file mode 100644 index 0000000..a5f8703 --- /dev/null +++ b/debian/quake4-server.postrm @@ -0,0 +1,16 @@ +#!/bin/sh + +set -e + +#DEBHELPER# + +if [ "$1" = "purge" ] ; then + # Lock account on purge + if [ -f /etc/shadow ]; then + usermod -L -e 1 quake4-server + else + usermod -L quake4-server + fi + rm -r /var/games/quake4-server + rmdir --ignore-fail-on-non-empty /var/games +fi diff --git a/debian/quake4-server.service b/debian/quake4-server.service new file mode 100644 index 0000000..a350be4 --- /dev/null +++ b/debian/quake4-server.service @@ -0,0 +1,24 @@ +[Unit] +Description=Quake 4 game server +After=network.target + +[Service] +Type=simple +User=quake4-server +Environment=DAEMON_OPTS= +EnvironmentFile=-/etc/default/quake4-server +ExecStart=/usr/games/quake3-server $DAEMON_OPTS +exec etc/quake4-server/server.cfg +Restart=on-failure +RestartPreventExitStatus=72 +# hardening +CapabilityBoundingSet= +NoNewPrivileges=true +PrivateDevices=true +PrivateTmp=true +ProtectHome=true +ProtectSystem=full +# this game uses proprietary x86-only binaries, even on amd64 +Personality=x86 + +[Install] +WantedBy=multi-user.target diff --git a/debian/quake4.install b/debian/quake4.install new file mode 100644 index 0000000..19909b3 --- /dev/null +++ b/debian/quake4.install @@ -0,0 +1,11 @@ +build/16/quake4*.png usr/share/icons/hicolor/16x16/apps +build/22/quake4*.png usr/share/icons/hicolor/22x22/apps +build/24/quake4*.png usr/share/icons/hicolor/24x24/apps +build/256/quake4*.png usr/share/icons/hicolor/256x256/apps +build/32/quake4*.png usr/share/icons/hicolor/32x32/apps +build/48/quake4*.png usr/share/icons/hicolor/48x48/apps +build/quake4 usr/games +build/quake4*.svg usr/share/icons/hicolor/scalable/apps +README.quake4-data usr/lib/quake4 +need-data.sh usr/lib/quake4 +quake4.desktop usr/share/applications diff --git a/debian/quake4.links b/debian/quake4.links new file mode 100644 index 0000000..1aa37a2 --- /dev/null +++ b/debian/quake4.links @@ -0,0 +1 @@ +usr/lib/quake4/README.quake4-data usr/share/doc/quake4/README.quake4-data diff --git a/debian/quake4.lintian-overrides b/debian/quake4.lintian-overrides new file mode 100644 index 0000000..c419516 --- /dev/null +++ b/debian/quake4.lintian-overrides @@ -0,0 +1,2 @@ +# verbatim quote +quake4 binary: spelling-error-in-copyright ment meant diff --git a/debian/quake4.manpages b/debian/quake4.manpages new file mode 100644 index 0000000..4af81bb --- /dev/null +++ b/debian/quake4.manpages @@ -0,0 +1 @@ +quake4.6 diff --git a/debian/rules b/debian/rules index eab1d8e..0b2add4 100755 --- a/debian/rules +++ b/debian/rules @@ -1,4 +1,18 @@ #!/usr/bin/make -f +dh_options = + +ifeq (,$(filter quake4,$(DEB_BUILD_OPTIONS))) +dh_options += -Nquake4 -Nquake4-server +endif + %: - dh $@ --parallel --with=systemd + dh $@ --parallel --with=systemd $(dh_options) + +override_dh_installinit: + dh_installinit -pquake4-server --noscripts + dh_installinit --remaining-packages + +override_dh_systemd_enable: + dh_systemd_enable -pquake4-server --no-enable + dh_systemd_enable --remaining-packages diff --git a/quake1+2.svg b/quake1+2.svg index 01a7e4c..579bd1c 100644 --- a/quake1+2.svg +++ b/quake1+2.svg @@ -14,13 +14,32 @@ height="256" id="svg2" version="1.1" - inkscape:version="0.48.1 r9760" + inkscape:version="0.91 r13725" sodipodi:docname="quake1+2.svg"> <title - id="title3063">Tango-style Quake I and II logos</title> + id="title3063">Tango-style Quake 1, 2 and 4 logos</title> <defs id="defs4"> <linearGradient + id="linearGradient3947-5"> + <stop + id="stop4457" + offset="0" + style="stop-color:#3a5a1e;stop-opacity:1;" /> + <stop + style="stop-color:#73ae3a;stop-opacity:1;" + offset="0.25" + id="stop4459" /> + <stop + style="stop-color:#3a5a1e;stop-opacity:1;" + offset="0.75" + id="stop4461" /> + <stop + id="stop4463" + offset="1" + style="stop-color:#3a5a1e;stop-opacity:1;" /> + </linearGradient> + <linearGradient id="linearGradient3947"> <stop style="stop-color:#3a5a1e;stop-opacity:1;" @@ -231,6 +250,43 @@ stdDeviation="2.1782812" id="feGaussianBlur3902" /> </filter> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3862-4"> + <path + inkscape:connector-curvature="0" + id="path3864-8" + d="M 100,12.34375 C 71.310852,28.243604 52,57.952947 52,92 c 0,46.91303 36.648021,85.61882 84,91.28125 L 136,208 l 12,48 12,-48 0,-24.71875 C 207.35198,177.61882 244,138.91303 244,92 244,57.952947 224.68915,28.243604 196,12.34375 L 196,16 c 19.434,14.599292 32,37.82443 32,64 0,40.1057 -29.50793,73.33691 -68,79.125 L 160,112 c 2.54991,-3.69734 8.90346,-7.4041 11.1875,-8 L 160,104 l -24,0 -10.59375,0 c 2.50649,0.35039 7.74962,2.07991 10.59375,8 l 0,47.125 C 97.507928,153.33691 68, [...] + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#241703;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + </clipPath> + <filter + style="color-interpolation-filters:sRGB;" + inkscape:label="Blur" + id="filter4467"> + <feGaussianBlur + stdDeviation="2 2" + result="fbSourceGraphic" + id="feGaussianBlur4469" /> + <feColorMatrix + result="fbSourceGraphicAlpha" + in="fbSourceGraphic" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + id="feColorMatrix4471" /> + <feGaussianBlur + id="feGaussianBlur4473" + stdDeviation="2 2" + result="blur" + in="fbSourceGraphic" /> + </filter> + <filter + style="color-interpolation-filters:sRGB;" + inkscape:label="Blur" + id="filter4318"> + <feGaussianBlur + stdDeviation="2 2" + result="blur" + id="feGaussianBlur4320" /> + </filter> </defs> <sodipodi:namedview id="base" @@ -239,19 +295,19 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="1" - inkscape:cx="-167" - inkscape:cy="105.88" + inkscape:zoom="11.07438" + inkscape:cx="-0.073320826" + inkscape:cy="15.638382" inkscape:document-units="px" - inkscape:current-layer="layer-quake-256" + inkscape:current-layer="layer-quake-32" showgrid="true" gridtolerance="10" showguides="true" inkscape:guide-bbox="true" - inkscape:window-width="1280" - inkscape:window-height="757" + inkscape:window-width="1366" + inkscape:window-height="704" inkscape:window-x="0" - inkscape:window-y="26" + inkscape:window-y="27" inkscape:window-maximized="1"> <inkscape:grid type="xygrid" @@ -321,10 +377,10 @@ <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title>Tango-style Quake I and II logos</dc:title> + <dc:title>Tango-style Quake 1, 2 and 4 logos</dc:title> <cc:license rdf:resource="data:text/plain,Redistribution%20and%20use%20in%20source%20and%20compiled%20forms%2C%20with%20or%20without%20modification%2C%20are%20permitted%20under%20any%20circumstances.%20No%20warranty." /> - <dc:date>2011-07-08</dc:date> + <dc:date>2015-10-25</dc:date> <dc:creator> <cc:Agent> <dc:title>Simon McVittie</dc:title> @@ -341,7 +397,7 @@ transform="translate(0,-796.36218)" style="display:none"> <rect - style="color:#000000;fill:url(#linearGradient3953);fill-opacity:1;fill-rule:nonzero;stroke:#241703;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient3953);fill-opacity:1;fill-rule:nonzero;stroke:#241703;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect3945" width="256" height="256" @@ -349,47 +405,41 @@ y="608.52112" transform="matrix(0.8660254,0.5,-0.5,0.8660254,0,0)" /> <rect - style="color:#000000;fill:#babdb6;stroke:#2e3436;stroke-width:0.65465355;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#babdb6;stroke:#2e3436;stroke-width:0.65465355;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect3813" width="96" height="23.999996" x="80" y="788.36218" /> - <path + <circle transform="matrix(1.090909,0,0,1.0454545,-11.636361,787.99854)" - d="m 216,96 c 0,48.60106 -39.39894,88 -88,88 C 79.398942,184 40,144.60106 40,96 40,47.398942 79.398942,8 128,8 c 48.60106,0 88,39.398942 88,88 z" - sodipodi:ry="88" - sodipodi:rx="88" - sodipodi:cy="96" - sodipodi:cx="128" id="path3827" - style="color:#000000;fill:#a40000;fill-opacity:1;stroke:#2e3436;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - sodipodi:type="arc" /> - <path - sodipodi:type="arc" - style="color:#000000;fill:#204a87;fill-opacity:1;stroke:#2e3436;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#a40000;fill-opacity:1;stroke:#2e3436;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + cx="128" + cy="96" + r="88" /> + <circle + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#204a87;fill-opacity:1;stroke:#2e3436;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="path3811" - sodipodi:cx="128" - sodipodi:cy="88" - sodipodi:rx="80" - sodipodi:ry="80" - d="m 208,88 c 0,44.18278 -35.81722,80 -80,80 C 83.81722,168 48,132.18278 48,88 48,43.81722 83.81722,8 128,8 c 44.18278,0 80,35.81722 80,80 z" - transform="translate(0,788.36218)" /> + transform="translate(0,788.36218)" + cx="128" + cy="88" + r="80" /> <rect - style="color:#000000;fill:#4e9a06;stroke:#2e3436;stroke-width:1.27475488;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#4e9a06;stroke:#2e3436;stroke-width:1.27475488;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect3817" width="24" height="104" x="116" y="900.36218" /> <path - style="color:#000000;fill:#ce5c00;stroke:#2e3436;stroke-width:1.22474468;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ce5c00;stroke:#2e3436;stroke-width:1.22474468;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 104,900.36218 48,0 c -0.59345,-0.79129 -8.97788,3.61797 -12,8 -3.34189,4.8457 -21.9172,4.33535 -24,0 -3.79217,-7.89345 -11.85577,-8.35256 -12,-8 z" id="rect3819" inkscape:connector-curvature="0" sodipodi:nodetypes="ccssc" /> <path - style="color:#000000;fill:#fce94f;stroke:#2e3436;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fce94f;stroke:#2e3436;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 116,1004.3622 24,0 0,0 -12,48 z" id="rect3821" inkscape:connector-curvature="0" @@ -400,34 +450,34 @@ height="104" width="24" id="rect4005" - style="color:#000000;fill:#4e9a06;stroke:#2e3436;stroke-width:1.27475488;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#4e9a06;stroke:#2e3436;stroke-width:1.27475488;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> <path sodipodi:nodetypes="ccssc" inkscape:connector-curvature="0" id="path4007" d="m 88,900.36218 48,0 c -0.59345,-0.79129 -8.97788,3.61797 -12,8 -3.34189,4.8457 -21.9172,4.33535 -24,0 -3.79217,-7.89345 -11.85577,-8.35256 -12,-8 z" - style="color:#000000;fill:#ce5c00;stroke:#2e3436;stroke-width:1.22474468;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ce5c00;stroke:#2e3436;stroke-width:1.22474468;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> <path sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" id="path4009" d="m 100,1004.3622 24,0 0,0 -12,48 z" - style="color:#000000;fill:#fce94f;stroke:#2e3436;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fce94f;stroke:#2e3436;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> <rect - style="color:#000000;fill:#4e9a06;stroke:#2e3436;stroke-width:1.27475488;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#4e9a06;stroke:#2e3436;stroke-width:1.27475488;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="rect4011" width="24" height="104" x="132" y="900.36218" /> <path - style="color:#000000;fill:#ce5c00;stroke:#2e3436;stroke-width:1.22474468;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ce5c00;stroke:#2e3436;stroke-width:1.22474468;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 120,900.36218 48,0 c -0.59345,-0.79129 -8.97788,3.61797 -12,8 -3.34189,4.8457 -21.9172,4.33535 -24,0 -3.79217,-7.89345 -11.85577,-8.35256 -12,-8 z" id="path4013" inkscape:connector-curvature="0" sodipodi:nodetypes="ccssc" /> <path - style="color:#000000;fill:#fce94f;stroke:#2e3436;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fce94f;stroke:#2e3436;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 132,1004.3622 24,0 0,0 -12,48 z" id="path4015" inkscape:connector-curvature="0" @@ -435,11 +485,174 @@ </g> <g inkscape:groupmode="layer" + id="layer3" + inkscape:label="q4 shapes" + style="display:none"> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#a40000;fill-opacity:1;stroke:#2e3436;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="M 128,0 A 80,80 0 0 1 208,80 80,80 0 0 1 128,160 80,80 0 0 1 48,80 80,80 0 0 1 128,0 Z m 0,0 A 95.999992,91.999996 0 0 0 32,92 95.999992,91.999996 0 0 0 128,184 95.999992,91.999996 0 0 0 224,92 95.999992,91.999996 0 0 0 128,0 Z" + id="circle4363" + inkscape:connector-curvature="0" /> + <rect + transform="matrix(0.8660254,0.5,-0.5,0.8660254,0,-796.36218)" + y="608.52112" + x="445.03235" + height="256" + width="256" + id="rect4293" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient3953);fill-opacity:1;fill-rule:nonzero;stroke:#241703;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <circle + r="88" + cy="96" + cx="128" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#5c3566;fill-opacity:1;stroke:#2e3436;stroke-width:0.93638223;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="circle4297" + transform="matrix(1.090909,0,0,1.0454545,-11.636361,-8.36364)" /> + <rect + y="-8.0000458" + x="80" + height="54.499996" + width="96" + id="rect4295" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#babdb6;stroke:#2e3436;stroke-width:0.65465355;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <circle + r="80" + cy="88" + cx="128" + transform="translate(0,-8)" + id="circle4299" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#204a87;fill-opacity:1;stroke:#2e3436;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <rect + y="135.33203" + x="116" + height="88.167976" + width="24" + id="rect4301" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#4e9a06;stroke:#2e3436;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path4305" + d="m 116,222.00629 24,0 0,0 -12,50.01125 z" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fce94f;stroke:#2e3436;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fce94f;stroke:#2e3436;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 116,136.56552 24,0 0,0 -12,-48.000005 z" + id="path4334" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#e9b96e;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 78,160 24.38649,7.91161 -8.39017,14.03293 -20.331029,-9.87132 z" + id="rect4336" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path4341" + d="m 46.003418,131.9809 17.934137,21.96535 -9.981156,2.27729 -11.934136,-16.05851 z" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#e9b96e;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path4343" + d="m 176.57739,160 -24.38649,7.91161 8.39017,14.03293 20.33103,-9.87132 z" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#e9b96e;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#e9b96e;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 208.57397,131.9809 -17.93413,21.96535 9.98115,2.27729 11.93414,-16.05851 z" + id="path4345" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + </g> + <g + inkscape:groupmode="layer" + id="layer-quake4-256" + inkscape:label="quake4-256" + style="display:inline"> + <g + id="g4521"> + <path + inkscape:connector-curvature="0" + id="path4479" + d="M 82.474415,5.6227342 A 91.051163,87.26986 0 0 0 36.94883,81.109388 91.051163,87.26986 0 0 0 48.270948,123.06206 l -1.817244,3.73505 11.320266,15.23296 4.151319,-0.94674 a 91.051163,87.26986 0 0 0 15.727223,12.67807 l -1.185562,3.30338 19.282056,9.36542 1.887637,-3.157 a 91.051163,87.26986 0 0 0 18.981957,4.32606 l 0,38.24912 0.34086,0 11.04054,46.02307 11.04054,-46.02307 0.34086,0 0,-38.27877 a 91.051163,87.26986 0 0 0 17.85567,-3.92588 l 1.66535,2.78647 19.28205,-9.36542 -0 [...] + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <path + inkscape:connector-curvature="0" + id="path4477" + d="M 82.474415,5.6227342 A 91.051163,87.26986 0 0 0 36.94883,81.109388 91.051163,87.26986 0 0 0 48.270948,123.06206 l -1.817244,3.73505 11.320266,15.23296 4.151319,-0.94674 a 91.051163,87.26986 0 0 0 15.727223,12.67807 l -1.185562,3.30338 19.282056,9.36542 1.887637,-3.157 a 91.051163,87.26986 0 0 0 18.981957,4.32606 l 0,38.24912 0.34086,0 11.04054,46.02307 11.04054,-46.02307 0.34086,0 0,-38.27877 a 91.051163,87.26986 0 0 0 17.85567,-3.92588 l 1.66535,2.78647 19.28205,-9.36542 -0 [...] + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <path + inkscape:connector-curvature="0" + id="rect4418" + d="M 82.474415,5.6227342 A 91.051163,87.26986 0 0 0 36.94883,81.109388 91.051163,87.26986 0 0 0 48.270948,123.06206 l -1.817244,3.73505 11.320266,15.23296 4.151319,-0.94674 a 91.051163,87.26986 0 0 0 15.727223,12.67807 l -1.185562,3.30338 19.282056,9.36542 1.887637,-3.157 a 91.051163,87.26986 0 0 0 18.981957,4.32606 l 0,38.24912 0.34086,0 11.04054,46.02307 11.04054,-46.02307 0.34086,0 0,-38.27877 a 91.051163,87.26986 0 0 0 17.85567,-3.92588 l 1.66535,2.78647 19.28205,-9.36542 -0 [...] + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#79ff14;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;filter:url(#filter4467);enable-background:accumulate" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#79ff14;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;filter:url(#filter4467);enable-background:accumulate" + d="M 82.474415,5.6227342 A 91.051163,87.26986 0 0 0 36.94883,81.109388 91.051163,87.26986 0 0 0 48.270948,123.06206 l -1.817244,3.73505 11.320266,15.23296 4.151319,-0.94674 a 91.051163,87.26986 0 0 0 15.727223,12.67807 l -1.185562,3.30338 19.282056,9.36542 1.887637,-3.157 a 91.051163,87.26986 0 0 0 18.981957,4.32606 l 0,38.24912 0.34086,0 11.04054,46.02307 11.04054,-46.02307 0.34086,0 0,-38.27877 a 91.051163,87.26986 0 0 0 17.85567,-3.92588 l 1.66535,2.78647 19.28205,-9.36542 -0 [...] + id="path4492" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#79ff14;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="M 82.474415,5.6227342 A 91.051163,87.26986 0 0 0 36.94883,81.109388 91.051163,87.26986 0 0 0 48.270948,123.06206 l -1.817244,3.73505 11.320266,15.23296 4.151319,-0.94674 a 91.051163,87.26986 0 0 0 15.727223,12.67807 l -1.185562,3.30338 19.282056,9.36542 1.887637,-3.157 a 91.051163,87.26986 0 0 0 18.981957,4.32606 l 0,38.24912 0.34086,0 11.04054,46.02307 11.04054,-46.02307 0.34086,0 0,-38.27877 a 91.051163,87.26986 0 0 0 17.85567,-3.92588 l 1.66535,2.78647 19.28205,-9.36542 -0 [...] + id="path4494" + inkscape:connector-curvature="0" /> + </g> + </g> + <g + style="display:inline" + inkscape:label="quake4-48" + id="layer-quake4-48" + inkscape:groupmode="layer"> + <g + id="g4334"> + <path + inkscape:connector-curvature="0" + id="path4308" + d="m 15.482682,209.22262 a 17.091582,16.381778 0 0 0 -8.5457917,14.1699 17.091582,16.381778 0 0 0 2.1253205,7.87511 l -0.3411222,0.70112 2.1249734,2.85944 0.77926,-0.17772 a 17.091582,16.381778 0 0 0 2.952221,2.37985 l -0.222547,0.62009 3.619513,1.75803 0.354336,-0.59262 a 17.091582,16.381778 0 0 0 3.56318,0.81206 l 0,7.1799 0.06398,0 2.072464,8.63918 2.072465,-8.63918 0.06398,0 0,-7.18546 a 17.091582,16.381778 0 0 0 3.35176,-0.73694 l 0.312609,0.52306 3.619512,-1.75803 -0.17282 [...] + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#79ff14;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;filter:url(#filter4318);enable-background:accumulate" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#79ff14;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;filter:url(#filter4318);enable-background:accumulate" + d="m 15.482682,209.22262 a 17.091582,16.381778 0 0 0 -8.5457917,14.1699 17.091582,16.381778 0 0 0 2.1253205,7.87511 l -0.3411222,0.70112 2.1249734,2.85944 0.77926,-0.17772 a 17.091582,16.381778 0 0 0 2.952221,2.37985 l -0.222547,0.62009 3.619513,1.75803 0.354336,-0.59262 a 17.091582,16.381778 0 0 0 3.56318,0.81206 l 0,7.1799 0.06398,0 2.072464,8.63918 2.072465,-8.63918 0.06398,0 0,-7.18546 a 17.091582,16.381778 0 0 0 3.35176,-0.73694 l 0.312609,0.52306 3.619512,-1.75803 -0.17282 [...] + id="path4322" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#79ff14;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 15.482682,209.22262 a 17.091582,16.381778 0 0 0 -8.5457917,14.1699 17.091582,16.381778 0 0 0 2.1253205,7.87511 l -0.3411222,0.70112 2.1249734,2.85944 0.77926,-0.17772 a 17.091582,16.381778 0 0 0 2.952221,2.37985 l -0.222547,0.62009 3.619513,1.75803 0.354336,-0.59262 a 17.091582,16.381778 0 0 0 3.56318,0.81206 l 0,7.1799 0.06398,0 2.072464,8.63918 2.072465,-8.63918 0.06398,0 0,-7.18546 a 17.091582,16.381778 0 0 0 3.35176,-0.73694 l 0.312609,0.52306 3.619512,-1.75803 -0.17282 [...] + id="path4294" + inkscape:connector-curvature="0" /> + </g> + </g> + <g + inkscape:groupmode="layer" + id="layer-quake4-32" + inkscape:label="quake4-32" + style="display:inline"> + <path + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#79ff14;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + d="m 10.3106,224.84518 a 11.383012,10.910281 0 0 0 -5.6915065,9.43717 11.383012,10.910281 0 0 0 1.4154657,5.24483 l -0.2271878,0.46695 1.4152346,1.90439 0.5189879,-0.11836 a 11.383012,10.910281 0 0 0 1.9661823,1.58498 l -0.1482165,0.41298 2.4105993,1.17085 0.235988,-0.39469 a 11.383012,10.910281 0 0 0 2.373082,0.54084 l 0,4.78182 0.04261,0 1.380263,5.7537 1.380264,-5.7537 0.04261,0 0,-4.78553 a 11.383012,10.910281 0 0 0 2.232276,-0.4908 l 0.208198,0.34836 2.410599,-1.17085 -0.1150 [...] + id="path4348" + inkscape:connector-curvature="0" /> + </g> + <g + inkscape:groupmode="layer" + id="layer4" + inkscape:label="temp" + style="display:none"> + <path + inkscape:connector-curvature="0" + id="path4465" + d="M 82.474415,5.6227342 A 91.051163,87.26986 0 0 0 36.94883,81.109388 91.051163,87.26986 0 0 0 48.270948,123.06206 l -1.817244,3.73505 11.320266,15.23296 4.151319,-0.94674 a 91.051163,87.26986 0 0 0 15.727223,12.67807 l -1.185562,3.30338 19.282056,9.36542 1.887637,-3.157 a 91.051163,87.26986 0 0 0 18.981957,4.32606 l 0,38.24912 0.34086,0 11.04054,46.02307 11.04054,-46.02307 0.34086,0 0,-38.27877 a 91.051163,87.26986 0 0 0 17.85567,-3.92588 l 1.66535,2.78647 19.28205,-9.36542 -0.9 [...] + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + </g> + <g + inkscape:groupmode="layer" id="layer-quake2-256" inkscape:label="quake2-256" style="display:inline"> <path - style="color:#000000;fill:url(#linearGradient4042);fill-opacity:1;fill-rule:nonzero;stroke:#132601;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4042);fill-opacity:1;fill-rule:nonzero;stroke:#132601;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="M 80,12.34375 C 51.310852,28.243604 32,57.952947 32,92 c 0,41.47923 28.634235,76.55017 68,88.03125 L 100,208 l 12,48 12,-48 0,-24.09375 c 1.32891,0.0523 2.65768,0.0937 4,0.0937 1.34232,0 2.67109,-0.0415 4,-0.0937 L 132,208 l 12,48 12,-48 0,-27.96875 C 195.36576,168.55017 224,133.47923 224,92 224,57.952947 204.68915,28.243604 176,12.34375 L 176,16 c 19.434,14.599292 32,37.82443 32,64 0,34.32876 -21.63147,63.6164 -52,74.96875 L 156,112 c 2.54991,-3.69734 8.90346,-7.4041 11.1875,- [...] id="rect3945-8" inkscape:connector-curvature="0" /> @@ -447,7 +660,7 @@ inkscape:connector-curvature="0" id="path3958" d="M 40,12.34375 C 11.310852,28.243604 -8,57.952947 -8,92 c 0,41.47923 28.634235,76.55017 68,88.03125 L 60,208 l 12,48 12,-48 0,-24.09375 c 1.32891,0.0523 2.65768,0.0937 4,0.0937 1.34232,0 2.67109,-0.0415 4,-0.0937 L 92,208 l 12,48 12,-48 0,-27.96875 C 155.36576,168.55017 184,133.47923 184,92 184,57.952947 164.68915,28.243604 136,12.34375 L 136,16 c 19.434,14.599292 32,37.82443 32,64 0,34.32876 -21.63147,63.6164 -52,74.96875 L 116,112 c 2.54991,-3.69734 8.90346,-7.4041 11.1875,-8 [...] - style="color:#000000;fill:none;stroke:#8ae234;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;filter:url(#filter3900)" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#8ae234;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;filter:url(#filter3900);enable-background:accumulate" clip-path="url(#clipPath3984)" transform="translate(40,0)" /> </g> @@ -460,7 +673,7 @@ inkscape:connector-curvature="0" id="path4160" d="m 15,210.31445 c -5.3792153,2.98123 -9,8.55173 -9,14.93555 0,7.77736 5.368919,14.35316 12.75,16.50586 l 0,5.24414 2.25,9 2.25,-9 0,-4.51758 c 0.249171,0.01 0.498315,0.0176 0.75,0.0176 0.251685,0 0.500829,-0.008 0.75,-0.0176 l 0,4.51758 2.25,9 2.25,-9 0,-5.24414 C 36.63108,239.60316 42,233.02736 42,225.25 42,218.86618 38.379216,213.29568 33,210.31445 L 33,211 c 3.643875,2.73737 6,7.09208 6,12 0,6.43664 -4.055901,11.92807 -9.75,14.05664 L 29.25,229 c 0.478108,-0.69325 1.669399,-1 [...] - style="color:#000000;fill:url(#linearGradient4166);fill-opacity:1;fill-rule:nonzero;stroke:#132601;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4166);fill-opacity:1;fill-rule:nonzero;stroke:#132601;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> </g> <g inkscape:groupmode="layer" @@ -468,7 +681,7 @@ inkscape:label="quake2-16" style="display:inline"> <path - style="color:#000000;fill:url(#linearGradient4192);fill-opacity:1;fill-rule:nonzero;stroke:#132601;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4192);fill-opacity:1;fill-rule:nonzero;stroke:#132601;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 5,240.77148 c -1.7930718,0.99375 -3,2.85058 -3,4.97852 0,2.59245 1.7896397,4.78439 4.25,5.50195 l 0,1.74805 0.75,3 0.75,-3 0,-1.50586 c 0.083057,0.003 0.166105,0.006 0.25,0.006 0.083895,0 0.166943,-0.003 0.25,-0.006 l 0,1.50586 0.75,3 0.75,-3 0,-1.74805 c 2.46036,-0.71756 4.25,-2.9095 4.25,-5.50195 0,-2.12794 -1.206928,-3.98477 -3,-4.97852 L 11,241 c 1.214625,0.91246 2,2.36403 2,4 0,2.14555 -1.351967,3.97602 -3.25,4.68555 L 9.75,247 c 0.1593693,-0.23108 0.556466,-0.46276 0.69 [...] id="path4186" inkscape:connector-curvature="0" /> @@ -479,7 +692,7 @@ inkscape:label="quake2-22" style="display:inline"> <path - style="color:#000000;fill:url(#linearGradient4183);fill-opacity:1;fill-rule:nonzero;stroke:#132601;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4183);fill-opacity:1;fill-rule:nonzero;stroke:#132601;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 6.875,235.06079 c -2.4654737,1.3664 -4.125,3.91954 -4.125,6.84546 0,3.56462 2.4607545,6.57853 5.84375,7.56519 l 0,2.40356 1.03125,4.125 1.03125,-4.125 0,-2.07056 c 0.114203,0.005 0.228394,0.008 0.34375,0.008 0.115356,0 0.229547,-0.004 0.34375,-0.008 l 0,2.07056 1.03125,4.125 1.03125,-4.125 0,-2.40356 c 3.382995,-0.98666 5.84375,-4.00057 5.84375,-7.56519 0,-2.92592 -1.659526,-5.47906 -4.125,-6.84546 l 0,0.31421 c 1.670109,1.25463 2.75,3.25054 2.75,5.5 0,2.95013 -1.858955,5.467 [...] id="path4177" inkscape:connector-curvature="0" /> @@ -490,7 +703,7 @@ inkscape:label="quake2-32" style="display:inline"> <path - style="color:#000000;fill:url(#linearGradient4173);fill-opacity:1;fill-rule:nonzero;stroke:#132601;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4173);fill-opacity:1;fill-rule:nonzero;stroke:#132601;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 10,225.54297 c -3.5861435,1.98748 -6,5.70115 -6,9.95703 0,5.18491 3.5792793,9.56877 8.5,11.00391 l 0,3.49609 1.5,6 1.5,-6 0,-3.01172 c 0.166114,0.007 0.33221,0.0117 0.5,0.0117 0.16779,0 0.333886,-0.005 0.5,-0.0117 l 0,3.01172 1.5,6 1.5,-6 0,-3.49609 c 4.92072,-1.43514 8.5,-5.819 8.5,-11.00391 0,-4.25588 -2.413856,-7.96955 -6,-9.95703 L 22,226 c 2.42925,1.82491 4,4.72805 4,8 0,4.29109 -2.703934,7.95205 -6.5,9.37109 L 19.5,238 c 0.318739,-0.46217 1.112933,-0.92551 1.398437,-1 L [...] id="path4169" inkscape:connector-curvature="0" /> @@ -501,12 +714,12 @@ inkscape:label="quake-256" style="display:inline"> <path - style="color:#000000;fill:url(#linearGradient4093);fill-opacity:1;fill-rule:nonzero;stroke:#5f3b01;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4093);fill-opacity:1;fill-rule:nonzero;stroke:#5f3b01;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="M 80,12.34375 C 51.310852,28.243604 32,57.952947 32,92 c 0,46.91303 36.648021,85.61882 84,91.28125 L 116,208 l 12,48 12,-48 0,-24.71875 C 187.35198,177.61882 224,138.91303 224,92 224,57.952947 204.68915,28.243604 176,12.34375 L 176,16 c 19.434,14.599292 32,37.82443 32,64 0,40.1057 -29.50793,73.33691 -68,79.125 L 140,112 c 2.54991,-3.69734 8.90346,-7.4041 11.1875,-8 L 140,104 l -24,0 -10.59375,0 c 2.50649,0.35039 7.74962,2.07991 10.59375,8 l 0,47.125 C 77.507928,153.33691 48,120 [...] id="rect3999" inkscape:connector-curvature="0" /> <path - style="color:#000000;fill:none;stroke:#e9b96e;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;filter:url(#filter3896)" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:none;stroke:#e9b96e;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;filter:url(#filter3896);enable-background:accumulate" d="M 100,12.34375 C 71.310852,28.243604 52,57.952947 52,92 c 0,46.91303 36.648021,85.61882 84,91.28125 L 136,208 l 12,48 12,-48 0,-24.71875 C 207.35198,177.61882 244,138.91303 244,92 244,57.952947 224.68915,28.243604 196,12.34375 L 196,16 c 19.434,14.599292 32,37.82443 32,64 0,40.1057 -29.50793,73.33691 -68,79.125 L 160,112 c 2.54991,-3.69734 8.90346,-7.4041 11.1875,-8 L 160,104 l -24,0 -10.59375,0 c 2.50649,0.35039 7.74962,2.07991 10.59375,8 l 0,47.125 C 97.507928,153.33691 68,12 [...] id="path3832" inkscape:connector-curvature="0" @@ -519,7 +732,7 @@ inkscape:label="quake-16" style="display:inline"> <path - style="color:#000000;fill:url(#linearGradient4145);fill-opacity:1;fill-rule:nonzero;stroke:#5f3b01;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4145);fill-opacity:1;fill-rule:nonzero;stroke:#5f3b01;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 5,240.77148 c -1.7930718,0.99374 -3,2.85058 -3,4.97852 0,2.93207 2.2905014,5.35118 5.25,5.70508 l 0,1.54492 0.75,3 0.75,-3 0,-1.54492 c 2.959498,-0.3539 5.25,-2.77301 5.25,-5.70508 0,-2.12794 -1.206928,-3.98478 -3,-4.97852 L 11,241 c 1.214625,0.91246 2,2.36402 2,4 0,2.5066 -1.844246,4.58356 -4.25,4.94532 L 8.75,247 c 0.1593695,-0.23108 0.5564662,-0.46276 0.6992182,-0.5 l -0.6992182,0 -1.5,0 -0.6621095,0 C 6.7445465,246.5219 7.072242,246.62999 7.25,247 l 0,2.94532 C 4.8442457, [...] id="path4141" inkscape:connector-curvature="0" /> @@ -533,7 +746,7 @@ inkscape:connector-curvature="0" id="path4135" d="m 6.875,235.06079 c -2.4654737,1.36639 -4.125,3.91954 -4.125,6.84546 0,4.03159 3.1494394,7.35787 7.21875,7.84448 l 0,2.12427 L 11,256 l 1.03125,-4.125 0,-2.12427 c 4.06931,-0.48661 7.21875,-3.81289 7.21875,-7.84448 0,-2.92592 -1.659526,-5.47907 -4.125,-6.84546 l 0,0.31421 c 1.670109,1.25463 2.75,3.25053 2.75,5.5 0,3.44658 -2.535838,6.30239 -5.84375,6.79981 l 0,-4.04981 c 0.219133,-0.31774 0.765141,-0.63629 0.961425,-0.6875 l -0.961425,0 -2.0625,0 -0.9104006,0 c 0.215402,0.0301 [...] - style="color:#000000;fill:url(#linearGradient4139);fill-opacity:1;fill-rule:nonzero;stroke:#5f3b01;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4139);fill-opacity:1;fill-rule:nonzero;stroke:#5f3b01;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> </g> <g inkscape:groupmode="layer" @@ -544,7 +757,7 @@ inkscape:connector-curvature="0" id="path4097" d="m 15,210.31445 c -5.3792153,2.98123 -9,8.55173 -9,14.93555 0,8.79619 6.871504,16.05353 15.75,17.11523 l 0,4.63477 2.25,9 2.25,-9 0,-4.63477 C 35.128496,241.30353 42,234.04619 42,225.25 42,218.86618 38.379216,213.29568 33,210.31445 L 33,211 c 3.643875,2.73737 6,7.09208 6,12 0,7.51982 -5.532737,13.75067 -12.75,14.83594 L 26.25,229 c 0.478108,-0.69325 1.669399,-1.38827 2.097656,-1.5 l -2.097656,0 -4.5,0 -1.986328,0 c 0.469967,0.0657 1.453054,0.38998 1.986328,1.5 l 0,8.83594 C 14.5 [...] - style="color:#000000;fill:url(#linearGradient4101);fill-opacity:1;fill-rule:nonzero;stroke:#5f3b01;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4101);fill-opacity:1;fill-rule:nonzero;stroke:#5f3b01;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> </g> <g inkscape:groupmode="layer" @@ -552,7 +765,7 @@ inkscape:label="quake-32" style="display:inline"> <path - style="color:#000000;fill:url(#linearGradient4127);fill-opacity:1;fill-rule:nonzero;stroke:#5f3b01;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:url(#linearGradient4127);fill-opacity:1;fill-rule:nonzero;stroke:#5f3b01;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" d="m 10,225.54297 c -3.5861435,1.98748 -6,5.70115 -6,9.95703 0,5.86413 4.5810027,10.70235 10.5,11.41015 l 0,3.08985 1.5,6 1.5,-6 0,-3.08985 C 23.418997,246.20235 28,241.36413 28,235.5 c 0,-4.25588 -2.413856,-7.96955 -6,-9.95703 L 22,226 c 2.42925,1.82491 4,4.72805 4,8 0,5.01321 -3.688491,9.16711 -8.5,9.89063 L 17.5,238 c 0.318739,-0.46217 1.112933,-0.92551 1.398437,-1 L 17.5,237 l -3,0 -1.324219,0 c 0.313312,0.0438 0.968703,0.25999 1.324219,1 l 0,5.89063 C 9.6884913,243.16711 6,23 [...] id="path4123" inkscape:connector-curvature="0" /> diff --git a/quake4-dedicated.6 b/quake4-dedicated.6 new file mode 100644 index 0000000..407c1cd --- /dev/null +++ b/quake4-dedicated.6 @@ -0,0 +1,53 @@ +.TH QUAKE4-DEDICATED 6 2015-10-25 + +.SH NAME +quake4-dedicated \- Quake 4 dedicated server + +.SH SYNOPSIS +.B quake4-dedicated +.BR "" [ \-h | \-\-help ] +.BR "" [ +set +.IR option " " value ]... + +.SH DESCRIPTION +.B quake4-dedicated +is the dedicated server for Quake 4, a first-person shooter game. + +.SH OPTIONS +The wrapper script used for Quake 4 in Debian accepts one option: +.TP +\fB\-h\fR, \fB\-\-help\fR +Display a short help summary +.PP +Any console command can also be prefixed with \fB+\fR and used as a +command-line option (press Ctrl+Alt and the key above Tab to access the +in-game console). + +.SH FILES +.TP +\fI~/.quake4\fR +Configuration and state for Quake 4 + +.SH ENVIRONMENT +The wrapper script used to launch Quake 4 allows it to be debugged +by setting environment variables. +.TP +\fBQUAKE4_DEBUGGER=\fIcommand\fR +A debugger or other prefix to prepend to the Quake 4 command line, such +as \fBstrace\fR; overridden by \fBQUAKE4_BACKTRACE\fR +.TP +\fBQUAKE4_BACKTRACE=1\fR +Use \fBgdb\fR(1) to get a backtrace if Quake 4 crashes (the \fBgdb\fR +package must be installed) + +.SH AUTHOR +Quake 4 was written by id Software and originally published by Activision. +It is proprietary software. +.PP +This manual page was written by Simon McVittie for the Debian project (but +may be used by others). Permission is granted to copy, distribute and/or +modify this document under the terms of the GNU General Public License, +Version 2 or any later version published by the Free Software Foundation. +.PP +On Debian systems, the complete text of the GNU General Public License +can be found in /usr/share/common-licenses/GPL-2. diff --git a/quake4.6 b/quake4.6 new file mode 100644 index 0000000..eb40217 --- /dev/null +++ b/quake4.6 @@ -0,0 +1,59 @@ +.TH QUAKE4 6 2015-10-25 + +.SH NAME +quake4 \- Quake 4 client + +.SH SYNOPSIS +.B quake3 +.BR "" [ \-h | \-\-help ] +.BR "" [ +set +.IR option " " value ]... + +.SH DESCRIPTION +.B quake4 +is the client for Quake 4, a first-person shooter game. + +.SH OPTIONS +The wrapper script used for Quake 4 in Debian accepts these options: +.TP +\fB\-h\fR, \fB\-\-help\fR +Display a short help summary +.TP +\fB\-\-smp\fR +Use the multi-threaded version of the client and the modified +copy of SDL that is bundled with it. The default is to use the +single-threaded client and the system copy of SDL. Both versions +are included in the quake4-bin package. +.PP +Any console command can also be prefixed with \fB+\fR and used as a +command-line option (press Ctrl+Alt and the key above Tab to access the +in-game console). + +.SH FILES +.TP +\fI~/.quake4\fR +Configuration and state for Quake 4 + +.SH ENVIRONMENT +The wrapper script used to launch Quake 4 allows it to be debugged +by setting environment variables. +.TP +\fBQUAKE4_DEBUGGER=\fIcommand\fR +A debugger or other prefix to prepend to the Quake 4 command line, such +as \fBstrace\fR; overridden by \fBQUAKE4_BACKTRACE\fR +.TP +\fBQUAKE4_BACKTRACE=1\fR +Use \fBgdb\fR(1) to get a backtrace if Quake 4 crashes (the \fBgdb\fR +package must be installed) + +.SH AUTHOR +Quake 4 was written by id Software and originally published by Activision. +It is proprietary software. +.PP +This manual page was written by Simon McVittie for the Debian project (but +may be used by others). Permission is granted to copy, distribute and/or +modify this document under the terms of the GNU General Public License, +Version 2 or any later version published by the Free Software Foundation. +.PP +On Debian systems, the complete text of the GNU General Public License +can be found in /usr/share/common-licenses/GPL-2. diff --git a/quake4.desktop b/quake4.desktop new file mode 100644 index 0000000..9f5080b --- /dev/null +++ b/quake4.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Version=1.0 +Name=Quake 4 +Exec=/usr/games/quake4 +Icon=quake4 +Terminal=false +Type=Application +Categories=Game;ActionGame; +Keywords=first person shooter;fps;3d; diff --git a/quake4.in b/quake4.in new file mode 100644 index 0000000..c8e2638 --- /dev/null +++ b/quake4.in @@ -0,0 +1,75 @@ +#!/bin/sh + +# quake4 or quake4-dedicated +self=@self@ +# client or server +role=@role@ +# quake4.x86, quake4smp.x86 or q4ded.x86 +binary=@binary@ + +pkglibdir="/usr/lib/quake4" + +help() { + cat <<EOF +Quake 4 ${role} wrapper for Debian + +Usage: ${self} [OPTION]... + + -h, --help\t\tDisplay this help +EOF + + if [ "$role" = client ] && [ -x "$pkglibdir/quake4smp.x86" ]; then + cat <<EOF + --smp\t\tUse the multi-threaded version of the client +EOF + fi + + cat <<EOF + +<internal command>\tPass commands to the engine +EOF +} + +while [ "$1" != "" ]; do + case "$1" in + -h|--help) + help + exit 0 + ;; + --smp) + if [ "$role" = client ] && [ -x "$pkglibdir/quake4smp.x86" ]; then + binary=quake4smp.x86 + fi + ;; + *) + break + ;; + esac + shift +done + +# sanity check: the engine doesn't cope well with missing data +for i in pak001 pak021 pak022 zpak_english; do + if [ -f $pkglibdir/q4base/$i.pk4 ]; then + : + else + if [ "$role" = client ]; then + $pkglibdir/need-data.sh "Quake 4" "$(cat $pkglibdir/README.quake4-data)" + else + echo "Quake 4 data missing, see /usr/share/doc/quake4-server/README.quake4-data" + fi + exit 72 # EX_OSFILE + fi +done + +# Quake 4 expects to run in its installation directory +cd "$pkglibdir" +# The SMP binary needs a modified bundled copy of SDL. +export LD_LIBRARY_PATH="${pkglibdir}${LD_LIBRARY_PATH:+":${LD_LIBRARY_PATH}"}" + +if test -n "$QUAKE4_BACKTRACE"; then + exec gdb -return-child-result -batch -ex run -ex 'thread apply all bt full' -ex kill -ex quit --args "${pkglibdir}/${binary}" "$@" +else + exec ${QUAKE4_DEBUGGER} "${pkglibdir}/${binary}" "$@" +fi + +# vim:set sw=2 sts=2 et: -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/game-data-packager.git _______________________________________________ Pkg-games-commits mailing list Pkg-games-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits