]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote-tracking branch 'origin/terencehill/less_spammy_prevent_join_msg'
authorRudolf Polzer <divverent@alientrap.org>
Tue, 13 Sep 2011 14:19:07 +0000 (16:19 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Tue, 13 Sep 2011 14:19:07 +0000 (16:19 +0200)
26 files changed:
Makefile
autoexec.cfg [new file with mode: 0644]
autoexec/empty.cfg [new file with mode: 0644]
config_update.cfg
csprogs.dat.de.po
csprogs.dat.pot
data/campaign.cfg [new file with mode: 0644]
defaultXonotic.cfg
menu.dat.de.po
menu.dat.pot
models/player/megaerebus.iqm_0.tga
qcsrc/Makefile [new file with mode: 0644]
qcsrc/client/autocvars.qh
qcsrc/client/hud.qc
qcsrc/client/scoreboard.qc
qcsrc/menu/xonotic/dialog_hudpanel_weapons.c
qcsrc/menu/xonotic/dialog_settings_input.c
qcsrc/menu/xonotic/util.qc
qcsrc/server/campaign.qc
qcsrc/server/cheats.qc
qcsrc/server/cl_client.qc
qcsrc/server/cl_physics.qc
qcsrc/server/clientcommands.qc
qcsrc/server/defs.qh
qcsrc/server/gamecommand.qc
qcsrc/server/miscfunctions.qc

index 53c5cf5b70d42fb993cfb065d6ba26de28d6c301..abd82b133fa159c61d145f8e4f1a037c2323eb7a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,15 +1,9 @@
 SCM := $(shell if [ -d .svn ]; then echo svn; elif [ -d ../.git ]; then echo git; fi)
-FTEQCC ?= fteqcc
 PERL ?= perl
 ZIP ?= 7za a -tzip -mx=9
 ZIPEXCLUDE ?= -x\!*.pk3 -xr\!\.svn -x\!qcsrc
 DIFF ?= diff
 
-FTEQCCFLAGS_WATERMARK ?= -DWATERMARK='"$(shell git describe)"' -DCVAR_POPCON
-FTEQCCFLAGS ?= -Werror -Wno-Q302 -O3 -Ono-c -Ono-cs $(FTEQCCFLAGS_EXTRA) $(FTEQCCFLAGS_WATERMARK)
-FTEQCCFLAGS_PROGS ?=
-FTEQCCFLAGS_MENU ?=
-
 # NOTE: use -DUSE_FTE instead of -TFTE here!
 # It will automagically add an engine check with -TID and then change back to -TFTE
 FTEQCCFLAGS_CSPROGS ?= 
@@ -26,36 +20,14 @@ update-cvarcount:
 
 .PHONY: qc
 qc: update-cvarcount
-       $(MAKE) qc-recursive
-
-.PHONY: qc-recursive
-qc-recursive: menu.dat progs.dat csprogs.dat
+       $(MAKE) -C qcsrc
 
 .PHONY: skin
 skin: gfx/menu/default/skinvalues.txt
 
 .PHONY: clean
 clean:
-       rm -f progs.dat menu.dat csprogs.dat
-
-FILES_CSPROGS = $(shell find qcsrc/client qcsrc/common qcsrc/warpzonelib -type f -not -name fteqcc.log -not -name qc.asm) qcsrc/server/w_*.qc
-csprogs.dat: $(FILES_CSPROGS)
-       @echo make[1]: Entering directory \`$(PWD)/qcsrc/client\'
-       cd qcsrc/client && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_CSPROGS)
-
-FILES_PROGS = $(shell find qcsrc/server qcsrc/common qcsrc/warpzonelib -type f -not -name fteqcc.log -not -name qc.asm) qcsrc/server/w_*.qc
-progs.dat: $(FILES_PROGS)
-       @echo make[1]: Entering directory \`$(PWD)/qcsrc/server\'
-       cd qcsrc/server && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_PROGS)
-
-FILES_MENU = $(shell find qcsrc/menu qcsrc/common qcsrc/warpzonelib -type f -not -name fteqcc.log -not -name qc.asm) qcsrc/server/w_*.qc
-menu.dat: $(FILES_MENU)
-       @echo make[1]: Entering directory \`$(PWD)/qcsrc/menu\'
-       cd qcsrc/menu && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_MENU)
+       $(MAKE) -C qcsrc clean
 
 gfx/menu/default/skinvalues.txt: qcsrc/menu/skin-customizables.inc
        $(PERL) qcsrc/menu/skin-customizables.inc > gfx/menu/default/skinvalues.txt
-
-.PHONY: testcase
-testcase:
-       cd qcsrc/testcase && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_CSPROGS) -DTESTCASE="$$TESTCASE"
diff --git a/autoexec.cfg b/autoexec.cfg
new file mode 100644 (file)
index 0000000..504904b
--- /dev/null
@@ -0,0 +1 @@
+// placeholder file, is replaced by autoexec.cfg in user home directory
diff --git a/autoexec/empty.cfg b/autoexec/empty.cfg
new file mode 100644 (file)
index 0000000..80d65ff
--- /dev/null
@@ -0,0 +1 @@
+// not so empty now
index f470875425711ad29ff89f9e2df2a3ad98594823..4197bb34f09336b0ec94136358478eea21aaf147 100644 (file)
@@ -13,9 +13,12 @@ alias _update_configversion_3 "cl_gunalign 3; menu_cl_gunalign 3; _update_config
 // place to put further updates
 alias _update_configversion_4 "snd_entchannel0volume 1; snd_entchannel1volume 1; snd_entchannel2volume 1; snd_entchannel3volume 1; snd_entchannel4volume 1; snd_entchannel5volume 1; snd_entchannel6volume 1; snd_entchannel7volume 1; snd_playerchannel0volume 1; snd_playerchannel1volume 1; snd_playerchannel2volume 1; snd_playerchannel3volume 1; snd_playerchannel4volume 1; snd_playerchannel5volume 1; snd_playerchannel6volume 1; snd_playerchannel7volume 1; snd_worldchannel0volume 1; snd_worldchannel1volume 1; snd_worldchannel2volume 1; snd_worldchannel3volume 1; snd_worldchannel4volume 1; snd_worldchannel5volume 1; snd_worldchannel6volume 1; snd_worldchannel7volume 1; snd_csqcchannel0volume 1; snd_csqcchannel1volume 1; snd_csqcchannel2volume 1; snd_csqcchannel3volume 1; snd_csqcchannel4volume 1; snd_csqcchannel5volume 1; snd_csqcchannel6volume 1; snd_csqcchannel7volume 1; _update_configversion_5"
 
+// fix for common broken config for unknown reason
+alias _update_configversion_5 "r_shadow_realtime_world_lightmaps 1; _update_configversion_6"
+
 // place to put further updates
-alias _update_configversion_5 ""
+alias _update_configversion_6 ""
 
 _update_configversion_$g_configversion
 
-set g_configversion 5
+set g_configversion 6
index c7bbe00a7752d5d7c4b336d0ab6a37769375959d..52a844f0b917c5232d80a1ccd44d9296dacd0ca9 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 0.1preview\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-09-02 07:51+0200\n"
+"POT-Creation-Date: 2011-09-12 12:24+0200\n"
 "PO-Revision-Date: 2011-04-20 10:46+0200\n"
 "Last-Translator: Rudolf Polzer <divVerent@xonotic.org>\n"
 "Language-Team: Rudolf Polzer <divVerent@xonotic.org>\n"
@@ -192,443 +192,443 @@ msgstr "Zwischenzeit %d"
 msgid "%s (%s %s)"
 msgstr "%s (%s %s)"
 
-#: qcsrc/client/hud.qc:735
+#: qcsrc/client/hud.qc:772
 msgid "Out of ammo"
 msgstr "Keine Munition mehr."
 
-#: qcsrc/client/hud.qc:739
+#: qcsrc/client/hud.qc:776
 msgid "Don't have"
 msgstr "nicht vorhanden"
 
-#: qcsrc/client/hud.qc:743
+#: qcsrc/client/hud.qc:780
 msgid "Unavailable"
 msgstr "nicht verfügbar"
 
-#: qcsrc/client/hud.qc:1483
+#: qcsrc/client/hud.qc:1520
 #, c-format
 msgid "^1%s^1 couldn't take it anymore\n"
 msgstr "^1%s^1 konnte es nicht mehr ertragen\n"
 
-#: qcsrc/client/hud.qc:1487 qcsrc/client/hud.qc:1791
+#: qcsrc/client/hud.qc:1524 qcsrc/client/hud.qc:1828
 #, c-format
 msgid "^1%s^1 died\n"
 msgstr "^1%s^1 ist gestorben\n"
 
-#: qcsrc/client/hud.qc:1491
+#: qcsrc/client/hud.qc:1528
 #, c-format
 msgid "^7%s^7 committed suicide. What's the point of living without ammo?\n"
 msgstr "^7%s^7 hat sich erhängt. Was ist schon ein Leben ohne Munition?\n"
 
-#: qcsrc/client/hud.qc:1495
+#: qcsrc/client/hud.qc:1532
 #, c-format
 msgid "^1%s^1 thought they found a nice camping ground\n"
 msgstr "^1%s^1 dachte, einen tollen Campingplatz gefunden zu haben\n"
 
-#: qcsrc/client/hud.qc:1499
+#: qcsrc/client/hud.qc:1536
 #, c-format
 msgid "^1%s^1 didn't become friends with the Lord of Teamplay\n"
 msgstr "^1%s^1 bekam Probleme mit dem Lord of Teamplay\n"
 
-#: qcsrc/client/hud.qc:1503
+#: qcsrc/client/hud.qc:1540
 #, c-format
 msgid "^1%s^1 unfairly eliminated themself\n"
 msgstr "^1%s^1 hat sich selbst auf unfaire Weise erledigt\n"
 
-#: qcsrc/client/hud.qc:1507
+#: qcsrc/client/hud.qc:1544
 #, c-format
 msgid "^1%s^1 burned to death\n"
 msgstr "^1%s^1 brannte zu Tode\n"
 
-#: qcsrc/client/hud.qc:1511
+#: qcsrc/client/hud.qc:1548
 #, c-format
 msgid "^1%s^1 couldn't resist the urge to self-destruct\n"
 msgstr ""
 "^1%s^1 konnte dem Drang zur Selbstzerstörung einfach nicht widerstehen\n"
 
-#: qcsrc/client/hud.qc:1515
+#: qcsrc/client/hud.qc:1552
 #, c-format
 msgid "^1%s^1 ended it all after a %d kill spree\n"
 msgstr "^1%s^1 machte seinem %d-Amoklauf ein Ende\n"
 
-#: qcsrc/client/hud.qc:1532
+#: qcsrc/client/hud.qc:1569
 #, c-format
 msgid "^1%s^1 took action against a team mate\n"
 msgstr "^1%s^1 ergriff Maßnahmen gegen einen Mitspieler\n"
 
-#: qcsrc/client/hud.qc:1534
+#: qcsrc/client/hud.qc:1571
 #, c-format
 msgid "^1%s^1 mows down a team mate\n"
 msgstr "^1%s^1 mähte einen Mitspieler nieder\n"
 
-#: qcsrc/client/hud.qc:1539
+#: qcsrc/client/hud.qc:1576
 #, c-format
 msgid "^1%s^1 ended a %d scoring spree by going against a team mate\n"
 msgstr ""
 "^1%s^1 dachte, %d Punkte hintereinander reichen, und trug dies an einem "
 "Mitspieler aus\n"
 
-#: qcsrc/client/hud.qc:1541
+#: qcsrc/client/hud.qc:1578
 #, c-format
 msgid "^1%s^1 ended a %d kill spree by killing a team mate\n"
 msgstr "^1%s^1 beendete seinen %d-Amoklauf, indem er einen Mitspieler tötete\n"
 
-#: qcsrc/client/hud.qc:1545
+#: qcsrc/client/hud.qc:1582
 #, c-format
 msgid "^1%s^1's %s scoring spree was ended by a team mate!\n"
 msgstr ""
 "^1%s^1s %s Punkte hintereinander wurden von einem Mitspieler gestört!\n"
 
-#: qcsrc/client/hud.qc:1547
+#: qcsrc/client/hud.qc:1584
 #, c-format
 msgid "^1%s^1's %s kill spree was ended by a team mate!\n"
 msgstr "^1%s^1s %s-Amoklauf wurde von einem Mitspieler beendet!\n"
 
-#: qcsrc/client/hud.qc:1551
+#: qcsrc/client/hud.qc:1588
 #, c-format
 msgid "^1%s^1 drew first blood\n"
 msgstr "^1%s^1 war der Erste\n"
 
-#: qcsrc/client/hud.qc:1555
+#: qcsrc/client/hud.qc:1592
 #, c-format
 msgid "^1%s^1 tried to occupy %s^1's teleport destination space\n"
 msgstr "^1%s^1 dachte, %s^1 am Teleportieren hindern zu können\n"
 
-#: qcsrc/client/hud.qc:1557
+#: qcsrc/client/hud.qc:1594
 #, c-format
 msgid "^1%s^1 was telefragged by %s\n"
 msgstr "^1%s^1 wurde von %s^1 telefragged\n"
 
-#: qcsrc/client/hud.qc:1562
+#: qcsrc/client/hud.qc:1599
 #, c-format
 msgid "^1%s^1 was drowned by %s\n"
 msgstr "^1%s^1 wurde von %s^1 etränkt\n"
 
-#: qcsrc/client/hud.qc:1567
+#: qcsrc/client/hud.qc:1604
 #, c-format
 msgid "^1%s^1 was slimed by %s\n"
 msgstr "^1%s^1 wurde von %s^1 im Schleim versenkt\n"
 
-#: qcsrc/client/hud.qc:1572
+#: qcsrc/client/hud.qc:1609
 #, c-format
 msgid "^1%s^1 was cooked by %s\n"
 msgstr "^1%s^1 wurde von %s^1 gebraten\n"
 
-#: qcsrc/client/hud.qc:1577
+#: qcsrc/client/hud.qc:1614
 #, c-format
 msgid "^1%s^1 was grounded by %s\n"
 msgstr "^1%s^1 wurde von %s^1 geerdet\n"
 
-#: qcsrc/client/hud.qc:1582
+#: qcsrc/client/hud.qc:1619
 #, c-format
 msgid "^1%s^1 was shot into space by %s\n"
 msgstr "^1%s^1 wurde von %s^1 ins All geschossen\n"
 
-#: qcsrc/client/hud.qc:1587
+#: qcsrc/client/hud.qc:1624
 #, c-format
 msgid "^1%s^1 was conserved by %s\n"
 msgstr "^1%s^1 wurde von %s^1 konserviert\n"
 
-#: qcsrc/client/hud.qc:1593
+#: qcsrc/client/hud.qc:1630
 #, c-format
 msgid "^1%s^1 was thrown into a world of hurt by %s\n"
 msgstr "^1%s^1 wurde von %s^1 in eine Welt des Schmerzes geworfen\n"
 
-#: qcsrc/client/hud.qc:1597
+#: qcsrc/client/hud.qc:1634
 #, c-format
 msgid "^1%s^1 was crushed by %s\n"
 msgstr "^1%s^1 wurde von %s^1 zerquetscht\n"
 
-#: qcsrc/client/hud.qc:1601
+#: qcsrc/client/hud.qc:1638
 #, c-format
 msgid "^1%s^1 got shredded by %s\n"
 msgstr "^1%s^1 wurde von %s^1 zerstückelt\n"
 
-#: qcsrc/client/hud.qc:1605
+#: qcsrc/client/hud.qc:1642
 #, c-format
 msgid "^1%s^1 was blasted to bits by %s\n"
 msgstr "^1%s^1 wurde von %s^1 in die Luft gejagt\n"
 
-#: qcsrc/client/hud.qc:1609
+#: qcsrc/client/hud.qc:1646
 #, c-format
 msgid "^1%s^1 got caught in the destruction of %s^1's vehicle\n"
 msgstr "^1%s^1 wurde von der Explosion von %s^1s Fahrzeug erwischt\n"
 
-#: qcsrc/client/hud.qc:1613
+#: qcsrc/client/hud.qc:1650
 #, c-format
 msgid "^1%s^1 was bolted down by %s\n"
 msgstr "^1%s^1 wurde von %s^1 niedergeschmettert\n"
 
-#: qcsrc/client/hud.qc:1617
+#: qcsrc/client/hud.qc:1654
 #, c-format
 msgid "^1%s^1 could find no shelter from %s^1's rockets\n"
 msgstr "^1%s^1 fand keine Deckung vor %s^1s Raketen\n"
 
-#: qcsrc/client/hud.qc:1621
+#: qcsrc/client/hud.qc:1658
 #, c-format
 msgid "^1%s^1 dies when %s^1's wakizashi dies.\n"
 msgstr "^1%s^1 starb zusammen mit %s^1's Wakizashi.\n"
 
-#: qcsrc/client/hud.qc:1625
+#: qcsrc/client/hud.qc:1662
 #, c-format
 msgid "^1%s^1 nailed to hell by %s\n"
 msgstr "^1%s^1 wurde von %s^1 in die Hölle geschossen\n"
 
-#: qcsrc/client/hud.qc:1629
+#: qcsrc/client/hud.qc:1666
 #, c-format
 msgid "^1%s^1 cluster crushed by %s\n"
 msgstr "^1%s^1 wurde von %s^1 total zerstört\n"
 
-#: qcsrc/client/hud.qc:1633
+#: qcsrc/client/hud.qc:1670
 #, c-format
 msgid "^1%s^1 dies when %s^1's raptor dies.\n"
 msgstr "^1%s^1 starb zusammen mit %s^1's Raptor.\n"
 
-#: qcsrc/client/hud.qc:1637
+#: qcsrc/client/hud.qc:1674
 #, c-format
 msgid "^1%s^1 was pushed into the line of fire by %s\n"
 msgstr "^1%s^1 wurde von %s^1 ins offene Feuer geschubst\n"
 
-#: qcsrc/client/hud.qc:1641
+#: qcsrc/client/hud.qc:1678
 #, c-format
 msgid "^1%s^1 was pushed into an accident by %s\n"
 msgstr "^1%s^1 wurde von %s^1 in einen unglücklichen Unfall geschubst\n"
 
-#: qcsrc/client/hud.qc:1645
+#: qcsrc/client/hud.qc:1682
 #, c-format
 msgid "^1%s^1 was unfairly eliminated by %s\n"
 msgstr "^1%s^1 wurde von %s auf unfaire Weise erledigt\n"
 
-#: qcsrc/client/hud.qc:1649
+#: qcsrc/client/hud.qc:1686
 #, c-format
 msgid "^1%s^1 was burnt to death by %s\n"
 msgstr "^1%s^1 wurde von %s verbrannt\n"
 
-#: qcsrc/client/hud.qc:1661
+#: qcsrc/client/hud.qc:1698
 #, c-format
 msgid "^1%s^1 was fragged by %s\n"
 msgstr "^1%s^1 wurde von %s^1 gefraggt\n"
 
-#: qcsrc/client/hud.qc:1666
+#: qcsrc/client/hud.qc:1703
 #, c-format
 msgid "^1%s^1's %s scoring spree was ended by %s\n"
 msgstr "^1%s^1's Punkte-Folge wurde von %s^1 beendet\n"
 
-#: qcsrc/client/hud.qc:1668
+#: qcsrc/client/hud.qc:1705
 #, c-format
 msgid "^1%s^1's %s kill spree was ended by %s\n"
 msgstr "^1%s^1's Kill-Spree wurde von %s^1 beendet\n"
 
-#: qcsrc/client/hud.qc:1671
+#: qcsrc/client/hud.qc:1708
 #, c-format
 msgid "^1%s^1 made %s scores in a row\n"
 msgstr "^1%s^1 machte %s Punkte hintereinander\n"
 
-#: qcsrc/client/hud.qc:1673
+#: qcsrc/client/hud.qc:1710
 #, c-format
 msgid "^1%s^1 has %s frags in a row\n"
 msgstr "^1%s^1 hat %s Frags hintereinander\n"
 
-#: qcsrc/client/hud.qc:1676
+#: qcsrc/client/hud.qc:1713
 #, c-format
 msgid "%s^7 made a ^1TRIPLE SCORE\n"
 msgstr "%s^7 hat einen ^1TRIPLE SCORE\n"
 
-#: qcsrc/client/hud.qc:1678
+#: qcsrc/client/hud.qc:1715
 #, c-format
 msgid "%s^7 made a ^1TRIPLE FRAG\n"
 msgstr "%s^7 hat einen ^1TRIPLE FRAG\n"
 
-#: qcsrc/client/hud.qc:1681
+#: qcsrc/client/hud.qc:1718
 #, c-format
 msgid "%s^7 unleashes ^1SCORING RAGE\n"
 msgstr "%s^7 hat ^1PUNKTE-RASEN\n"
 
-#: qcsrc/client/hud.qc:1683
+#: qcsrc/client/hud.qc:1720
 #, c-format
 msgid "%s^7 unleashes ^1RAGE\n"
 msgstr "%s^7 ^1RAST VOR ZORN\n"
 
-#: qcsrc/client/hud.qc:1686
+#: qcsrc/client/hud.qc:1723
 #, c-format
 msgid "%s^7 made ^1TEN SCORES IN A ROW!\n"
 msgstr "%s^7 hat ^1ZEHN PUNKTE HINTEREINANDER!\n"
 
-#: qcsrc/client/hud.qc:1688
+#: qcsrc/client/hud.qc:1725
 #, c-format
 msgid "%s^7 starts the ^1MASSACRE!\n"
 msgstr "%s^7 beginnt das ^1MASSAKER!\n"
 
-#: qcsrc/client/hud.qc:1691
+#: qcsrc/client/hud.qc:1728
 #, c-format
 msgid "%s^7 made ^1FIFTEEN SCORES IN A ROW!\n"
 msgstr "%s^7 hat ^1FÜNFZEHN PUNKTE HINTEREINANDER\n"
 
-#: qcsrc/client/hud.qc:1693
+#: qcsrc/client/hud.qc:1730
 #, c-format
 msgid "%s^7 executes ^1MAYHEM!\n"
 msgstr "%s^7 erzeugt das ^1CHAOS!\n"
 
-#: qcsrc/client/hud.qc:1696
+#: qcsrc/client/hud.qc:1733
 #, c-format
 msgid "%s^7 made ^1TWENTY SCORES IN A ROW!\n"
 msgstr "%s^7 hat ^1ZWANZIG PUNKTE HINTEREINANDER\n"
 
-#: qcsrc/client/hud.qc:1698
+#: qcsrc/client/hud.qc:1735
 #, c-format
 msgid "%s^7 is a ^1BERSERKER!\n"
 msgstr "%s^7 ist ein ^1BERSERKER!\n"
 
-#: qcsrc/client/hud.qc:1701
+#: qcsrc/client/hud.qc:1738
 #, c-format
 msgid "%s^7 made ^1TWENTY FIVE SCORES IN A ROW!\n"
 msgstr "%s^7 hat ^1FÜNFUNDZWANZIG PUNKTE HINTEREINANDER!\n"
 
-#: qcsrc/client/hud.qc:1703
+#: qcsrc/client/hud.qc:1740
 #, c-format
 msgid "%s^7 inflicts ^1CARNAGE!\n"
 msgstr "%s^7 hält ein ^1BLUTBAD!\n"
 
-#: qcsrc/client/hud.qc:1706
+#: qcsrc/client/hud.qc:1743
 #, c-format
 msgid "%s^7 made ^1THIRTY SCORES IN A ROW!\n"
 msgstr "%s^7 hat ^1DREISSIG PUNKTE HINTEREINANDER\n"
 
-#: qcsrc/client/hud.qc:1708
+#: qcsrc/client/hud.qc:1745
 #, c-format
 msgid "%s^7 unleashes ^1ARMAGEDDON!\n"
 msgstr "%s^7 lässt die ^1APOKALYPSE^7 los!\n"
 
-#: qcsrc/client/hud.qc:1716
+#: qcsrc/client/hud.qc:1753
 #, c-format
 msgid "^1%s^1 was in the water for too long\n"
 msgstr "^1%s^1 war zu lange im Wasser\n"
 
-#: qcsrc/client/hud.qc:1718
+#: qcsrc/client/hud.qc:1755
 #, c-format
 msgid "^1%s^1 drowned\n"
 msgstr "^1%s^1 ertrank\n"
 
-#: qcsrc/client/hud.qc:1723
+#: qcsrc/client/hud.qc:1760
 #, c-format
 msgid "^1%s^1 was slimed\n"
 msgstr "^1%s^1 wurde im Schleim versenkt\n"
 
-#: qcsrc/client/hud.qc:1729
+#: qcsrc/client/hud.qc:1766
 #, c-format
 msgid "^1%s^1 found a hot place\n"
 msgstr "^1%s^1 fand einen heißen Ort\n"
 
-#: qcsrc/client/hud.qc:1731
+#: qcsrc/client/hud.qc:1768
 #, c-format
 msgid "^1%s^1 turned into hot slag\n"
 msgstr "^1%s^1 verwandelte sich in heiße Schlacke\n"
 
-#: qcsrc/client/hud.qc:1738
+#: qcsrc/client/hud.qc:1775
 #, c-format
 msgid "^1%s^1 tested gravity (and it worked)\n"
 msgstr "^1%s^1 probierte die Gravitation aus (und sie funktionierte)\n"
 
-#: qcsrc/client/hud.qc:1740
+#: qcsrc/client/hud.qc:1777
 #, c-format
 msgid "^1%s^1 hit the ground with a crunch\n"
 msgstr "^1%s^1 landete mit einem Knall auf dem Boden\n"
 
-#: qcsrc/client/hud.qc:1745
+#: qcsrc/client/hud.qc:1782
 #, c-format
 msgid "^1%s^1 became a shooting star\n"
 msgstr "^1%s^1 wurde zu einer Sternschnuppe\n"
 
-#: qcsrc/client/hud.qc:1751
+#: qcsrc/client/hud.qc:1788
 #, c-format
 msgid "^1%s^1 discovered a swamp\n"
 msgstr "^1%s^1 entdeckte einen Sumpf\n"
 
-#: qcsrc/client/hud.qc:1753
+#: qcsrc/client/hud.qc:1790
 #, c-format
 msgid "^1%s^1 is now conserved for centuries to come\n"
 msgstr "^1%s^1 ist jetzt für Jahrhunderte konserviert\n"
 
-#: qcsrc/client/hud.qc:1758
+#: qcsrc/client/hud.qc:1795
 #, c-format
 msgid "^1%s^1 was mowed down by a turret \n"
 msgstr "^1%s^1 wurde von einem Turret niedergemäht\n"
 
-#: qcsrc/client/hud.qc:1770
+#: qcsrc/client/hud.qc:1807
 #, c-format
 msgid "^1%s^1 died in an accident\n"
 msgstr "^1%s^1 starb an einem Unfall\n"
 
-#: qcsrc/client/hud.qc:1774
+#: qcsrc/client/hud.qc:1811
 #, c-format
 msgid "^1%s^1 was unfairly eliminated\n"
 msgstr "^1%s^1 wurde auf unfaire Weise eliminiert\n"
 
-#: qcsrc/client/hud.qc:1780
+#: qcsrc/client/hud.qc:1817
 #, c-format
 msgid "^1%s^1 felt a little hot\n"
 msgstr "^1%s^1 fand es ein wenig zu warm\n"
 
-#: qcsrc/client/hud.qc:1782
+#: qcsrc/client/hud.qc:1819
 #, c-format
 msgid "^1%s^1 burnt to death\n"
 msgstr "^1%s^1 verbrannte\n"
 
-#: qcsrc/client/hud.qc:1789
+#: qcsrc/client/hud.qc:1826
 #, c-format
 msgid "^1%s^1 needs a restart\n"
 msgstr "^1%s^1 braucht einen Neustart\n"
 
-#: qcsrc/client/hud.qc:1796
+#: qcsrc/client/hud.qc:1833
 #, c-format
 msgid "^1%s^1 needs a restart after a %d scoring spree\n"
 msgstr "^1%s^1 braucht einen Neustart nach %d Punkten in Folge\n"
 
-#: qcsrc/client/hud.qc:1798
+#: qcsrc/client/hud.qc:1835
 #, c-format
 msgid "^1%s^1 died with a %d kill spree\n"
 msgstr "^1%s^1 starb mit einer %d-Kill-Spree\n"
 
-#: qcsrc/client/hud.qc:1802
+#: qcsrc/client/hud.qc:1839
 #, c-format
 msgid "%s^7 got the %s\n"
 msgstr "%s^7 bekam die %s\n"
 
-#: qcsrc/client/hud.qc:1805
+#: qcsrc/client/hud.qc:1842
 #, c-format
 msgid "%s^7 lost the %s\n"
 msgstr "%s^7 verlor die %s\n"
 
-#: qcsrc/client/hud.qc:1808
+#: qcsrc/client/hud.qc:1845
 #, c-format
 msgid "%s^7 picked up the %s\n"
 msgstr "%s^7 nahm sich die %s\n"
 
-#: qcsrc/client/hud.qc:1811
+#: qcsrc/client/hud.qc:1848
 #, c-format
 msgid "%s^7 returned the %s\n"
 msgstr "%s^7 brachte die %s^7 zurück\n"
 
-#: qcsrc/client/hud.qc:1814
+#: qcsrc/client/hud.qc:1851
 #, c-format
 msgid "%s^7 captured the %s%s\n"
 msgstr "%s^7 eroberte die %s%s\n"
 
-#: qcsrc/client/hud.qc:1833
+#: qcsrc/client/hud.qc:1870
 #, c-format
 msgid "%s^7 has picked up the ball!\n"
 msgstr "%s^7 hat den Ball genommen!\n"
 
-#: qcsrc/client/hud.qc:1838
+#: qcsrc/client/hud.qc:1875
 #, c-format
 msgid "%s^7 has dropped the ball!\n"
 msgstr "%s^7 hat den Ball verloren!\n"
 
-#: qcsrc/client/hud.qc:1849
+#: qcsrc/client/hud.qc:1886
 #, c-format
 msgid "You are now on: %s"
 msgstr "Du bist jetzt im: %s"
 
-#: qcsrc/client/hud.qc:1851
+#: qcsrc/client/hud.qc:1888
 #, c-format
 msgid ""
 "You have been moved into a different team to improve team balance\n"
@@ -637,312 +637,312 @@ msgstr ""
 "Du wurdest in ein anderes Team verschoben, um Team-Balance zu verbessern.\n"
 "Du bist jetzt im: %s"
 
-#: qcsrc/client/hud.qc:1854
+#: qcsrc/client/hud.qc:1891
 msgid "^1Reconsider your tactics, camper!"
 msgstr "^1Ändere dein Verhalten, Camper!"
 
-#: qcsrc/client/hud.qc:1856
+#: qcsrc/client/hud.qc:1893
 msgid "^1Die camper!"
 msgstr "^1Stirb, Camper!"
 
-#: qcsrc/client/hud.qc:1859
+#: qcsrc/client/hud.qc:1896
 msgid "^1You are reinserted into the game for running out of ammo..."
 msgstr ""
 "^1Du wurdest ins Spiel neu eingesetzt, weil dir die Munition ausging..."
 
-#: qcsrc/client/hud.qc:1861
+#: qcsrc/client/hud.qc:1898
 msgid "^1You were killed for running out of ammo..."
 msgstr "^1Du wurdest getötet, da dir die Munition ausging..."
 
-#: qcsrc/client/hud.qc:1864
+#: qcsrc/client/hud.qc:1901
 msgid "^1You need to preserve your health"
 msgstr "^1Du solltest deine Gesundheit erhalten"
 
-#: qcsrc/client/hud.qc:1866
+#: qcsrc/client/hud.qc:1903
 msgid "^1You grew too old without taking your medicine"
 msgstr "^1Du wurdest zu alt, und hast nicht deine Medizin genommen"
 
-#: qcsrc/client/hud.qc:1869
+#: qcsrc/client/hud.qc:1906
 msgid "^1Don't go against team mates!"
 msgstr "^1Ärgere deine Teamkollegen nicht!"
 
-#: qcsrc/client/hud.qc:1871
+#: qcsrc/client/hud.qc:1908
 msgid "^1Don't shoot your team mates!"
 msgstr "^1Schieße nicht auf deine Teamkollegen!"
 
-#: qcsrc/client/hud.qc:1876
+#: qcsrc/client/hud.qc:1913
 msgid "^1You need to be more careful!"
 msgstr "^1Sei vorsichtiger!"
 
-#: qcsrc/client/hud.qc:1878
+#: qcsrc/client/hud.qc:1915
 msgid "^1You killed your own dumb self!"
 msgstr "^1Du hast dich selbst umgebracht. Wie blöd."
 
-#: qcsrc/client/hud.qc:1883
+#: qcsrc/client/hud.qc:1920
 #, c-format
 msgid "^1Moron! You went against ^7%s^1, a team mate!"
 msgstr "^1Idiot! Du hast %s getroffen, also einen Teamkollegen von dir!"
 
-#: qcsrc/client/hud.qc:1885
+#: qcsrc/client/hud.qc:1922
 #, c-format
 msgid "^1Moron! You fragged ^7%s^1, a team mate!"
 msgstr "^1Idiot! Du hast %s getötet, also einen Teamkollegen von dir!"
 
-#: qcsrc/client/hud.qc:1889
+#: qcsrc/client/hud.qc:1926
 msgid "^1First score"
 msgstr "^1Erster Punkt"
 
-#: qcsrc/client/hud.qc:1891
+#: qcsrc/client/hud.qc:1928
 msgid "^1First blood"
 msgstr "^1Erstes Blut"
 
-#: qcsrc/client/hud.qc:1895
+#: qcsrc/client/hud.qc:1932
 msgid "^1First casualty"
 msgstr "^1Erster Kollateralschaden"
 
-#: qcsrc/client/hud.qc:1897
+#: qcsrc/client/hud.qc:1934
 msgid "^1First victim"
 msgstr "^1Erstes Opfer"
 
-#: qcsrc/client/hud.qc:1901
+#: qcsrc/client/hud.qc:1938
 #, c-format
 msgid "^1You scored against ^7%s^1 who was typing!"
 msgstr "^1Du hast gegen ^7%s^1 gepunktet, während er am Tippen war!"
 
-#: qcsrc/client/hud.qc:1903
+#: qcsrc/client/hud.qc:1940
 #, c-format
 msgid "^1You typefragged ^7%s"
 msgstr "^1Du hast ^7%s^1 beim Tippen erschossen"
 
-#: qcsrc/client/hud.qc:1907
+#: qcsrc/client/hud.qc:1944
 #, c-format
 msgid "^1You were scored against by ^7%s^1 while you were typing!"
 msgstr "^1Gegen dich hat ^7%s^1 gepunktet, während du am Tippen warst!"
 
-#: qcsrc/client/hud.qc:1909
+#: qcsrc/client/hud.qc:1946
 #, c-format
 msgid "^1You were typefragged by ^7%s"
 msgstr "^1Du wurdest von ^7%s^1 erschossen, während du am Tippen warst"
 
-#: qcsrc/client/hud.qc:1913
+#: qcsrc/client/hud.qc:1950
 #, c-format
 msgid "^4You scored against ^7%s"
 msgstr "^4Du hast gegen ^7%s^4 gepunktet"
 
-#: qcsrc/client/hud.qc:1915
+#: qcsrc/client/hud.qc:1952
 #, c-format
 msgid "^4You fragged ^7%s"
 msgstr "^4Du hast ^7%s^4 getötet"
 
-#: qcsrc/client/hud.qc:1919
+#: qcsrc/client/hud.qc:1956
 #, c-format
 msgid "^1You were scored against by ^7%s"
 msgstr "^1Gegen dich hat ^7%s^1 gepunktet"
 
-#: qcsrc/client/hud.qc:1921
+#: qcsrc/client/hud.qc:1958
 #, c-format
 msgid "^1You were fragged by ^7%s"
 msgstr "^1Du wurdest von ^7%s^1 getötet"
 
-#: qcsrc/client/hud.qc:1926
+#: qcsrc/client/hud.qc:1963
 msgid "^1Watch your step!"
 msgstr "^1Achte, wo du hintrittst!"
 
-#: qcsrc/client/hud.qc:1995 qcsrc/client/hud.qc:1996 qcsrc/client/hud.qc:2481
+#: qcsrc/client/hud.qc:2032 qcsrc/client/hud.qc:2033 qcsrc/client/hud.qc:2518
 #, c-format
 msgid "Player %d"
 msgstr "Spieler %d"
 
-#: qcsrc/client/hud.qc:2786
+#: qcsrc/client/hud.qc:2823
 msgid "^1Intermediate 1 (+15.42)"
 msgstr "^1Intermediate 1 (+15.42)"
 
-#: qcsrc/client/hud.qc:2788 qcsrc/client/hud.qc:2830 qcsrc/client/hud.qc:2871
+#: qcsrc/client/hud.qc:2825 qcsrc/client/hud.qc:2867 qcsrc/client/hud.qc:2908
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr "^1STRAFE: %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2873
+#: qcsrc/client/hud.qc:2910
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
 msgstr "^2STRAFE: %.1f (%s)"
 
-#: qcsrc/client/hud.qc:2901
+#: qcsrc/client/hud.qc:2938
 msgid "^1You must answer before entering hud configure mode\n"
 msgstr "^1Du musst antworten, bevore das HUD konfiguriert werden kann\n"
 
-#: qcsrc/client/hud.qc:2904
+#: qcsrc/client/hud.qc:2941
 msgid "^2Name ^7instead of \"^1Unregistered player^7\" in stats"
 msgstr "^2Name^7 statt \"^1Unregistered player^7\" in den Statistiken"
 
-#: qcsrc/client/hud.qc:2986
+#: qcsrc/client/hud.qc:3023
 msgid "A vote has been called for:"
 msgstr "Eine Abstimmung wurde initiiert für:"
 
-#: qcsrc/client/hud.qc:2988
+#: qcsrc/client/hud.qc:3025
 msgid "Allow servers to store and display your name?"
 msgstr "Erlaube Servern, deinen Namen zu speichern und später zu zeigen?"
 
-#: qcsrc/client/hud.qc:2992
+#: qcsrc/client/hud.qc:3029
 msgid "^1Configure the HUD"
 msgstr "^1Das HUD konfigurieren"
 
-#: qcsrc/client/hud.qc:2996
+#: qcsrc/client/hud.qc:3033
 #, c-format
 msgid "Yes (%s): %d"
 msgstr "Ja (%s): %d"
 
-#: qcsrc/client/hud.qc:2998
+#: qcsrc/client/hud.qc:3035
 #, c-format
 msgid "No (%s): %d"
 msgstr "Nein (%s): %d"
 
-#: qcsrc/client/hud.qc:3501 qcsrc/client/hud.qc:3504 qcsrc/client/hud.qc:3506
+#: qcsrc/client/hud.qc:3538 qcsrc/client/hud.qc:3541 qcsrc/client/hud.qc:3543
 msgid "Personal best"
 msgstr "Persönliche Bestzeit"
 
-#: qcsrc/client/hud.qc:3519 qcsrc/client/hud.qc:3522 qcsrc/client/hud.qc:3524
+#: qcsrc/client/hud.qc:3556 qcsrc/client/hud.qc:3559 qcsrc/client/hud.qc:3561
 msgid "Server best"
 msgstr "Server-Bestzeit"
 
-#: qcsrc/client/hud.qc:3868
+#: qcsrc/client/hud.qc:3905
 msgid "^3Player^7: This is the chat area."
 msgstr "^3Player^7: Das ist der Chat-Bereich."
 
-#: qcsrc/client/hud.qc:3936
+#: qcsrc/client/hud.qc:3973
 #, c-format
 msgid "FPS: %.*f"
 msgstr "FPS: %.*f"
 
-#: qcsrc/client/hud.qc:4003
+#: qcsrc/client/hud.qc:4040
 msgid "^1Observing"
 msgstr "^1Beobachten"
 
-#: qcsrc/client/hud.qc:4005
+#: qcsrc/client/hud.qc:4042
 #, c-format
 msgid "^1Spectating: ^7%s"
 msgstr "^1Zuschauen bei: ^7%s"
 
-#: qcsrc/client/hud.qc:4009
+#: qcsrc/client/hud.qc:4046
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
 msgstr "^1Drücke ^3%s^1, um bei jemandem zuzuschauen"
 
-#: qcsrc/client/hud.qc:4011
+#: qcsrc/client/hud.qc:4048
 #, c-format
 msgid "^1Press ^3%s^1 for another player"
 msgstr "^1Drücke ^3%s^1 für einen anderen Spieler"
 
-#: qcsrc/client/hud.qc:4015
+#: qcsrc/client/hud.qc:4052
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr "^1Benutze ^3%s^1 oder ^3%s^1 zum Ändern der Geschwindigkeit"
 
-#: qcsrc/client/hud.qc:4017
+#: qcsrc/client/hud.qc:4054
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr "^1Drücke ^3%s^1 zum Beobachten"
 
-#: qcsrc/client/hud.qc:4020
+#: qcsrc/client/hud.qc:4057
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
 msgstr "^1Drücke ^3%s^1 für Spielmodus-Info"
 
-#: qcsrc/client/hud.qc:4024
+#: qcsrc/client/hud.qc:4061
 msgid "^1Wait for your turn to join"
 msgstr "^1Warte, bis du dran bist"
 
-#: qcsrc/client/hud.qc:4030
+#: qcsrc/client/hud.qc:4067
 msgid "^1Match has already begun"
 msgstr "^1Das Match hat bereits begonnen"
 
-#: qcsrc/client/hud.qc:4032
+#: qcsrc/client/hud.qc:4069
 msgid "^1You have no more lives left"
 msgstr "^1Du hast keine Leben mehr übrig"
 
-#: qcsrc/client/hud.qc:4034 qcsrc/client/hud.qc:4037
+#: qcsrc/client/hud.qc:4071 qcsrc/client/hud.qc:4074
 #, c-format
 msgid "^1Press ^3%s^1 to join"
 msgstr "^1Drücke ^3%s^1 zum Mitspielen"
 
-#: qcsrc/client/hud.qc:4045
+#: qcsrc/client/hud.qc:4082
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
 msgstr "^1Das Spiel beginnt in ^3%d^1 Sekunden"
 
-#: qcsrc/client/hud.qc:4052
+#: qcsrc/client/hud.qc:4089
 msgid "^2Currently in ^1warmup^2 stage!"
 msgstr "^2Momentan in der ^1Aufwärmphase!"
 
-#: qcsrc/client/hud.qc:4067
+#: qcsrc/client/hud.qc:4104
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
 msgstr "%sDrücke ^3%s%s um die Aufwärmphase zu beenden"
 
-#: qcsrc/client/hud.qc:4069
+#: qcsrc/client/hud.qc:4106
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
 msgstr "%sDrücke ^3%s%s sobald du soweit bist"
 
-#: qcsrc/client/hud.qc:4074
+#: qcsrc/client/hud.qc:4111
 msgid "^2Waiting for others to ready up to end warmup..."
 msgstr "^2Warte, bis andere bereit sind, um die Aufwärmphase zu beenden"
 
-#: qcsrc/client/hud.qc:4076
+#: qcsrc/client/hud.qc:4113
 msgid "^2Waiting for others to ready up..."
 msgstr "^2Warte, bis andere bereit sind..."
 
-#: qcsrc/client/hud.qc:4082
+#: qcsrc/client/hud.qc:4119
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
 msgstr "^2Drücke ^3%s^2 um die Aufwärmphase zu beenden"
 
-#: qcsrc/client/hud.qc:4103
+#: qcsrc/client/hud.qc:4140
 msgid "Teamnumbers are unbalanced!"
 msgstr "Die Teams sind unbalanciert!"
 
-#: qcsrc/client/hud.qc:4108
+#: qcsrc/client/hud.qc:4145
 #, c-format
 msgid " Press ^3%s%s to adjust"
 msgstr "Drücke ^3%s%s um dies zu korrigieren"
 
-#: qcsrc/client/hud.qc:4116
+#: qcsrc/client/hud.qc:4153
 msgid "^7Press ^3ESC ^7to show HUD options."
 msgstr "^7Drücke ^3ESC^7 um die HUD-Optionen zu zeigen"
 
-#: qcsrc/client/hud.qc:4118
+#: qcsrc/client/hud.qc:4155
 msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr "^3Doppelklick^7 auf ein Panel für Panel-spezifische Optionen."
 
-#: qcsrc/client/hud.qc:4120
+#: qcsrc/client/hud.qc:4157
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr "^3CTRL^7 um Kollisionstests zu deaktivieren, ^3SHIFT^7 und"
 
-#: qcsrc/client/hud.qc:4122
+#: qcsrc/client/hud.qc:4159
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr "^3ALT^7 + ^3PFEILTASTEN^7 für Feinjustierungen"
 
-#: qcsrc/client/hud.qc:4160
+#: qcsrc/client/hud.qc:4197
 msgid " qu/s"
 msgstr "qu/s"
 
-#: qcsrc/client/hud.qc:4164
+#: qcsrc/client/hud.qc:4201
 msgid " m/s"
 msgstr "m/s"
 
-#: qcsrc/client/hud.qc:4168
+#: qcsrc/client/hud.qc:4205
 msgid " km/h"
 msgstr "km/h"
 
-#: qcsrc/client/hud.qc:4172
+#: qcsrc/client/hud.qc:4209
 msgid " mph"
 msgstr "mph"
 
-#: qcsrc/client/hud.qc:4176
+#: qcsrc/client/hud.qc:4213
 msgid " knots"
 msgstr "Knoten"
 
-#: qcsrc/client/hud.qc:4823
+#: qcsrc/client/hud.qc:4860
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr "Falsche Panel-Nummern in _hud_panelorder wurden automatisch behoben"
 
@@ -1180,8 +1180,8 @@ msgid "^2scoreboard_columns_set default\n"
 msgstr "^2scoreboard_columns_set default\n"
 
 #: qcsrc/client/scoreboard.qc:243
-msgid "^2scoreboard_columns_set ^7filed1 field2 ...\n"
-msgstr "^2scoreboard_columns_set ^7filed1 field2 ...\n"
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+msgstr "^2scoreboard_columns_set ^7field1 field2 ...\n"
 
 #: qcsrc/client/scoreboard.qc:244
 msgid "The following field names are recognized (case insensitive):\n"
@@ -1603,7 +1603,7 @@ msgstr "MinstaNex"
 
 #: qcsrc/client/waypointsprites.qc:301
 msgid "Hook"
-msgstr "Hook"
+msgstr "Enterhaken"
 
 #: qcsrc/client/waypointsprites.qc:302 qcsrc/server/w_fireball.qc:2
 msgid "Fireball"
@@ -1673,7 +1673,7 @@ msgstr "%s braucht Hilfe!"
 #: qcsrc/common/mapinfo.qc:1092
 #, c-format
 msgid "%s: %s"
-msgstr ""
+msgstr "%s: %s"
 
 #: qcsrc/server/w_crylink.qc:666
 #, c-format
@@ -1821,7 +1821,7 @@ msgstr "^1%s^1 wurde von %s^1 niedergehauen"
 
 #: qcsrc/server/w_hook.qc:2
 msgid "Grappling Hook"
-msgstr "Grappling Hook"
+msgstr "Enterhaken"
 
 #: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
index 5e4428f489d247b5d9a0ce70bd4bef531b9a01dd..cf220c0943f18b783127c3e30a537dd3f90ecf0a 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-09-02 07:51+0200\n"
+"POT-Creation-Date: 2011-09-12 12:24+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -173,750 +173,750 @@ msgstr ""
 msgid "%s (%s %s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:735
+#: qcsrc/client/hud.qc:772
 msgid "Out of ammo"
 msgstr ""
 
-#: qcsrc/client/hud.qc:739
+#: qcsrc/client/hud.qc:776
 msgid "Don't have"
 msgstr ""
 
-#: qcsrc/client/hud.qc:743
+#: qcsrc/client/hud.qc:780
 msgid "Unavailable"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1483
+#: qcsrc/client/hud.qc:1520
 #, c-format
 msgid "^1%s^1 couldn't take it anymore\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1487 qcsrc/client/hud.qc:1791
+#: qcsrc/client/hud.qc:1524 qcsrc/client/hud.qc:1828
 #, c-format
 msgid "^1%s^1 died\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1491
+#: qcsrc/client/hud.qc:1528
 #, c-format
 msgid "^7%s^7 committed suicide. What's the point of living without ammo?\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1495
+#: qcsrc/client/hud.qc:1532
 #, c-format
 msgid "^1%s^1 thought they found a nice camping ground\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1499
+#: qcsrc/client/hud.qc:1536
 #, c-format
 msgid "^1%s^1 didn't become friends with the Lord of Teamplay\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1503
+#: qcsrc/client/hud.qc:1540
 #, c-format
 msgid "^1%s^1 unfairly eliminated themself\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1507
+#: qcsrc/client/hud.qc:1544
 #, c-format
 msgid "^1%s^1 burned to death\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1511
+#: qcsrc/client/hud.qc:1548
 #, c-format
 msgid "^1%s^1 couldn't resist the urge to self-destruct\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1515
+#: qcsrc/client/hud.qc:1552
 #, c-format
 msgid "^1%s^1 ended it all after a %d kill spree\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1532
+#: qcsrc/client/hud.qc:1569
 #, c-format
 msgid "^1%s^1 took action against a team mate\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1534
+#: qcsrc/client/hud.qc:1571
 #, c-format
 msgid "^1%s^1 mows down a team mate\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1539
+#: qcsrc/client/hud.qc:1576
 #, c-format
 msgid "^1%s^1 ended a %d scoring spree by going against a team mate\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1541
+#: qcsrc/client/hud.qc:1578
 #, c-format
 msgid "^1%s^1 ended a %d kill spree by killing a team mate\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1545
+#: qcsrc/client/hud.qc:1582
 #, c-format
 msgid "^1%s^1's %s scoring spree was ended by a team mate!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1547
+#: qcsrc/client/hud.qc:1584
 #, c-format
 msgid "^1%s^1's %s kill spree was ended by a team mate!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1551
+#: qcsrc/client/hud.qc:1588
 #, c-format
 msgid "^1%s^1 drew first blood\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1555
+#: qcsrc/client/hud.qc:1592
 #, c-format
 msgid "^1%s^1 tried to occupy %s^1's teleport destination space\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1557
+#: qcsrc/client/hud.qc:1594
 #, c-format
 msgid "^1%s^1 was telefragged by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1562
+#: qcsrc/client/hud.qc:1599
 #, c-format
 msgid "^1%s^1 was drowned by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1567
+#: qcsrc/client/hud.qc:1604
 #, c-format
 msgid "^1%s^1 was slimed by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1572
+#: qcsrc/client/hud.qc:1609
 #, c-format
 msgid "^1%s^1 was cooked by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1577
+#: qcsrc/client/hud.qc:1614
 #, c-format
 msgid "^1%s^1 was grounded by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1582
+#: qcsrc/client/hud.qc:1619
 #, c-format
 msgid "^1%s^1 was shot into space by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1587
+#: qcsrc/client/hud.qc:1624
 #, c-format
 msgid "^1%s^1 was conserved by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1593
+#: qcsrc/client/hud.qc:1630
 #, c-format
 msgid "^1%s^1 was thrown into a world of hurt by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1597
+#: qcsrc/client/hud.qc:1634
 #, c-format
 msgid "^1%s^1 was crushed by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1601
+#: qcsrc/client/hud.qc:1638
 #, c-format
 msgid "^1%s^1 got shredded by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1605
+#: qcsrc/client/hud.qc:1642
 #, c-format
 msgid "^1%s^1 was blasted to bits by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1609
+#: qcsrc/client/hud.qc:1646
 #, c-format
 msgid "^1%s^1 got caught in the destruction of %s^1's vehicle\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1613
+#: qcsrc/client/hud.qc:1650
 #, c-format
 msgid "^1%s^1 was bolted down by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1617
+#: qcsrc/client/hud.qc:1654
 #, c-format
 msgid "^1%s^1 could find no shelter from %s^1's rockets\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1621
+#: qcsrc/client/hud.qc:1658
 #, c-format
 msgid "^1%s^1 dies when %s^1's wakizashi dies.\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1625
+#: qcsrc/client/hud.qc:1662
 #, c-format
 msgid "^1%s^1 nailed to hell by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1629
+#: qcsrc/client/hud.qc:1666
 #, c-format
 msgid "^1%s^1 cluster crushed by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1633
+#: qcsrc/client/hud.qc:1670
 #, c-format
 msgid "^1%s^1 dies when %s^1's raptor dies.\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1637
+#: qcsrc/client/hud.qc:1674
 #, c-format
 msgid "^1%s^1 was pushed into the line of fire by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1641
+#: qcsrc/client/hud.qc:1678
 #, c-format
 msgid "^1%s^1 was pushed into an accident by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1645
+#: qcsrc/client/hud.qc:1682
 #, c-format
 msgid "^1%s^1 was unfairly eliminated by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1649
+#: qcsrc/client/hud.qc:1686
 #, c-format
 msgid "^1%s^1 was burnt to death by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1661
+#: qcsrc/client/hud.qc:1698
 #, c-format
 msgid "^1%s^1 was fragged by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1666
+#: qcsrc/client/hud.qc:1703
 #, c-format
 msgid "^1%s^1's %s scoring spree was ended by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1668
+#: qcsrc/client/hud.qc:1705
 #, c-format
 msgid "^1%s^1's %s kill spree was ended by %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1671
+#: qcsrc/client/hud.qc:1708
 #, c-format
 msgid "^1%s^1 made %s scores in a row\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1673
+#: qcsrc/client/hud.qc:1710
 #, c-format
 msgid "^1%s^1 has %s frags in a row\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1676
+#: qcsrc/client/hud.qc:1713
 #, c-format
 msgid "%s^7 made a ^1TRIPLE SCORE\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1678
+#: qcsrc/client/hud.qc:1715
 #, c-format
 msgid "%s^7 made a ^1TRIPLE FRAG\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1681
+#: qcsrc/client/hud.qc:1718
 #, c-format
 msgid "%s^7 unleashes ^1SCORING RAGE\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1683
+#: qcsrc/client/hud.qc:1720
 #, c-format
 msgid "%s^7 unleashes ^1RAGE\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1686
+#: qcsrc/client/hud.qc:1723
 #, c-format
 msgid "%s^7 made ^1TEN SCORES IN A ROW!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1688
+#: qcsrc/client/hud.qc:1725
 #, c-format
 msgid "%s^7 starts the ^1MASSACRE!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1691
+#: qcsrc/client/hud.qc:1728
 #, c-format
 msgid "%s^7 made ^1FIFTEEN SCORES IN A ROW!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1693
+#: qcsrc/client/hud.qc:1730
 #, c-format
 msgid "%s^7 executes ^1MAYHEM!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1696
+#: qcsrc/client/hud.qc:1733
 #, c-format
 msgid "%s^7 made ^1TWENTY SCORES IN A ROW!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1698
+#: qcsrc/client/hud.qc:1735
 #, c-format
 msgid "%s^7 is a ^1BERSERKER!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1701
+#: qcsrc/client/hud.qc:1738
 #, c-format
 msgid "%s^7 made ^1TWENTY FIVE SCORES IN A ROW!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1703
+#: qcsrc/client/hud.qc:1740
 #, c-format
 msgid "%s^7 inflicts ^1CARNAGE!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1706
+#: qcsrc/client/hud.qc:1743
 #, c-format
 msgid "%s^7 made ^1THIRTY SCORES IN A ROW!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1708
+#: qcsrc/client/hud.qc:1745
 #, c-format
 msgid "%s^7 unleashes ^1ARMAGEDDON!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1716
+#: qcsrc/client/hud.qc:1753
 #, c-format
 msgid "^1%s^1 was in the water for too long\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1718
+#: qcsrc/client/hud.qc:1755
 #, c-format
 msgid "^1%s^1 drowned\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1723
+#: qcsrc/client/hud.qc:1760
 #, c-format
 msgid "^1%s^1 was slimed\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1729
+#: qcsrc/client/hud.qc:1766
 #, c-format
 msgid "^1%s^1 found a hot place\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1731
+#: qcsrc/client/hud.qc:1768
 #, c-format
 msgid "^1%s^1 turned into hot slag\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1738
+#: qcsrc/client/hud.qc:1775
 #, c-format
 msgid "^1%s^1 tested gravity (and it worked)\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1740
+#: qcsrc/client/hud.qc:1777
 #, c-format
 msgid "^1%s^1 hit the ground with a crunch\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1745
+#: qcsrc/client/hud.qc:1782
 #, c-format
 msgid "^1%s^1 became a shooting star\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1751
+#: qcsrc/client/hud.qc:1788
 #, c-format
 msgid "^1%s^1 discovered a swamp\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1753
+#: qcsrc/client/hud.qc:1790
 #, c-format
 msgid "^1%s^1 is now conserved for centuries to come\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1758
+#: qcsrc/client/hud.qc:1795
 #, c-format
 msgid "^1%s^1 was mowed down by a turret \n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1770
+#: qcsrc/client/hud.qc:1807
 #, c-format
 msgid "^1%s^1 died in an accident\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1774
+#: qcsrc/client/hud.qc:1811
 #, c-format
 msgid "^1%s^1 was unfairly eliminated\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1780
+#: qcsrc/client/hud.qc:1817
 #, c-format
 msgid "^1%s^1 felt a little hot\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1782
+#: qcsrc/client/hud.qc:1819
 #, c-format
 msgid "^1%s^1 burnt to death\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1789
+#: qcsrc/client/hud.qc:1826
 #, c-format
 msgid "^1%s^1 needs a restart\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1796
+#: qcsrc/client/hud.qc:1833
 #, c-format
 msgid "^1%s^1 needs a restart after a %d scoring spree\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1798
+#: qcsrc/client/hud.qc:1835
 #, c-format
 msgid "^1%s^1 died with a %d kill spree\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1802
+#: qcsrc/client/hud.qc:1839
 #, c-format
 msgid "%s^7 got the %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1805
+#: qcsrc/client/hud.qc:1842
 #, c-format
 msgid "%s^7 lost the %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1808
+#: qcsrc/client/hud.qc:1845
 #, c-format
 msgid "%s^7 picked up the %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1811
+#: qcsrc/client/hud.qc:1848
 #, c-format
 msgid "%s^7 returned the %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1814
+#: qcsrc/client/hud.qc:1851
 #, c-format
 msgid "%s^7 captured the %s%s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1833
+#: qcsrc/client/hud.qc:1870
 #, c-format
 msgid "%s^7 has picked up the ball!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1838
+#: qcsrc/client/hud.qc:1875
 #, c-format
 msgid "%s^7 has dropped the ball!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1849
+#: qcsrc/client/hud.qc:1886
 #, c-format
 msgid "You are now on: %s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1851
+#: qcsrc/client/hud.qc:1888
 #, c-format
 msgid ""
 "You have been moved into a different team to improve team balance\n"
 "You are now on: %s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1854
+#: qcsrc/client/hud.qc:1891
 msgid "^1Reconsider your tactics, camper!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1856
+#: qcsrc/client/hud.qc:1893
 msgid "^1Die camper!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1859
+#: qcsrc/client/hud.qc:1896
 msgid "^1You are reinserted into the game for running out of ammo..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:1861
+#: qcsrc/client/hud.qc:1898
 msgid "^1You were killed for running out of ammo..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:1864
+#: qcsrc/client/hud.qc:1901
 msgid "^1You need to preserve your health"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1866
+#: qcsrc/client/hud.qc:1903
 msgid "^1You grew too old without taking your medicine"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1869
+#: qcsrc/client/hud.qc:1906
 msgid "^1Don't go against team mates!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1871
+#: qcsrc/client/hud.qc:1908
 msgid "^1Don't shoot your team mates!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1876
+#: qcsrc/client/hud.qc:1913
 msgid "^1You need to be more careful!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1878
+#: qcsrc/client/hud.qc:1915
 msgid "^1You killed your own dumb self!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1883
+#: qcsrc/client/hud.qc:1920
 #, c-format
 msgid "^1Moron! You went against ^7%s^1, a team mate!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1885
+#: qcsrc/client/hud.qc:1922
 #, c-format
 msgid "^1Moron! You fragged ^7%s^1, a team mate!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1889
+#: qcsrc/client/hud.qc:1926
 msgid "^1First score"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1891
+#: qcsrc/client/hud.qc:1928
 msgid "^1First blood"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1895
+#: qcsrc/client/hud.qc:1932
 msgid "^1First casualty"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1897
+#: qcsrc/client/hud.qc:1934
 msgid "^1First victim"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1901
+#: qcsrc/client/hud.qc:1938
 #, c-format
 msgid "^1You scored against ^7%s^1 who was typing!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1903
+#: qcsrc/client/hud.qc:1940
 #, c-format
 msgid "^1You typefragged ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1907
+#: qcsrc/client/hud.qc:1944
 #, c-format
 msgid "^1You were scored against by ^7%s^1 while you were typing!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1909
+#: qcsrc/client/hud.qc:1946
 #, c-format
 msgid "^1You were typefragged by ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1913
+#: qcsrc/client/hud.qc:1950
 #, c-format
 msgid "^4You scored against ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1915
+#: qcsrc/client/hud.qc:1952
 #, c-format
 msgid "^4You fragged ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1919
+#: qcsrc/client/hud.qc:1956
 #, c-format
 msgid "^1You were scored against by ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1921
+#: qcsrc/client/hud.qc:1958
 #, c-format
 msgid "^1You were fragged by ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1926
+#: qcsrc/client/hud.qc:1963
 msgid "^1Watch your step!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1995 qcsrc/client/hud.qc:1996 qcsrc/client/hud.qc:2481
+#: qcsrc/client/hud.qc:2032 qcsrc/client/hud.qc:2033 qcsrc/client/hud.qc:2518
 #, c-format
 msgid "Player %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2786
+#: qcsrc/client/hud.qc:2823
 msgid "^1Intermediate 1 (+15.42)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2788 qcsrc/client/hud.qc:2830 qcsrc/client/hud.qc:2871
+#: qcsrc/client/hud.qc:2825 qcsrc/client/hud.qc:2867 qcsrc/client/hud.qc:2908
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2873
+#: qcsrc/client/hud.qc:2910
 #, c-format
 msgid "^2PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2901
+#: qcsrc/client/hud.qc:2938
 msgid "^1You must answer before entering hud configure mode\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2904
+#: qcsrc/client/hud.qc:2941
 msgid "^2Name ^7instead of \"^1Unregistered player^7\" in stats"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2986
+#: qcsrc/client/hud.qc:3023
 msgid "A vote has been called for:"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2988
+#: qcsrc/client/hud.qc:3025
 msgid "Allow servers to store and display your name?"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2992
+#: qcsrc/client/hud.qc:3029
 msgid "^1Configure the HUD"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2996
+#: qcsrc/client/hud.qc:3033
 #, c-format
 msgid "Yes (%s): %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2998
+#: qcsrc/client/hud.qc:3035
 #, c-format
 msgid "No (%s): %d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3501 qcsrc/client/hud.qc:3504 qcsrc/client/hud.qc:3506
+#: qcsrc/client/hud.qc:3538 qcsrc/client/hud.qc:3541 qcsrc/client/hud.qc:3543
 msgid "Personal best"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3519 qcsrc/client/hud.qc:3522 qcsrc/client/hud.qc:3524
+#: qcsrc/client/hud.qc:3556 qcsrc/client/hud.qc:3559 qcsrc/client/hud.qc:3561
 msgid "Server best"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3868
+#: qcsrc/client/hud.qc:3905
 msgid "^3Player^7: This is the chat area."
 msgstr ""
 
-#: qcsrc/client/hud.qc:3936
+#: qcsrc/client/hud.qc:3973
 #, c-format
 msgid "FPS: %.*f"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4003
+#: qcsrc/client/hud.qc:4040
 msgid "^1Observing"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4005
+#: qcsrc/client/hud.qc:4042
 #, c-format
 msgid "^1Spectating: ^7%s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4009
+#: qcsrc/client/hud.qc:4046
 #, c-format
 msgid "^1Press ^3%s^1 to spectate"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4011
+#: qcsrc/client/hud.qc:4048
 #, c-format
 msgid "^1Press ^3%s^1 for another player"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4015
+#: qcsrc/client/hud.qc:4052
 #, c-format
 msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4017
+#: qcsrc/client/hud.qc:4054
 #, c-format
 msgid "^1Press ^3%s^1 to observe"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4020
+#: qcsrc/client/hud.qc:4057
 #, c-format
 msgid "^1Press ^3%s^1 for gamemode info"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4024
+#: qcsrc/client/hud.qc:4061
 msgid "^1Wait for your turn to join"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4030
+#: qcsrc/client/hud.qc:4067
 msgid "^1Match has already begun"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4032
+#: qcsrc/client/hud.qc:4069
 msgid "^1You have no more lives left"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4034 qcsrc/client/hud.qc:4037
+#: qcsrc/client/hud.qc:4071 qcsrc/client/hud.qc:4074
 #, c-format
 msgid "^1Press ^3%s^1 to join"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4045
+#: qcsrc/client/hud.qc:4082
 #, c-format
 msgid "^1Game starts in ^3%d^1 seconds"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4052
+#: qcsrc/client/hud.qc:4089
 msgid "^2Currently in ^1warmup^2 stage!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4067
+#: qcsrc/client/hud.qc:4104
 #, c-format
 msgid "%sPress ^3%s%s to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4069
+#: qcsrc/client/hud.qc:4106
 #, c-format
 msgid "%sPress ^3%s%s once you are ready"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4074
+#: qcsrc/client/hud.qc:4111
 msgid "^2Waiting for others to ready up to end warmup..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:4076
+#: qcsrc/client/hud.qc:4113
 msgid "^2Waiting for others to ready up..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:4082
+#: qcsrc/client/hud.qc:4119
 #, c-format
 msgid "^2Press ^3%s^2 to end warmup"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4103
+#: qcsrc/client/hud.qc:4140
 msgid "Teamnumbers are unbalanced!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4108
+#: qcsrc/client/hud.qc:4145
 #, c-format
 msgid " Press ^3%s%s to adjust"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4116
+#: qcsrc/client/hud.qc:4153
 msgid "^7Press ^3ESC ^7to show HUD options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:4118
+#: qcsrc/client/hud.qc:4155
 msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr ""
 
-#: qcsrc/client/hud.qc:4120
+#: qcsrc/client/hud.qc:4157
 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4122
+#: qcsrc/client/hud.qc:4159
 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr ""
 
-#: qcsrc/client/hud.qc:4160
+#: qcsrc/client/hud.qc:4197
 msgid " qu/s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4164
+#: qcsrc/client/hud.qc:4201
 msgid " m/s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4168
+#: qcsrc/client/hud.qc:4205
 msgid " km/h"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4172
+#: qcsrc/client/hud.qc:4209
 msgid " mph"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4176
+#: qcsrc/client/hud.qc:4213
 msgid " knots"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4823
+#: qcsrc/client/hud.qc:4860
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
 msgstr ""
 
@@ -1278,7 +1278,7 @@ msgid "^2scoreboard_columns_set default\n"
 msgstr ""
 
 #: qcsrc/client/scoreboard.qc:243
-msgid "^2scoreboard_columns_set ^7filed1 field2 ...\n"
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
 msgstr ""
 
 #: qcsrc/client/scoreboard.qc:244
diff --git a/data/campaign.cfg b/data/campaign.cfg
new file mode 100644 (file)
index 0000000..c8a6efb
--- /dev/null
@@ -0,0 +1 @@
+// placeholder file, is replaced by data/campaign.cfg in user home directory
index 29bf1e0b7c2c6bdfdd1538543d409f869f14f23a..759a512e7974b87b91ccdc678dcaefbf4f409dd4 100644 (file)
@@ -381,8 +381,6 @@ set sv_player_crouch_viewoffset "0 0 20" "view offset of the player model when c
 set sv_player_crouch_mins "-16 -16 -24" "mins of a crouched playermodel"
 set sv_player_crouch_maxs "16 16 25" "maxs of a crouched playermodel"
 
-set sv_pogostick 1 "don't require releasing the space bar for jumping again"
-set cl_nopogostick 0 "when set on a client, server's setting of sv_pogostick is ignored (hint: when enabled, try both cl_movement_track_canjump modes)"
 set sv_doublejump 0 "allow Quake 2-style double jumps"
 set sv_jumpspeedcap_min "" "lower bound on the baseline velocity of a jump; final velocity will be >= (jumpheight * min + jumpheight)"
 set sv_jumpspeedcap_max "" "upper bound on the baseline velocity of a jump; final velocity will be <= (jumpheight * max + jumpheight)"
@@ -1188,6 +1186,7 @@ set g_campaign 0
 set g_campaign_forceteam 0 "Forces the player to a given team in campaign mode, 1 = red, 2 = blue, 3 = yellow, 4 = pink"
 seta g_campaign_name "xonoticbeta"
 set g_campaign_skill 0
+alias warp "sv_cmd warp $*"
 
 alias singleplayer_start "g_campaign_index 0; set scmenu_campaign_goto 0"
 alias singleplayer_continue "set scmenu_campaign_goto -1"
@@ -1447,6 +1446,7 @@ seta hud_panel_weapons_ammo_full_nails 200 "show 100% of the status bar at this
 seta hud_panel_weapons_ammo_full_cells 80 "show 100% of the status bar at this ammo count"
 seta hud_panel_weapons_ammo_full_rockets 80 "show 100% of the status bar at this ammo count"
 seta hud_panel_weapons_ammo_full_fuel 100 "show 100% of the status bar at this ammo count"
+seta hud_panel_weapons_onlyowned 1 "show only owned weapons"
 
 seta hud_panel_ammo_maxammo "40" "when you have this much ammo, the ammo status bar is full"
 
index d32971d16003712b92cd33b2d6d4d15f1478e2b9..09051a381ce47d56bb53426ef3aef704c4a29ac4 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 0.1preview\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-09-02 07:51+0200\n"
+"POT-Creation-Date: 2011-09-12 12:24+0200\n"
 "PO-Revision-Date: 2011-04-20 10:46+0200\n"
 "Last-Translator: Rudolf Polzer <divVerent@xonotic.org>\n"
 "Language-Team: Rudolf Polzer <divVerent@xonotic.org>\n"
@@ -79,7 +79,7 @@ msgid "^4MQC Build information: ^1%s\n"
 msgstr "^4MQC Build-Information: ^1%s (deutsch)\n"
 
 #: qcsrc/menu/xonotic/campaign.c:284
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:134
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:123
 msgid "???"
 msgstr "???"
 
@@ -464,7 +464,7 @@ msgstr "Radar:"
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:43
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:82
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:154
-#: qcsrc/menu/xonotic/util.qc:600
+#: qcsrc/menu/xonotic/util.qc:612
 msgid "Alpha:"
 msgstr "Alpha:"
 
@@ -603,34 +603,38 @@ msgid "Weapon icons:"
 msgstr "Waffensymbole:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45
+msgid "Show only owned weapons"
+msgstr "Nur vorhandene Waffen zeigen"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48
 msgid "Show weapon ID as:"
 msgstr "Waffen-ID zeigen als:"
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
 msgid "SHOWAS^None"
 msgstr "nichts"
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:47
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
 msgid "Number"
 msgstr "Zahl"
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
 msgid "Bind"
 msgstr "Taste"
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:54
 msgid "Show Accuracy"
 msgstr "Trefferquote zeigen"
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
 msgid "Show Ammo"
 msgstr "Munition zeigen"
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:58
 msgid "Ammo bar color:"
 msgstr "Muntionsleistenfarbe:"
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:61
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:64
 msgid "Ammo bar alpha:"
 msgstr "Munitionsleistenalpha:"
 
@@ -642,24 +646,24 @@ msgstr "HUD-Konfiguration"
 msgid "Panel background defaults:"
 msgstr "Panel-Standardhintergrund:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23 qcsrc/menu/xonotic/util.qc:575
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23 qcsrc/menu/xonotic/util.qc:587
 msgid "Background:"
 msgstr "Hintergrund:"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:25
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:37
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:52
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:91 qcsrc/menu/xonotic/util.qc:578
-#: qcsrc/menu/xonotic/util.qc:594 qcsrc/menu/xonotic/util.qc:611
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:91 qcsrc/menu/xonotic/util.qc:590
+#: qcsrc/menu/xonotic/util.qc:606 qcsrc/menu/xonotic/util.qc:623
 msgid "Disable"
 msgstr "Aus"
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:30
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 qcsrc/menu/xonotic/util.qc:583
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 qcsrc/menu/xonotic/util.qc:595
 msgid "Color:"
 msgstr "Farbe:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 qcsrc/menu/xonotic/util.qc:591
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 qcsrc/menu/xonotic/util.qc:603
 msgid "Border size:"
 msgstr "Rahmengröße:"
 
@@ -668,11 +672,11 @@ msgstr "Rahmengröße:"
 msgid "Team color:"
 msgstr "Teamfarbe:"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 qcsrc/menu/xonotic/util.qc:617
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 qcsrc/menu/xonotic/util.qc:629
 msgid "Test team color in configure mode"
 msgstr "Teamfarbe bei Konfiguration testen"
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 qcsrc/menu/xonotic/util.qc:620
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 qcsrc/menu/xonotic/util.qc:632
 msgid "Padding:"
 msgstr "Abstand:"
 
@@ -1415,6 +1419,7 @@ msgstr "Schadenseffekt:"
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:195
 #: qcsrc/menu/xonotic/dialog_settings_audio.c:173
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:194
+#: qcsrc/menu/xonotic/dialog_settings_input.c:74
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:30
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:41
 #: qcsrc/menu/xonotic/dialog_settings_video.c:109
@@ -2018,6 +2023,10 @@ msgstr "Mausbeschleunigung deaktivieren"
 msgid "\"enter console\" also closes"
 msgstr "\"Konsole öffnen\" schließt auch"
 
+#: qcsrc/menu/xonotic/dialog_settings_input.c:72
+msgid "Holding jump key keeps jumping"
+msgstr "Festhalten der Springen-Taste springt weiter"
+
 #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
 msgid "User defined key bind"
 msgstr "Benutzerdefinierte Tastenbelegung"
@@ -2270,11 +2279,11 @@ msgstr "Lichtstärke:"
 msgid "Singleplayer"
 msgstr "Einzelspieler"
 
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:127
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:116
 msgid "Instant action! (random map with bots)"
 msgstr "Sofortstart! (zufällige Map mit Bots)"
 
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:148
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:137
 msgid "Start Singleplayer!"
 msgstr "Spiel starten!"
 
@@ -2391,25 +2400,25 @@ msgstr "%s dB"
 msgid "%dx%d"
 msgstr "%dx%d"
 
-#: qcsrc/menu/xonotic/util.qc:270
+#: qcsrc/menu/xonotic/util.qc:271
 #, c-format
 msgid "Received HTTP request data for an invalid id %d.\n"
 msgstr "HTTP-Antwort für ungültige ID %d erhalten.\n"
 
-#: qcsrc/menu/xonotic/util.qc:285
+#: qcsrc/menu/xonotic/util.qc:286
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr "Fehler beim Empfang von Update-Information (Status: %d)\n"
 
-#: qcsrc/menu/xonotic/util.qc:290
+#: qcsrc/menu/xonotic/util.qc:291
 msgid "error: received HTML instead of an update notification\n"
 msgstr "Fehler: HTML statt Update-Information erhalten\n"
 
-#: qcsrc/menu/xonotic/util.qc:295
+#: qcsrc/menu/xonotic/util.qc:296
 msgid "error: received carriage returns from update notification server\n"
 msgstr "Fehler: Carriage-Returns in Update-Information enthalten\n"
 
-#: qcsrc/menu/xonotic/util.qc:316
+#: qcsrc/menu/xonotic/util.qc:317
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
@@ -2419,21 +2428,21 @@ msgstr ""
 "%s\n"
 "heruntergeladen werden.\n"
 
-#: qcsrc/menu/xonotic/util.qc:337
+#: qcsrc/menu/xonotic/util.qc:340
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr "Automatische Generierung von mapinfo-Dateien..."
 
-#: qcsrc/menu/xonotic/util.qc:367
+#: qcsrc/menu/xonotic/util.qc:370
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr "^1%s TESTVERSION"
 
-#: qcsrc/menu/xonotic/util.qc:432
+#: qcsrc/menu/xonotic/util.qc:428
 #, c-format
 msgid "Update to %s now!"
 msgstr "Jetzt auf %s updaten!"
 
-#: qcsrc/menu/xonotic/util.qc:501
+#: qcsrc/menu/xonotic/util.qc:513
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
@@ -2441,86 +2450,86 @@ msgstr ""
 "^1FEHLER: Texturekompression ist notwendig aber nicht unterstützt.\n"
 "^1Darstellungsprobleme sind zu erwarten.\n"
 
-#: qcsrc/menu/xonotic/util.qc:523
+#: qcsrc/menu/xonotic/util.qc:535
 msgid "Arena"
 msgstr "Arena"
 
-#: qcsrc/menu/xonotic/util.qc:524
+#: qcsrc/menu/xonotic/util.qc:536
 msgid "Assault"
 msgstr "Assault"
 
-#: qcsrc/menu/xonotic/util.qc:525
+#: qcsrc/menu/xonotic/util.qc:537
 msgid "Capture The Flag"
 msgstr "Capture The Flag"
 
-#: qcsrc/menu/xonotic/util.qc:526
+#: qcsrc/menu/xonotic/util.qc:538
 msgid "Clan Arena"
 msgstr "Clan Arena"
 
-#: qcsrc/menu/xonotic/util.qc:527
+#: qcsrc/menu/xonotic/util.qc:539
 msgid "Deathmatch"
 msgstr "Deathmatch"
 
-#: qcsrc/menu/xonotic/util.qc:528
+#: qcsrc/menu/xonotic/util.qc:540
 msgid "Domination"
 msgstr "Domination"
 
-#: qcsrc/menu/xonotic/util.qc:529
+#: qcsrc/menu/xonotic/util.qc:541
 msgid "Freeze Tag"
 msgstr "Freeze Tag"
 
-#: qcsrc/menu/xonotic/util.qc:530
+#: qcsrc/menu/xonotic/util.qc:542
 msgid "Keepaway"
 msgstr "Keepaway"
 
-#: qcsrc/menu/xonotic/util.qc:531
+#: qcsrc/menu/xonotic/util.qc:543
 msgid "Key Hunt"
 msgstr "Key Hunt"
 
-#: qcsrc/menu/xonotic/util.qc:532
+#: qcsrc/menu/xonotic/util.qc:544
 msgid "Last Man Standing"
 msgstr "Last Man Standing"
 
-#: qcsrc/menu/xonotic/util.qc:533
+#: qcsrc/menu/xonotic/util.qc:545
 msgid "Nexball"
 msgstr "Nexball"
 
-#: qcsrc/menu/xonotic/util.qc:534
+#: qcsrc/menu/xonotic/util.qc:546
 msgid "Onslaught"
 msgstr "Onslaught"
 
-#: qcsrc/menu/xonotic/util.qc:535
+#: qcsrc/menu/xonotic/util.qc:547
 msgid "Race"
 msgstr "Race"
 
-#: qcsrc/menu/xonotic/util.qc:536
+#: qcsrc/menu/xonotic/util.qc:548
 msgid "Race CTS"
 msgstr "Race CTS"
 
-#: qcsrc/menu/xonotic/util.qc:537
+#: qcsrc/menu/xonotic/util.qc:549
 msgid "Runematch"
 msgstr "Runematch"
 
-#: qcsrc/menu/xonotic/util.qc:538
+#: qcsrc/menu/xonotic/util.qc:550
 msgid "Team Deathmatch"
 msgstr "Team Deathmatch"
 
-#: qcsrc/menu/xonotic/util.qc:557
+#: qcsrc/menu/xonotic/util.qc:569
 #, c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr "@!#%'n Tuba-Werfen"
 
-#: qcsrc/menu/xonotic/util.qc:577 qcsrc/menu/xonotic/util.qc:593
-#: qcsrc/menu/xonotic/util.qc:602 qcsrc/menu/xonotic/util.qc:610
-#: qcsrc/menu/xonotic/util.qc:622
+#: qcsrc/menu/xonotic/util.qc:589 qcsrc/menu/xonotic/util.qc:605
+#: qcsrc/menu/xonotic/util.qc:614 qcsrc/menu/xonotic/util.qc:622
+#: qcsrc/menu/xonotic/util.qc:634
 msgid "Default"
 msgstr "Standard"
 
-#: qcsrc/menu/xonotic/util.qc:588
+#: qcsrc/menu/xonotic/util.qc:600
 msgid "Use default"
 msgstr "Standard verwenden"
 
-#: qcsrc/menu/xonotic/util.qc:608
+#: qcsrc/menu/xonotic/util.qc:620
 msgid "Team Color:"
 msgstr "Teamfarbe:"
 
@@ -2694,7 +2703,7 @@ msgstr "^1%s^1 wurde von %s^1 niedergehauen"
 
 #: qcsrc/server/w_hook.qc:2
 msgid "Grappling Hook"
-msgstr "Grappling Hook"
+msgstr "Enterhaken"
 
 #: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
@@ -2885,8 +2894,8 @@ msgstr "Machine Gun"
 msgid "%s was riddled full of holes by %s"
 msgstr "%s ist von %s durchlöchert worden wie ein Schweizer Käse"
 
-#~ msgid "Powerup sharpen"
-#~ msgstr "Bonus-Schärfe"
-
 #~ msgid "Damage & water blur"
 #~ msgstr "Schadens-Unschärfe"
+
+#~ msgid "Powerup sharpen"
+#~ msgstr "Bonus-Schärfe"
index ea85c33f59b81ea0454ff4f1e823f52a50992a8b..a64c1ac323a1a200c6ee50e0cc4aac9e31cc45e7 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-09-02 07:51+0200\n"
+"POT-Creation-Date: 2011-09-12 12:24+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -212,6 +212,7 @@ msgid "Intensity:"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_settings_video.c:109
+#: qcsrc/menu/xonotic/dialog_settings_input.c:74
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:30
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:41
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:195
@@ -228,24 +229,24 @@ msgstr ""
 msgid "Panel background defaults:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23 qcsrc/menu/xonotic/util.qc:575
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23 qcsrc/menu/xonotic/util.qc:587
 msgid "Background:"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:25
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:37
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:52
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:91 qcsrc/menu/xonotic/util.qc:578
-#: qcsrc/menu/xonotic/util.qc:594 qcsrc/menu/xonotic/util.qc:611
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:91 qcsrc/menu/xonotic/util.qc:590
+#: qcsrc/menu/xonotic/util.qc:606 qcsrc/menu/xonotic/util.qc:623
 msgid "Disable"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:30
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 qcsrc/menu/xonotic/util.qc:583
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 qcsrc/menu/xonotic/util.qc:595
 msgid "Color:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 qcsrc/menu/xonotic/util.qc:591
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 qcsrc/menu/xonotic/util.qc:603
 msgid "Border size:"
 msgstr ""
 
@@ -253,7 +254,7 @@ msgstr ""
 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:82
 #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:32
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:154
-#: qcsrc/menu/xonotic/util.qc:600
+#: qcsrc/menu/xonotic/util.qc:612
 msgid "Alpha:"
 msgstr ""
 
@@ -262,11 +263,11 @@ msgstr ""
 msgid "Team color:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 qcsrc/menu/xonotic/util.qc:617
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 qcsrc/menu/xonotic/util.qc:629
 msgid "Test team color in configure mode"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 qcsrc/menu/xonotic/util.qc:620
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 qcsrc/menu/xonotic/util.qc:632
 msgid "Padding:"
 msgstr ""
 
@@ -529,7 +530,7 @@ msgid "Save settings"
 msgstr ""
 
 #: qcsrc/menu/xonotic/campaign.c:284
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:134
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:123
 msgid "???"
 msgstr ""
 
@@ -580,6 +581,10 @@ msgstr ""
 msgid "\"enter console\" also closes"
 msgstr ""
 
+#: qcsrc/menu/xonotic/dialog_settings_input.c:72
+msgid "Holding jump key keeps jumping"
+msgstr ""
+
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
 msgid "Weapons Panel"
 msgstr ""
@@ -618,34 +623,38 @@ msgid "Weapon icons:"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45
+msgid "Show only owned weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48
 msgid "Show weapon ID as:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
 msgid "SHOWAS^None"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:47
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
 msgid "Number"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
 msgid "Bind"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:54
 msgid "Show Accuracy"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
 msgid "Show Ammo"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:58
 msgid "Ammo bar color:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:61
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:64
 msgid "Ammo bar alpha:"
 msgstr ""
 
@@ -862,11 +871,11 @@ msgstr ""
 msgid "Singleplayer"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:127
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:116
 msgid "Instant action! (random map with bots)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:148
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:137
 msgid "Start Singleplayer!"
 msgstr ""
 
@@ -1728,131 +1737,131 @@ msgstr ""
 msgid "Simple majority wins vcall"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:270
+#: qcsrc/menu/xonotic/util.qc:271
 #, c-format
 msgid "Received HTTP request data for an invalid id %d.\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:285
+#: qcsrc/menu/xonotic/util.qc:286
 #, c-format
 msgid "error receiving update notification: status is %d\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:290
+#: qcsrc/menu/xonotic/util.qc:291
 msgid "error: received HTML instead of an update notification\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:295
+#: qcsrc/menu/xonotic/util.qc:296
 msgid "error: received carriage returns from update notification server\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:316
+#: qcsrc/menu/xonotic/util.qc:317
 #, c-format
 msgid ""
 "Update can be downloaded at:\n"
 "%s\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:337
+#: qcsrc/menu/xonotic/util.qc:340
 msgid "Autogenerating mapinfo for newly added maps..."
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:367
+#: qcsrc/menu/xonotic/util.qc:370
 #, c-format
 msgid "^1%s TEST BUILD"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:432
+#: qcsrc/menu/xonotic/util.qc:428
 #, c-format
 msgid "Update to %s now!"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:501
+#: qcsrc/menu/xonotic/util.qc:513
 msgid ""
 "^1ERROR: Texture compression is required but not supported.\n"
 "^1Expect visual problems.\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:523
+#: qcsrc/menu/xonotic/util.qc:535
 msgid "Arena"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:524
+#: qcsrc/menu/xonotic/util.qc:536
 msgid "Assault"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:525
+#: qcsrc/menu/xonotic/util.qc:537
 msgid "Capture The Flag"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:526
+#: qcsrc/menu/xonotic/util.qc:538
 msgid "Clan Arena"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:527
+#: qcsrc/menu/xonotic/util.qc:539
 msgid "Deathmatch"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:528
+#: qcsrc/menu/xonotic/util.qc:540
 msgid "Domination"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:529
+#: qcsrc/menu/xonotic/util.qc:541
 msgid "Freeze Tag"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:530
+#: qcsrc/menu/xonotic/util.qc:542
 msgid "Keepaway"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:531
+#: qcsrc/menu/xonotic/util.qc:543
 msgid "Key Hunt"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:532
+#: qcsrc/menu/xonotic/util.qc:544
 msgid "Last Man Standing"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:533
+#: qcsrc/menu/xonotic/util.qc:545
 msgid "Nexball"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:534
+#: qcsrc/menu/xonotic/util.qc:546
 msgid "Onslaught"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:535
+#: qcsrc/menu/xonotic/util.qc:547
 msgid "Race"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:536
+#: qcsrc/menu/xonotic/util.qc:548
 msgid "Race CTS"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:537
+#: qcsrc/menu/xonotic/util.qc:549
 msgid "Runematch"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:538
+#: qcsrc/menu/xonotic/util.qc:550
 msgid "Team Deathmatch"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:557
+#: qcsrc/menu/xonotic/util.qc:569
 #, c-format
 msgid "@!#%'n Tuba Throwing"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:577 qcsrc/menu/xonotic/util.qc:593
-#: qcsrc/menu/xonotic/util.qc:602 qcsrc/menu/xonotic/util.qc:610
-#: qcsrc/menu/xonotic/util.qc:622
+#: qcsrc/menu/xonotic/util.qc:589 qcsrc/menu/xonotic/util.qc:605
+#: qcsrc/menu/xonotic/util.qc:614 qcsrc/menu/xonotic/util.qc:622
+#: qcsrc/menu/xonotic/util.qc:634
 msgid "Default"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:588
+#: qcsrc/menu/xonotic/util.qc:600
 msgid "Use default"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:608
+#: qcsrc/menu/xonotic/util.qc:620
 msgid "Team Color:"
 msgstr ""
 
index 69f16648fb841be11bbb25588706b26a5a0f6c0e..81649e3d480087f591e80730c7e06e5aeb70f57e 100644 (file)
Binary files a/models/player/megaerebus.iqm_0.tga and b/models/player/megaerebus.iqm_0.tga differ
diff --git a/qcsrc/Makefile b/qcsrc/Makefile
new file mode 100644 (file)
index 0000000..de44b78
--- /dev/null
@@ -0,0 +1,47 @@
+SCM := $(shell if [ -d .svn ]; then echo svn; elif [ -d ../.git ]; then echo git; fi)
+FTEQCC ?= fteqcc
+PERL ?= perl
+
+FTEQCCFLAGS_WATERMARK ?= -DWATERMARK='"$(shell git describe)"' -DCVAR_POPCON
+FTEQCCFLAGS ?= -Werror -Wno-Q302 -O3 -Ono-c -Ono-cs $(FTEQCCFLAGS_EXTRA) $(FTEQCCFLAGS_WATERMARK)
+FTEQCCFLAGS_PROGS ?=
+FTEQCCFLAGS_MENU ?=
+
+# NOTE: use -DUSE_FTE instead of -TFTE here!
+# It will automagically add an engine check with -TID and then change back to -TFTE
+FTEQCCFLAGS_CSPROGS ?= 
+
+# xonotic build system overrides this by command line argument to turn off the update-cvarcount step
+XON_BUILDSYSTEM =
+
+all: qc
+
+.PHONY: qc
+qc:
+       $(MAKE) qc-recursive
+
+.PHONY: qc-recursive
+qc-recursive: ../menu.dat ../progs.dat ../csprogs.dat
+
+.PHONY: clean
+clean:
+       rm -f ../progs.dat ../menu.dat ../csprogs.dat
+
+FILES_CSPROGS = $(shell find client common warpzonelib -type f -not -name fteqcc.log -not -name qc.asm) server/w_*.qc
+../csprogs.dat: $(FILES_CSPROGS)
+       @echo make[1]: Entering directory \`$(PWD)/client\'
+       cd client && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_CSPROGS)
+
+FILES_PROGS = $(shell find server common warpzonelib -type f -not -name fteqcc.log -not -name qc.asm) server/w_*.qc
+../progs.dat: $(FILES_PROGS)
+       @echo make[1]: Entering directory \`$(PWD)/server\'
+       cd server && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_PROGS)
+
+FILES_MENU = $(shell find menu common warpzonelib -type f -not -name fteqcc.log -not -name qc.asm) server/w_*.qc
+../menu.dat: $(FILES_MENU)
+       @echo make[1]: Entering directory \`$(PWD)/menu\'
+       cd menu && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_MENU)
+
+.PHONY: testcase
+testcase:
+       cd testcase && $(FTEQCC) $(FTEQCCFLAGS) $(FTEQCCFLAGS_CSPROGS) -DTESTCASE="$$TESTCASE"
index bf425fc477921897eefd7cb7bfeaabb02d7feed8..8f3372a6c821726040637f3abdc07d8e351a21f3 100644 (file)
@@ -303,6 +303,7 @@ float autocvar_hud_panel_weapons_complainbubble_padding;
 float autocvar_hud_panel_weapons_complainbubble_time;
 var float autocvar_hud_panel_weapons_fade = 1;
 float autocvar_hud_panel_weapons_label;
+float autocvar_hud_panel_weapons_onlyowned;
 float autocvar_hud_panel_weapons_timeout;
 float autocvar_hud_panel_weapons_timeout_effect;
 float autocvar_hud_progressbar_alpha;
index 92bbc5223175722374ff81ddf32c37466898fa9e..043b5ea98a957b60fd2b32ae7a343b81773102ed 100644 (file)
@@ -250,11 +250,7 @@ HUD panels
 // draw the background/borders
 #define HUD_Panel_DrawBg(alpha)\
 if(panel_bg != "0")\
-       draw_BorderPicture(panel_pos - '1 1 0' * panel_bg_border, panel_bg, panel_size + '1 1 0' * 2 * panel_bg_border, panel_bg_color, panel_bg_alpha * alpha, '1 1 0' * (panel_bg_border/BORDER_MULTIPLIER));\
-if(highlightedPanel == hud_configure_active_panel && autocvar__hud_configure)\
-{\
-       HUD_Panel_HlBorder(panel_bg_border + 1.5 * hlBorderSize, '0 0.5 1', 0.25 * (1 - autocvar__menu_alpha) * alpha);\
-} ENDS_WITH_CURLY_BRACE
+       draw_BorderPicture(panel_pos - '1 1 0' * panel_bg_border, panel_bg, panel_size + '1 1 0' * 2 * panel_bg_border, panel_bg_color, panel_bg_alpha * alpha, '1 1 0' * (panel_bg_border/BORDER_MULTIPLIER))
 
 //basically the same code of draw_ButtonPicture and draw_VertButtonPicture for the menu
 void HUD_Panel_DrawProgressBar(vector theOrigin, vector theSize, string pic, float length_ratio, float vertical, float baralign, vector theColor, float theAlpha, float drawflag)
@@ -435,7 +431,7 @@ float GetAmmoTypeForWep(float i)
 
 void HUD_Weapons(void)
 {
-       float f, screen_ar;
+       float i, f, screen_ar;
        float center_x, center_y;
     if(hud != HUD_NORMAL) return;
        if(!autocvar__hud_configure)
@@ -468,6 +464,79 @@ void HUD_Weapons(void)
        HUD_Panel_UpdateCvars(weapons);
        HUD_Panel_ApplyFadeAlpha();
 
+       // TODO make this configurable
+       if(weaponorder_bypriority != autocvar_cl_weaponpriority || !weaponorder[0])
+       {
+               float weapon_cnt;
+               if(weaponorder_bypriority)
+                       strunzone(weaponorder_bypriority);
+               if(weaponorder_byimpulse)
+                       strunzone(weaponorder_byimpulse);
+
+               weaponorder_bypriority = strzone(autocvar_cl_weaponpriority);
+               weaponorder_byimpulse = strzone(W_FixWeaponOrder_BuildImpulseList(W_FixWeaponOrder_ForceComplete(W_NumberWeaponOrder(weaponorder_bypriority))));
+               weaponorder_cmp_str = strcat(" ", weaponorder_byimpulse, " ");
+
+               weapon_cnt = 0;
+               for(i = WEP_FIRST; i <= WEP_LAST; ++i)
+               {
+                       self = get_weaponinfo(i);
+                       if(self.impulse >= 0)
+                       {
+                               weaponorder[weapon_cnt] = self;
+                               ++weapon_cnt;
+                       }
+               }
+               for(i = weapon_cnt; i < WEP_MAXCOUNT; ++i)
+                       weaponorder[i] = NULL;
+               heapsort(weapon_cnt, weaponorder_swap, weaponorder_cmp, world);
+
+               weaponorder_cmp_str = string_null;
+       }
+
+       float when, fadetime;
+       when = autocvar_hud_panel_weapons_complainbubble_time;
+       fadetime = autocvar_hud_panel_weapons_complainbubble_fadetime;
+       float weapons_st = getstati(STAT_WEAPONS);
+       float weapon_count;
+       if (autocvar_hud_panel_weapons_onlyowned)
+       {
+               if(autocvar__hud_configure)
+               {
+                       if (weapons_st == 0)
+                               for(i = 0; i <= WEP_LAST-WEP_FIRST; i += floor((WEP_LAST-WEP_FIRST)/5))
+                                       weapons_st |= power2of(i);
+                       if(menu_enabled != 2)
+                               HUD_Panel_DrawBg(1); // also draw the bg of the entire panel
+               }
+
+               vector old_panel_size;
+               for(i = 0; i <= WEP_LAST-WEP_FIRST; ++i)
+               {
+                       if(weapons_st & weaponorder[i].weapons)
+                               ++weapon_count;
+               }
+               if(!autocvar__hud_configure && (autocvar_hud_panel_weapons_complainbubble && time - complain_weapon_time < when + fadetime))// && complain_weapon >= 0
+                       ++weapon_count;
+               if (weapon_count == 0)
+                       return;
+               // reduce size of the panel
+               if (panel_size_y > panel_size_x)
+               {
+                       old_panel_size_y = panel_size_y;
+                       panel_size_y *= weapon_count / WEP_COUNT;
+                       panel_pos_y += (old_panel_size_y - panel_size_y) / 2;
+               }
+               else
+               {
+                       old_panel_size_x = panel_size_x;
+                       panel_size_x *= weapon_count / WEP_COUNT;
+                       panel_pos_x += (old_panel_size_x - panel_size_x) / 2;
+               }
+       }
+       else
+               weapon_count = WEP_COUNT;
+
        if (timeout && time >= weapontime + timeout && !autocvar__hud_configure)
        {
                f = (time - (weapontime + timeout)) / timeout_effect_length;
@@ -531,37 +600,6 @@ void HUD_Weapons(void)
                }
        }
 
-       float i, weapid, wpnalpha, weapon_cnt;
-
-       // TODO make this configurable
-       if(weaponorder_bypriority != autocvar_cl_weaponpriority || !weaponorder[0])
-       {
-               if(weaponorder_bypriority)
-                       strunzone(weaponorder_bypriority);
-               if(weaponorder_byimpulse)
-                       strunzone(weaponorder_byimpulse);
-
-               weaponorder_bypriority = strzone(autocvar_cl_weaponpriority);
-               weaponorder_byimpulse = strzone(W_FixWeaponOrder_BuildImpulseList(W_FixWeaponOrder_ForceComplete(W_NumberWeaponOrder(weaponorder_bypriority))));
-               weaponorder_cmp_str = strcat(" ", weaponorder_byimpulse, " ");
-
-               weapon_cnt = 0;
-               for(i = WEP_FIRST; i <= WEP_LAST; ++i)
-               {
-                       self = get_weaponinfo(i);
-                       if(self.impulse >= 0)
-                       {
-                               weaponorder[weapon_cnt] = self;
-                               ++weapon_cnt;
-                       }
-               }
-               for(i = weapon_cnt; i < WEP_MAXCOUNT; ++i)
-                       weaponorder[i] = NULL;
-               heapsort(weapon_cnt, weaponorder_swap, weaponorder_cmp, world);
-
-               weaponorder_cmp_str = string_null;
-       }
-
        HUD_Panel_DrawBg(1);
        if(panel_bg_padding)
        {
@@ -569,6 +607,8 @@ void HUD_Weapons(void)
                panel_size -= '2 2 0' * panel_bg_padding;
        }
 
+       float weapid, wpnalpha;
+
        if(autocvar_hud_panel_weapons_fade)
        {
                wpnalpha = 3.2 - 2 * (time - weapontime);
@@ -580,21 +620,17 @@ void HUD_Weapons(void)
        float rows, columns;
        float aspect = autocvar_hud_panel_weapons_aspect;
        rows = panel_size_y/panel_size_x;
-       rows = bound(1, floor((sqrt(4 * aspect * rows * WEP_COUNT + rows * rows) + rows + 0.5) / 2), WEP_COUNT);
+       rows = bound(1, floor((sqrt(4 * aspect * rows * weapon_count + rows * rows) + rows + 0.5) / 2), weapon_count);
 
-       columns = ceil(WEP_COUNT/rows);
+       columns = ceil(weapon_count/rows);
        float row, column;
 
        float a, type, fullammo;
-       float when;
-       when = autocvar_hud_panel_weapons_complainbubble_time;
-       float fadetime;
-       fadetime = autocvar_hud_panel_weapons_complainbubble_fadetime;
 
        vector color;
        vector wpnpos;
        vector wpnsize;
-       
+
        vector ammo_color;
        float ammo_alpha;
        wpnsize = eX * panel_size_x*(1/columns) + eY * panel_size_y*(1/rows);
@@ -629,13 +665,14 @@ void HUD_Weapons(void)
                                acc_col[i] = stov(cvar_string(strcat("accuracy_color", ftos(i))));
        }
 
-       float weapons_st = getstati(STAT_WEAPONS);
-
        for(i = 0; i <= WEP_LAST-WEP_FIRST; ++i)
        {
                self = weaponorder[i];
                if (!self || self.impulse < 0)
                        continue;
+               if (autocvar_hud_panel_weapons_onlyowned)
+               if (!((weapons_st & self.weapons) || (self.weapon == complain_weapon && time - complain_weapon_time < when + fadetime && autocvar_hud_panel_weapons_complainbubble)))
+                       continue;
                wpnpos = panel_pos + eX * column * wpnsize_x + eY * row * wpnsize_y;
 
                weapid = self.impulse;
@@ -4539,7 +4576,7 @@ void HUD_CenterPrint (void)
        {
                if (j == CENTERPRINT_MAX_MSGS)
                        j = 0;
-               if (centerprint_expire_time[j] < time)
+               if (centerprint_expire_time[j] <= time)
                {
                        if (centerprint_countdown_num[j] && centerprint_time[j] > 0)
                        {
@@ -4844,10 +4881,18 @@ void HUD_Main (void)
        if(autocvar__con_chat_maximized)
                HUD_Chat(); // HUD_DrawPanel(HUD_PANEL_CHAT);
 
-       if(autocvar__hud_configure && tab_panel != -1)
+       if(autocvar__hud_configure)
        {
-               HUD_Panel_UpdatePosSizeForId(tab_panel)
-               drawfill(panel_pos - '1 1 0' * panel_bg_border, panel_size + '2 2 0' * panel_bg_border, '1 1 1', .2, DRAWFLAG_NORMAL);
+               if(tab_panel != -1)
+               {
+                       HUD_Panel_UpdatePosSizeForId(tab_panel)
+                       drawfill(panel_pos - '1 1 0' * panel_bg_border, panel_size + '2 2 0' * panel_bg_border, '1 1 1', .2, DRAWFLAG_NORMAL);
+               }
+               if(highlightedPanel != -1)
+               {
+                       HUD_Panel_UpdatePosSizeForId(highlightedPanel);
+                       HUD_Panel_HlBorder(panel_bg_border + 1.5 * hlBorderSize, '0 0.5 1', 0.25 * (1 - autocvar__menu_alpha));
+               }
        }
 
        hud_configure_prev = autocvar__hud_configure;
index 2562ba00544f9c5c651fa4ae8b0420f632870aa4..d4556374ac288e36b6f6c15213f83e80bb798dc2 100644 (file)
@@ -240,7 +240,7 @@ void Cmd_HUD_Help(float argc)
        print(_("^3|---------------------------------------------------------------|\n"));
        print(_("Usage:\n"));
        print(_("^2scoreboard_columns_set default\n"));
-       print(_("^2scoreboard_columns_set ^7filed1 field2 ...\n"));
+       print(_("^2scoreboard_columns_set ^7field1 field2 ...\n"));
        print(_("The following field names are recognized (case insensitive):\n"));
        print(_("You can use a ^3|^7 to start the right-aligned fields.\n\n"));
 
index d0daa678422237378b21adc71800766c0627e481..b31622f67390e02f1d1465b02c5b55652fab1907 100644 (file)
@@ -4,7 +4,7 @@ CLASS(XonoticHUDWeaponsDialog) EXTENDS(XonoticRootDialog)
        ATTRIB(XonoticHUDWeaponsDialog, title, string, _("Weapons Panel"))
        ATTRIB(XonoticHUDWeaponsDialog, color, vector, SKINCOLOR_DIALOG_TEAMSELECT)
        ATTRIB(XonoticHUDWeaponsDialog, intendedWidth, float, 0.4)
-       ATTRIB(XonoticHUDWeaponsDialog, rows, float, 17)
+       ATTRIB(XonoticHUDWeaponsDialog, rows, float, 18)
        ATTRIB(XonoticHUDWeaponsDialog, columns, float, 4)
        ATTRIB(XonoticHUDWeaponsDialog, name, string, "HUDweapons")
 ENDCLASS(XonoticHUDWeaponsDialog)
@@ -40,6 +40,9 @@ void XonoticHUDWeaponsDialog_fill(entity me)
                        setDependentStringNotEqual(e, strzone(strcat("hud_panel_", panelname, "_timeout")), "0");
        me.TR(me);
                me.TD(me, 1, 4, e = makeXonoticTextLabel(0, _("Weapon icons:")));
+       me.TR(me);
+               me.TDempty(me, 0.2);
+               me.TD(me, 1, 3.8, e = makeXonoticCheckBox(0, "hud_panel_weapons_onlyowned", _("Show only owned weapons")));
        me.TR(me);
                me.TDempty(me, 0.2);
                me.TD(me, 1, 1.4, e = makeXonoticTextLabel(0, _("Show weapon ID as:")));
index 617b4e95f2628837225cf0acee3e44db339be3aa..3ebcb69f0bf355e7e1d7740a5b8a920049d1a94c 100644 (file)
@@ -67,5 +67,10 @@ void XonoticInputSettingsTab_fill(entity me)
                        me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "apple_mouse_noaccel", _("Turn off OS mouse acceleration")));
        me.TR(me);
                me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "con_closeontoggleconsole", _("\"enter console\" also closes")));
+       me.TR(me);
+       me.TR(me);
+               me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_movement_track_canjump", _("Holding jump key keeps jumping")));
+       me.gotoRC(me, me.rows - 1, 0);
+               me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "sendcvar cl_movement_track_canjump", COMMANDBUTTON_APPLY));
 }
 #endif
index 0bcee6a192352148b2465207a753392e2f14de4e..aabc262204c1592fa1e860f8141f97a8e40f2898 100644 (file)
@@ -250,6 +250,7 @@ void setDependentWeird(entity e, float(entity) func)
 
 float _Nex_ExtResponseSystem_Queried;
 string _Nex_ExtResponseSystem_UpdateTo;
+string _Nex_ExtResponseSystem_UpdateToURL;
 
 void URI_Get_Callback(float id, float status, string data)
 {
@@ -314,6 +315,8 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data)
                        // update needed
                        if(n >= 2)
                                print(sprintf(_("Update can be downloaded at:\n%s\n"), argv(1)));
+                       if(n >= 3)
+                               _Nex_ExtResponseSystem_UpdateToURL = strzone(argv(2));
                }
 
                _Nex_ExtResponseSystem_UpdateTo = strzone(_Nex_ExtResponseSystem_UpdateTo);
@@ -421,16 +424,25 @@ void preMenuDraw()
                // TODO rather turn this into a dialog
                fs = ((1/draw_scale_x) * eX + (1/draw_scale_y) * eY) * 12;
                line = eY * fs_y;
-               sz_x = draw_TextWidth("  http://www.xonotic.org/  ", 0, fs);
+               string l1, l2;
+               l1 = sprintf(_("Update to %s now!"), _Nex_ExtResponseSystem_UpdateTo);
+               l2 = "http://www.xonotic.org/";
+               if(_Nex_ExtResponseSystem_UpdateToURL)
+                       l2 = _Nex_ExtResponseSystem_UpdateToURL;
+
+               sz_x = draw_TextWidth("    ", 0, fs) + max(
+                               draw_TextWidth(l1, 0, fs),
+                               draw_TextWidth(l2, 0, fs)
+                       );
                sz_y = 3 * fs_y;
 
-               draw_alpha = sin(time * 0.112 - 0.3) * 10;
+               draw_alpha = bound(0, sin(time * 0.112 - 0.3) * 10, 1);
                mid = eX * (0.5 + 0.5 * (1 - sz_x) * cos(time * 0.071))
                    + eY * (0.5 + 0.5 * (1 - sz_y) * sin(time * 0.071));
 
                draw_Fill(mid - 0.5 * sz, sz, '1 1 0', 1);
-               draw_CenterText(mid - 1 * line, sprintf(_("Update to %s now!"), _Nex_ExtResponseSystem_UpdateTo), fs, '1 0 0', 1, 0);
-               draw_CenterText(mid - 0 * line, "http://www.xonotic.org/", fs, '0 0 1', 1, 0);
+               draw_CenterText(mid - 1 * line, l1, fs, '1 0 0', 1, 0);
+               draw_CenterText(mid - 0 * line, l2, fs, '0 0 1', 1, 0);
        }
        if not(campaign_name_previous)
                campaign_name_previous = strzone(strcat(campaign_name, "x")); // force unequal
index 923950b5071cd4084dff6e3b3750f61560822784..c64716d9e2134517db182084a82a6ce611cd74ac 100644 (file)
@@ -219,10 +219,13 @@ void CampaignPreIntermission()
                if(campaign_entries < 2)
                {
                        // I have won
-                       savevar = strcat("g_campaign", campaign_name, "_won");
-                       CampaignSaveCvar(savevar, 1);
-                       // advance level (for menu to show it right)
-                       CampaignSaveCvar(campaign_index_var, campaign_level + 1);
+                       if(campaign_level == cvar_normal(campaign_index_var))
+                       {
+                               savevar = strcat("g_campaign", campaign_name, "_won");
+                               CampaignSaveCvar(savevar, 1);
+                               // advance level (for menu to show it right)
+                               CampaignSaveCvar(campaign_index_var, campaign_level + 1);
+                       }
                }
                else if(campaign_level == cvar_normal(campaign_index_var))
                {
@@ -256,6 +259,8 @@ void CampaignPostIntermission()
 
 void CampaignLevelWarp(float n)
 {
+       if(n < 0)
+               n = campaign_level + 1;
        CampaignFile_Unload();
        CampaignFile_Load(n, 1);
        if(campaign_entries)
index 3270a9077fbcb1c7b640303553026221836ec7f3..0d95c453a1e6685b1d7032dd06dd520670ae628b 100644 (file)
@@ -604,14 +604,6 @@ float CheatCommand(float argc)
                                remove(e);
                        DID_CHEAT();
                        break;
-               case "warp":
-                       IS_CHEAT(0, argc, 0);
-                       if(argc == 2) if(autocvar_g_campaign)
-                       {
-                               CampaignLevelWarp(stof(argv(1)));
-                               DID_CHEAT();
-                       }
-                       break;
                case "god":
                        IS_CHEAT(0, argc, 0);
                        BITXOR_ASSIGN(self.flags, FL_GODMODE);
index 914962ca67ccfff1254e93bf5b003bc7ee3f59b2..2fe6de0674ea49c7467012d4cbff8246d8bf9117 100644 (file)
@@ -1667,8 +1667,7 @@ void ClientConnect (void)
        bprint("\n");
 
        stuffcmd(self, strcat(clientstuff, "\n"));
-       stuffcmd(self, strcat("exec maps/", mapname, ".cfg\n"));
-       stuffcmd(self, "cl_particles_reloadeffects\n");
+       stuffcmd(self, "cl_particles_reloadeffects\n"); // TODO do we still need this?
 
        FixClientCvars(self);
 
@@ -3162,6 +3161,8 @@ void PlayerPostThink (void)
 
        CheatFrame();
 
+       CheckPlayerJump();
+
        if(self.classname == "player") {
                CheckRules_Player();
                UpdateChatBubble();
index b10c88d49d305fb17e2c0bbd788e6402443cc1b8..b7e8bc22648b631647bf33898c4be713dc3d46f9 100644 (file)
@@ -34,7 +34,15 @@ void PlayerJump (void)
        {
                tracebox(self.origin + '0 0 0.01', self.mins, self.maxs, self.origin - '0 0 0.01', MOVE_NORMAL, self);
                if (trace_fraction < 1 && trace_plane_normal_z > 0.7)
+               {
                        doublejump = TRUE;
+
+                       // we MUST clip velocity here!
+                       float f;
+                       f = self.velocity * trace_plane_normal;
+                       if(f < 0)
+                               self.velocity -= f * trace_plane_normal;
+               }
        }
 
        mjumpheight = autocvar_sv_jumpvelocity;
@@ -104,7 +112,7 @@ void PlayerJump (void)
                if (!(self.flags & FL_ONGROUND))
                        return;
 
-       if(!sv_pogostick || self.cvar_cl_nopogostick)
+       if(self.cvar_cl_movement_track_canjump)
                if (!(self.flags & FL_JUMPRELEASED))
                        return;
 
@@ -172,7 +180,6 @@ void PlayerJump (void)
        self.restart_jump = -1; // restart jump anim next time
        // value -1 is used to not use the teleport bit (workaround for tiny hitch when re-jumping)
 }
-
 void CheckWaterJump()
 {
        local vector start, end;
@@ -201,6 +208,25 @@ void CheckWaterJump()
                }
        }
 };
+void CheckPlayerJump()
+{
+       if(self.flags & FL_ONGROUND)
+       {
+               if (autocvar_g_multijump > 0)
+                       self.multijump_count = 0;
+               else
+                       self.multijump_count = -2; // the cvar value for infinite jumps is -1, so this needs to be smaller
+       }
+
+       if (self.BUTTON_JUMP)
+               PlayerJump ();
+       else
+               self.flags |= FL_JUMPRELEASED;
+
+       if (self.waterlevel == WATERLEVEL_SWIMMING)
+               CheckWaterJump ();
+       self.prevjumpbutton = self.BUTTON_JUMP;
+}
 
 float racecar_angle(float forward, float down)
 {
@@ -930,24 +956,7 @@ void SV_PlayerPhysics()
                self.wasFlying = 1;
 
        if(self.classname == "player")
-       {
-               if(self.flags & FL_ONGROUND)
-               {
-                       if (autocvar_g_multijump > 0)
-                               self.multijump_count = 0;
-                       else
-                               self.multijump_count = -2; // the cvar value for infinite jumps is -1, so this needs to be smaller
-               }
-
-               if (self.BUTTON_JUMP)
-                       PlayerJump ();
-               else
-                       self.flags |= FL_JUMPRELEASED;
-
-               if (self.waterlevel == WATERLEVEL_SWIMMING)
-                       CheckWaterJump ();
-               self.prevjumpbutton = self.BUTTON_JUMP;
-       }
+               CheckPlayerJump();
 
        if (self.flags & FL_WATERJUMP )
        {
index 13cddc0d22cf87a7734b7d8ec77dbd07ba92d792..f89d383631c453c35f2d64ee2fd0d82528d56a6e 100644 (file)
@@ -277,13 +277,25 @@ void SV_ParseClientCommand(string s) {
                } else if(lockteams) {
                        sprint( self, "^7The game has already begun, you must wait until the next map to be able to join a team.\n");
                } else if( argv(1) == "red" ) {
-                       ClientKill_TeamChange(COLOR_TEAM1);
+                       if(self.team != COLOR_TEAM1 || self.deadflag != DEAD_NO)
+                               ClientKill_TeamChange(COLOR_TEAM1);
+                       else
+                               sprint( self, "^7You already are on that team.\n");
                } else if( argv(1) == "blue" ) {
-                       ClientKill_TeamChange(COLOR_TEAM2);
+                       if(self.team != COLOR_TEAM2 || self.deadflag != DEAD_NO)
+                               ClientKill_TeamChange(COLOR_TEAM2);
+                       else
+                               sprint( self, "^7You already are on that team.\n");
                } else if( argv(1) == "yellow" ) {
-                       ClientKill_TeamChange(COLOR_TEAM3);
+                       if(self.team != COLOR_TEAM3 || self.deadflag != DEAD_NO)
+                               ClientKill_TeamChange(COLOR_TEAM3);
+                       else
+                               sprint( self, "^7You already are on that team.\n");
                } else if( argv(1) == "pink" ) {
-                       ClientKill_TeamChange(COLOR_TEAM4);
+                       if(self.team != COLOR_TEAM4 || self.deadflag != DEAD_NO)
+                               ClientKill_TeamChange(COLOR_TEAM4);
+                       else
+                               sprint( self, "^7You already are on that team.\n");
                } else if( argv(1) == "auto" ) {
                        ClientKill_TeamChange(-1);
                } else {
index 458489d90e1381e0ca3512105410fa04cbd934cf..7dd3a5aed03e8f478d52940a17c0ee8f18f62634 100644 (file)
@@ -313,7 +313,7 @@ float default_weapon_alpha;
 .float cvar_cl_handicap;
 .float cvar_cl_playerdetailreduction;
 .float cvar_cl_clippedspectating;
-.float cvar_cl_nopogostick;
+.float cvar_cl_movement_track_canjump;
 
 .string cvar_g_xonoticversion;
 .string cvar_cl_weaponpriority;
@@ -411,7 +411,6 @@ float lockteams;
 float sv_maxidle;
 float sv_maxidle_spectatorsareidle;
 
-float sv_pogostick;
 float tracebox_hits_trigger_hurt(vector start, vector mi, vector ma, vector end);
 
 float next_pingtime;
index 9203eadbf41c6fbbd63a594a01b87fd01eb692c2..a8537a0ae88c93cb92cf845f5463fd389abc0c10 100644 (file)
@@ -725,6 +725,7 @@ void GameCommand(string command)
                print("  find classname\n");
                print("  extendmatchtime\n");
                print("  reducematchtime\n");
+               print("  warp [level]\n");
                GameCommand_Vote("help", world);
                GameCommand_Ban("help");
                GameCommand_Generic("help");
@@ -1485,6 +1486,19 @@ void GameCommand(string command)
                return;
        }
 
+       if(argv(0) == "warp")
+       {
+               if(autocvar_g_campaign)
+               {
+                       if(argc >= 2)
+                               CampaignLevelWarp(stof(argv(1)));
+                       else
+                               CampaignLevelWarp(-1);
+               }
+               else
+                       print("Not in campaign, can't level warp\n");
+       }
+
        print("Invalid command. For a list of supported commands, try sv_cmd help.\n");
 }
 
index 3e5bdf392910f87454b6c18c7f00bca134d0d593..9a848fa46ebbe7eda5bc4b49735165f1e8573f84 100644 (file)
@@ -616,7 +616,7 @@ void GetCvars(float f)
        GetCvars_handleFloatOnce(s, f, cvar_cl_gunalign, "cl_gunalign");
        GetCvars_handleFloat(s, f, cvar_cl_allow_uid2name, "cl_allow_uid2name");
        GetCvars_handleFloat(s, f, cvar_cl_allow_uidtracking, "cl_allow_uidtracking");
-       GetCvars_handleFloat(s, f, cvar_cl_nopogostick, "cl_nopogostick");
+       GetCvars_handleFloat(s, f, cvar_cl_movement_track_canjump, "cl_movement_track_canjump");
 
        // fixup of switchweapon (needed for LMS or when spectating is disabled, as PutClientInServer comes too early)
        if (f > 0)
@@ -1180,7 +1180,6 @@ void readlevelcvars(void)
        g_bloodloss = cvar("g_bloodloss");
        sv_maxidle = cvar("sv_maxidle");
        sv_maxidle_spectatorsareidle = cvar("sv_maxidle_spectatorsareidle");
-       sv_pogostick = cvar("sv_pogostick");
        g_ctf_reverse = cvar("g_ctf_reverse");
        sv_autotaunt = cvar("sv_autotaunt");
        sv_taunt = cvar("sv_taunt");